lyco 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/LICENSE.txt +21 -0
  2. package/README.md +65 -0
  3. package/dist/index.cjs.js +526 -0
  4. package/dist/index.cjs.js.map +1 -0
  5. package/dist/index.es.js +526 -0
  6. package/dist/index.es.js.map +1 -0
  7. package/dist/types/components/AbsoluteBox.d.ts +10 -0
  8. package/dist/types/components/AcrylicBar.d.ts +14 -0
  9. package/dist/types/components/AspectRatio.d.ts +7 -0
  10. package/dist/types/components/AutoFitGrid.d.ts +5 -0
  11. package/dist/types/components/AvatarStack.d.ts +5 -0
  12. package/dist/types/components/Badge.d.ts +8 -0
  13. package/dist/types/components/Card.d.ts +7 -0
  14. package/dist/types/components/Center.d.ts +6 -0
  15. package/dist/types/components/Column.d.ts +4 -0
  16. package/dist/types/components/ColumnSplit.d.ts +5 -0
  17. package/dist/types/components/Container.d.ts +7 -0
  18. package/dist/types/components/Divider.d.ts +6 -0
  19. package/dist/types/components/Flex.d.ts +7 -0
  20. package/dist/types/components/FlowItem.d.ts +2 -0
  21. package/dist/types/components/FooterLayout.d.ts +7 -0
  22. package/dist/types/components/Grid.d.ts +5 -0
  23. package/dist/types/components/GridBreakpoint.d.ts +6 -0
  24. package/dist/types/components/GridCol.d.ts +4 -0
  25. package/dist/types/components/GridItem.d.ts +4 -0
  26. package/dist/types/components/GridRow.d.ts +4 -0
  27. package/dist/types/components/HeroSection.d.ts +6 -0
  28. package/dist/types/components/Hidden.d.ts +5 -0
  29. package/dist/types/components/LightboxContainer.d.ts +5 -0
  30. package/dist/types/components/ListGroup.d.ts +6 -0
  31. package/dist/types/components/Overlay.d.ts +6 -0
  32. package/dist/types/components/PositionContainer.d.ts +6 -0
  33. package/dist/types/components/Row.d.ts +4 -0
  34. package/dist/types/components/RowSplit.d.ts +5 -0
  35. package/dist/types/components/ScrollBar.d.ts +7 -0
  36. package/dist/types/components/SideBarContainer.d.ts +6 -0
  37. package/dist/types/components/SizedBox.d.ts +4 -0
  38. package/dist/types/components/SkeletonLoader.d.ts +7 -0
  39. package/dist/types/components/Spacer.d.ts +1 -0
  40. package/dist/types/components/Sticky.d.ts +6 -0
  41. package/dist/types/components/Swiper.d.ts +8 -0
  42. package/dist/types/components/Table.d.ts +6 -0
  43. package/dist/types/components/WaterFlow.d.ts +5 -0
  44. package/dist/types/components/Wrap.d.ts +7 -0
  45. package/dist/types/components/ZStack.d.ts +7 -0
  46. package/dist/types/components/core.d.ts +3 -0
  47. package/dist/types/components/index.d.ts +39 -0
  48. package/dist/types/index.d.ts +1 -0
  49. package/package.json +44 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs.js","names":["fn?: renderFnType","props?: { fadeBg?: string; zIndex?: number }","children?: renderFnType","props?: { space?: string | number }","children?: renderFnType","props?: {\n\t\tdirection?: \"row\" | \"column\";\n\t\tjustify?: string;\n\t\talign?: string;\n\t\tgap?: string | number;\n\t}","children?: renderFnType","_props?: unknown","children?: renderFnType","props?: { columns?: number; gap?: string | number }","children?: renderFnType","props?: { gap?: string | number }","children?: renderFnType","props?: { span?: number }","children?: renderFnType","props?: { gap?: string | number }","children?: renderFnType","props?: { space?: string | number }","children?: renderFnType","props?: { columnCount?: number; gap?: string | number }","children?: renderFnType","props?: {\n\t\tfirstHeight?: string; // 第一个面板固定高度或百分比\n\t\tgap?: string | number;\n\t}","children?: renderFnType","props?: {\n\t\tfirstWidth?: string; // 第一个面板固定宽度或百分比\n\t\tgap?: string | number;\n\t}","children?: renderFnType","props?: {\n\t\tdirection?: \"vertical\" | \"horizontal\";\n\t\theight?: string;\n\t\twidth?: string;\n\t\tcustomCss?: string;\n\t}","children?: renderFnType","props?: {\n\t\tsidebarWidth?: string; // 侧边栏宽度,比如 \"240px\"\n\t\tsidebarPosition?: \"left\" | \"right\";\n\t\tgap?: string | number;\n\t}","children?: renderFnType","props?: {\n\t\tgap?: string | number;\n\t\tsnapType?: \"mandatory\" | \"proximity\";\n\t\theight?: string;\n\t\twidth?: string;\n\t}","children?: renderFnType","slides: TemplateResult[]","props?: {\n\t\ttop?: string;\n\t\tright?: string;\n\t\tbottom?: string;\n\t\tleft?: string;\n\t\twidth?: string;\n\t\theight?: string;\n\t\tzIndex?: number;\n\t}","children?: renderFnType","props?: {\n\t\twidth?: string; // 宽度,如 \"300px\" 或 \"50%\"\n\t\theight?: string; // 高度,如 \"auto\" 或 \"200px\"\n\t\ttop?: string; // 距离顶部距离,默认 \"20%\"\n\t\tbottom?: string; // 距离底部距离,默认 \"auto\"\n\t\tleft?: string; // 距离左侧距离,默认 \"50%\"\n\t\tright?: string; // 距离右侧距离,默认 \"auto\"\n\t\tbackground?: string; // 背景色,支持透明度,默认 \"rgba(255,255,255,0.3)\"\n\t\tblur?: string; // 模糊半径,默认 \"10px\"\n\t\tborderRadius?: string; // 圆角,默认 \"12px\"\n\t\tpadding?: string; // 内边距,默认 \"16px\"\n\t\tzIndex?: number; // z-index,默认 1000\n\t}","children?: renderFnType","props: {\n\t\tratio: number; // 宽高比,例如 16/9、4/3\n\t\tmaxWidth?: string;\n\t\tbackground?: string;\n\t\toverflow?: string;\n\t}","children?: renderFnType","props: {\n\t\tminItemWidth: string;\n\t\tgap?: string | number;\n\t}","children?: renderFnType","props?: { size?: string; overlap?: string }","children?: renderFnType","avatar: unknown","idx: number","props?: {\n\t\tcontent?: string | number;\n\t\tposition?: \"top-left\" | \"top-right\" | \"bottom-left\" | \"bottom-right\";\n\t\tsize?: string;\n\t\tbackground?: string;\n\t\tcolor?: string;\n\t}","children?: renderFnType","props?: {\n\t\tpadding?: string;\n\t\tborderRadius?: string;\n\t\tshadow?: string;\n\t\tbackground?: string;\n\t}","children?: renderFnType","props?: { width?: string; height?: string; background?: string }","children?: renderFnType","props?: {\n\t\tmaxWidth?: string;\n\t\tpadding?: string;\n\t\tbackground?: string;\n\t\tfullHeight?: boolean;\n\t}","children?: renderFnType","props?: {\n\torientation?: \"horizontal\" | \"vertical\";\n\tthickness?: string;\n\tcolor?: string;\n\tmargin?: string;\n}","props?: {\n\t\tcolumns?: number;\n\t\tgap?: string;\n\t\tbackground?: string;\n\t\tpadding?: string;\n\t}","children?: renderFnType","props: {\n\t\tbreakpoints: Record<string, number>;\n\t\tdefaultColumns?: number;\n\t\tgap?: string;\n\t}","children?: renderFnType","props?: {\n\t\tbackgroundImage?: string;\n\t\theight?: string;\n\t\toverlayColor?: string;\n\t}","children?: renderFnType","props?: { breakpoint?: string; mode?: \"hide\" | \"show\" }","children?: renderFnType","props?: { bordered?: boolean; striped?: boolean; hover?: boolean }","children?: renderFnType","props?: { background?: string; zIndex?: number; fullScreen?: boolean }","children?: renderFnType","props?: { width?: string; height?: string; background?: string }","children?: renderFnType","props?: { width?: string; height?: string }","props?: {\n\ttype?: \"rect\" | \"circle\";\n\twidth?: string;\n\theight?: string;\n\tborderRadius?: string;\n\tanimation?: boolean;\n}","props?: {\n\t\ttop?: string;\n\t\tbottom?: string;\n\t\tzIndex?: number;\n\t}","children?: renderFnType","props?: { striped?: boolean; hover?: boolean; bordered?: boolean }","children?: renderFnType","props?: {\n\t\tdirection?: \"row\" | \"column\";\n\t\tgap?: string | number;\n\t\talign?: string;\n\t\tjustify?: string;\n\t}","children?: renderFnType","props?: {\n\t\twidth?: string;\n\t\theight?: string;\n\t\tbackground?: string;\n\t\talign?:\n\t\t\t| \"top-left\"\n\t\t\t| \"top-right\"\n\t\t\t| \"center\"\n\t\t\t| \"bottom-left\"\n\t\t\t| \"bottom-right\";\n\t}","children?: renderFnType"],"sources":["../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/Card.ts","../src/components/Center.ts","../src/components/Container.ts","../src/components/Divider.ts","../src/components/FooterLayout.ts","../src/components/GridBreakpoint.ts","../src/components/HeroSection.ts","../src/components/Hidden.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":["import { html, TemplateResult } from \"lit\";\n\nexport type renderFnType = TemplateResult | (() => TemplateResult);\nexport function renderFn(fn?: renderFnType): TemplateResult {\n\treturn fn ? (typeof fn === \"function\" ? fn() : fn) : html``;\n}\n","import { html } from \"lit\";\nimport { renderFn, renderFnType } from \"./core\";\n\nexport function LightboxContainer(\n\tprops?: { fadeBg?: string; zIndex?: number },\n\tchildren?: renderFnType\n) {\n\tconst bg = props?.fadeBg ?? \"rgba(0,0,0,0.7)\";\n\tconst z = props?.zIndex ?? 2000;\n\treturn html`\n\t\t<div\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 } from \"lit\";\nimport { renderFn, renderFnType } from \"./core\";\n\nexport function Column(\n\tprops?: { space?: string | number },\n\tchildren?: renderFnType\n) {\n\treturn html`\n\t\t<div\n\t\t\tstyle=\"\n display: flex;\n flex-direction: column;\n ${props?.space ? `gap: ${props.space};` : \"\"}\n \"\n\t\t>\n\t\t\t${renderFn(children)}\n\t\t</div>\n\t`;\n}\n","import { html } from \"lit\";\nimport { renderFn, renderFnType } from \"./core\";\n\nexport function Flex(\n\tprops?: {\n\t\tdirection?: \"row\" | \"column\";\n\t\tjustify?: string;\n\t\talign?: string;\n\t\tgap?: string | number;\n\t},\n\tchildren?: renderFnType\n) {\n\tconst dir = props?.direction ?? \"row\";\n\treturn html`\n\t\t<div\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 } from \"lit\";\nimport { renderFn, renderFnType } from \"./core\";\n\nexport function FlowItem(_props?: unknown, children?: renderFnType) {\n\treturn html`\n\t\t<div style=\"break-inside: avoid; margin-bottom: 16px;\">\n\t\t\t${renderFn(children)}\n\t\t</div>\n\t`;\n}\n","import { html } from \"lit\";\nimport { renderFn, renderFnType } from \"./core\";\n\nexport function Grid(\n\tprops?: { columns?: number; gap?: string | number },\n\tchildren?: renderFnType\n) {\n\tconst cols = props?.columns ?? 1;\n\treturn html`\n\t\t<div\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${renderFn(children)}\n\t\t</div>\n\t`;\n}\n","import { html } from \"lit\";\nimport { renderFn, renderFnType } from \"./core\";\n\nexport function GridCol(\n\tprops?: { gap?: string | number },\n\tchildren?: renderFnType\n) {\n\treturn html`\n\t\t<div\n\t\t\tstyle=\"\n display: grid;\n grid-auto-flow: column;\n ${props?.gap ? `column-gap: ${props.gap};` : \"\"}\n \"\n\t\t>\n\t\t\t${renderFn(children)}\n\t\t</div>\n\t`;\n}\n","import { html } from \"lit\";\nimport { renderFn, renderFnType } from \"./core\";\n\nexport function GridItem(props?: { span?: number }, children?: renderFnType) {\n\treturn html`\n\t\t<div style=\"${props?.span ? `grid-column: span ${props.span};` : \"\"}\">\n\t\t\t${renderFn(children)}\n\t\t</div>\n\t`;\n}\n","import { html } from \"lit\";\nimport { renderFn, renderFnType } from \"./core\";\n\nexport function GridRow(\n\tprops?: { gap?: string | number },\n\tchildren?: renderFnType\n) {\n\treturn html`\n\t\t<div\n\t\t\tstyle=\"\n display: grid;\n grid-auto-flow: row;\n ${props?.gap ? `row-gap: ${props.gap};` : \"\"}\n \"\n\t\t>\n\t\t\t${renderFn(children)}\n\t\t</div>\n\t`;\n}\n","import { html } from \"lit\";\nimport { renderFn, renderFnType } from \"./core\";\n\nexport function Row(\n\tprops?: { space?: string | number },\n\tchildren?: renderFnType\n) {\n\treturn html`\n\t\t<div\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${renderFn(children)}\n\t\t</div>\n\t`;\n}\n","import { html } from \"lit\";\nimport { renderFn, renderFnType } from \"./core\";\n\nexport function WaterFlow(\n\tprops?: { columnCount?: number; gap?: string | number },\n\tchildren?: renderFnType\n) {\n\tconst count = props?.columnCount ?? 3;\n\tconst gap = props?.gap ?? \"16px\";\n\treturn html`\n\t\t<div\n\t\t\tstyle=\"\n column-count: ${count};\n column-gap: ${gap};\n \"\n\t\t>\n\t\t\t${renderFn(children)}\n\t\t</div>\n\t`;\n}\n","import { html } from \"lit\";\nimport { renderFn, renderFnType } from \"./core\";\n\nexport function ColumnSplit(\n\tprops?: {\n\t\tfirstHeight?: string; // 第一个面板固定高度或百分比\n\t\tgap?: string | number;\n\t},\n\tchildren?: renderFnType\n) {\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\treturn html`\n\t\t<div\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 } from \"lit\";\nimport { renderFn, renderFnType } from \"./core\";\n\nexport function RowSplit(\n\tprops?: {\n\t\tfirstWidth?: string; // 第一个面板固定宽度或百分比\n\t\tgap?: string | number;\n\t},\n\tchildren?: renderFnType\n) {\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\treturn html`\n\t\t<div\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 } from \"lit\";\nimport { renderFn, renderFnType } from \"./core\";\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},\n\tchildren?: renderFnType\n) {\n\tconst dir = props?.direction ?? \"vertical\";\n\tconst h = props?.height ?? \"100%\";\n\tconst w = props?.width ?? \"100%\";\n\tconst extraCss = props?.customCss ?? \"\";\n\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\treturn html`\n\t\t<style>\n\t\t\t.scrollbar-container {\n\t\t\t ${overflowStyle};\n\t\t\t width: ${w};\n\t\t\t height: ${h};\n\t\t\t}\n\t\t\t.scrollbar-container::-webkit-scrollbar {\n\t\t\t width: 8px;\n\t\t\t height: 8px;\n\t\t\t}\n\t\t\t.scrollbar-container::-webkit-scrollbar-thumb {\n\t\t\t background-color: rgba(0, 0, 0, 0.2);\n\t\t\t border-radius: 4px;\n\t\t\t}\n\t\t\t.scrollbar-container::-webkit-scrollbar-track {\n\t\t\t background: rgba(0, 0, 0, 0.05);\n\t\t\t}\n\t\t\t${extraCss}\n\t\t</style>\n\t\t<div class=\"scrollbar-container\">${renderFn(children)}</div>\n\t`;\n}\n","import { html } from \"lit\";\nimport { renderFn, renderFnType } from \"./core\";\n\nexport function SideBarContainer(\n\tprops?: {\n\t\tsidebarWidth?: string; // 侧边栏宽度,比如 \"240px\"\n\t\tsidebarPosition?: \"left\" | \"right\";\n\t\tgap?: string | number;\n\t},\n\tchildren?: renderFnType\n) {\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 = renderFn(children) as any;\n\t}\n\n\treturn html`\n\t\t<div\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, unsafeCSS } from \"lit\";\nimport { renderFnType } from \"./core\";\n\nexport function Swiper(\n\tprops?: {\n\t\tgap?: string | number;\n\t\tsnapType?: \"mandatory\" | \"proximity\";\n\t\theight?: string;\n\t\twidth?: string;\n\t},\n\tchildren?: renderFnType\n) {\n\tconst gap = props?.gap ?? \"8px\";\n\tconst snapType = props?.snapType ?? \"mandatory\";\n\tconst height = props?.height ?? \"auto\";\n\tconst width = props?.width ?? \"100%\";\n\n\tlet slides: TemplateResult[] = [];\n\tif (typeof children === \"function\") {\n\t\t// @ts-ignore\n\t\tslides = (children as any).call?.(null) ?? [];\n\t} else if (children) {\n\t\tslides = [children];\n\t}\n\n\treturn html`\n\t\t<style>\n\t\t\t.swiper-container {\n\t\t\t\twidth: ${width};\n\t\t\t\theight: ${height};\n\t\t\t\toverflow-x: auto;\n\t\t\t\toverflow-y: hidden;\n\t\t\t\tdisplay: flex;\n\t\t\t\tscroll-snap-type: x ${snapType};\n\t\t\t\t-webkit-overflow-scrolling: touch;\n\t\t\t\tgap: ${unsafeCSS(gap)};\n\t\t\t}\n\t\t\t.swiper-slide {\n\t\t\t\tscroll-snap-align: start;\n\t\t\t\tflex-shrink: 0;\n\t\t\t}\n\t\t</style>\n\t\t<div class=\"swiper-container\">\n\t\t\t${slides.map((slide) => html` <div class=\"swiper-slide\">${slide}</div> `)}\n\t\t</div>\n\t`;\n}\n","import { html } from \"lit\";\nimport { renderFn, renderFnType } from \"./core\";\n\nexport function AbsoluteBox(\n\tprops?: {\n\t\ttop?: string;\n\t\tright?: string;\n\t\tbottom?: string;\n\t\tleft?: string;\n\t\twidth?: string;\n\t\theight?: string;\n\t\tzIndex?: number;\n\t},\n\tchildren?: renderFnType\n) {\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\n\treturn html`\n\t\t<div\n\t\t\tstyle=\"\n position: absolute;\n ${t} ${r} ${b} ${l}\n ${w} ${h}\n ${z}\n \"\n\t\t>\n\t\t\t${renderFn(children)}\n\t\t</div>\n\t`;\n}\n","import { html } from \"lit\";\nimport { renderFn, renderFnType } from \"./core\";\n\nexport function AcrylicBar(\n\tprops?: {\n\t\twidth?: string; // 宽度,如 \"300px\" 或 \"50%\"\n\t\theight?: string; // 高度,如 \"auto\" 或 \"200px\"\n\t\ttop?: string; // 距离顶部距离,默认 \"20%\"\n\t\tbottom?: string; // 距离底部距离,默认 \"auto\"\n\t\tleft?: string; // 距离左侧距离,默认 \"50%\"\n\t\tright?: string; // 距离右侧距离,默认 \"auto\"\n\t\tbackground?: string; // 背景色,支持透明度,默认 \"rgba(255,255,255,0.3)\"\n\t\tblur?: string; // 模糊半径,默认 \"10px\"\n\t\tborderRadius?: string; // 圆角,默认 \"12px\"\n\t\tpadding?: string; // 内边距,默认 \"16px\"\n\t\tzIndex?: number; // z-index,默认 1000\n\t},\n\tchildren?: renderFnType\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\n\treturn html`\n\t\t<div\n\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>\n\t\t\t${renderFn(children)}\n\t\t</div>\n\t`;\n}\n","import { html } from \"lit\";\nimport { renderFn, renderFnType } from \"./core\";\n\nexport function AspectRatio(\n\tprops: {\n\t\tratio: number; // 宽高比,例如 16/9、4/3\n\t\tmaxWidth?: string;\n\t\tbackground?: string;\n\t\toverflow?: string;\n\t},\n\tchildren?: renderFnType\n) {\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\n\treturn html`\n\t\t<div\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${renderFn(children)}\n\t\t\t</div>\n\t\t</div>\n\t`;\n}\n","import { html } from \"lit\";\nimport { renderFn, renderFnType } from \"./core\";\n\nexport function AutoFitGrid(\n\tprops: {\n\t\tminItemWidth: string;\n\t\tgap?: string | number;\n\t},\n\tchildren?: renderFnType\n) {\n\tconst gap = props?.gap ?? \"16px\";\n\treturn html`\n\t\t<div\n\t\t\tstyle=\"\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(${props.minItemWidth}, 1fr));\n gap: ${gap};\n \"\n\t\t>\n\t\t\t${renderFn(children)}\n\t\t</div>\n\t`;\n}\n","import { html } from \"lit\";\nimport { renderFnType } from \"./core\";\n\nexport function AvatarStack(\n\tprops?: { size?: string; overlap?: string },\n\tchildren?: renderFnType\n) {\n\tconst sz = props?.size ?? \"32px\";\n\tconst ov = props?.overlap ?? \"-8px\";\n\treturn html`\n\t\t<div style=\"display: flex; align-items: center;\">\n\t\t\t${typeof children === \"function\"\n\t\t\t\t? (children() as any).map(\n\t\t\t\t\t\t(avatar: unknown, idx: number) => html`\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\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\t\t\t\t\t>\n\t\t\t\t\t\t\t\t${avatar}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t`\n\t\t\t\t )\n\t\t\t\t: html``}\n\t\t</div>\n\t`;\n}\n","// Badge.ts\nimport { html } from \"lit\";\nimport { renderFn, renderFnType } from \"./core\";\n\nexport function Badge(\n\tprops?: {\n\t\tcontent?: string | number;\n\t\tposition?: \"top-left\" | \"top-right\" | \"bottom-left\" | \"bottom-right\";\n\t\tsize?: string;\n\t\tbackground?: string;\n\t\tcolor?: string;\n\t},\n\tchildren?: renderFnType\n) {\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\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\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 } from \"lit\";\nimport { renderFn, renderFnType } from \"./core\";\n\nexport function Card(\n\tprops?: {\n\t\tpadding?: string;\n\t\tborderRadius?: string;\n\t\tshadow?: string;\n\t\tbackground?: string;\n\t},\n\tchildren?: renderFnType\n) {\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\treturn html`\n\t\t<div\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${renderFn(children)}\n\t\t</div>\n\t`;\n}\n","import { html } from \"lit\";\nimport { renderFn, renderFnType } from \"./core\";\n\nexport function Center(\n\tprops?: { width?: string; height?: string; background?: string },\n\tchildren?: renderFnType\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\n\treturn html`\n\t\t<div\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 } from \"lit\";\nimport { renderFn, renderFnType } from \"./core\";\n\nexport function Container(\n\tprops?: {\n\t\tmaxWidth?: string;\n\t\tpadding?: string;\n\t\tbackground?: string;\n\t\tfullHeight?: boolean;\n\t},\n\tchildren?: renderFnType\n) {\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\n\treturn html`\n\t\t<div\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${renderFn(children)}\n\t\t</div>\n\t`;\n}\n","import { html } from \"lit\";\n\nexport function Divider(props?: {\n\torientation?: \"horizontal\" | \"vertical\";\n\tthickness?: string;\n\tcolor?: string;\n\tmargin?: string;\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\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 style=\"${style}\"></div>`;\n}\n","// FooterLayout.ts\nimport { html } from \"lit\";\nimport { renderFn, renderFnType } from \"./core\";\n\nexport function FooterLayout(\n\tprops?: {\n\t\tcolumns?: number;\n\t\tgap?: string;\n\t\tbackground?: string;\n\t\tpadding?: string;\n\t},\n\tchildren?: renderFnType\n) {\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\treturn html`\n\t\t<div\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 { html } from \"lit\";\nimport { renderFn, renderFnType } from \"./core\";\n\nexport function GridBreakpoint(\n\tprops: {\n\t\tbreakpoints: Record<string, number>;\n\t\tdefaultColumns?: number;\n\t\tgap?: string;\n\t},\n\tchildren?: renderFnType\n) {\n\tconst defCols = props.defaultColumns ?? 1;\n\tconst gap = props.gap ?? \"16px\";\n\t// 生成媒体查询 CSS\n\tconst mqCss = Object.entries(props.breakpoints)\n\t\t.map(\n\t\t\t([query, cols]) => `\n @media ${query} {\n .grid-breakpoint { grid-template-columns: repeat(${cols}, 1fr); }\n }\n `\n\t\t)\n\t\t.join(\"\\n\");\n\treturn html`\n\t\t<style>\n\t\t\t.grid-breakpoint {\n\t\t\t display: grid;\n\t\t\t grid-template-columns: repeat(${defCols}, 1fr);\n\t\t\t gap: ${gap};\n\t\t\t}\n\t\t\t${mqCss}\n\t\t</style>\n\t\t<div class=\"grid-breakpoint\">${renderFn(children)}</div>\n\t`;\n}\n","import { html } from \"lit\";\nimport { renderFn, renderFnType } from \"./core\";\n\nexport function HeroSection(\n\tprops?: {\n\t\tbackgroundImage?: string;\n\t\theight?: string;\n\t\toverlayColor?: string;\n\t},\n\tchildren?: renderFnType\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\treturn html`\n\t\t<div\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${renderFn(children)}\n\t\t\t</div>\n\t\t</div>\n\t`;\n}\n","// Hidden.ts\nimport { html } from \"lit\";\nimport { renderFn, renderFnType } from \"./core\";\n\nexport function Hidden(\n\tprops?: { breakpoint?: string; mode?: \"hide\" | \"show\" },\n\tchildren?: renderFnType\n) {\n\tconst bp = props?.breakpoint ?? \"(max-width: 600px)\";\n\tconst mode = props?.mode ?? \"hide\";\n\tconst styleContent =\n\t\tmode === \"hide\"\n\t\t\t? `@media ${bp} { .hidden-container { display: none !important; } }`\n\t\t\t: `@media ${bp} { .hidden-container { display: block !important; } }\n @media not ${bp} { .hidden-container { display: none !important; } }`;\n\treturn html`\n\t\t<style>\n\t\t\t.hidden-container {\n\t\t\t display: block;\n\t\t\t}\n\t\t\t${styleContent}\n\t\t</style>\n\t\t<div class=\"hidden-container\">${renderFn(children)}</div>\n\t`;\n}\n","import { html } from \"lit\";\nimport { renderFn, renderFnType } from \"./core\";\n\nexport function ListGroup(\n\tprops?: { bordered?: boolean; striped?: boolean; hover?: boolean },\n\tchildren?: renderFnType\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\treturn html`\n\t\t<style>\n\t\t\tul.list-group {\n\t\t\t list-style: none;\n\t\t\t margin: 0;\n\t\t\t padding: 0;\n\t\t\t ${bordered};\n\t\t\t}\n\t\t\tul.list-group li {\n\t\t\t padding: 12px 16px;\n\t\t\t ${props?.bordered ? \"border-bottom: 1px solid #ddd\" : \"\"};\n\t\t\t}\n\t\t\tul.list-group li:last-child {\n\t\t\t ${props?.bordered ? \"border-bottom: none\" : \"\"};\n\t\t\t}\n\t\t\t${striped}\n\t\t\t${hover}\n\t\t</style>\n\t\t<ul class=\"list-group\">\n\t\t\t${renderFn(children)}\n\t\t</ul>\n\t`;\n}\n","import { html } from \"lit\";\nimport { renderFn, renderFnType } from \"./core\";\n\nexport function Overlay(\n\tprops?: { background?: string; zIndex?: number; fullScreen?: boolean },\n\tchildren?: renderFnType\n) {\n\tconst bg = props?.background ?? \"rgba(0, 0, 0, 0.5)\";\n\tconst z = props?.zIndex ?? 1000;\n\tconst full = props?.fullScreen !== false;\n\treturn html`\n\t\t<div\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${renderFn(children)}\n\t\t</div>\n\t`;\n}\n","import { html } from \"lit\";\nimport { renderFn, renderFnType } from \"./core\";\n\nexport function PositionContainer(\n\tprops?: { width?: string; height?: string; background?: string },\n\tchildren?: renderFnType\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\n\treturn html`\n\t\t<div\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\";\n\nexport function SizedBox(props?: { width?: string; height?: string }) {\n\tconst w = props?.width ? `width: ${props.width};` : \"\";\n\tconst h = props?.height ? `height: ${props.height};` : \"\";\n\treturn html` <div style=\"${w} ${h}\"></div> `;\n}\n","// SkeletonLoader.ts\nimport { html } from \"lit\";\n\nexport function SkeletonLoader(props?: {\n\ttype?: \"rect\" | \"circle\";\n\twidth?: string;\n\theight?: string;\n\tborderRadius?: string;\n\tanimation?: boolean;\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 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\treturn html`\n\t\t<style>\n\t\t\t${`\n @keyframes skeleton-shimmer {\n\t\t\t 0% { background-color: #eee; }\n\t\t\t 50% { background-color: #ddd; }\n\t\t\t 100% { background-color: #eee; }\n\t\t\t} \n `}\n\t\t\t.skeleton {\n\t\t\t ${shapeStyle};\n\t\t\t background-color: #eee;\n\t\t\t ${anim ? \"animation: skeleton-shimmer 1.2s infinite ease-in-out\" : \"\"};\n\t\t\t}\n\t\t</style>\n\t\t<div class=\"skeleton\"></div>\n\t`;\n}\n","import { html } from \"lit\";\n\nexport function Spacer() {\n\treturn html`<div style=\"flex: 1 1 auto;\"></div>`;\n}\n","import { html } from \"lit\";\nimport { renderFn, renderFnType } from \"./core\";\n\nexport function Sticky(\n\tprops?: {\n\t\ttop?: string;\n\t\tbottom?: string;\n\t\tzIndex?: number;\n\t},\n\tchildren?: renderFnType\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\n\treturn html`\n\t\t<div\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 } from \"lit\";\nimport { renderFn, renderFnType } from \"./core\";\n\nexport function Table(\n\tprops?: { striped?: boolean; hover?: boolean; bordered?: boolean },\n\tchildren?: renderFnType\n) {\n\tconst striped = props?.striped\n\t\t? `\n tr:nth-child(even) { background: #f9f9f9; }\n `\n\t\t: \"\";\n\tconst hover = props?.hover\n\t\t? `\n tr:hover { background: #f1f1f1; }\n `\n\t\t: \"\";\n\tconst bordered = props?.bordered\n\t\t? `\n table, th, td { border: 1px solid #ddd; }\n `\n\t\t: \"\";\n\treturn html`\n\t\t<style>\n\t\t\ttable {\n\t\t\t width: 100%;\n\t\t\t border-collapse: collapse;\n\t\t\t}\n\t\t\tth, td {\n\t\t\t padding: 8px 12px;\n\t\t\t text-align: left;\n\t\t\t}\n\t\t\t${striped}\n\t\t\t${hover}\n\t\t\t${bordered}\n\t\t</style>\n\t\t<table>\n\t\t\t${renderFn(children)}\n\t\t</table>\n\t`;\n}\n","import { html } from \"lit\";\nimport { renderFn, renderFnType } from \"./core\";\n\nexport function Wrap(\n\tprops?: {\n\t\tdirection?: \"row\" | \"column\";\n\t\tgap?: string | number;\n\t\talign?: string;\n\t\tjustify?: string;\n\t},\n\tchildren?: renderFnType\n) {\n\tconst dir = props?.direction ?? \"row\";\n\treturn html`\n\t\t<div\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${renderFn(children)}\n\t\t</div>\n\t`;\n}\n","import { html } from \"lit\";\nimport { renderFn, renderFnType } from \"./core\";\n\nexport function ZStack(\n\tprops?: {\n\t\twidth?: string;\n\t\theight?: string;\n\t\tbackground?: string;\n\t\talign?:\n\t\t\t| \"top-left\"\n\t\t\t| \"top-right\"\n\t\t\t| \"center\"\n\t\t\t| \"bottom-left\"\n\t\t\t| \"bottom-right\";\n\t},\n\tchildren?: renderFnType\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\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\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${renderFn(children)}\n\t\t</div>\n\t`;\n}\n"],"mappings":"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"}
@@ -0,0 +1,526 @@
1
+ import{html as e,unsafeCSS as t}from"lit";function n(t){return t?typeof t==`function`?t():t:e``}function r(t,r){let i=t?.fadeBg??`rgba(0,0,0,0.7)`,a=t?.zIndex??2e3;return e`
2
+ <div
3
+ style="
4
+ position: fixed;
5
+ top: 0; left: 0; right: 0; bottom: 0;
6
+ background: ${i};
7
+ z-index: ${a};
8
+ display: flex;
9
+ justify-content: center;
10
+ align-items: center;
11
+ "
12
+ >
13
+ ${n(r)}
14
+ </div>
15
+ `}function i(t,r){return e`
16
+ <div
17
+ style="
18
+ display: flex;
19
+ flex-direction: column;
20
+ ${t?.space?`gap: ${t.space};`:``}
21
+ "
22
+ >
23
+ ${n(r)}
24
+ </div>
25
+ `}function a(t,r){let i=t?.direction??`row`;return e`
26
+ <div
27
+ style="
28
+ display: flex;
29
+ flex-direction: ${i};
30
+ ${t?.justify?`justify-content: ${t.justify};`:``}
31
+ ${t?.align?`align-items: ${t.align};`:``}
32
+ ${t?.gap?`gap: ${t.gap};`:``}
33
+ "
34
+ >
35
+ ${n(r)}
36
+ </div>
37
+ `}function o(t,r){return e`
38
+ <div style="break-inside: avoid; margin-bottom: 16px;">
39
+ ${n(r)}
40
+ </div>
41
+ `}function s(t,r){let i=t?.columns??1;return e`
42
+ <div
43
+ style="
44
+ display: grid;
45
+ grid-template-columns: repeat(${i}, 1fr);
46
+ ${t?.gap?`gap: ${t.gap};`:``}
47
+ "
48
+ >
49
+ ${n(r)}
50
+ </div>
51
+ `}function c(t,r){return e`
52
+ <div
53
+ style="
54
+ display: grid;
55
+ grid-auto-flow: column;
56
+ ${t?.gap?`column-gap: ${t.gap};`:``}
57
+ "
58
+ >
59
+ ${n(r)}
60
+ </div>
61
+ `}function l(t,r){return e`
62
+ <div style="${t?.span?`grid-column: span ${t.span};`:``}">
63
+ ${n(r)}
64
+ </div>
65
+ `}function u(t,r){return e`
66
+ <div
67
+ style="
68
+ display: grid;
69
+ grid-auto-flow: row;
70
+ ${t?.gap?`row-gap: ${t.gap};`:``}
71
+ "
72
+ >
73
+ ${n(r)}
74
+ </div>
75
+ `}function d(t,r){return e`
76
+ <div
77
+ style="
78
+ display: flex;
79
+ flex-direction: row;
80
+ ${t?.space?`gap: ${t.space};`:``}
81
+ "
82
+ >
83
+ ${n(r)}
84
+ </div>
85
+ `}function f(t,r){let i=t?.columnCount??3,a=t?.gap??`16px`;return e`
86
+ <div
87
+ style="
88
+ column-count: ${i};
89
+ column-gap: ${a};
90
+ "
91
+ >
92
+ ${n(r)}
93
+ </div>
94
+ `}function p(t,r){let i=t?.gap??`0px`,a=t?.firstHeight??`50%`,o=e``,s=e``;if(typeof r==`function`){var c;let t=(c=r.call)?.call(r,null)??[];o=t[0]??e``,s=t[1]??e``}else o=n(r);return e`
95
+ <div
96
+ style="
97
+ display: flex;
98
+ flex-direction: column;
99
+ width: 100%;
100
+ height: 100%;
101
+ gap: ${i};
102
+ "
103
+ >
104
+ <div style="flex: 0 0 ${a}; overflow: auto;">${o}</div>
105
+ <div style="flex: 1 1 auto; overflow: auto;">${s}</div>
106
+ </div>
107
+ `}function m(t,r){let i=t?.gap??`0px`,a=t?.firstWidth??`50%`,o=e``,s=e``;if(typeof r==`function`){var c;let t=(c=r.call)?.call(r,null)??[];o=t[0]??e``,s=t[1]??e``}else o=n(r);return e`
108
+ <div
109
+ style="
110
+ display: flex;
111
+ flex-direction: row;
112
+ width: 100%;
113
+ height: 100%;
114
+ gap: ${i};
115
+ "
116
+ >
117
+ <div style="flex: 0 0 ${a}; overflow: auto;">${o}</div>
118
+ <div style="flex: 1 1 auto; overflow: auto;">${s}</div>
119
+ </div>
120
+ `}function h(t,r){let i=t?.direction??`vertical`,a=t?.height??`100%`,o=t?.width??`100%`,s=t?.customCss??``,c=i===`horizontal`?`overflow-x: auto; overflow-y: hidden`:`overflow-y: auto; overflow-x: hidden`;return e`
121
+ <style>
122
+ .scrollbar-container {
123
+ ${c};
124
+ width: ${o};
125
+ height: ${a};
126
+ }
127
+ .scrollbar-container::-webkit-scrollbar {
128
+ width: 8px;
129
+ height: 8px;
130
+ }
131
+ .scrollbar-container::-webkit-scrollbar-thumb {
132
+ background-color: rgba(0, 0, 0, 0.2);
133
+ border-radius: 4px;
134
+ }
135
+ .scrollbar-container::-webkit-scrollbar-track {
136
+ background: rgba(0, 0, 0, 0.05);
137
+ }
138
+ ${s}
139
+ </style>
140
+ <div class="scrollbar-container">${n(r)}</div>
141
+ `}function g(t,r){let i=t?.sidebarWidth??`240px`,a=t?.sidebarPosition??`left`,o=t?.gap??`0px`,s=e``,c=e``;if(typeof r==`function`){var l;let t=(l=r.call)?.call(r,null)??[];s=t[0]??e``,c=t[1]??e``}else c=n(r);return e`
142
+ <div
143
+ style="
144
+ display: flex;
145
+ flex-direction: ${a===`left`?`row`:`row-reverse`};
146
+ width: 100%;
147
+ height: 100%;
148
+ gap: ${o};
149
+ "
150
+ >
151
+ <div style="flex: 0 0 ${i}; overflow: auto;">${s}</div>
152
+ <div style="flex: 1 1 auto; overflow: auto;">${c}</div>
153
+ </div>
154
+ `}function _(n,r){var i;let a=n?.gap??`8px`,o=n?.snapType??`mandatory`,s=n?.height??`auto`,c=n?.width??`100%`,l=[];return typeof r==`function`?l=(i=r.call)?.call(r,null)??[]:r&&(l=[r]),e`
155
+ <style>
156
+ .swiper-container {
157
+ width: ${c};
158
+ height: ${s};
159
+ overflow-x: auto;
160
+ overflow-y: hidden;
161
+ display: flex;
162
+ scroll-snap-type: x ${o};
163
+ -webkit-overflow-scrolling: touch;
164
+ gap: ${t(a)};
165
+ }
166
+ .swiper-slide {
167
+ scroll-snap-align: start;
168
+ flex-shrink: 0;
169
+ }
170
+ </style>
171
+ <div class="swiper-container">
172
+ ${l.map(t=>e` <div class="swiper-slide">${t}</div> `)}
173
+ </div>
174
+ `}function v(t,r){let i=t?.top?`top: ${t.top};`:``,a=t?.right?`right: ${t.right};`:``,o=t?.bottom?`bottom: ${t.bottom};`:``,s=t?.left?`left: ${t.left};`:``,c=t?.width?`width: ${t.width};`:``,l=t?.height?`height: ${t.height};`:``,u=typeof t?.zIndex==`number`?`z-index: ${t.zIndex};`:``;return e`
175
+ <div
176
+ style="
177
+ position: absolute;
178
+ ${i} ${a} ${o} ${s}
179
+ ${c} ${l}
180
+ ${u}
181
+ "
182
+ >
183
+ ${n(r)}
184
+ </div>
185
+ `}function y(t,r){let i=t?.width??`300px`,a=t?.height??`auto`,o=t?.top??`20%`,s=t?.bottom??`auto`,c=t?.left??`50%`,l=t?.right??`auto`,u=c===`auto`?``:`transform: translateX(-50%);`,d=t?.background??`rgba(255, 255, 255, 0.3)`,f=t?.blur??`10px`,p=t?.borderRadius??`12px`,m=t?.padding??`16px`,h=t?.zIndex??1e3;return e`
186
+ <div
187
+ style="
188
+ position: fixed;
189
+ top: ${o};
190
+ bottom: ${s};
191
+ left: ${c};
192
+ right: ${l};
193
+ ${u}
194
+ width: ${i};
195
+ height: ${a};
196
+ background: ${d};
197
+ backdrop-filter: blur(${f});
198
+ -webkit-backdrop-filter: blur(${f});
199
+ border-radius: ${p};
200
+ padding: ${m};
201
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
202
+ z-index: ${h};
203
+ display: flex;
204
+ flex-direction: column;
205
+ "
206
+ >
207
+ ${n(r)}
208
+ </div>
209
+ `}function b(t,r){let i=`${100/t.ratio}%`,a=t.maxWidth?`max-width: ${t.maxWidth};`:``,o=t.background?`background: ${t.background};`:``,s=t.overflow??`hidden`;return e`
210
+ <div
211
+ style="
212
+ position: relative;
213
+ width: 100%;
214
+ ${a}
215
+ ${o}
216
+ overflow: ${s};
217
+ "
218
+ >
219
+ <div style="width: 100%; padding-top: ${i};"></div>
220
+ <div
221
+ style="
222
+ position: absolute;
223
+ top: 0;
224
+ left: 0;
225
+ width: 100%;
226
+ height: 100%;
227
+ "
228
+ >
229
+ ${n(r)}
230
+ </div>
231
+ </div>
232
+ `}function x(t,r){let i=t?.gap??`16px`;return e`
233
+ <div
234
+ style="
235
+ display: grid;
236
+ grid-template-columns: repeat(auto-fit, minmax(${t.minItemWidth}, 1fr));
237
+ gap: ${i};
238
+ "
239
+ >
240
+ ${n(r)}
241
+ </div>
242
+ `}function S(t,n){let r=t?.size??`32px`,i=t?.overlap??`-8px`;return e`
243
+ <div style="display: flex; align-items: center;">
244
+ ${typeof n==`function`?n().map((t,n)=>e`
245
+ <div
246
+ style="
247
+ width: ${r};
248
+ height: ${r};
249
+ border-radius: 50%;
250
+ overflow: hidden;
251
+ border: 2px solid #fff;
252
+ margin-left: ${n===0?`0`:i};
253
+ box-sizing: content-box;
254
+ "
255
+ >
256
+ ${t}
257
+ </div>
258
+ `):e``}
259
+ </div>
260
+ `}function C(t,r){let i=t?.position??`top-right`,a=t?.size??`16px`,o=t?.background??`red`,s=t?.color??`#fff`,[c,l,u,d]=[i.includes(`top`)?`0`:`auto`,i.includes(`right`)?`0`:`auto`,i.includes(`bottom`)?`0`:`auto`,i.includes(`left`)?`0`:`auto`];return e`
261
+ <div style="position: relative; display: inline-block;">
262
+ ${n(r)}
263
+ <div
264
+ style="
265
+ position: absolute;
266
+ top: ${c};
267
+ right: ${l};
268
+ bottom: ${u};
269
+ left: ${d};
270
+ width: ${a};
271
+ height: ${a};
272
+ background: ${o};
273
+ color: ${s};
274
+ font-size: calc(${a} * 0.6);
275
+ border-radius: 50%;
276
+ display: flex;
277
+ justify-content: center;
278
+ align-items: center;
279
+ transform: translate(${d===`0`?`-50%`:`0`}, ${c===`0`?`-50%`:`0`});
280
+ "
281
+ >
282
+ ${t?.content??``}
283
+ </div>
284
+ </div>
285
+ `}function w(t,r){let i=t?.padding??`16px`,a=t?.borderRadius??`8px`,o=t?.shadow??`0 2px 8px rgba(0,0,0,0.1)`,s=t?.background??`#fff`;return e`
286
+ <div
287
+ style="
288
+ background: ${s};
289
+ border-radius: ${a};
290
+ box-shadow: ${o};
291
+ padding: ${i};
292
+ box-sizing: border-box;
293
+ "
294
+ >
295
+ ${n(r)}
296
+ </div>
297
+ `}function T(t,r){let i=t?.width?`width: ${t.width};`:``,a=t?.height?`height: ${t.height};`:``,o=t?.background?`background: ${t.background};`:``;return e`
298
+ <div
299
+ style="
300
+ display: flex;
301
+ justify-content: center;
302
+ align-items: center;
303
+ ${i} ${a} ${o}
304
+ "
305
+ >
306
+ ${n(r)}
307
+ </div>
308
+ `}function E(t,r){let i=t?.maxWidth??`1024px`,a=t?.padding??`0 16px`,o=t?.background?`background: ${t.background};`:``,s=t?.fullHeight?`height: 100%;`:``;return e`
309
+ <div
310
+ style="
311
+ width: 100%;
312
+ max-width: ${i};
313
+ margin-left: auto;
314
+ margin-right: auto;
315
+ padding: ${a};
316
+ ${o}
317
+ ${s}
318
+ box-sizing: border-box;
319
+ "
320
+ >
321
+ ${n(r)}
322
+ </div>
323
+ `}function D(t){let n=t?.orientation??`horizontal`,r=t?.thickness??`1px`,i=t?.color??`#e0e0e0`,a=t?.margin??(n===`horizontal`?`8px 0`:`0 8px`),o=n===`horizontal`?`width: 100%; height: ${r}; background: ${i}; margin: ${a};`:`width: ${r}; height: 100%; background: ${i}; margin: ${a};`;return e`<div style="${o}"></div>`}function O(t,r){let i=t?.columns??4,a=t?.gap??`24px`,o=t?.background??`#f8f8f8`,s=t?.padding??`40px 16px`;return e`
324
+ <div
325
+ style="
326
+ width: 100%;
327
+ background: ${o};
328
+ padding: ${s};
329
+ box-sizing: border-box;
330
+ "
331
+ >
332
+ <div
333
+ style="
334
+ display: grid;
335
+ grid-template-columns: repeat(${i}, 1fr);
336
+ gap: ${a};
337
+ "
338
+ >
339
+ ${n(r)}
340
+ </div>
341
+ <div style="text-align: center; margin-top: 24px; color: #666;">
342
+ © ${new Date().getFullYear()} Your Company. All rights reserved.
343
+ </div>
344
+ </div>
345
+ `}function k(t,r){let i=t.defaultColumns??1,a=t.gap??`16px`,o=Object.entries(t.breakpoints).map(([e,t])=>`
346
+ @media ${e} {
347
+ .grid-breakpoint { grid-template-columns: repeat(${t}, 1fr); }
348
+ }
349
+ `).join(`
350
+ `);return e`
351
+ <style>
352
+ .grid-breakpoint {
353
+ display: grid;
354
+ grid-template-columns: repeat(${i}, 1fr);
355
+ gap: ${a};
356
+ }
357
+ ${o}
358
+ </style>
359
+ <div class="grid-breakpoint">${n(r)}</div>
360
+ `}function A(t,r){let i=t?.backgroundImage?`background-image: url('${t.backgroundImage}');`:``,a=t?.height??`400px`,o=t?.overlayColor??`rgba(0, 0, 0, 0.3)`;return e`
361
+ <div
362
+ style="
363
+ position: relative;
364
+ width: 100%;
365
+ height: ${a};
366
+ ${i}
367
+ background-size: cover;
368
+ background-position: center;
369
+ "
370
+ >
371
+ <div
372
+ style="
373
+ position: absolute;
374
+ top: 0; left: 0; right: 0; bottom: 0;
375
+ background: ${o};
376
+ "
377
+ ></div>
378
+ <div
379
+ style="
380
+ position: relative;
381
+ z-index: 1;
382
+ width: 100%;
383
+ height: 100%;
384
+ display: flex;
385
+ flex-direction: column;
386
+ justify-content: center;
387
+ align-items: center;
388
+ color: #fff;
389
+ text-align: center;
390
+ padding: 0 16px;
391
+ box-sizing: border-box;
392
+ "
393
+ >
394
+ ${n(r)}
395
+ </div>
396
+ </div>
397
+ `}function j(t,r){let i=t?.breakpoint??`(max-width: 600px)`,a=t?.mode??`hide`,o=a===`hide`?`@media ${i} { .hidden-container { display: none !important; } }`:`@media ${i} { .hidden-container { display: block !important; } }
398
+ @media not ${i} { .hidden-container { display: none !important; } }`;return e`
399
+ <style>
400
+ .hidden-container {
401
+ display: block;
402
+ }
403
+ ${o}
404
+ </style>
405
+ <div class="hidden-container">${n(r)}</div>
406
+ `}function M(t,r){let i=t?.bordered?`border: 1px solid #ddd; border-radius: 4px`:``,a=t?.striped?`li:nth-child(even) { background: #f9f9f9; }`:``,o=t?.hover?`li:hover { background: #f1f1f1; cursor: pointer; }`:``;return e`
407
+ <style>
408
+ ul.list-group {
409
+ list-style: none;
410
+ margin: 0;
411
+ padding: 0;
412
+ ${i};
413
+ }
414
+ ul.list-group li {
415
+ padding: 12px 16px;
416
+ ${t?.bordered?`border-bottom: 1px solid #ddd`:``};
417
+ }
418
+ ul.list-group li:last-child {
419
+ ${t?.bordered?`border-bottom: none`:``};
420
+ }
421
+ ${a}
422
+ ${o}
423
+ </style>
424
+ <ul class="list-group">
425
+ ${n(r)}
426
+ </ul>
427
+ `}function N(t,r){let i=t?.background??`rgba(0, 0, 0, 0.5)`,a=t?.zIndex??1e3,o=t?.fullScreen!==!1;return e`
428
+ <div
429
+ style="
430
+ position: ${o?`fixed`:`absolute`};
431
+ top: 0; left: 0; right: 0; bottom: 0;
432
+ background: ${i};
433
+ z-index: ${a};
434
+ display: flex;
435
+ justify-content: center;
436
+ align-items: center;
437
+ "
438
+ >
439
+ ${n(r)}
440
+ </div>
441
+ `}function P(t,r){let i=t?.width?`width: ${t.width};`:``,a=t?.height?`height: ${t.height};`:``,o=t?.background?`background: ${t.background};`:``;return e`
442
+ <div
443
+ style="
444
+ position: relative;
445
+ ${i} ${a} ${o}
446
+ overflow: hidden;
447
+ "
448
+ >
449
+ ${n(r)}
450
+ </div>
451
+ `}function F(t){let n=t?.width?`width: ${t.width};`:``,r=t?.height?`height: ${t.height};`:``;return e` <div style="${n} ${r}"></div> `}function I(t){let n=t?.type??`rect`,r=t?.width??`100%`,i=t?.height??`16px`,a=t?.borderRadius??`4px`,o=t?.animation!==!1,s=n===`circle`?`border-radius: 50%; width: ${r}; height: ${r}`:`border-radius: ${a}; width: ${r}; height: ${i}`;return e`
452
+ <style>
453
+ ${`
454
+ @keyframes skeleton-shimmer {
455
+ 0% { background-color: #eee; }
456
+ 50% { background-color: #ddd; }
457
+ 100% { background-color: #eee; }
458
+ }
459
+ `}
460
+ .skeleton {
461
+ ${s};
462
+ background-color: #eee;
463
+ ${o?`animation: skeleton-shimmer 1.2s infinite ease-in-out`:``};
464
+ }
465
+ </style>
466
+ <div class="skeleton"></div>
467
+ `}function L(){return e`<div style="flex: 1 1 auto;"></div>`}function R(t,r){let i=t?.top?`top: ${t.top};`:``,a=t?.bottom?`bottom: ${t.bottom};`:``,o=typeof t?.zIndex==`number`?`z-index: ${t.zIndex};`:``;return e`
468
+ <div
469
+ style="
470
+ position: sticky;
471
+ ${i} ${a}
472
+ ${o}
473
+ "
474
+ >
475
+ ${n(r)}
476
+ </div>
477
+ `}function z(t,r){let i=t?.striped?`
478
+ tr:nth-child(even) { background: #f9f9f9; }
479
+ `:``,a=t?.hover?`
480
+ tr:hover { background: #f1f1f1; }
481
+ `:``,o=t?.bordered?`
482
+ table, th, td { border: 1px solid #ddd; }
483
+ `:``;return e`
484
+ <style>
485
+ table {
486
+ width: 100%;
487
+ border-collapse: collapse;
488
+ }
489
+ th, td {
490
+ padding: 8px 12px;
491
+ text-align: left;
492
+ }
493
+ ${i}
494
+ ${a}
495
+ ${o}
496
+ </style>
497
+ <table>
498
+ ${n(r)}
499
+ </table>
500
+ `}function B(t,r){let i=t?.direction??`row`;return e`
501
+ <div
502
+ style="
503
+ display: flex;
504
+ flex-direction: ${i};
505
+ flex-wrap: wrap;
506
+ ${t?.gap?`gap: ${t.gap};`:``}
507
+ ${t?.align?`align-items: ${t.align};`:``}
508
+ ${t?.justify?`justify-content: ${t.justify};`:``}
509
+ "
510
+ >
511
+ ${n(r)}
512
+ </div>
513
+ `}function V(t,r){let i=t?.width?`width: ${t.width};`:``,a=t?.height?`height: ${t.height};`:``,o=t?.background?`background: ${t.background};`:``,s=`flex-start`,c=`flex-start`;switch(t?.align){case`top-right`:s=`flex-end`,c=`flex-start`;break;case`center`:s=`center`,c=`center`;break;case`bottom-left`:s=`flex-start`,c=`flex-end`;break;case`bottom-right`:s=`flex-end`,c=`flex-end`;break;default:s=`flex-start`,c=`flex-start`}return e`
514
+ <div
515
+ style="
516
+ position: relative;
517
+ display: flex;
518
+ justify-content: ${s};
519
+ align-items: ${c};
520
+ ${i} ${a} ${o}
521
+ "
522
+ >
523
+ ${n(r)}
524
+ </div>
525
+ `}export{v as AbsoluteBox,y as AcrylicBar,b as AspectRatio,x as AutoFitGrid,S as AvatarStack,C as Badge,w as Card,T as Center,i as Column,p as ColumnSplit,E as Container,D as Divider,a as Flex,o as FlowItem,O as FooterLayout,s as Grid,k as GridBreakpoint,c as GridCol,l as GridItem,u as GridRow,A as HeroSection,j as Hidden,r as LightboxContainer,M as ListGroup,N as Overlay,P as PositionContainer,d as Row,m as RowSplit,h as ScrollBar,g as SideBarContainer,F as SizedBox,I as SkeletonLoader,L as Spacer,R as Sticky,_ as Swiper,z as Table,f as WaterFlow,B as Wrap,V as ZStack};
526
+ //# sourceMappingURL=index.es.js.map