From 40670c2ba8e937f904b10650b2823114195666b4 Mon Sep 17 00:00:00 2001 From: catouse Date: Tue, 27 Aug 2024 04:17:13 +0000 Subject: [PATCH] deploy: 84aa7c8f48ddcd99a3ba958aaa9da2faf2a1533e --- dev/404.html | 6 ++--- ...pV.js => guide_start_index.md.DDE5jxBJ.js} | 22 +++++++++--------- ... => guide_start_index.md.DDE5jxBJ.lean.js} | 22 +++++++++--------- dev/guide/config/base/color.html | 6 ++--- dev/guide/config/base/font.html | 6 ++--- dev/guide/config/base/rounded.html | 6 ++--- dev/guide/config/base/screens.html | 6 ++--- dev/guide/config/base/shadow.html | 6 ++--- dev/guide/config/base/spacing.html | 6 ++--- dev/guide/customize/build.html | 6 ++--- dev/guide/customize/dev.html | 6 ++--- dev/guide/customize/exts-lib.html | 6 ++--- dev/guide/index.html | 6 ++--- dev/guide/start/compatibility.html | 6 ++--- dev/guide/start/index.html | 10 ++++---- dev/guide/start/intro.html | 6 ++--- dev/guide/start/tutorial.html | 6 ++--- dev/hashmap.json | 2 +- dev/index.html | 6 ++--- dev/lib/basic/core/cash.html | 6 ++--- dev/lib/basic/core/component.html | 6 ++--- dev/lib/basic/core/css-component.html | 6 ++--- dev/lib/basic/core/react.html | 6 ++--- dev/lib/basic/core/zui-create.html | 6 ++--- dev/lib/basic/core/zui-on.html | 6 ++--- dev/lib/basic/core/zui-toggle.html | 6 ++--- dev/lib/components/alert/index.html | 6 ++--- dev/lib/components/avatar-group/index.html | 8 +++---- dev/lib/components/avatar/index.html | 8 +++---- dev/lib/components/breadcrumb/index.html | 6 ++--- dev/lib/components/btn-group/index.html | 6 ++--- dev/lib/components/button/index.html | 8 +++---- dev/lib/components/color-picker/index.html | 8 +++---- dev/lib/components/contextmenu/index.html | 6 ++--- dev/lib/components/dashboard/index.html | 6 ++--- dev/lib/components/dropdown/index.html | 6 ++--- dev/lib/components/dtable/index.html | 6 ++--- dev/lib/components/dtable/plugins.html | 6 ++--- dev/lib/components/file-selector/index.html | 6 ++--- dev/lib/components/kanban/index.html | 6 ++--- dev/lib/components/label/index.html | 6 ++--- dev/lib/components/menu/index.html | 6 ++--- dev/lib/components/menu/js.html | 6 ++--- dev/lib/components/messager/index.html | 6 ++--- dev/lib/components/modal/index.html | 8 +++---- dev/lib/components/modal/trigger.html | 16 ++++++------- dev/lib/components/nav/index.html | 6 ++--- dev/lib/components/nav/js.html | 6 ++--- dev/lib/components/pager/index.html | 8 +++---- dev/lib/components/pager/js.html | 6 ++--- dev/lib/components/panel/index.html | 8 +++---- dev/lib/components/progress-circle/index.html | 8 +++---- dev/lib/components/progress/index.html | 8 +++---- dev/lib/components/scrollbar/index.html | 8 +++---- dev/lib/components/search-box/index.html | 8 +++---- dev/lib/components/table/index.html | 10 ++++---- dev/lib/components/tabs/index.html | 8 +++---- dev/lib/components/toolbar/index.html | 8 +++---- dev/lib/components/toolbar/js.html | 6 ++--- dev/lib/components/tooltip/index.html | 8 +++---- dev/lib/components/tree/index.html | 6 ++--- dev/lib/components/upload-imgs/index.html | 6 ++--- dev/lib/components/upload/index.html | 6 ++--- dev/lib/forms/checkbox/index.html | 8 +++---- dev/lib/forms/checkbox/switch.html | 8 +++---- dev/lib/forms/datetime-picker/date.html | 8 +++---- dev/lib/forms/datetime-picker/datetime.html | 8 +++---- dev/lib/forms/datetime-picker/time.html | 8 +++---- dev/lib/forms/form-control/index.html | 8 +++---- dev/lib/forms/form/index.html | 6 ++--- dev/lib/forms/input-control/index.html | 8 +++---- dev/lib/forms/input-group/index.html | 8 +++---- dev/lib/forms/picker/index.html | 8 +++---- dev/lib/helpers/helpers/date-helper.html | 6 ++--- dev/lib/helpers/helpers/string-helper.html | 6 ++--- dev/lib/helpers/store/index.html | 6 ++--- dev/lib/index.html | 6 ++--- dev/public/zui/icons/fontawesome-license.html | 6 ++--- dev/themes/index.html | 6 ++--- .../backgrounds/utilities/index.html | 6 ++--- .../borders/utilities/border-color.html | 6 ++--- .../borders/utilities/border-radius.html | 6 ++--- .../borders/utilities/border-width.html | 6 ++--- dev/utilities/borders/utilities/divider.html | 6 ++--- .../borders/utilities/ring-color.html | 6 ++--- .../borders/utilities/ring-offset.html | 6 ++--- .../borders/utilities/ring-width.html | 6 ++--- .../effects/utilities/animation.html | 6 ++--- dev/utilities/effects/utilities/filter.html | 6 ++--- dev/utilities/effects/utilities/opacity.html | 6 ++--- dev/utilities/effects/utilities/shadow.html | 6 ++--- .../effects/utilities/transform.html | 6 ++--- .../effects/utilities/transition.html | 6 ++--- .../flex/utilities/align-content.html | 6 ++--- dev/utilities/flex/utilities/align-items.html | 6 ++--- dev/utilities/flex/utilities/align-self.html | 6 ++--- dev/utilities/flex/utilities/basis.html | 6 ++--- dev/utilities/flex/utilities/direction.html | 6 ++--- dev/utilities/flex/utilities/flex.html | 6 ++--- dev/utilities/flex/utilities/gap.html | 6 ++--- dev/utilities/flex/utilities/grow.html | 6 ++--- .../flex/utilities/justify-content.html | 6 ++--- dev/utilities/flex/utilities/order.html | 6 ++--- dev/utilities/flex/utilities/shrink.html | 6 ++--- dev/utilities/flex/utilities/wrap.html | 6 ++--- dev/utilities/index.html | 6 ++--- .../interactivity/utilities/cursor.html | 8 +++---- .../interactivity/utilities/disabled.html | 8 +++---- .../interactivity/utilities/loading.html | 6 ++--- .../utilities/pointer-events.html | 6 ++--- .../interactivity/utilities/scroll.html | 6 ++--- .../interactivity/utilities/state.html | 6 ++--- .../interactivity/utilities/user-select.html | 6 ++--- .../layout/utilities/aspect-ratio.html | 6 ++--- dev/utilities/layout/utilities/container.html | 6 ++--- dev/utilities/layout/utilities/display.html | 6 ++--- dev/utilities/layout/utilities/floats.html | 8 +++---- .../layout/utilities/object-fit.html | 8 +++---- dev/utilities/layout/utilities/overflow.html | 6 ++--- dev/utilities/layout/utilities/position.html | 6 ++--- .../utilities/top-right-bottom-left.html | 8 +++---- .../layout/utilities/visibility.html | 8 +++---- dev/utilities/layout/utilities/z-index.html | 8 +++---- dev/utilities/sizing/utilities/height.html | 6 ++--- dev/utilities/sizing/utilities/width.html | 6 ++--- dev/utilities/skin/utilities/ghost.html | 6 ++--- dev/utilities/skin/utilities/outline.html | 6 ++--- dev/utilities/skin/utilities/pale.html | 6 ++--- dev/utilities/skin/utilities/solid.html | 6 ++--- dev/utilities/skin/utilities/surface.html | 6 ++--- dev/utilities/spacing/utilities/margin.html | 6 ++--- dev/utilities/spacing/utilities/padding.html | 6 ++--- dev/utilities/spacing/utilities/space.html | 6 ++--- .../typography/utilities/font-family.html | 6 ++--- .../typography/utilities/font-size.html | 6 ++--- .../typography/utilities/font-weight.html | 6 ++--- .../typography/utilities/leading.html | 6 ++--- .../typography/utilities/line-clamp.html | 6 ++--- .../typography/utilities/list-style.html | 6 ++--- .../typography/utilities/text-align.html | 6 ++--- .../typography/utilities/text-color.html | 6 ++--- .../typography/utilities/text-decoration.html | 6 ++--- .../typography/utilities/text-overflow.html | 6 ++--- .../typography/utilities/text-transform.html | 6 ++--- .../typography/utilities/vertical-align.html | 6 ++--- .../typography/utilities/whitespace.html | 6 ++--- .../typography/utilities/word-break.html | 6 ++--- dev/zui-3.0.0.zip | Bin 991879 -> 992191 bytes dev/zui/zui.esm.js | 15 +++++++++--- dev/zui/zui.esm.js.map | 2 +- dev/zui/zui.js | 4 ++-- dev/zui/zui.js.map | 2 +- 152 files changed, 510 insertions(+), 501 deletions(-) rename dev/assets/{guide_start_index.md.yzVT1hpV.js => guide_start_index.md.DDE5jxBJ.js} (95%) rename dev/assets/{guide_start_index.md.yzVT1hpV.lean.js => guide_start_index.md.DDE5jxBJ.lean.js} (85%) diff --git a/dev/404.html b/dev/404.html index 94406e4407..2bdf4cb1ca 100644 --- a/dev/404.html +++ b/dev/404.html @@ -11,14 +11,14 @@ - - + +
Skip to content

404

PAGE NOT FOUND

But if you don't change your direction, and if you keep looking, you may end up where you are heading.

MIT License (MIT)

- + \ No newline at end of file diff --git a/dev/assets/guide_start_index.md.yzVT1hpV.js b/dev/assets/guide_start_index.md.DDE5jxBJ.js similarity index 95% rename from dev/assets/guide_start_index.md.yzVT1hpV.js rename to dev/assets/guide_start_index.md.DDE5jxBJ.js index cc0574264e..a7a9e4623e 100644 --- a/dev/assets/guide_start_index.md.yzVT1hpV.js +++ b/dev/assets/guide_start_index.md.DDE5jxBJ.js @@ -14,7 +14,7 @@ import{c as d,k as s,m as r,a as i,t as l,I as h,w as n,R as a,D as p,o as g,f a <a class="btn" href="/">访问 ZUI 网站</a> <script src="./zui/zui.js"></script> </body> -</html>

使用 CDN

使用 CDN 可以快速使用 ZUI,与下载使用基本一样,只需要将相关资源文件替换为 CDN 上的地址即可:

`,6),m={class:"vp-code-group vp-adaptive-theme"},B=a('
',1),b={class:"blocks"},v={class:"language-html vp-adaptive-theme active"},S=s("button",{title:"Copy Code",class:"copy"},null,-1),I=s("span",{class:"lang"},"html",-1),q={class:"shiki shiki-themes github-light github-dark vp-code"},P=a('<!doctype html>',1),z=a('<html lang="zh-CN">',1),V=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"head"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),f=a(' <meta charset="utf-8">',1),N=a(' <meta name="viewport" content="width=device-width, initial-scale=1">',1),w=a(' <title>ZUI</title>',1),R={class:"line highlighted"},x=a(' <link rel="stylesheet" href=',7),U={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},j=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">",-1),Z=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),M=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"body"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),J=a(' <h1>ZUI is awesome!</h1>',1),H=a(' <a class="btn" href="/">访问 ZUI 网站</a>',1),L={class:"line highlighted"},$=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <",-1),O=s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"script",-1),Y=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," src",-1),G=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"=",-1),K={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},Q=a(' crossorigin="anonymous"></script>',6),W=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),X=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"")],-1),ss={class:"language-html vp-adaptive-theme"},is=s("button",{title:"Copy Code",class:"copy"},null,-1),as=s("span",{class:"lang"},"html",-1),ts={class:"shiki shiki-themes github-light github-dark vp-code"},hs=a('<!doctype html>',1),ns=a('<html lang="zh-CN">',1),ls=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"head"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),ks=a(' <meta charset="utf-8">',1),ps=a(' <meta name="viewport" content="width=device-width, initial-scale=1">',1),es=a(' <title>ZUI</title>',1),Es={class:"line highlighted"},ds=a(' <link rel="stylesheet" href=',7),rs={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},gs=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">",-1),_s=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),os=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"body"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),ys=a(' <h1>ZUI is awesome!</h1>',1),cs=a(' <a class="btn" href="/">访问 ZUI 网站</a>',1),Fs={class:"line highlighted"},us=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <",-1),Cs=s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"script",-1),As=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," src",-1),Ts=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"=",-1),Ds={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},ms=a(' crossorigin="anonymous"></script>',6),Bs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),bs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"")],-1),vs={class:"language-html vp-adaptive-theme"},Ss=s("button",{title:"Copy Code",class:"copy"},null,-1),Is=s("span",{class:"lang"},"html",-1),qs={class:"shiki shiki-themes github-light github-dark vp-code"},Ps=a('<!doctype html>',1),zs=a('<html lang="zh-CN">',1),Vs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"head"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),fs=a(' <meta charset="utf-8">',1),Ns=a(' <meta name="viewport" content="width=device-width, initial-scale=1">',1),ws=a(' <title>ZUI</title>',1),Rs={class:"line highlighted"},xs=a(' <link rel="stylesheet" href=',7),Us={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},js=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">",-1),Zs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),Ms=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"body"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),Js=a(' <h1>ZUI is awesome!</h1>',1),Hs=a(' <a class="btn" href="/">访问 ZUI 网站</a>',1),Ls={class:"line highlighted"},$s=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <",-1),Os=s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"script",-1),Ys=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," src",-1),Gs=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"=",-1),Ks={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},Qs=a(' crossorigin="anonymous"></script>',6),Ws=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),Xs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"")],-1),si=a(`

使用 JS 组件

无论是下载还是使用 CDN,导入 zui.js 之后,你就可以使用 ZUI 中的 JS 组件了,ZUI 提供的所有 JS 辅助方法和组件类都在全局对象 zui 上进行访问,例如:

html
<nav id="myNav"></nav>
+</html>

使用 CDN

使用 CDN 可以快速使用 ZUI,与下载使用基本一样,只需要将相关资源文件替换为 CDN 上的地址即可:

`,6),m={class:"vp-code-group vp-adaptive-theme"},B=a('
',1),b={class:"blocks"},v={class:"language-html vp-adaptive-theme active"},S=s("button",{title:"Copy Code",class:"copy"},null,-1),I=s("span",{class:"lang"},"html",-1),q={class:"shiki shiki-themes github-light github-dark vp-code"},P=a('<!doctype html>',1),z=a('<html lang="zh-CN">',1),V=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"head"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),N=a(' <meta charset="utf-8">',1),f=a(' <meta name="viewport" content="width=device-width, initial-scale=1">',1),w=a(' <title>ZUI</title>',1),R={class:"line highlighted"},U=a(' <link rel="stylesheet" href=',7),j={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},x=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">",-1),Z=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),M=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"body"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),J=a(' <h1>ZUI is awesome!</h1>',1),H=a(' <a class="btn" href="/">访问 ZUI 网站</a>',1),$={class:"line highlighted"},G=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <",-1),W=s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"script",-1),X=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," src",-1),L=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"=",-1),O={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},Q=a(' crossorigin="anonymous"></script>',6),Y=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),K=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"")],-1),ss={class:"language-html vp-adaptive-theme"},is=s("button",{title:"Copy Code",class:"copy"},null,-1),as=s("span",{class:"lang"},"html",-1),ts={class:"shiki shiki-themes github-light github-dark vp-code"},hs=a('<!doctype html>',1),ns=a('<html lang="zh-CN">',1),ls=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"head"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),ks=a(' <meta charset="utf-8">',1),ps=a(' <meta name="viewport" content="width=device-width, initial-scale=1">',1),es=a(' <title>ZUI</title>',1),Es={class:"line highlighted"},ds=a(' <link rel="stylesheet" href=',7),rs={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},gs=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">",-1),_s=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),os=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"body"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),ys=a(' <h1>ZUI is awesome!</h1>',1),cs=a(' <a class="btn" href="/">访问 ZUI 网站</a>',1),Fs={class:"line highlighted"},us=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <",-1),Cs=s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"script",-1),As=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," src",-1),Ts=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"=",-1),Ds={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},ms=a(' crossorigin="anonymous"></script>',6),Bs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),bs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"")],-1),vs={class:"language-html vp-adaptive-theme"},Ss=s("button",{title:"Copy Code",class:"copy"},null,-1),Is=s("span",{class:"lang"},"html",-1),qs={class:"shiki shiki-themes github-light github-dark vp-code"},Ps=a('<!doctype html>',1),zs=a('<html lang="zh-CN">',1),Vs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"head"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),Ns=a(' <meta charset="utf-8">',1),fs=a(' <meta name="viewport" content="width=device-width, initial-scale=1">',1),ws=a(' <title>ZUI</title>',1),Rs={class:"line highlighted"},Us=a(' <link rel="stylesheet" href=',7),js={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},xs=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">",-1),Zs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),Ms=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"body"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),Js=a(' <h1>ZUI is awesome!</h1>',1),Hs=a(' <a class="btn" href="/">访问 ZUI 网站</a>',1),$s={class:"line highlighted"},Gs=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <",-1),Ws=s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"script",-1),Xs=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," src",-1),Ls=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"=",-1),Os={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},Qs=a(' crossorigin="anonymous"></script>',6),Ys=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),Ks=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"")],-1),si=a(`

使用 JS 组件

无论是下载还是使用 CDN,导入 zui.js 之后,你就可以使用 ZUI 中的 JS 组件了,ZUI 提供的所有 JS 辅助方法和组件类都在全局对象 zui 上进行访问,例如:

html
<nav id="myNav"></nav>
 
 <script>
 const {Nav, Messager} = zui;
@@ -54,17 +54,17 @@ import{c as d,k as s,m as r,a as i,t as l,I as h,w as n,R as a,D as p,o as g,f a
 const myTable = new DTable('#myTable', {...});
`,8),di=JSON.parse('{"title":"快速上手","description":"","frontmatter":{},"headers":[],"relativePath":"guide/start/index.md","filePath":"guide/start/index.md","lastUpdated":null}'),ki={name:"guide/start/index.md"},ri=Object.assign(ki,{setup(pi){return(t,ei)=>{const e=p("Example"),k=p("PluginTabsTab"),E=p("PluginTabs");return g(),d("div",null,[o,y,c,s("div",F,[s("a",{class:"rounded-full btn primary size-lg",href:r(_)(`/zui-${t.zui.version}.zip`),download:""},[C,i(" 点击下载")],8,u),s("a",{class:"rounded-full btn outline size-lg",href:`https://github.com/easysoft/zui/releases/tag/v${t.zui.version}`,target:"_blank"},[T,i(" 从 GitHub 下载")],8,A)]),D,s("div",m,[B,s("div",b,[s("div",v,[S,I,s("pre",q,[s("code",null,[P,i(` `),z,i(` `),V,i(` -`),f,i(` `),N,i(` +`),f,i(` `),w,i(` -`),s("span",R,[x,s("span",U,'"///cdn.jsdelivr.net/npm/zui/dist/'+l(t.zui.version)+'/zui.css"',1),j]),i(` +`),s("span",R,[U,s("span",j,'"///cdn.jsdelivr.net/npm/zui/dist/'+l(t.zui.version)+'/zui.css"',1),x]),i(` `),Z,i(` `),M,i(` `),J,i(` `),H,i(` -`),s("span",L,[$,O,Y,G,s("span",K,'"///cdn.jsdelivr.net/npm/zui/dist/'+l(t.zui.version)+'/zui.js"',1),Q]),i(` -`),W,i(` -`),X])])]),s("div",ss,[is,as,s("pre",ts,[s("code",null,[hs,i(` +`),s("span",$,[G,W,X,L,s("span",O,'"///cdn.jsdelivr.net/npm/zui/dist/'+l(t.zui.version)+'/zui.js"',1),Q]),i(` +`),Y,i(` +`),K])])]),s("div",ss,[is,as,s("pre",ts,[s("code",null,[hs,i(` `),ns,i(` `),ls,i(` `),ks,i(` @@ -80,14 +80,14 @@ import{c as d,k as s,m as r,a as i,t as l,I as h,w as n,R as a,D as p,o as g,f a `),bs])])]),s("div",vs,[Ss,Is,s("pre",qs,[s("code",null,[Ps,i(` `),zs,i(` `),Vs,i(` -`),fs,i(` `),Ns,i(` +`),fs,i(` `),ws,i(` -`),s("span",Rs,[xs,s("span",Us,'"///unpkg.com/zui@'+l(t.zui.version)+'/zui.css"',1),js]),i(` +`),s("span",Rs,[Us,s("span",js,'"///unpkg.com/zui@'+l(t.zui.version)+'/zui.css"',1),xs]),i(` `),Zs,i(` `),Ms,i(` `),Js,i(` `),Hs,i(` -`),s("span",Ls,[$s,Os,Ys,Gs,s("span",Ks,'"///unpkg.com/zui@'+l(t.zui.version)+'/zui.js"',1),Qs]),i(` -`),Ws,i(` -`),Xs])])])])]),si,h(E,null,{default:n(()=>[h(k,{label:"示例"},{default:n(()=>[h(e,null,{default:n(()=>[ii]),_:1})]),_:1}),h(k,{label:"HTML"},{default:n(()=>[ai]),_:1})]),_:1}),ti,h(E,null,{default:n(()=>[h(k,{label:"示例"},{default:n(()=>[h(e,null,{default:n(()=>[hi]),_:1})]),_:1}),h(k,{label:"HTML"},{default:n(()=>[ni]),_:1})]),_:1}),li])}}});export{di as __pageData,ri as default}; +`),s("span",$s,[Gs,Ws,Xs,Ls,s("span",Os,'"///unpkg.com/zui@'+l(t.zui.version)+'/zui.js"',1),Qs]),i(` +`),Ys,i(` +`),Ks])])])])]),si,h(E,null,{default:n(()=>[h(k,{label:"示例"},{default:n(()=>[h(e,null,{default:n(()=>[ii]),_:1})]),_:1}),h(k,{label:"HTML"},{default:n(()=>[ai]),_:1})]),_:1}),ti,h(E,null,{default:n(()=>[h(k,{label:"示例"},{default:n(()=>[h(e,null,{default:n(()=>[hi]),_:1})]),_:1}),h(k,{label:"HTML"},{default:n(()=>[ni]),_:1})]),_:1}),li])}}});export{di as __pageData,ri as default}; diff --git a/dev/assets/guide_start_index.md.yzVT1hpV.lean.js b/dev/assets/guide_start_index.md.DDE5jxBJ.lean.js similarity index 85% rename from dev/assets/guide_start_index.md.yzVT1hpV.lean.js rename to dev/assets/guide_start_index.md.DDE5jxBJ.lean.js index 1261366ce6..7ad2e12551 100644 --- a/dev/assets/guide_start_index.md.yzVT1hpV.lean.js +++ b/dev/assets/guide_start_index.md.DDE5jxBJ.lean.js @@ -1,4 +1,4 @@ -import{c as d,k as s,m as r,a as i,t as l,I as h,w as n,R as a,D as p,o as g,f as _}from"./chunks/framework.DeE3OwZJ.js";const o=s("h1",{id:"快速上手",tabindex:"-1"},[i("快速上手 "),s("a",{class:"header-anchor",href:"#快速上手","aria-label":'Permalink to "快速上手"'},"​")],-1),y=s("h2",{id:"下载使用",tabindex:"-1"},[i("下载使用 "),s("a",{class:"header-anchor",href:"#下载使用","aria-label":'Permalink to "下载使用"'},"​")],-1),c=s("p",null,"你可以从如下地址下载 ZUI 的最新版本:",-1),F={class:"gap-4 vp-raw row"},u=["href"],C=s("i",{class:"icon icon-download-alt icon-lg"},null,-1),A=["href"],T=s("i",{class:"icon icon-github icon-lg"},null,-1),D=a("",6),m={class:"vp-code-group vp-adaptive-theme"},B=a("",1),b={class:"blocks"},v={class:"language-html vp-adaptive-theme active"},S=s("button",{title:"Copy Code",class:"copy"},null,-1),I=s("span",{class:"lang"},"html",-1),q={class:"shiki shiki-themes github-light github-dark vp-code"},P=a("",1),z=a("",1),V=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"head"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),f=a("",1),N=a("",1),w=a("",1),R={class:"line highlighted"},x=a("",7),U={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},j=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">",-1),Z=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),M=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"body"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),J=a("",1),H=a("",1),L={class:"line highlighted"},$=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <",-1),O=s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"script",-1),Y=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," src",-1),G=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"=",-1),K={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},Q=a("",6),W=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),X=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"")],-1),ss={class:"language-html vp-adaptive-theme"},is=s("button",{title:"Copy Code",class:"copy"},null,-1),as=s("span",{class:"lang"},"html",-1),ts={class:"shiki shiki-themes github-light github-dark vp-code"},hs=a("",1),ns=a("",1),ls=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"head"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),ks=a("",1),ps=a("",1),es=a("",1),Es={class:"line highlighted"},ds=a("",7),rs={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},gs=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">",-1),_s=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),os=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"body"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),ys=a("",1),cs=a("",1),Fs={class:"line highlighted"},us=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <",-1),Cs=s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"script",-1),As=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," src",-1),Ts=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"=",-1),Ds={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},ms=a("",6),Bs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),bs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"")],-1),vs={class:"language-html vp-adaptive-theme"},Ss=s("button",{title:"Copy Code",class:"copy"},null,-1),Is=s("span",{class:"lang"},"html",-1),qs={class:"shiki shiki-themes github-light github-dark vp-code"},Ps=a("",1),zs=a("",1),Vs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"head"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),fs=a("",1),Ns=a("",1),ws=a("",1),Rs={class:"line highlighted"},xs=a("",7),Us={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},js=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">",-1),Zs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),Ms=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"body"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),Js=a("",1),Hs=a("",1),Ls={class:"line highlighted"},$s=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <",-1),Os=s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"script",-1),Ys=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," src",-1),Gs=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"=",-1),Ks={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},Qs=a("",6),Ws=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),Xs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"")],-1),si=a("",8),ii=s("div",{"zui-create":"datePicker"},null,-1),ai=s("div",{class:"language-html vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"html"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"<"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"div"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," zui-create"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"="),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"datePicker"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")])])])],-1),ti=s("p",null,[i("使用 "),s("code",null,"zui-create-"),i(" 来定义组件选项,例如:")],-1),hi=s("div",{"zui-create":"","zui-create-list":"{items: [{text: 'item1'}, {text: 'item2'}], onClickItem: (e) => console.log('You clicked', e)}"},null,-1),ni=s("div",{class:"language-html vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"html"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"<"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"div"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," zui-create"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," zui-create-list"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"="),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"')]),i(` +import{c as d,k as s,m as r,a as i,t as l,I as h,w as n,R as a,D as p,o as g,f as _}from"./chunks/framework.DeE3OwZJ.js";const o=s("h1",{id:"快速上手",tabindex:"-1"},[i("快速上手 "),s("a",{class:"header-anchor",href:"#快速上手","aria-label":'Permalink to "快速上手"'},"​")],-1),y=s("h2",{id:"下载使用",tabindex:"-1"},[i("下载使用 "),s("a",{class:"header-anchor",href:"#下载使用","aria-label":'Permalink to "下载使用"'},"​")],-1),c=s("p",null,"你可以从如下地址下载 ZUI 的最新版本:",-1),F={class:"gap-4 vp-raw row"},u=["href"],C=s("i",{class:"icon icon-download-alt icon-lg"},null,-1),A=["href"],T=s("i",{class:"icon icon-github icon-lg"},null,-1),D=a("",6),m={class:"vp-code-group vp-adaptive-theme"},B=a("",1),b={class:"blocks"},v={class:"language-html vp-adaptive-theme active"},S=s("button",{title:"Copy Code",class:"copy"},null,-1),I=s("span",{class:"lang"},"html",-1),q={class:"shiki shiki-themes github-light github-dark vp-code"},P=a("",1),z=a("",1),V=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"head"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),N=a("",1),f=a("",1),w=a("",1),R={class:"line highlighted"},U=a("",7),j={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},x=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">",-1),Z=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),M=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"body"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),J=a("",1),H=a("",1),$={class:"line highlighted"},G=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <",-1),W=s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"script",-1),X=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," src",-1),L=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"=",-1),O={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},Q=a("",6),Y=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),K=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"")],-1),ss={class:"language-html vp-adaptive-theme"},is=s("button",{title:"Copy Code",class:"copy"},null,-1),as=s("span",{class:"lang"},"html",-1),ts={class:"shiki shiki-themes github-light github-dark vp-code"},hs=a("",1),ns=a("",1),ls=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"head"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),ks=a("",1),ps=a("",1),es=a("",1),Es={class:"line highlighted"},ds=a("",7),rs={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},gs=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">",-1),_s=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),os=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"body"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),ys=a("",1),cs=a("",1),Fs={class:"line highlighted"},us=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <",-1),Cs=s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"script",-1),As=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," src",-1),Ts=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"=",-1),Ds={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},ms=a("",6),Bs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),bs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"")],-1),vs={class:"language-html vp-adaptive-theme"},Ss=s("button",{title:"Copy Code",class:"copy"},null,-1),Is=s("span",{class:"lang"},"html",-1),qs={class:"shiki shiki-themes github-light github-dark vp-code"},Ps=a("",1),zs=a("",1),Vs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"head"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),Ns=a("",1),fs=a("",1),ws=a("",1),Rs={class:"line highlighted"},Us=a("",7),js={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},xs=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">",-1),Zs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),Ms=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"body"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),Js=a("",1),Hs=a("",1),$s={class:"line highlighted"},Gs=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <",-1),Ws=s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"script",-1),Xs=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," src",-1),Ls=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"=",-1),Os={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},Qs=a("",6),Ys=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),Ks=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"")],-1),si=a("",8),ii=s("div",{"zui-create":"datePicker"},null,-1),ai=s("div",{class:"language-html vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"html"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"<"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"div"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," zui-create"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"="),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"datePicker"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")])])])],-1),ti=s("p",null,[i("使用 "),s("code",null,"zui-create-"),i(" 来定义组件选项,例如:")],-1),hi=s("div",{"zui-create":"","zui-create-list":"{items: [{text: 'item1'}, {text: 'item2'}], onClickItem: (e) => console.log('You clicked', e)}"},null,-1),ni=s("div",{class:"language-html vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"html"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"<"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"div"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," zui-create"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," zui-create-list"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"="),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"')]),i(` `),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," {")]),i(` `),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," items: [{text: 'item1'}, {text: 'item2'}],")]),i(` `),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," onClickItem: (e) => console.log('You clicked', e)")]),i(` @@ -6,17 +6,17 @@ import{c as d,k as s,m as r,a as i,t as l,I as h,w as n,R as a,D as p,o as g,f a `),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")])])])],-1),li=a("",8),di=JSON.parse('{"title":"快速上手","description":"","frontmatter":{},"headers":[],"relativePath":"guide/start/index.md","filePath":"guide/start/index.md","lastUpdated":null}'),ki={name:"guide/start/index.md"},ri=Object.assign(ki,{setup(pi){return(t,ei)=>{const e=p("Example"),k=p("PluginTabsTab"),E=p("PluginTabs");return g(),d("div",null,[o,y,c,s("div",F,[s("a",{class:"rounded-full btn primary size-lg",href:r(_)(`/zui-${t.zui.version}.zip`),download:""},[C,i(" 点击下载")],8,u),s("a",{class:"rounded-full btn outline size-lg",href:`https://github.com/easysoft/zui/releases/tag/v${t.zui.version}`,target:"_blank"},[T,i(" 从 GitHub 下载")],8,A)]),D,s("div",m,[B,s("div",b,[s("div",v,[S,I,s("pre",q,[s("code",null,[P,i(` `),z,i(` `),V,i(` -`),f,i(` `),N,i(` +`),f,i(` `),w,i(` -`),s("span",R,[x,s("span",U,'"///cdn.jsdelivr.net/npm/zui/dist/'+l(t.zui.version)+'/zui.css"',1),j]),i(` +`),s("span",R,[U,s("span",j,'"///cdn.jsdelivr.net/npm/zui/dist/'+l(t.zui.version)+'/zui.css"',1),x]),i(` `),Z,i(` `),M,i(` `),J,i(` `),H,i(` -`),s("span",L,[$,O,Y,G,s("span",K,'"///cdn.jsdelivr.net/npm/zui/dist/'+l(t.zui.version)+'/zui.js"',1),Q]),i(` -`),W,i(` -`),X])])]),s("div",ss,[is,as,s("pre",ts,[s("code",null,[hs,i(` +`),s("span",$,[G,W,X,L,s("span",O,'"///cdn.jsdelivr.net/npm/zui/dist/'+l(t.zui.version)+'/zui.js"',1),Q]),i(` +`),Y,i(` +`),K])])]),s("div",ss,[is,as,s("pre",ts,[s("code",null,[hs,i(` `),ns,i(` `),ls,i(` `),ks,i(` @@ -32,14 +32,14 @@ import{c as d,k as s,m as r,a as i,t as l,I as h,w as n,R as a,D as p,o as g,f a `),bs])])]),s("div",vs,[Ss,Is,s("pre",qs,[s("code",null,[Ps,i(` `),zs,i(` `),Vs,i(` -`),fs,i(` `),Ns,i(` +`),fs,i(` `),ws,i(` -`),s("span",Rs,[xs,s("span",Us,'"///unpkg.com/zui@'+l(t.zui.version)+'/zui.css"',1),js]),i(` +`),s("span",Rs,[Us,s("span",js,'"///unpkg.com/zui@'+l(t.zui.version)+'/zui.css"',1),xs]),i(` `),Zs,i(` `),Ms,i(` `),Js,i(` `),Hs,i(` -`),s("span",Ls,[$s,Os,Ys,Gs,s("span",Ks,'"///unpkg.com/zui@'+l(t.zui.version)+'/zui.js"',1),Qs]),i(` -`),Ws,i(` -`),Xs])])])])]),si,h(E,null,{default:n(()=>[h(k,{label:"示例"},{default:n(()=>[h(e,null,{default:n(()=>[ii]),_:1})]),_:1}),h(k,{label:"HTML"},{default:n(()=>[ai]),_:1})]),_:1}),ti,h(E,null,{default:n(()=>[h(k,{label:"示例"},{default:n(()=>[h(e,null,{default:n(()=>[hi]),_:1})]),_:1}),h(k,{label:"HTML"},{default:n(()=>[ni]),_:1})]),_:1}),li])}}});export{di as __pageData,ri as default}; +`),s("span",$s,[Gs,Ws,Xs,Ls,s("span",Os,'"///unpkg.com/zui@'+l(t.zui.version)+'/zui.js"',1),Qs]),i(` +`),Ys,i(` +`),Ks])])])])]),si,h(E,null,{default:n(()=>[h(k,{label:"示例"},{default:n(()=>[h(e,null,{default:n(()=>[ii]),_:1})]),_:1}),h(k,{label:"HTML"},{default:n(()=>[ai]),_:1})]),_:1}),ti,h(E,null,{default:n(()=>[h(k,{label:"示例"},{default:n(()=>[h(e,null,{default:n(()=>[hi]),_:1})]),_:1}),h(k,{label:"HTML"},{default:n(()=>[ni]),_:1})]),_:1}),li])}}});export{di as __pageData,ri as default}; diff --git a/dev/guide/config/base/color.html b/dev/guide/config/base/color.html index 411a7e6358..be45d63818 100644 --- a/dev/guide/config/base/color.html +++ b/dev/guide/config/base/color.html @@ -14,8 +14,8 @@ - - + + @@ -49,7 +49,7 @@ --color-primary-900-rgb: 88, 34, 133; --color-primary-950-rgb: 59, 14, 99; }

提示

在定义 CSS 变量覆盖调色板时,除了定义 50~950 的十六进制颜色外,还需要定义对应的 RGB 颜色,这是为了在一些特殊场景下通过改变透明度来实现颜色的变化。

注意

如果你需要自定义配色,建议只通过修改调色板来实现,不建议修改界面颜色,除非主题需要实现对比度更明显的风格,任何时候都不应该修改特殊颜色的定义。

更多关于主题的内容参考 主题 文档。

MIT License (MIT)

- + \ No newline at end of file diff --git a/dev/guide/config/base/font.html b/dev/guide/config/base/font.html index 389b3bb063..16d0789767 100644 --- a/dev/guide/config/base/font.html +++ b/dev/guide/config/base/font.html @@ -14,8 +14,8 @@ - - + + @@ -44,7 +44,7 @@ 月光如流水一般,静静地泻在这一片叶子和花上。薄薄的青雾浮起在荷塘里。叶子和花仿佛在牛乳中洗过一样;又像笼着轻纱的梦。
leading-relaxed
.leading-relaxed
宽松
line-height: line-height
So I started to walk into the water. I won't lie to you boys, I was terrified. But I pressed on, and as I made my way past the breakers a strange calm came over me. I don't know if it was divine intervention or the kinship of all living things but I tell you Jerry at that moment, I was a marine biologist.
 月光如流水一般,静静地泻在这一片叶子和花上。薄薄的青雾浮起在荷塘里。叶子和花仿佛在牛乳中洗过一样;又像笼着轻纱的梦。
leading-loose
.leading-loose
松散
line-height: line-height
So I started to walk into the water. I won't lie to you boys, I was terrified. But I pressed on, and as I made my way past the breakers a strange calm came over me. I don't know if it was divine intervention or the kinship of all living things but I tell you Jerry at that moment, I was a marine biologist.
 月光如流水一般,静静地泻在这一片叶子和花上。薄薄的青雾浮起在荷塘里。叶子和花仿佛在牛乳中洗过一样;又像笼着轻纱的梦。

在 ZUI 中可以通过 CSS 工具类来设置行高,详细用法参加 CSS 工具类 / 排版 / 行高 文档。

MIT License (MIT)

- + \ No newline at end of file diff --git a/dev/guide/config/base/rounded.html b/dev/guide/config/base/rounded.html index 4aff1bfff4..9e6fe0731a 100644 --- a/dev/guide/config/base/rounded.html +++ b/dev/guide/config/base/rounded.html @@ -14,8 +14,8 @@ - - + + @@ -31,7 +31,7 @@ --radius-3xl: 1.5rem; --radius-full: 9999px; }

自定义主题

可以通过定制主题来修改圆角设置,具体参见 主题 文档。

MIT License (MIT)

- + \ No newline at end of file diff --git a/dev/guide/config/base/screens.html b/dev/guide/config/base/screens.html index 03eac8b151..dd42eb1ed7 100644 --- a/dev/guide/config/base/screens.html +++ b/dev/guide/config/base/screens.html @@ -14,8 +14,8 @@ - - + + @@ -54,7 +54,7 @@ --screen-xl: 1280px; --screen-2xl: 1536px; }

自定义主题

可以通过定制主题来修改屏幕断点设置,具体参见 主题 文档。

MIT License (MIT)

- + \ No newline at end of file diff --git a/dev/guide/config/base/shadow.html b/dev/guide/config/base/shadow.html index adc30e229f..2f3c8cc87c 100644 --- a/dev/guide/config/base/shadow.html +++ b/dev/guide/config/base/shadow.html @@ -14,8 +14,8 @@ - - + + @@ -30,7 +30,7 @@ --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05); --shadow-none: none; }

自定义主题

可以通过定制主题来修改阴影设置,具体参见 主题 文档。

MIT License (MIT)

- + \ No newline at end of file diff --git a/dev/guide/config/base/spacing.html b/dev/guide/config/base/spacing.html index a96e6d547a..06781096b4 100644 --- a/dev/guide/config/base/spacing.html +++ b/dev/guide/config/base/spacing.html @@ -14,14 +14,14 @@ - - + +
Skip to content

间距

间距配置

为了方便实现风格一致的交互界面,ZUI 预置了间距设置。下面为默认的间距配置:

名称
实际值
预览
0
width
px
width
0.5
width
1
width
1.5
width
2
width
2.5
width
3
width
3.5
width
4
width
5
width
6
width
7
width
8
width
9
width
10
width
11
width
12
width
14
width
16
width
20
width
24
width
28
width
32
width
36
width
40
width
44
width
48
width
52
width
56
width
60
width
64
width
72
width
80
width
96
width

4px 约定

通过上表可以看到,除了 0px 比较特殊的设置,其他间距实际值都是 4px 的倍数,这是有意设计,无论是设计还是开发都应该将间距为 4px 的倍数作为约定,这样更有利于实现风格一致的交互界面。

当以上间距无法满足要求时,如果需要引入新的间距值也应当遵从 4px 约定。

间距会影响所有相关 CSS 属性配置,包括 paddingmarginwidthheightmaxHeightgapinset 等。

使用间距

在 ZUI 中提供了大量 CSS 工具类,可以非常方便的来应用间距配置,包括:

如需了解,请参考对应的文档。

自定义间距

可以通过定制主题来修改间距设置,具体参见 主题 文档。

MIT License (MIT)

- + \ No newline at end of file diff --git a/dev/guide/customize/build.html b/dev/guide/customize/build.html index 57c26bd804..b4f071bcbd 100644 --- a/dev/guide/customize/build.html +++ b/dev/guide/customize/build.html @@ -14,14 +14,14 @@ - - + +
Skip to content

打包

打包组件库

执行如下命令进行打包操作:

sh
pnpm build

该命令提供了一些参数用户个性化打包,例如打包命令后可以直接指定需要打包的组件库,通过 --name 来指定打包生成的文件名:

sh
pnpm build -- utilities dtable --name=zui-table

打包文档

执行如下命令进行打包文档网站:

sh
pnpm docs:build

MIT License (MIT)

- + \ No newline at end of file diff --git a/dev/guide/customize/dev.html b/dev/guide/customize/dev.html index 8cf5fcd353..31e483f2d3 100644 --- a/dev/guide/customize/dev.html +++ b/dev/guide/customize/dev.html @@ -14,14 +14,14 @@ - - + +
Skip to content

开发

开发服务

执行如下命令启动开发服务:

shell
$ pnpm dev

开发服务器启动后,默认情况下可以通过网址:http://localhost:5173/ 来访问开发服务页面。通过页面上的组件导航,可以访问对应的组件开发页面。也可以将组件名附加到网址后面,直接访问对应的组件页面,例如 http://localhost:5173/button/

在开发服务页面上支持热更新,当开发文件变更后会自动反馈到开发服务页面上。

对组件进行开发调试

组件开发目录

ZUI3 每个组件在一个独立的目录内,拥有自己的 package.json 文件,使得组件可以独立作为 npm 包来使用,也可以单独作为子项目进行开发维护。

提示

通常组件通过在 package.json 文件中设置属性 private: true 来让包仅在 zui3 工作空间内可用,但组件仍然拥有作为公开的包发布到 npm 上进行独立使用。

文档开发服务

启动 ZUI 文档网站开发服务执行如下命令:

shell
$ pnpm docs:dev

此命令会先打包 ZUI 并启动文档开发服务器,默认情况下可以通过网址:http://localhost:5174/ 来访问文档开发服务页面。在文档开发服务启动时,修改文档源文件,会自动更新文档页面。

MIT License (MIT)

- + \ No newline at end of file diff --git a/dev/guide/customize/exts-lib.html b/dev/guide/customize/exts-lib.html index 4f8f5e3bba..8cc9f1b0e1 100644 --- a/dev/guide/customize/exts-lib.html +++ b/dev/guide/customize/exts-lib.html @@ -14,8 +14,8 @@ - - + + @@ -23,7 +23,7 @@
Skip to content

组件库扩展

ZUI3 组件库内置了大量组件,并支持集中开发、调试和打包,其中打包还支持只选择指定的组件进行个性化定制,同步输出组件库文档。但当需求扩展到组件库之外时,就需要用到扩展组件库了。ZUI3 支持扩展组件库模式,可以从其他位置引入一个或多个组件库目录,享受集中开发、调试和打包。下面介绍扩展组件库的使用方法。

定义扩展库

扩展组件库可以来自本地系统的任意位置,只需要提供一个路径,例如:

txt
/Users/TaiJi/Projects/zui3_exts/lib/

扩展组件库的目录结构与 ZUI3 /lib/ 下的目录结构一致,下面的每个子目录为一个独立的组件,详细定义参考 开发文档

添加扩展库

zui3 项目根目录执行:

shell
$ pnpm extend-lib -- <ext_lib_path> <lib_name>

其中参数 ext_lib_path 为扩展组件库路径,<lib_name> 为扩展组件库名称。例如:

shell
$ pnpm extend-lib -- /Users/TaiJi/Projects/zui3_exts/lib/ zentao

执行上述命令之后,会将组件库目录文件拷贝到 zui3/lib_name 目录下,同时会在 zui3/exts/libs.json 文件中记录此扩展库的名称和路径。

json
{
     "zentao": "/Users/TaiJi/Projects/zui3_exts/lib/*"
 }

实际上,你也可以通过自己编辑这个文件来添加扩展库。

启动开发服务

要在开发模式中包含对扩展组件库的开发调试,只需要执行如下命令代替 pnpm dev 命令即可:

shell
$ pnpm dev:exts

当添加了多个扩展库时,上述命令会包含所有扩展库,有时只需要包含特定的扩展库,只需要自定义 --lib 参数即可:

shell
$ pnpm dev:exts --lib=zui,zentao

启动文档服务器

要在文档网站服务模式中包含对扩展组件库的文档支持,只需要如下命令代替 pnpm docs:dev 命令即可:

shell
$ pnpm docs:dev:exts

打包

打包时如果需要将扩展库中的组件也进行打包,则需要添加 --exts 参数,然后就可以在需要打包的组件清单中指定扩展库中的组件名称:

shell
$ pnpm build -- label @zentao/status-label --exts

如果不指定名称,则默认打包仍然只打包内置组件库的组件,例如下面的命令仍然相当于 pnpm build

shell
$ pnpm build -- --exts

如果需要将所有内置组件库和扩展库中的所有组件一并打包,可以使用如下命令:

shell
$ pnpm build -- zui+exts --exts --name=zentao

当添加了多个扩展库时,上述命令会包含所有扩展库,有时只需要包含特定的扩展库,只需要自定义 --exts 参数即可:

shell
$ pnpm build -- zui+exts --exts=zui,zentao

MIT License (MIT)

- + \ No newline at end of file diff --git a/dev/guide/index.html b/dev/guide/index.html index 088d3b5999..a17c7f3d3c 100644 --- a/dev/guide/index.html +++ b/dev/guide/index.html @@ -14,14 +14,14 @@ - - + +
Skip to content

MIT License (MIT)

- + \ No newline at end of file diff --git a/dev/guide/start/compatibility.html b/dev/guide/start/compatibility.html index d17d093fa7..5bbf9b1fa4 100644 --- a/dev/guide/start/compatibility.html +++ b/dev/guide/start/compatibility.html @@ -14,14 +14,14 @@ - - + +
Skip to content

兼容性

支持的浏览器

  • Chrome:84+
  • Firefox:63+
  • Safari:14.1+
  • Edge:84+
  • Chrome for Android:126+
  • iOS Safari:14.5+

用到的第三方库

在 ZUI 3 中使用了一些精心挑选的第三方库,这些库通常足够小巧但实用:

  • preact - 基于 Preact 实现了大部分 JS 组件,通过封装支持原生调用
  • cash-dom - 提供了大量辅助方法方便操作 DOM,同时提供了对 jQuery 的兼容实用方式
  • floating UI - 实现浮动交互定位,例如下拉菜单、工具提示等
  • tinykeys - 实现快捷键功能

技术栈

MIT License (MIT)

- + \ No newline at end of file diff --git a/dev/guide/start/index.html b/dev/guide/start/index.html index dc1a2a4d20..5ea0829048 100644 --- a/dev/guide/start/index.html +++ b/dev/guide/start/index.html @@ -12,10 +12,10 @@ - + - - + + @@ -36,7 +36,7 @@ <a class="btn" href="/">访问 ZUI 网站</a> <script src="./zui/zui.js"></script> </body> -</html>

使用 CDN

使用 CDN 可以快速使用 ZUI,与下载使用基本一样,只需要将相关资源文件替换为 CDN 上的地址即可:

html
<!doctype html>
+</html>

使用 CDN

使用 CDN 可以快速使用 ZUI,与下载使用基本一样,只需要将相关资源文件替换为 CDN 上的地址即可:

html
<!doctype html>
 <html lang="zh-CN">
   <head>
     <meta charset="utf-8">
@@ -108,7 +108,7 @@
 import 'zui/lib/dtable/css';
 
 const myTable = new DTable('#myTable', {...});

MIT License (MIT)

- + \ No newline at end of file diff --git a/dev/guide/start/intro.html b/dev/guide/start/intro.html index f3d41e1fba..db544adf5f 100644 --- a/dev/guide/start/intro.html +++ b/dev/guide/start/intro.html @@ -14,14 +14,14 @@ - - + +
Skip to content

介绍

ZUI 3 是一个的开源 UI 组件库,提供了大量实用组件,支持最大限度的定制,不依赖任何其他 JS 框架,可以在任何 Web 应用中通过原生的方式使用。

功能特性

  • 📡 统一的 UI 配置:基于 CSS 变量实现的全局 UI 配置,为组件提供了统一的风格基础,支持深色模式,方便定制主题;
  • 👔 丰富的 CSS 工具类:基于 Tailwind CSS 提供了丰富的 CSS 工具类,包括特别的语义化外观工具类,轻松实现常见布局、文字排版、动画、外观定义;
  • ⭐️ 实用的 CSS 组件:提供了大量实用的 CSS 组件,无需借助 JS 即可实现界面基本功能,例如按钮、表单、导航、卡片、表格等;
  • 💎 强大的 JS 组件:通过 JS 实现很多功能强大的组件,包括下拉菜单、工具提示、对话框、数据表格、文件上传等;
  • 📦 使用灵活:不依赖具体的框架,所有 CSS 工具类开箱即用,所有 JS 组件支持原生调用,丰富的引入方式,支持通过 ESM 导入,或者直接在浏览器中引用整个 JS 和 CSS,支持打包定制自己的组合版本。

与 ZUI1 的区别

相比较 ZUI 1,ZUI 3 是一个全新的更加现代的 UI 组件库,主要有如下区别:

区别ZUI 1ZUI 3
外部依赖jQuery
内部依赖Bootstrap 3
网格布局实现floatFlex
工具类部分样式、布局、排版工具类丰富的样式、布局、排版、交互效果工具类
主题定制CSS 覆盖CSS 变量
CSS 组件大部分由 Bootstrap 提供全新的 CSS 组件,更方便定制外观
JS 组件基于 jQuery 实现基于 Preact 实现,功能更强大

MIT License (MIT)

- + \ No newline at end of file diff --git a/dev/guide/start/tutorial.html b/dev/guide/start/tutorial.html index 0bcc0b31a9..c3b8b7f214 100644 --- a/dev/guide/start/tutorial.html +++ b/dev/guide/start/tutorial.html @@ -14,8 +14,8 @@ - - + + @@ -238,7 +238,7 @@ /* Extend StepsEditor to zui object. */ $.extend(zui, {StepsEditor});

开发定制入门

参考打包开发扩展文档。

MIT License (MIT)

- + \ No newline at end of file diff --git a/dev/hashmap.json b/dev/hashmap.json index 05a71762c5..1c1c6c7551 100644 --- a/dev/hashmap.json +++ b/dev/hashmap.json @@ -1 +1 @@ -{"lib_basic_core_cash.md":"Bzo_CH3I","guide_start_index.md":"yzVT1hpV","lib_components_progress-circle_index.md":"B0UUIqGM","lib_components_nav_js.md":"OePgMXXa","lib_components_contextmenu_index.md":"DmEkUwKC","lib_components_nav_index.md":"LeXRijcV","lib_components_scrollbar_index.md":"BjI3vUqu","guide_config_base_spacing.md":"B653NiFv","lib_components_search-box_index.md":"C6d4tMjv","lib_components_pager_js.md":"DDMQ9lXw","guide_config_base_screens.md":"CXV8MRfe","lib_basic_core_component.md":"uPNn0zXQ","lib_components_modal_trigger.md":"BMBZZybJ","lib_components_modal_index.md":"CgbVseyc","lib_components_button_index.md":"B_1XMQuI","guide_index.md":"t3LZT4QY","lib_components_breadcrumb_index.md":"9pymY2C8","guide_config_base_shadow.md":"BNzZgBvC","index.md":"0I4m7CHi","guide_start_compatibility.md":"CltyrLny","lib_components_avatar-group_index.md":"BqwB9RZP","guide_start_tutorial.md":"CmfMgriO","lib_components_progress_index.md":"CEtektTK","lib_components_pager_index.md":"D-bROEeS","guide_start_intro.md":"DEIJsFre","utilities_typography_utilities_font-weight.md":"CV3nf15_","utilities_layout_utilities_overflow.md":"DVHk2FQA","utilities_layout_utilities_object-fit.md":"D4YmLxEC","guide_config_base_font.md":"Ba4TxUmX","guide_customize_build.md":"BnMDMPqz","guide_customize_exts-lib.md":"BKuxQGR7","lib_components_dashboard_index.md":"DRaM25zK","lib_components_kanban_index.md":"BFBze8B1","lib_basic_core_css-component.md":"BwdGvlia","lib_components_btn-group_index.md":"5V7X7r4P","lib_components_file-selector_index.md":"DvywDJ4t","lib_components_panel_index.md":"CoS14bNk","guide_config_base_color.md":"B_i0YNBV","lib_basic_core_zui-on.md":"IjDbHIdO","lib_basic_core_react.md":"BTwYD_hf","lib_components_messager_index.md":"BW-SbOyW","lib_components_alert_index.md":"Bep50ZBz","lib_components_dtable_index.md":"BffsFMb4","lib_components_label_index.md":"q76w0qb_","guide_config_base_rounded.md":"-jZtXV-b","lib_basic_core_zui-create.md":"DLe7A4Hj","lib_components_color-picker_index.md":"TddEDwtA","lib_components_tabs_index.md":"D-2YSS_0","utilities_flex_utilities_shrink.md":"CangfHwT","lib_components_toolbar_index.md":"DvojQFd3","lib_components_tooltip_index.md":"Co1ECN3g","lib_helpers_helpers_date-helper.md":"8AhG85Op","lib_helpers_helpers_string-helper.md":"me2jtoF5","lib_forms_input-group_index.md":"BMbSYMAL","lib_helpers_store_index.md":"Bb0Q5VMq","lib_index.md":"Ci-MFpvh","themes_index.md":"BufleTaf","public_zui_icons_fontawesome-license.md":"gfk3cURr","utilities_backgrounds_utilities_index.md":"83vrBdjK","utilities_borders_utilities_border-color.md":"YFsIdVzo","utilities_borders_utilities_border-width.md":"DVKauZHZ","utilities_borders_utilities_border-radius.md":"Dh1Nfe3A","utilities_borders_utilities_divider.md":"khTQtOjv","lib_forms_picker_index.md":"DRGaAh8C","utilities_borders_utilities_ring-color.md":"s0nb0vey","utilities_borders_utilities_ring-width.md":"DzwqJDAb","utilities_effects_utilities_animation.md":"B91izYvM","utilities_effects_utilities_filter.md":"BECjG4KT","utilities_borders_utilities_ring-offset.md":"DVb4azgP","utilities_effects_utilities_opacity.md":"BcIL05hy","utilities_effects_utilities_shadow.md":"CaSFSOMl","utilities_effects_utilities_transform.md":"DOI7WnD2","utilities_effects_utilities_transition.md":"SqXrre1m","utilities_flex_utilities_align-content.md":"BXGtlw9g","utilities_flex_utilities_align-self.md":"FvSQ-0Fm","utilities_flex_utilities_basis.md":"CD8bfBkC","utilities_flex_utilities_align-items.md":"CoFxBC8U","utilities_flex_utilities_direction.md":"ByjEgbMo","utilities_flex_utilities_flex.md":"BlvjgLjv","utilities_flex_utilities_gap.md":"DArM8pom","utilities_flex_utilities_grow.md":"Cn0nOehN","utilities_flex_utilities_justify-content.md":"D4BVZfVC","utilities_flex_utilities_order.md":"CfeTP7tL","utilities_flex_utilities_wrap.md":"DZ1moX26","utilities_skin_utilities_pale.md":"D1L1NRKs","utilities_interactivity_utilities_disabled.md":"CEB7Waub","utilities_interactivity_utilities_loading.md":"Da_3FM-1","utilities_interactivity_utilities_cursor.md":"DvV2lotG","utilities_index.md":"CTpyUmIw","utilities_interactivity_utilities_pointer-events.md":"EHN_kBvp","utilities_interactivity_utilities_state.md":"0ZTXUBo7","utilities_interactivity_utilities_user-select.md":"BrNPbIfK","utilities_interactivity_utilities_scroll.md":"-0JODEPX","utilities_layout_utilities_aspect-ratio.md":"_oWsoIYV","utilities_layout_utilities_container.md":"Bb3Lxa_7","utilities_layout_utilities_display.md":"DcXW9WtS","utilities_typography_utilities_text-align.md":"CtJ4rtrI","utilities_layout_utilities_floats.md":"pUvtfQiw","utilities_skin_utilities_solid.md":"Cst9ctTO","utilities_layout_utilities_position.md":"rEqgc51a","utilities_layout_utilities_top-right-bottom-left.md":"C3lYdIa5","utilities_spacing_utilities_margin.md":"C9jBOzP9","utilities_layout_utilities_z-index.md":"DKY1uWyd","utilities_layout_utilities_visibility.md":"CKuADuoh","utilities_spacing_utilities_padding.md":"DuVwhAAe","utilities_spacing_utilities_space.md":"xgZHI4vS","utilities_sizing_utilities_width.md":"DNXQWQFd","utilities_typography_utilities_font-family.md":"BHWBVXg4","utilities_skin_utilities_ghost.md":"DIt2ElJv","utilities_typography_utilities_font-size.md":"B3W8gyR3","utilities_skin_utilities_outline.md":"bsC71Qhi","utilities_skin_utilities_surface.md":"CN20jMqq","utilities_sizing_utilities_height.md":"CdF7aUuw","utilities_typography_utilities_line-clamp.md":"CvO9OG4z","utilities_typography_utilities_leading.md":"DOlxRw-6","utilities_typography_utilities_list-style.md":"LuK8VgZf","lib_components_avatar_index.md":"7j-ew9BZ","utilities_typography_utilities_whitespace.md":"BFKZWjDW","lib_basic_core_zui-toggle.md":"D_sPxQQs","utilities_typography_utilities_text-decoration.md":"BvY6hqYi","utilities_typography_utilities_word-break.md":"BxSlEVBy","utilities_typography_utilities_vertical-align.md":"DiLQT3Ni","guide_customize_dev.md":"BHKWgm2m","utilities_typography_utilities_text-transform.md":"CM7k043G","utilities_typography_utilities_text-color.md":"D1fjRsa-","lib_components_tree_index.md":"Dn03SufJ","lib_components_dtable_plugins.md":"CrBZnIMk","lib_components_menu_js.md":"CtCBsfaZ","lib_forms_datetime-picker_date.md":"D59eL2rp","lib_forms_datetime-picker_time.md":"BTTIPCd8","lib_components_upload-imgs_index.md":"erXa6IN9","lib_forms_checkbox_index.md":"D_VspyHI","lib_forms_input-control_index.md":"Cv0HAFHI","utilities_typography_utilities_text-overflow.md":"CCaD8PoB","lib_components_toolbar_js.md":"ih1Bb-Rr","lib_components_upload_index.md":"CzVklHlh","lib_components_dropdown_index.md":"DbbvFq7u","lib_forms_form-control_index.md":"BiHmr69s","lib_components_table_index.md":"Ck9c8Ek4","lib_forms_datetime-picker_datetime.md":"CPkUUpoa","lib_components_menu_index.md":"GncmWrZR","lib_forms_checkbox_switch.md":"QH8sYaT3","lib_forms_form_index.md":"sRq2u4jF"} +{"guide_customize_dev.md":"BHKWgm2m","guide_index.md":"t3LZT4QY","guide_start_compatibility.md":"CltyrLny","guide_customize_exts-lib.md":"BKuxQGR7","lib_components_contextmenu_index.md":"DmEkUwKC","lib_basic_core_cash.md":"Bzo_CH3I","guide_config_base_font.md":"Ba4TxUmX","index.md":"0I4m7CHi","lib_basic_core_react.md":"BTwYD_hf","lib_components_breadcrumb_index.md":"9pymY2C8","lib_basic_core_component.md":"uPNn0zXQ","lib_components_menu_js.md":"CtCBsfaZ","guide_customize_build.md":"BnMDMPqz","lib_components_kanban_index.md":"BFBze8B1","lib_components_color-picker_index.md":"TddEDwtA","lib_components_menu_index.md":"GncmWrZR","guide_config_base_screens.md":"CXV8MRfe","guide_start_index.md":"DDE5jxBJ","lib_components_avatar-group_index.md":"BqwB9RZP","guide_config_base_rounded.md":"-jZtXV-b","guide_start_tutorial.md":"CmfMgriO","lib_components_avatar_index.md":"7j-ew9BZ","guide_config_base_shadow.md":"BNzZgBvC","lib_basic_core_css-component.md":"BwdGvlia","guide_config_base_color.md":"B_i0YNBV","lib_components_panel_index.md":"CoS14bNk","lib_components_button_index.md":"B_1XMQuI","lib_basic_core_zui-toggle.md":"D_sPxQQs","lib_components_dtable_plugins.md":"CrBZnIMk","lib_components_file-selector_index.md":"DvywDJ4t","lib_components_label_index.md":"q76w0qb_","guide_config_base_spacing.md":"B653NiFv","utilities_flex_utilities_align-self.md":"FvSQ-0Fm","lib_components_alert_index.md":"Bep50ZBz","lib_components_dropdown_index.md":"DbbvFq7u","lib_components_dashboard_index.md":"DRaM25zK","lib_components_search-box_index.md":"C6d4tMjv","lib_components_progress_index.md":"CEtektTK","lib_components_scrollbar_index.md":"BjI3vUqu","lib_basic_core_zui-on.md":"IjDbHIdO","lib_components_table_index.md":"Ck9c8Ek4","lib_forms_checkbox_switch.md":"QH8sYaT3","lib_basic_core_zui-create.md":"DLe7A4Hj","utilities_borders_utilities_ring-offset.md":"DVb4azgP","lib_components_dtable_index.md":"BffsFMb4","lib_components_upload_index.md":"CzVklHlh","utilities_borders_utilities_ring-width.md":"DzwqJDAb","utilities_effects_utilities_animation.md":"B91izYvM","lib_forms_input-control_index.md":"Cv0HAFHI","utilities_effects_utilities_opacity.md":"BcIL05hy","utilities_typography_utilities_list-style.md":"LuK8VgZf","utilities_effects_utilities_filter.md":"BECjG4KT","utilities_effects_utilities_transition.md":"SqXrre1m","lib_forms_checkbox_index.md":"D_VspyHI","lib_components_progress-circle_index.md":"B0UUIqGM","utilities_effects_utilities_transform.md":"DOI7WnD2","utilities_effects_utilities_shadow.md":"CaSFSOMl","utilities_flex_utilities_align-content.md":"BXGtlw9g","lib_forms_picker_index.md":"DRGaAh8C","lib_components_modal_index.md":"CgbVseyc","utilities_backgrounds_utilities_index.md":"83vrBdjK","themes_index.md":"BufleTaf","utilities_borders_utilities_divider.md":"khTQtOjv","lib_forms_datetime-picker_time.md":"BTTIPCd8","lib_components_upload-imgs_index.md":"erXa6IN9","lib_components_btn-group_index.md":"5V7X7r4P","lib_forms_input-group_index.md":"BMbSYMAL","utilities_flex_utilities_align-items.md":"CoFxBC8U","lib_components_tabs_index.md":"D-2YSS_0","utilities_borders_utilities_border-radius.md":"Dh1Nfe3A","public_zui_icons_fontawesome-license.md":"gfk3cURr","lib_components_modal_trigger.md":"BMBZZybJ","lib_forms_datetime-picker_date.md":"D59eL2rp","lib_helpers_helpers_date-helper.md":"8AhG85Op","utilities_sizing_utilities_height.md":"CdF7aUuw","lib_helpers_helpers_string-helper.md":"me2jtoF5","lib_components_toolbar_js.md":"ih1Bb-Rr","lib_forms_form-control_index.md":"BiHmr69s","lib_components_tooltip_index.md":"Co1ECN3g","utilities_borders_utilities_border-width.md":"DVKauZHZ","utilities_index.md":"CTpyUmIw","lib_index.md":"Ci-MFpvh","guide_start_intro.md":"DEIJsFre","utilities_borders_utilities_border-color.md":"YFsIdVzo","lib_components_nav_js.md":"OePgMXXa","utilities_flex_utilities_basis.md":"CD8bfBkC","utilities_flex_utilities_direction.md":"ByjEgbMo","lib_components_pager_index.md":"D-bROEeS","utilities_flex_utilities_flex.md":"BlvjgLjv","utilities_flex_utilities_gap.md":"DArM8pom","utilities_flex_utilities_grow.md":"Cn0nOehN","lib_components_pager_js.md":"DDMQ9lXw","utilities_flex_utilities_justify-content.md":"D4BVZfVC","utilities_flex_utilities_order.md":"CfeTP7tL","utilities_flex_utilities_shrink.md":"CangfHwT","utilities_flex_utilities_wrap.md":"DZ1moX26","utilities_interactivity_utilities_cursor.md":"DvV2lotG","lib_components_messager_index.md":"BW-SbOyW","lib_components_tree_index.md":"Dn03SufJ","lib_helpers_store_index.md":"Bb0Q5VMq","utilities_interactivity_utilities_disabled.md":"CEB7Waub","utilities_interactivity_utilities_loading.md":"Da_3FM-1","utilities_interactivity_utilities_pointer-events.md":"EHN_kBvp","utilities_borders_utilities_ring-color.md":"s0nb0vey","utilities_interactivity_utilities_scroll.md":"-0JODEPX","utilities_interactivity_utilities_state.md":"0ZTXUBo7","utilities_interactivity_utilities_user-select.md":"BrNPbIfK","utilities_layout_utilities_aspect-ratio.md":"_oWsoIYV","utilities_layout_utilities_container.md":"Bb3Lxa_7","utilities_typography_utilities_text-align.md":"CtJ4rtrI","utilities_layout_utilities_display.md":"DcXW9WtS","utilities_layout_utilities_object-fit.md":"D4YmLxEC","lib_components_toolbar_index.md":"DvojQFd3","utilities_layout_utilities_floats.md":"pUvtfQiw","utilities_layout_utilities_position.md":"rEqgc51a","lib_forms_form_index.md":"sRq2u4jF","utilities_sizing_utilities_width.md":"DNXQWQFd","utilities_skin_utilities_ghost.md":"DIt2ElJv","utilities_skin_utilities_outline.md":"bsC71Qhi","utilities_skin_utilities_pale.md":"D1L1NRKs","utilities_skin_utilities_solid.md":"Cst9ctTO","utilities_skin_utilities_surface.md":"CN20jMqq","utilities_spacing_utilities_margin.md":"C9jBOzP9","utilities_spacing_utilities_space.md":"xgZHI4vS","utilities_spacing_utilities_padding.md":"DuVwhAAe","utilities_typography_utilities_font-size.md":"B3W8gyR3","utilities_typography_utilities_font-family.md":"BHWBVXg4","utilities_typography_utilities_font-weight.md":"CV3nf15_","utilities_typography_utilities_text-color.md":"D1fjRsa-","utilities_typography_utilities_line-clamp.md":"CvO9OG4z","utilities_typography_utilities_leading.md":"DOlxRw-6","utilities_typography_utilities_text-decoration.md":"BvY6hqYi","utilities_typography_utilities_text-overflow.md":"CCaD8PoB","utilities_typography_utilities_text-transform.md":"CM7k043G","utilities_typography_utilities_vertical-align.md":"DiLQT3Ni","utilities_typography_utilities_whitespace.md":"BFKZWjDW","utilities_typography_utilities_word-break.md":"BxSlEVBy","utilities_layout_utilities_top-right-bottom-left.md":"C3lYdIa5","lib_forms_datetime-picker_datetime.md":"CPkUUpoa","lib_components_nav_index.md":"LeXRijcV","utilities_layout_utilities_visibility.md":"CKuADuoh","utilities_layout_utilities_z-index.md":"DKY1uWyd","utilities_layout_utilities_overflow.md":"DVHk2FQA"} diff --git a/dev/index.html b/dev/index.html index 5b9c70dff7..c618cdd9fe 100644 --- a/dev/index.html +++ b/dev/index.html @@ -14,14 +14,14 @@ - - + +
Skip to content

ZUI 3

开箱即用的组合式前端 UI 框架

MIT License (MIT)

- + \ No newline at end of file diff --git a/dev/lib/basic/core/cash.html b/dev/lib/basic/core/cash.html index 95f617d16e..404e019736 100644 --- a/dev/lib/basic/core/cash.html +++ b/dev/lib/basic/core/cash.html @@ -14,8 +14,8 @@ - - + + @@ -82,7 +82,7 @@ /* 销毁。 */ datePicker.destroy();

辅助方法

$.fn.resize() 监听元素尺寸变化

定义:

ts
$.fn.resize(callback: ResizeObserverCallback): ResizeObserver;

参数

  • callback:回调函数,定义为 (entries: ResizeObserverEntry[], observer: ResizeObserver): void;

返回值ResizeObserverResizeObserver 对象。

MIT License (MIT)

- + \ No newline at end of file diff --git a/dev/lib/basic/core/component.html b/dev/lib/basic/core/component.html index 2a8b4d1322..0218421d77 100644 --- a/dev/lib/basic/core/component.html +++ b/dev/lib/basic/core/component.html @@ -14,8 +14,8 @@ - - + + @@ -117,7 +117,7 @@ const nav = zui.Nav.get('#myNav'); </script>

MIT License (MIT)

- + \ No newline at end of file diff --git a/dev/lib/basic/core/css-component.html b/dev/lib/basic/core/css-component.html index 14e7926043..ec9bc71f2a 100644 --- a/dev/lib/basic/core/css-component.html +++ b/dev/lib/basic/core/css-component.html @@ -14,14 +14,14 @@ - - + +
Skip to content

CSS 组件

基本使用

CSS 组件通常提供了界面所需的基本功能,例如按钮、表单、导航、卡片、表格等,这些组件通常不需要 JS 的支持,只需要在 HTML 中使用对应的组件类名即可,例如按钮:

提示

一些 JS 组件也提供了纯 CSS 使用的方式,也就是说 CSS 组件也可能是一个 JS 组件。

组件样式

通用样式修饰

CSS 组件通常提供了多种样式修饰,例如按钮的颜色、大小、形状、状态等,大部分通用样式的修饰都可以通过 CSS 工具类来实现,例如:

专用样式修饰

部分组件提供了专用样式修饰类,这些类名通常为组件类加后缀实现,例如按钮组件的 btn-link

CSS 变量

CSS 组件通常提供了一些 CSS 变量用于自定义组件的样式,例如按钮组件提供了 --btn-bg 用于自定义按钮的颜色:

MIT License (MIT)

- + \ No newline at end of file diff --git a/dev/lib/basic/core/react.html b/dev/lib/basic/core/react.html index 6d11560ec0..42844eaa85 100644 --- a/dev/lib/basic/core/react.html +++ b/dev/lib/basic/core/react.html @@ -14,8 +14,8 @@ - - + + @@ -33,7 +33,7 @@ */ static renderHTML(options: object): string; }

React 组件相比较普通的组件有如下特点:

  • 组件采用 Preact 开发,当重新进行渲染时,只会更新组件的部分内容,而不是整个元素;
  • 组件对应的元素内部禁止直接进行修改,因为每次渲染时都会重新生成组件的内容。

React 组件实例上的 $ 属性是组件的 React 实例,可以通过这个属性来访问组件的属性和方法。

MIT License (MIT)

- + \ No newline at end of file diff --git a/dev/lib/basic/core/zui-create.html b/dev/lib/basic/core/zui-create.html index a3cde8a7ba..028cfafe90 100644 --- a/dev/lib/basic/core/zui-create.html +++ b/dev/lib/basic/core/zui-create.html @@ -14,14 +14,14 @@ - - + +
Skip to content

便捷组件声明

在 ZUI 中,所有 JS 组件支持通过声明 zui-create 属性来自动创建,例如:

使用 zui-create-<component> 来定义组件选项,例如:

注意

通过 zui-create 创建的组件,只会在页面加载完成后自动扫描一次,如果需要在动态添加的元素上利用 zui-create 创建组件,需要手动执行 $(element).zuiInit() 初始化。

MIT License (MIT)

- + \ No newline at end of file diff --git a/dev/lib/basic/core/zui-on.html b/dev/lib/basic/core/zui-on.html index ae8ec15151..3640cf0bdd 100644 --- a/dev/lib/basic/core/zui-on.html +++ b/dev/lib/basic/core/zui-on.html @@ -14,14 +14,14 @@ - - + +
Skip to content

便捷事件绑定

介绍

便捷事件机制允许通过 HTML 元素属性 [zui-on-*] 来绑定事件。下面为一个例子:

上例中,通过 [zui-on-click] 属性绑定点击事件,通过属性指定需要执行的 JS 代码,从而实现当点击按钮时,将会弹出一个对话框。

提示

编辑事件机制实际原理为在 document 元素上绑定了一个事件监听器,当事件触发时,会检查事件源元素是否存在 [data-on-*] 属性,如果存在,则会根据 [data-on-*] 属性的值来执行 JS 代码。根据此原理,需要被监听的元素上的事件能够被冒泡到 document 上。

事件类型

在 ZUI3 中默认支持的便捷绑定事件类型包括:

  • click:点击事件;
  • inited:组件初始化事件;
  • change:变更事件。

自定义选项

除了可以直接指定要执行的 JS 代码,还可以通过一个对象来指定事件绑定选项,例如:

所有可用的选项包括:

选项说明
on事件类型,必须,目前支持点击('click')和变更('change')事件
selector事件是否仅能触发在符合指定选择器的内部元素上,相当于事件委托
do要执行的 JS 代码,可选
call要执行的回调函数,可选
params需要传递给 JS 代码的参数,多个参数使用 , 分隔,也可以通过 JSON 数组的形式指定
if在执行 JS 代码和回调函数之前进行判断,如果结果为 false 则不会执行
once是否只执行一次,默认 false
stop是否阻止事件冒泡,相当于调用 stopPropagation,默认 false
prevent是否阻止默认行为,相当于调用 preventDefault,默认 false
self是否尽在点击自身时触发。

内置参数

在指定执行代码和回调函数参数时有一些内置参数可以直接通过约定名称引用,包括:

  • event:事件对象;
  • options:事件绑定选项;
  • $element:事件源元素(Cash 类型)。

例如:

内置参数还可以直接用于 do 代码中和 call 回调函数定义中,例如:

MIT License (MIT)

- + \ No newline at end of file diff --git a/dev/lib/basic/core/zui-toggle.html b/dev/lib/basic/core/zui-toggle.html index 6678449073..9273613315 100644 --- a/dev/lib/basic/core/zui-toggle.html +++ b/dev/lib/basic/core/zui-toggle.html @@ -14,14 +14,14 @@ - - + +
Skip to content

全局触发调用

使用

全局触发调用允许在元素上通过 zui-toggle 属性来声明组件调用,在某个事件(通常为点击)触发时,自动使用选项进行初始化,并执行操作。例如下拉菜单按钮,在点击时声明下拉菜单组件,并打开下拉菜单。下面为一个下拉菜单的例子:

兼容模式

在兼容模式下,可以通过 data-toggle 属性生命组件,使用其他 data-* 属性声明组件初始化选项。

支持的组件

支持全局触发调用的组件包括:

MIT License (MIT)

- + \ No newline at end of file diff --git a/dev/lib/components/alert/index.html b/dev/lib/components/alert/index.html index 8a01b009c8..65afb1d369 100644 --- a/dev/lib/components/alert/index.html +++ b/dev/lib/components/alert/index.html @@ -14,14 +14,14 @@ - - + +
Skip to content

消息框

消息框能够轻松展示一些需要引起用户注意的内容。

基本使用

为元素添加 alert 类来获得消息框的外观。

嘿!这是一则提示。

包含链接

使用 .alert-link 类来为消息框内的链接添加样式。

Hi! 这条消息可能需要你注意。了解更多

包含关闭按钮

使用 .alert-close 类来为消息框内的关闭按钮添加样式。絮语注意到是当需要在消息框中包含更多内容时,需要将消息文本放置在 .alert-text 中。

嘿!这是一则提示。了解更多

包含操作按钮

像添加关闭按钮一样,还可以添加其他操作按钮:

嘿!这是一则提示。了解更多

可以将多个按钮放在工具栏中:

嘿!这是一则提示。了解更多

外观类型

配合丰富的 CSS 工具类 来实现不同消息框的外观。

嘿!这是一则提示。
嘿!这是一则提示。
嘿!这是一则提示。
嘿!这是一则提示。
嘿!这是一则提示。
嘿!这是一则提示。
嘿!这是一则提示。

CSS 类

消息框提供了如下 CSS 类:

类型作用
alert实体类元素作为消息框组件
alert-icon实体类元素作为消息框内左侧图标
alert-close实体类元素作为消息框关闭按钮
alert-text实体类元素作为消息框文本内容

CSS 变量

消息框提供了如下 CSS 变量:

变量名称变量含义
--alert-bg消息框默认背景色

MIT License (MIT)

- + \ No newline at end of file diff --git a/dev/lib/components/avatar-group/index.html b/dev/lib/components/avatar-group/index.html index e25dc1fda1..c3322345d7 100644 --- a/dev/lib/components/avatar-group/index.html +++ b/dev/lib/components/avatar-group/index.html @@ -14,14 +14,14 @@ - - + + -
Skip to content

头像组

头像组用于将多个头像堆叠显示。

基本使用

将多个头像放置在 <div class="avatar-group"> 内即可创建一个头像组。

+10

尺寸

当使用不同大小的头像时,可以通过为 .avatar-group 添加同样等级的 size-* 辅助类已获得统一的堆叠间距。

堆叠间距

使用工具类 gap-* 来调整堆叠间距。默认间距等同于 gap-2.5,小于 2.5 将使得间距比默认间距更小,反之则更大。

0
1
2
2.5
3
3.5

CSS 类

头像组提供了如下 CSS 类:

类型作用
avatar-group实体类元素作为头像组组件
size-xs工具类头像组使用超小号尺寸
size-sm工具类头像组使用小号尺寸
size-lg工具类头像组使用大号尺寸
size-xl工具类头像组使用超大号尺寸

参考

MIT License (MIT)

- +
Skip to content

头像组

头像组用于将多个头像堆叠显示。

基本使用

将多个头像放置在 <div class="avatar-group"> 内即可创建一个头像组。

+10

尺寸

当使用不同大小的头像时,可以通过为 .avatar-group 添加同样等级的 size-* 辅助类已获得统一的堆叠间距。

堆叠间距

使用工具类 gap-* 来调整堆叠间距。默认间距等同于 gap-2.5,小于 2.5 将使得间距比默认间距更小,反之则更大。

0
1
2
2.5
3
3.5

CSS 类

头像组提供了如下 CSS 类:

类型作用
avatar-group实体类元素作为头像组组件
size-xs工具类头像组使用超小号尺寸
size-sm工具类头像组使用小号尺寸
size-lg工具类头像组使用大号尺寸
size-xl工具类头像组使用超大号尺寸

参考

MIT License (MIT)

+ \ No newline at end of file diff --git a/dev/lib/components/avatar/index.html b/dev/lib/components/avatar/index.html index e1bf169a50..4a7af02dbc 100644 --- a/dev/lib/components/avatar/index.html +++ b/dev/lib/components/avatar/index.html @@ -14,14 +14,14 @@ - - + + -
Skip to content

头像

头像是用图片、图标或者文字的形式展示用户及具有特殊标识的其他对象。

基本使用

为元素并添加类 .avatar,然后将作为图像的图片、文字或图标放置在此元素内。

Z

提示

当使用文字作为头像时,建议文字数目不要超过 2 个,如果需要显示更多文字进行个性化排版,推荐使用 JavaScript 增强的头像插件。

头像形状

搭配 CSS 工具类 rounded-* 为头像应用不同的圆角样式。

外观类型

当使用文字或图标作为头像时,配合使用CSS 工具类来实现不同头像的外观。下面展示各种工具类的外观效果。

Z
Z
Z
Z

尺寸

除了默认大小,还提供了额外的 4 种预设尺寸,通过 size-* 来为头像设置尺寸。

X
S
Z
LG
XL

CSS 类

头像提供了如下 CSS 类:

类型作用
avatar实体类元素作为头像组件
size-xs工具类头像使用超小号尺寸
size-sm工具类头像使用小号尺寸
size-lg工具类头像使用大号尺寸
size-xl工具类头像使用超大号尺寸

CSS 变量

头像提供了如下 CSS 变量,可进行全局修改:

CSS 变量名作用
--avatar-radius头像默认圆角大小
--avatar-bg头像默认背景颜色

参考

MIT License (MIT)

- +
Skip to content

头像

头像是用图片、图标或者文字的形式展示用户及具有特殊标识的其他对象。

基本使用

为元素并添加类 .avatar,然后将作为图像的图片、文字或图标放置在此元素内。

Z

提示

当使用文字作为头像时,建议文字数目不要超过 2 个,如果需要显示更多文字进行个性化排版,推荐使用 JavaScript 增强的头像插件。

头像形状

搭配 CSS 工具类 rounded-* 为头像应用不同的圆角样式。

外观类型

当使用文字或图标作为头像时,配合使用CSS 工具类来实现不同头像的外观。下面展示各种工具类的外观效果。

Z
Z
Z
Z

尺寸

除了默认大小,还提供了额外的 4 种预设尺寸,通过 size-* 来为头像设置尺寸。

X
S
Z
LG
XL

CSS 类

头像提供了如下 CSS 类:

类型作用
avatar实体类元素作为头像组件
size-xs工具类头像使用超小号尺寸
size-sm工具类头像使用小号尺寸
size-lg工具类头像使用大号尺寸
size-xl工具类头像使用超大号尺寸

CSS 变量

头像提供了如下 CSS 变量,可进行全局修改:

CSS 变量名作用
--avatar-radius头像默认圆角大小
--avatar-bg头像默认背景颜色

参考

MIT License (MIT)

+ \ No newline at end of file diff --git a/dev/lib/components/breadcrumb/index.html b/dev/lib/components/breadcrumb/index.html index a62867d473..c6ffd7a0ba 100644 --- a/dev/lib/components/breadcrumb/index.html +++ b/dev/lib/components/breadcrumb/index.html @@ -14,14 +14,14 @@ - - + +
Skip to content

面包屑

基本使用

使用类 .breadcrumb 来实现面包屑,通常搭配 <ol><li> 元素使用。

CSS 类

面包屑提供了如下 CSS 类

类型作用
breadcrumb实体类元素作为面包屑组件

CSS 变量

变量名称变量含义
--breadcrumb-divider面包屑分割元素标签类型
--breadcrumb-divider-color面包屑分割元素颜色
--breadcrumb-color-active面包屑选中态元素颜色

MIT License (MIT)

- + \ No newline at end of file diff --git a/dev/lib/components/btn-group/index.html b/dev/lib/components/btn-group/index.html index f42a031896..a460110c05 100644 --- a/dev/lib/components/btn-group/index.html +++ b/dev/lib/components/btn-group/index.html @@ -14,14 +14,14 @@ - - + +
Skip to content

按钮组

按钮组可以将多个按钮成组展示。

使用方法

将多个 按钮 放置在 <div class="btn-group"> 内即可创建一个按钮组。

多组按钮

使用 CSS 工具类 .row 搭配 .gap-* 实现多组按钮效果。

尺寸

.btn-group 上配合使用工具类 size-* 来获得不同大小的按钮组。

外观

在按钮上加 CSS 工具类,以获得不同的按钮外观显示。

使用下拉菜单

可以在按钮组中使用下拉菜单,只需要将启用下拉菜单的按钮放置于按钮组中即可。

CSS 类

按钮提供了如下 CSS 类:

类型作用
btn-group实体类元素作为按钮组组件
size-xs工具类按钮组使用超小号尺寸
size-sm工具类按钮组使用小号尺寸
size-lg工具类按钮组使用大号尺寸
size-xl工具类按钮组使用超大号尺寸

参考

MIT License (MIT)

- + \ No newline at end of file diff --git a/dev/lib/components/button/index.html b/dev/lib/components/button/index.html index 08e3c05c70..972f44f553 100644 --- a/dev/lib/components/button/index.html +++ b/dev/lib/components/button/index.html @@ -14,14 +14,14 @@ - - + + -
Skip to content

按钮

按钮是用来触发一些动作。通常用在表单、对话框、菜单上面。好的按钮设计能够引导用户高效的达到目的。

使用方法

使用 .btn 类来获得按钮的外观和交互体验,通常用在元素 <button><a> 上。

配合丰富的CSS 工具类来实现不同按钮的外观。

图标按钮

按钮配合图标组件一起使用时,自动呈现为图标按钮。

外观

外观类型

配合使用CSS 工具类来实现不同按钮的外观。下面展示各种工具类的外观效果。

链接按钮

使用 .btn-link 类来获得链接按钮的外观。

按钮圆角

搭配 CSS 工具类 rounded-* 为按钮应用不同的圆角样式。

按钮阴影效果

搭配 CSS 工具类 shadow-* 为按钮应用不同的阴影样式。

尺寸

除了默认大小,按钮还提供了额外的 4 种预设尺寸。

形状

正方形按钮

通过工具类 square 可以让按钮获得正方形外观,通常作为图标按钮使用。

圆形按钮

当与工具类 circlesquare 一起使用时则获得圆形按钮。

状态

禁用状态

为按钮提供 disabled="disabled" 属性或 disabled 工具类来禁用按钮。被禁用的按钮将无法响应点击事件。

激活状态

为按钮添加 active 类启用激活状态。

加载中状态

为按钮提供动画图标实现加载中状态。

CSS 类

按钮提供了如下 CSS 类:

类型作用
btn实体类元素作为按钮组件
btn-link修饰类使用链接按钮外观
square工具类按钮使用正方形外观
size-xs工具类按钮使用超小号尺寸
size-sm工具类按钮使用小号尺寸
size-lg工具类按钮使用大号尺寸
size-xl工具类按钮使用超大号尺寸

CSS 变量

变量名称变量含义
--btn-radius按钮圆角
--btn-bg按钮背景颜色
--btn-border-color按钮边框颜色
--btn-height按钮高度

MIT License (MIT)

- +
Skip to content

按钮

按钮是用来触发一些动作。通常用在表单、对话框、菜单上面。好的按钮设计能够引导用户高效的达到目的。

使用方法

使用 .btn 类来获得按钮的外观和交互体验,通常用在元素 <button><a> 上。

配合丰富的CSS 工具类来实现不同按钮的外观。

图标按钮

按钮配合图标组件一起使用时,自动呈现为图标按钮。

外观

外观类型

配合使用CSS 工具类来实现不同按钮的外观。下面展示各种工具类的外观效果。

链接按钮

使用 .btn-link 类来获得链接按钮的外观。

按钮圆角

搭配 CSS 工具类 rounded-* 为按钮应用不同的圆角样式。

按钮阴影效果

搭配 CSS 工具类 shadow-* 为按钮应用不同的阴影样式。

尺寸

除了默认大小,按钮还提供了额外的 4 种预设尺寸。

形状

正方形按钮

通过工具类 square 可以让按钮获得正方形外观,通常作为图标按钮使用。

圆形按钮

当与工具类 circlesquare 一起使用时则获得圆形按钮。

状态

禁用状态

为按钮提供 disabled="disabled" 属性或 disabled 工具类来禁用按钮。被禁用的按钮将无法响应点击事件。

激活状态

为按钮添加 active 类启用激活状态。

加载中状态

为按钮提供动画图标实现加载中状态。

CSS 类

按钮提供了如下 CSS 类:

类型作用
btn实体类元素作为按钮组件
btn-link修饰类使用链接按钮外观
square工具类按钮使用正方形外观
size-xs工具类按钮使用超小号尺寸
size-sm工具类按钮使用小号尺寸
size-lg工具类按钮使用大号尺寸
size-xl工具类按钮使用超大号尺寸

CSS 变量

变量名称变量含义
--btn-radius按钮圆角
--btn-bg按钮背景颜色
--btn-border-color按钮边框颜色
--btn-height按钮高度

MIT License (MIT)

+ \ No newline at end of file diff --git a/dev/lib/components/color-picker/index.html b/dev/lib/components/color-picker/index.html index a43c052012..ffbce2a4e5 100644 --- a/dev/lib/components/color-picker/index.html +++ b/dev/lib/components/color-picker/index.html @@ -14,14 +14,14 @@ - - + + -
Skip to content

颜色选择器

基于下拉选择器实现的颜色选择器。

基本使用

在选定元素上调用初始化函数即可使用颜色选择器。

自定义颜色

通过设置 colors 属性自定义颜色列表,可以指定一个表示颜色的字符串数组,也可以通过英文逗号拼接多个颜色一起指定。

自定义图标

通过设置 icon 属性自定义颜色显示图标。

同步颜色

通过为 syncValuesyncColorsyncBackgroundsyncBorder 设置选择器可实现将当前选中的颜色信息同步到相应元素。

颜色值:
文字颜色
背景色
边框色

配合使用

作为按钮

在输入组中使用

在输入框中使用

选项

名称类型默认值说明
headingstringnull颜色面板标题。 colors?: string | string[]; // 颜色选项列表。 icon?: string; // 显示为图标的名称。 closeBtn?: boolean = true; // 颜色面板是否使用关闭按钮。 syncValue?: string; // 颜色值容器选择器。 syncColor?: string; // 文本色同步容器选择器。 syncBackground?: string; // 背景色同步容器选择器。 syncBorder?: string; // 边框色同步容器选择器。

MIT License (MIT)

- +
Skip to content

颜色选择器

基于下拉选择器实现的颜色选择器。

基本使用

在选定元素上调用初始化函数即可使用颜色选择器。

自定义颜色

通过设置 colors 属性自定义颜色列表,可以指定一个表示颜色的字符串数组,也可以通过英文逗号拼接多个颜色一起指定。

自定义图标

通过设置 icon 属性自定义颜色显示图标。

同步颜色

通过为 syncValuesyncColorsyncBackgroundsyncBorder 设置选择器可实现将当前选中的颜色信息同步到相应元素。

颜色值:
文字颜色
背景色
边框色

配合使用

作为按钮

在输入组中使用

在输入框中使用

选项

名称类型默认值说明
headingstringnull颜色面板标题。 colors?: string | string[]; // 颜色选项列表。 icon?: string; // 显示为图标的名称。 closeBtn?: boolean = true; // 颜色面板是否使用关闭按钮。 syncValue?: string; // 颜色值容器选择器。 syncColor?: string; // 文本色同步容器选择器。 syncBackground?: string; // 背景色同步容器选择器。 syncBorder?: string; // 边框色同步容器选择器。

MIT License (MIT)

+ \ No newline at end of file diff --git a/dev/lib/components/contextmenu/index.html b/dev/lib/components/contextmenu/index.html index 26b3eba76b..2fd02eeb05 100644 --- a/dev/lib/components/contextmenu/index.html +++ b/dev/lib/components/contextmenu/index.html @@ -14,8 +14,8 @@ - - + + @@ -115,7 +115,7 @@ }); }); </script>

API

items 的单个对象属性

text

名称。

  • 类型:string
  • 必选:否。

icon

左侧图标。

  • 类型:string
  • 必选:否。

trailingIcon

右侧图标。

  • 类型:string | VNode
  • 必选:否。

className

类名。

  • 类型:string
  • 必选:否。

style

样式。

  • 类型:ClassNameLike
  • 必选:否。

url

跳转链接地址。

  • 类型:string
  • 必选:否。

target

在何处打开链接地址。

  • 类型:string
  • 必选:否;
  • 可选项: _self | _self | _black | _top | _parent

disabled

是否禁用。

  • 类型:boolean
  • 必选:否;
  • 默认: false

active

是否是激活状态。

  • 类型:boolean
  • 必选:否;
  • 默认: false

type

单项类型。

  • 类型:string
  • 必选:否;
  • 可选项:item | divider | heading | custom
  • 默认: item

rootClass

menu-item 同级类名。

  • 类型:string
  • 必选:否。

items

子级操作数据。

  • 类型:array
  • 必选:否。

onClick

点击操作菜单项的回调事件。

  • 类型:function
  • 必选:否。

MIT License (MIT)

- + \ No newline at end of file diff --git a/dev/lib/components/dashboard/index.html b/dev/lib/components/dashboard/index.html index a3f57d3ca8..c1a5298971 100644 --- a/dev/lib/components/dashboard/index.html +++ b/dev/lib/components/dashboard/index.html @@ -14,8 +14,8 @@ - - + + @@ -82,7 +82,7 @@ blockMenu?: ContextMenuOptions; onLayoutChange?: (blocks: BlockSetting[]) => void; };

MIT License (MIT)

- + \ No newline at end of file diff --git a/dev/lib/components/dropdown/index.html b/dev/lib/components/dropdown/index.html index e4924a97bd..a3e35c0ce6 100644 --- a/dev/lib/components/dropdown/index.html +++ b/dev/lib/components/dropdown/index.html @@ -14,14 +14,14 @@ - - + +
Skip to content

下拉菜单

将动作或菜单折叠到下拉菜单中。

使用方法

为触发按钮添加属性 data-toggle="dropdown",然后在触发按钮之后添加一个 .dropdown-menu 用于定义菜单列表。

关联菜单元素

你还可以在触发按钮上通过 data-target 属性来指定要打开的菜单列表元素,这样不用要求触发按钮和菜单列表元素之间必须按顺序紧邻。

手动初始化

你可以通过 new zui.Dropdown() 方法在触发按钮上动态初始化下拉菜单组件,这样无需为触发按钮添加属性 data-toggle="dropdown",以及预先创建下拉菜单列表元素 .dropdown-menu

显示箭头

通过给下拉菜单菜单按钮添加 data-arrow="true" 来使下拉菜单展示箭头。

改变箭头大小

通过给下拉菜单按钮添加 data-arrow={size} 来控制下拉菜单的箭头的大小。

data-arrow = 4
data-arrow = 8
data-arrow = 12

鼠标悬停展开菜单

为触发按钮添加属性 data-trigger="hover" 实现鼠标悬停展开菜单。

浮动方向

通过 data-placement=* 属性控制弹出方向。

data-placement = top-start
data-placement = top
data-placement = top-end
data-placement = bottom-start
data-placement = bottom
data-placement = bottom-end
data-placement = left-start
data-placement = left
data-placement = left-end
data-placement = right-start
data-placement = right
data-placement = right-end

多级子菜单

多级子菜单仅支持通过手动初始化的方式创建。

自定义菜单

通常情况下下拉菜单列表使用 <menu> 元素,你也可以替换为其他元素或内容

51015202530354045505560

禁用的菜单项

为菜单项 <li> 添加 .disabled 类即可获得禁用外观。

标题和分割线

.dropdown-menuli 标签使用 .dropdown-header类 来显示标题,使用 .divider 来创建分割线。

  • CSS 类

    按钮提供了如下 CSS 类:

    类型作用
    dropdown实体类元素作为下拉菜单组件
    dropdown-menu实体类元素作为下拉菜单列表
    dropdown-header实体类元素作为下拉菜单中的标题
    caret实体类元素作为下拉菜单icon图标
    divider实体类元素作为下拉菜单分割线
    dropup工具类下拉框浮动方向为上方

    CSS 变量

    变量名称变量含义
    --dropmenu-radius下拉菜单圆角
    --dropmenu-border-color下拉菜单边框颜色
    --dropmenu-bg下拉菜单背景颜色
    --dropmenu-active-color下拉菜单条目激活状态文字颜色
    --dropmenu-active-bg下拉菜单条目激活状态背景颜色

    API

    操作菜单定义对象。

    trigger

    触发方式

    • 类型:click | hover | manual
    • 必选:否。

    arrow

    箭头大小 为 true 则为默认12

    • 类型:boolean | number
    • 必选:否。

    offset

    偏移量

    • 类型:number
    • 必选:否。

    菜单对象 详细配置可参考 菜单

    • 类型:object
    • 必选:否。

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/lib/components/dtable/index.html b/dev/lib/components/dtable/index.html index 4ea1629d89..dedfa15f2f 100644 --- a/dev/lib/components/dtable/index.html +++ b/dev/lib/components/dtable/index.html @@ -14,8 +14,8 @@ - - + + @@ -360,7 +360,7 @@ render(): void; }

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/lib/components/dtable/plugins.html b/dev/lib/components/dtable/plugins.html index b6fb67a899..c8de5a9a3c 100644 --- a/dev/lib/components/dtable/plugins.html +++ b/dev/lib/components/dtable/plugins.html @@ -14,8 +14,8 @@ - - + + @@ -750,7 +750,7 @@ /* 表头分组名称。 */ headerGroup?: string; }

    更多插件开发中

    • 拖放改变列宽 resize
    • 上下文菜单 contextmenu
    • 快捷键 hotkey
    • 鼠标移动事件支持 mousemove
    • 拖放选择 selectable
    • 过滤 filter
    • 拖放移动 moveable
    • 数据网格 datagrid
    • 编辑状态 draft
    • 可编辑 editable
    • 历史记录 history
    • 自动滚动 autoscroll

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/lib/components/file-selector/index.html b/dev/lib/components/file-selector/index.html index fc6320bdec..2e0d7421c1 100644 --- a/dev/lib/components/file-selector/index.html +++ b/dev/lib/components/file-selector/index.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    文件选择

    界面模式

    文件选择器支持多种界面模式,包括按钮模式、方框模式和网格模式,另外还提供了单独的图片选择器用于选择图片文件。

    按钮模式

    默认模式为按钮模式,点击按钮选择文件,所选择的文件会显示在按钮上方。

    方框模式

    通过设置 mode 属性为 'box' 可以切换为方框模式,所选择的文件会显示在方框下方。方框模式提供了更大的拖放文件放置区域。

    网格模式

    通过设置 mode 属性为 'grid' 可以切换为网格模式,所选择的文件会显示在网格中。网格模式提供了更大的文件预览区域。

    图片选择

    图片选择是基于网格模式的一种预设模式,通过 ImageSelector 可以快速创建一个图片选择器。

    文件限制

    限制文件类型

    通过 accept 来限制文件类型,可以使用 MIME 类型、文件扩展名或通配符,定义与 HTML 的 accept 属性相同。

    限制文件大小

    通过 maxFileSize 来限制单个文件大小,通过 totalFileSize 来限制总文件大小。

    限制文件数目

    通过 maxFileCount 来限制文件数目,如果设置为非大于 0 的数则不限制。

    预设文件

    通过设置 defaultFiles 属性可以预设文件列表,预设文件不会触发 onAdd 回调函数和 onSelect 回调函数。

    禁用

    通过设置 disabled 属性为 true 可以禁用文件选择器。

    个性化配置

    提示信息

    通过 tip 属性可以设置提示信息,在提示信息中可以使用如下占位文本:

    • {size}:文件总大小;
    • {count}:文件数目;
    • {maxFileSize}:最大文件大小;
    • {maxFileCount}:最大文件数目。

    文件图标

    通过设置 fileIcons 属性可以为不同类型的文件(根据扩展名)显示不同的图标。

    显示缩略图

    默认会为图片文件显示缩略图,通过设置 thumbnail 属性为 false 可以关闭缩略图显示。

    文件拖放

    默认情况下用户可以拖放文件到文件选择器中,通过设置 draggable 属性为 false 可以禁用拖放。

    一次选择一个文件

    默认情况下用户可以在操作系统文件选择对话框中一次选择多个文件,通过设置 multiple 属性为 false 可以限制一次只能选择一个文件。

    网格模式配置

    网格模式下可以通过设置 gridWidthgridHeightgridGap 来调整网格的宽度、高度和间距。

    自定义文件上传按钮

    通过设置 uploadBtn 属性可以自定义文件上传按钮。

    文件操作

    文件重命名

    默认情况下支持对文件进行重命名,通过设置 renameBtn 属性为 false 可以禁用重命名按钮,通过为 renameBtn 属性设置字符串可以自定义重命名按钮的文字,通过为 renameBtn 属性设置对象可以自定义重命名按钮。

    文件移除

    默认情况下支持对文件进行移除,通过设置 removeBtn 属性为 false 可以禁用移除按钮,通过为 removeBtn 属性设置字符串可以自定义移除按钮的文字,通过为 removeBtn 属性设置对象可以自定义移除按钮。

    自定义操作提示信息

    通过设置 removeConfirmduplicatedTipexceededSizeTipexceededTotalSizeTipexceededCountTip 属性可以自定义操作提示信息。

    在提示信息中可以使用如下占位文本:

    • {name}:当前文件名;
    • {size}:当前文件大小;
    • {count}:当前已选择文件数目;
    • {maxFileSize}:最大文件大小;
    • {maxFileCount}:最大文件数目;
    • {totalFileSize}:最大文件数目,仅适用于 exceededTotalSizeTip 提示;
    • {exceededCount}:超出数量,仅适用于 exceededCountTip 提示。

    操作拦截

    通过设置 onRenameonRemoveonAddonRemove 选项设置回调函数可以拦截文件操作,通常在回调函数中返回 false 可以阻止继续操作,相关回调函数定义参加选项和 API。

    文件限制拦截

    通过设置 onDuplicatedonExceededSizeonExceededTotalSizeonExceededCount 选项可以在触发文件限制时拦截文件操作,通过在回调函数中返回 true 来忽略文件限制,相关回调函数定义参加选项和 API。

    选项

    FileSelectorProps

    名称类型默认值说明
    namestringnull作为表单字段的名称。 accept?: string; // 限制文件类型。 disabled?: boolean; // 是否禁用。 mode?: 'button' | 'box' | 'grid' = "button"; // 界面模式。 tip?: string; // 提示信息。 thumbnail?: boolean=true; // 是否显示缩略图。 gridWidth?: string | number; // 网格模式的宽度。 gridHeight?: string | number; // 网格模式的高度。 gridGap?: string | number; // 网格模式的间距。 defaultFiles?: DefaltFileInfo[]; // 默认显示的文件列表。 multiple?: boolean = true; // 是否允许在文件选择对话框中一次性选择多个文件(需要操作系统支持)。 itemProps?: ButtonProps | FileButtonGenerator; // 文件项的属性。 draggable?: boolean = true; // 是否允许拖拽。 fileIcons?: IconType | Record = "file"; // 文件图标。 uploadBtn?: string | ButtonProps; // 上传按钮。 renameBtn?: boolean | string | ButtonProps | FileButtonGenerator = true; // 重命名按钮。 removeBtn?: boolean | string | ButtonProps | FileButtonGenerator = true; // 删除按钮。 removeConfirm?: string | ModalConfirmOptions; // 删除确认提示。 maxFileSize?: FileSize = "100MB"; // 限制文件大小。 maxFileCount?: number = 0; // 限制文件数目,如果设置为非大于 0 的数则不限制。 totalFileSize?: FileSize; // 限制总文件大小,如果设置为非大于 0 的数则不限制。 allowSameName?: boolean; // 是否允许同名文件。 duplicatedTip?: string | ModalAlertOptions; // 重名提示。 exceededSizeTip?: string | ModalAlertOptions; // 超出大小提示。 exceededTotalSizeTip?: string | ModalAlertOptions; // 超出总大小提示。 exceededCountTip?: string | ModalAlertOptions; // 超出数量提示。 onSelect?: FileSelectCallback; // 选择文件时的回调。 onAdd?: FileAddCallback; // 添加文件时的回调。 onRemove?: RemoveFileCallback; // 删除文件时的回调。 onRename?: RenameFileCallback; // 重命名文件时的回调,返回 false 取消重命名。 onDuplicated?: DuplicatedCallback; // 重名时的回调,返回 true 保留重复文件。 onExceededSize?: ExceededLimitCallback; // 超出大小时的回调,返回 true 保留超出大小文件。 onExceededTotalSize?: ExceededLimitCallback; // 超出总大小时的回调,返回 true 保留超出总大小文件。 onExceededCount?: ExceededLimitCallback; // 超出数量时的回调,返回 true 保留超出数量文件。

    API

    FileInfo

    文件信息对象。

    名称类型默认值说明
    namestring文件名。 size: number; // 文件大小。 id: string; // 文件唯一标识。 type: string; // 文件类型。 ext: string; // 文件扩展名。 url?: string; // 文件地址。 file?: File; // 文件对象。

    StaticFileInfo

    预设文件信息对象。

    名称类型默认值说明
    namestring文件名。 size: FileSize; // 文件大小。 type?: string; // 文件类型。 id?: string; // 文件唯一标识。 url?: string; // 文件地址。

    FileSize

    文件大小,字节数或带单位的大小,例如 1024'1KB'

    ts
    type FileSize = number | `${number}${'B' | 'KB' | 'MB' | 'GB' | 'TB'}`;

    DefaltFileInfo

    默认文件信息对象。

    ts
    type DefaltFileInfo = File | FileInfo | StaticFileInfo;

    FileButtonGenerator

    文件操作按钮属性生成器,返回 false 不显示按钮,返回 true 使用默认按钮,返回字符串使用默认按钮并设置文字,返回对象使用自定义按钮。

    ts
    type FileButtonGenerator = ((file: FileInfo) => (boolean | string | ButtonProps));

    FileAddCallback

    添加文件时的回调函数,返回 false 取消添加文件。

    ts
    type FileAddCallback = (file: FileInfo) => void | false;

    FileSelectCallback

    选择文件时的回调函数。

    ts
    type FileSelectCallback = (files: File[] | FileList) => void | false;

    RemoveFileCallback

    删除文件时的回调函数。

    ts
    (file: FileInfo) => void | false | Promise<void | false>;

    RenameFileCallback

    重命名文件时的回调函数,返回 false 取消重命名。

    ts
    type RenameFileCallback = (newName: string, oldName: string, file: FileInfo) => void | false | Promise<void | false>;

    DuplicatedCallback

    重名时的回调,返回 true 保留重复文件。

    ts
    type DuplicatedCallback = (name: string, currentFile: FileInfo, existFile: FileInfo) => void | true;

    ExceededLimitCallback

    超出限制时的回调函数,返回 true 忽略限制,否则取消添加文件。

    ts
    type ExceededLimitCallback = (limit: number, file: FileInfo) => void | true;

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/lib/components/kanban/index.html b/dev/lib/components/kanban/index.html index d1901c6f02..e9c4faabe3 100644 --- a/dev/lib/components/kanban/index.html +++ b/dev/lib/components/kanban/index.html @@ -14,14 +14,14 @@ - - + + - + \ No newline at end of file diff --git a/dev/lib/components/label/index.html b/dev/lib/components/label/index.html index 233f9a7290..d0c052df77 100644 --- a/dev/lib/components/label/index.html +++ b/dev/lib/components/label/index.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    标签

    标签通常用于对内容进行标记。

    使用方法

    使用 .label 类来获得标签的外观和交互体验,通常用在元素 <span> 上。

    标签

    外观类型

    配合丰富的CSS 工具类来实现不同标签的外观。

    主要标签黑色标签描边浅色

    尺寸

    除了默认大小,标签还提供了额外的 2 种预设尺寸。

    小标签普通大小大标签

    圆角

    通过工具类 rounded-* 来应用不同的圆角样式。

    无圆角小圆角普通圆角中等圆角大圆角超大圆角完整圆角

    圆点标签

    当与工具类 label-dot 一起使用时则获得圆点标签。

    与按钮组合使用

    CSS 类

    标签提供了如下 CSS 类:

    类型作用
    label实体类元素作为标签组件
    label-dot工具类标签使用圆形外观
    size-sm工具类标签使用小号尺寸
    size-lg工具类标签使用大号尺寸

    CSS 变量

    变量名称变量含义
    --label-bg标签背景色
    --label-color标签文字颜色
    --label-border-color标签边框颜色
    --label-radius标签圆角

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/lib/components/menu/index.html b/dev/lib/components/menu/index.html index cd58308627..cdc520f6d2 100644 --- a/dev/lib/components/menu/index.html +++ b/dev/lib/components/menu/index.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    菜单

    菜单用于展示一个操作列表,也可以用于构建更复杂的组件,例如右键菜单、下拉菜单等。如果需要通过 JS 动态创建菜单,可以使用菜单生成器

    使用方法

    使用类 .menu.menu-item 按照如下结构来构建一个静态菜单:

    标题

    使用类 .menu-heading 来创建一个标题:

    分割线

    使用类 .divider 来添加一个分割线:

    包含图标

    可以在菜单项内添加图标,但如果是部分菜单项拥有图标,可以通过为 .menu 添加工具类 .has-icons 来让图标以及文本进行对齐:

    禁用的菜单项

    .menu-item 添加工具类 .disabled 来将菜单项禁用:

    标记激活项

    .menu-item 内的 <a> 元素添加工具类 .active 来将菜单项标记为激活状态:

    标记选中项

    .menu-item 内的 <a> 元素添加工具类 .active 来将菜单项标记为选中项状态:

    尾部图标

    直接将图标 .icon 元素添加到菜单项 .menu-item 内尾部,图标将自动靠右侧对齐:

    自定义菜单项

    .menu 内可以放置其他内容来自定义菜单项:

    CSS 类

    头像提供了如下 CSS 类:

    类型作用
    menu实体类元素作为菜单
    menu-item实体类元素作为菜单项
    menu-heading实体类元素作为菜单标题
    divider实体类元素作为分割线
    has-icons工具类menu 一起使用,标记菜单内包含图标
    active工具类标记菜单项为激活状态
    selected工具类标记菜单项为选中状态
    disabled工具类标记菜单项为禁用状态

    CSS 变量

    头像提供了如下 CSS 变量,可进行全局修改:

    CSS 变量名作用默认值
    --menu-radius菜单圆角var(--radius)
    --menu-bg菜单背景颜色var(--color-canvas)
    --menu-border菜单边框1px solid var(--color-border)
    --menu-shadow菜单阴影var(--shadow-lg)
    --menu-hover-bg菜单项鼠标悬停背景色var(--color-primary-500)
    --menu-hover-color菜单项鼠标悬停文字颜色var(--color-canvas)
    --menu-active-bg菜单项激活状态背景色var(--color-primary-50)
    --menu-active-color菜单项激活状态文字颜色var(--color-primary-500)
    --menu-icon-opacity菜单项图标透明度.5
    --menu-heading-color菜单标题文字颜色var(--color-gray-500)

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/lib/components/menu/js.html b/dev/lib/components/menu/js.html index 2274a9002c..689de00c01 100644 --- a/dev/lib/components/menu/js.html +++ b/dev/lib/components/menu/js.html @@ -14,8 +14,8 @@ - - + + @@ -150,7 +150,7 @@ key?: string | number, items?: MenuListItem[], };

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/lib/components/messager/index.html b/dev/lib/components/messager/index.html index ef5e1792c7..afff2208e4 100644 --- a/dev/lib/components/messager/index.html +++ b/dev/lib/components/messager/index.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    浮动消息

    通过 JS 动态创建一个浮动消息。

    基本用法

    通过构造一个 messager 实例,页面上创建一个浮动消息。

    显示位置

    提供 9 个预设的显示位置,通过 placement 选项进行指定。

    颜色主题

    提供多种预设颜色主题,通过 type 选项指定外观工具类即可。

    禁用关闭按钮

    默认会在右侧显示关闭按钮,如果需要禁用关闭按钮,将 close 选项设置为 false

    自定义操作按钮

    通过 actions 数组来自定义一组操作。详细配置可参考 工具栏

    禁用自动隐藏

    默认超过 5000ms 自动隐藏,通过设置 time0 取消自动隐藏。

    禁用动画效果

    设置 animationfalse 禁用动画效果。

    选项

    名称类型默认值说明
    typestringnull消息类型 placement?: string; // 浮动消息定位方式,支持 'top' | 'center' | 'bottom' | 'left-top' | 'left' | 'left-bottom' | 'right' | 'right-top' | 'right-bottom' time?: number; // 浮动消息持续时间 content?: string; // 浮动消息内容 icon?: string; // 图标名称 actions?: object[]; // 操作按钮定义列表 margin?: number; // 外边距

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/lib/components/modal/index.html b/dev/lib/components/modal/index.html index 6a62d9677a..47fae19c3e 100644 --- a/dev/lib/components/modal/index.html +++ b/dev/lib/components/modal/index.html @@ -14,14 +14,14 @@ - - + + -
    Skip to content

    对话框

    在保留当前页面状态的情况下,直接使用触发按钮即可展现对话框,告知用户展示相关操作。

    使用方法

    使用 .modal.modal-dialog 类获得对话框的外观展示,通常用在元素 <div> 上。使用 [data-toggle="modal"] 指定对话框触发按钮,在触发按钮上通过 data-target 属性指定要打开的对话框。

    点击 a 标签按钮打开

    自定义位置

    使用 data-position 自定义设置对话框位置。可设置 fitcenter 或其具体像素值。

    尺寸

    除了默认大小,还提供了额外的 3 种预设尺寸。

    信息提示

    展示各种类型的信息提示,只提供一个按钮用于关闭。

    控制遮罩层

    通过 data-backdrop="false" 移除遮罩层,设置后可以操作模态框之外的交互。

    CSS 类

    对话框提供了如下 CSS 类:

    类型作用
    modal实体类元素作为对话框遮罩组件
    modal-dialog实体类元素作为对话框组件
    size-sm工具类对话框使用小号尺寸
    size-lg工具类对话框使用大号尺寸
    size-xl工具类对话框使用超大号尺寸

    CSS 变量

    对话框提供了如下 CSS 变量,可进行全局修改。

    CSS 变量名作用
    --modal-radius对话框默认圆角大小
    --modal-bg对话框遮挡层颜色
    --modal-sm对话框小号尺寸宽度
    --modal-base对话框默认宽度
    --modal-lg对话框大号尺寸宽度
    --modal-xl对话框超大号尺寸宽度

    MIT License (MIT)

    - +
    Skip to content

    对话框

    在保留当前页面状态的情况下,直接使用触发按钮即可展现对话框,告知用户展示相关操作。

    使用方法

    使用 .modal.modal-dialog 类获得对话框的外观展示,通常用在元素 <div> 上。使用 [data-toggle="modal"] 指定对话框触发按钮,在触发按钮上通过 data-target 属性指定要打开的对话框。

    点击 a 标签按钮打开

    自定义位置

    使用 data-position 自定义设置对话框位置。可设置 fitcenter 或其具体像素值。

    尺寸

    除了默认大小,还提供了额外的 3 种预设尺寸。

    信息提示

    展示各种类型的信息提示,只提供一个按钮用于关闭。

    控制遮罩层

    通过 data-backdrop="false" 移除遮罩层,设置后可以操作模态框之外的交互。

    CSS 类

    对话框提供了如下 CSS 类:

    类型作用
    modal实体类元素作为对话框遮罩组件
    modal-dialog实体类元素作为对话框组件
    size-sm工具类对话框使用小号尺寸
    size-lg工具类对话框使用大号尺寸
    size-xl工具类对话框使用超大号尺寸

    CSS 变量

    对话框提供了如下 CSS 变量,可进行全局修改。

    CSS 变量名作用
    --modal-radius对话框默认圆角大小
    --modal-bg对话框遮挡层颜色
    --modal-sm对话框小号尺寸宽度
    --modal-base对话框默认宽度
    --modal-lg对话框大号尺寸宽度
    --modal-xl对话框超大号尺寸宽度

    MIT License (MIT)

    + \ No newline at end of file diff --git a/dev/lib/components/modal/trigger.html b/dev/lib/components/modal/trigger.html index a166c94801..bfb360841f 100644 --- a/dev/lib/components/modal/trigger.html +++ b/dev/lib/components/modal/trigger.html @@ -14,18 +14,18 @@ - - + + -
    Skip to content

    对话框触发器

    对话框触发器允许你不需要书写静态对话框 HTML,直接使用触发按钮或者一行 JS 代码即可让一个全新的对话框展现。支持使用 Ajax 从远程获取内容,或者通过 iframe 加载任何页面内容,当然不使用远程内容,直接使用本地内容也是很方便。

    Ajax 对话框

    在对话框触发按钮上通过 data-url 属性指定远程内容的 URL 地址。

    Ajax 对话框支持手动通过 Modal.open 方法按需打开:

    js
    zui.Modal.open({
    +    
    Skip to content

    对话框触发器

    对话框触发器允许你不需要书写静态对话框 HTML,直接使用触发按钮或者一行 JS 代码即可让一个全新的对话框展现。支持使用 Ajax 从远程获取内容,或者通过 iframe 加载任何页面内容,当然不使用远程内容,直接使用本地内容也是很方便。

    Ajax 对话框

    在对话框触发按钮上通过 data-url 属性指定远程内容的 URL 地址。

    Ajax 对话框支持手动通过 Modal.open 方法按需打开:

    js
    zui.Modal.open({
         url: '/assets/modal/ajax-modal.html',
    -});

    iframe 对话框

    在对话框触发按钮上通过 data-type="iframe" 属性指定对话框类型为 iframe 对话框,然后通过 data-url 属性指定对话框内容页面地址。

    iframe 对话框支持手动通过 Modal.open 方法按需打开:

    js
    zui.Modal.open({
    +});

    iframe 对话框

    在对话框触发按钮上通过 data-type="iframe" 属性指定对话框类型为 iframe 对话框,然后通过 data-url 属性指定对话框内容页面地址。

    iframe 对话框支持手动通过 Modal.open 方法按需打开:

    js
    zui.Modal.open({
         type: 'iframe',
         url: '/assets/modal/iframe-modal.html',
    -});

    自定义信息提示弹窗

    在对话框触发按钮上通过 data-title 属性指定对话框标题,通过 data-content 属性指定对话框内容。

    iframe 对话框支持手动通过 Modal.open 方法按需打开:

    js
    zui.Modal.open({
    +});

    自定义信息提示弹窗

    在对话框触发按钮上通过 data-title 属性指定对话框标题,通过 data-content 属性指定对话框内容。

    iframe 对话框支持手动通过 Modal.open 方法按需打开:

    js
    zui.Modal.open({
         title: '自定义对话框',
         content: '这里是对话框内容',
     });

    系统对话框

    警告框

    通过 zui.Modal.alert() 方法可以打开一个警告框,该方法定义如下:

    ts
    /* 直接指定要提示的消息文本 */
    @@ -47,15 +47,15 @@
     
         /* 当点击提示按钮时的回调函数 */
         onClickAction?: (item: ToolbarItemOptions, modal: Modal) => false | void;
    -}

    该方法会通过 Promise 异步返回用户点击的按钮名称。

    下面为一个示例:

    确认框

    通过 Modal.confirm() 方法可以打开一个确认框,该方法定义如下:

    ts
    /* 直接指定要提示的消息文本 */
    +}

    该方法会通过 Promise 异步返回用户点击的按钮名称。

    下面为一个示例:

    确认框

    通过 Modal.confirm() 方法可以打开一个确认框,该方法定义如下:

    ts
    /* 直接指定要提示的消息文本 */
     Modal.confirm(message: string): Promise<string | undefined>;
     
     /* 通过一个选项对象定义个性化对话框 */
     Modal.confirm(options: ModalComfirmOptions): Promise<string | undefined>;

    其中参数定义如下:

    • message:要提示的消息文本;
    • options:一个警告框选项对象 ModalConfirmOptions,定义如下:
    ts
    interface ModalConfirmOptions extends ModalAlertOptions {
         /* 当用户点击确认或取消时的回调函数 */
         onResult?: (confirmed: boolean, modal: Modal) => void;
    -}

    该方法会通过 Promise 异步返回用户点击的按钮名称。

    下面为一个示例:

    MIT License (MIT)

    - +}

    该方法会通过 Promise 异步返回用户点击的按钮名称。

    下面为一个示例:

    MIT License (MIT)

    + \ No newline at end of file diff --git a/dev/lib/components/nav/index.html b/dev/lib/components/nav/index.html index d50b296645..8b72724b1b 100644 --- a/dev/lib/components/nav/index.html +++ b/dev/lib/components/nav/index.html @@ -14,8 +14,8 @@ - - + + @@ -24,7 +24,7 @@ <li class="nav-heading">导航标题</li> ... </menu>

    导航样式

    除了默认样式,还可以通过修饰类为导航应用不同的样式。

    主要导航 .nav-primary

    次要导航 .nav-secondary

    圆点导航 .nav-pills

    标签导航 .nav-tabs

    步骤条 .nav-steps

    垂直排列

    使用修饰类 nav-stacked 使导航获得垂直排列样式,可搭配其他各种样式的导航使用。

    .nav-primary
    .nav-secondary
    .nav-pills
    .nav-tabs

    自适应宽度的导航

    使用修饰类 nav-justified 使导航获得自适应宽度样式,可搭配其他各种样式的导航使用。

    提示

    自适应宽度修饰类不能和垂直排列修饰类混用。

    CSS 类

    导航提供了如下 CSS 类

    类型作用
    nav实体类元素导航组件
    nav-item实体类元素导航条目组件
    nav-heading实体类导航标题组件
    nav-divider实体类导航分割线组件
    active修饰类为导航元素启用选中态样式
    nav-simple修饰类为导航元素启用简单样式
    nav-primary修饰类为导航元素启用主要导航样式
    nav-secondary修饰类为导航元素启用次要导航样式
    nav-tabs修饰类为导航元素启用标签风格导航样式
    nav-pills修饰类为导航元素启用标签风格导航样式
    nav-stacked修饰类为导航元素启用垂直排列导航样式
    nav-justified修饰类为导航元素启用自适应宽度导航样式

    CSS 变量

    变量名称变量含义
    --nav-heading-color导航标题字体颜色

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/lib/components/nav/js.html b/dev/lib/components/nav/js.html index d17b0b3a79..073410d140 100644 --- a/dev/lib/components/nav/js.html +++ b/dev/lib/components/nav/js.html @@ -14,8 +14,8 @@ - - + + @@ -62,7 +62,7 @@ afterRender?: (info: {nav: nav, firstRender: boolean}) => void; beforeDestroy?: (info: {nav: nav}) => void; }

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/lib/components/pager/index.html b/dev/lib/components/pager/index.html index 34455b12f4..7bd83d8fca 100644 --- a/dev/lib/components/pager/index.html +++ b/dev/lib/components/pager/index.html @@ -14,14 +14,14 @@ - - + + -
    Skip to content

    分页

    使用方法

    将多个按钮放置在 <div class="pager"> 内即可创建一个分页组件。

    简洁样式

    简单的翻页。

    状态

    为分页按钮添加 active 类标记选中,添加 disabled 类来禁用页码,被禁用的页码将无法响应点击事件。

    外观

    分页按钮间距

    使用 gap-* CSS 工具类 可获得宽松的分页组件。

    两边对齐

    结合使用 justify-between CSS 工具类 可获得页面两端对齐的分页组件。

    尺寸

    除了默认大小,还提供了额外的 2 种预设尺寸。可以通过为 pager 添加 size-* 类来获取其他尺寸外观。

    调整每页显示数

    结合使用 dropdown 下拉菜单组件 可展示调整每页显示数的分页组件。

    前往页码

    结合使用 input-group 输入组组件 可展示快速跳转到某一页的分页组件。

    CSS 类

    分页提供了如下 CSS 类:

    类型作用
    pager实体类元素作为分页组件
    pager-goto实体类元素作为分页的跳转组件
    pager-size-menu实体类元素作为分页的每页条数的下拉组件

    MIT License (MIT)

    - +
    Skip to content

    分页

    使用方法

    将多个按钮放置在 <div class="pager"> 内即可创建一个分页组件。

    简洁样式

    简单的翻页。

    状态

    为分页按钮添加 active 类标记选中,添加 disabled 类来禁用页码,被禁用的页码将无法响应点击事件。

    外观

    分页按钮间距

    使用 gap-* CSS 工具类 可获得宽松的分页组件。

    两边对齐

    结合使用 justify-between CSS 工具类 可获得页面两端对齐的分页组件。

    尺寸

    除了默认大小,还提供了额外的 2 种预设尺寸。可以通过为 pager 添加 size-* 类来获取其他尺寸外观。

    调整每页显示数

    结合使用 dropdown 下拉菜单组件 可展示调整每页显示数的分页组件。

    前往页码

    结合使用 input-group 输入组组件 可展示快速跳转到某一页的分页组件。

    CSS 类

    分页提供了如下 CSS 类:

    类型作用
    pager实体类元素作为分页组件
    pager-goto实体类元素作为分页的跳转组件
    pager-size-menu实体类元素作为分页的每页条数的下拉组件

    MIT License (MIT)

    + \ No newline at end of file diff --git a/dev/lib/components/pager/js.html b/dev/lib/components/pager/js.html index be8bcdbc51..1074990230 100644 --- a/dev/lib/components/pager/js.html +++ b/dev/lib/components/pager/js.html @@ -14,8 +14,8 @@ - - + + @@ -167,7 +167,7 @@ render(element, <Pager {...options} />);

    使用Jquery 扩展

    js
    $(element).pager(options);
     
     const pager = $(element).data('zui.pager');

    选项

    linkCreator

    导航链接生成器,点击页码时进行页面地址更换。

    • 类型:string | ((info: PagerInfo) => string)
    • 必选:否

    page

    初始状态的当前页码。

    • 类型:number

    recTotal

    总记录数目。

    • 类型:number

    recPerPage

    每页记录数。

    • 类型:number

    pageTotal

    总页数。

    • 类型:number

    items

    定义分页项的列表,可以通过一个函数动态返回分页组件。

    基于 工具栏 选项 和 自定义 PagerItemOptions 选项。

    onClickItem

    指定分页按钮的点击回调事件。

    API

    PagerInfo

    参数:

    page

    • 含义:初始状态的当前页码;
    • 类型:number

    recTotal

    • 含义:总记录数目;
    • 类型:number

    recPerPage

    • 含义:每页记录数;
    • 类型:number

    pageTotal

    • 含义:总页数;
    • 类型:number

    PagerItemOptions

    参数:

    type

    • 含义:子项类型;
    • 类型:string
    • 可选项:info | link | nav | size-menu | goto

    page

    • 含义:页码名称;
    • 类型:'first' | 'last' | 'prev' | 'next' | 'current' | number

    text

    • 含义:指定类型为 info | size-menu 的显示文案;
    • 类型:string | ((info: PagerInfo) => string)

    count

    • 含义:指定类型为 nav 的展示数量;
    • 类型:number

    format

    • 含义:指定类型为 link | nav 的显示格式;
    • 类型:string | ((info: PagerInfo) => string)
    • 含义:指定下拉菜单的属性;
    • 类型:object

    items

    • 含义:指定类型为 size-menu 下拉菜单里的选项;
    • 类型:number[]

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/lib/components/panel/index.html b/dev/lib/components/panel/index.html index 4ce9ddd5fd..de82469f2a 100644 --- a/dev/lib/components/panel/index.html +++ b/dev/lib/components/panel/index.html @@ -14,14 +14,14 @@ - - + + -
    Skip to content

    面板

    基本使用

    一个面板通常包含标题,内容,底部三部分。标题,底部可按需选择使用。

    面板标题

    面板内容

    不同主题

    除默认主题外,另外提供6种主题样式。

    面板标题
    面板内容
    面板标题
    面板内容
    面板标题
    面板内容
    面板标题
    面板内容
    面板标题
    面板内容
    面板标题
    面板内容

    面板组

    搭配CSS工具类 space-* 可实现面板组效果。

    面板标题
    面板内容
    面板标题
    面板内容
    面板标题
    面板内容

    与表格组合使用

    包含表格
    项目名称负责人计划开始计划完成
    ZUI1研发今天今天
    ZUI2研发明天明天
    ZUI3研发后天后天

    CSS 类

    面板提供了如下 CSS 类:

    类型作用
    panel实体类元素作为面板组件
    panel-heading实体类元素作为面板头部组件
    panel-title实体类元素作为面板头部标题组件
    panel-body实体类元素作为面板主体组件
    panel-footer实体类元素作为面板尾部组件

    CSS 变量

    面板提供了如下 CSS 变量:

    变量名称变量含义
    --panel-heading-bg标题背景色
    --panel-footer-bg底部背景色

    MIT License (MIT)

    - +
    Skip to content

    面板

    基本使用

    一个面板通常包含标题,内容,底部三部分。标题,底部可按需选择使用。

    面板标题

    面板内容

    不同主题

    除默认主题外,另外提供6种主题样式。

    面板标题
    面板内容
    面板标题
    面板内容
    面板标题
    面板内容
    面板标题
    面板内容
    面板标题
    面板内容
    面板标题
    面板内容

    面板组

    搭配CSS工具类 space-* 可实现面板组效果。

    面板标题
    面板内容
    面板标题
    面板内容
    面板标题
    面板内容

    与表格组合使用

    包含表格
    项目名称负责人计划开始计划完成
    ZUI1研发今天今天
    ZUI2研发明天明天
    ZUI3研发后天后天

    CSS 类

    面板提供了如下 CSS 类:

    类型作用
    panel实体类元素作为面板组件
    panel-heading实体类元素作为面板头部组件
    panel-title实体类元素作为面板头部标题组件
    panel-body实体类元素作为面板主体组件
    panel-footer实体类元素作为面板尾部组件

    CSS 变量

    面板提供了如下 CSS 变量:

    变量名称变量含义
    --panel-heading-bg标题背景色
    --panel-footer-bg底部背景色

    MIT License (MIT)

    + \ No newline at end of file diff --git a/dev/lib/components/progress-circle/index.html b/dev/lib/components/progress-circle/index.html index 9c94873027..7df993bb81 100644 --- a/dev/lib/components/progress-circle/index.html +++ b/dev/lib/components/progress-circle/index.html @@ -14,14 +14,14 @@ - - + + - - + + \ No newline at end of file diff --git a/dev/lib/components/progress/index.html b/dev/lib/components/progress/index.html index b5d5af8459..387446b65d 100644 --- a/dev/lib/components/progress/index.html +++ b/dev/lib/components/progress/index.html @@ -14,14 +14,14 @@ - - + + -
    Skip to content

    进度条

    使用方法

    使用 CSS 类 .progress.progress-bar 来创建进度条,通过为 .progress-bar 设置 CSS width 来展示进度。

    颜色主题

    .progress-bar 元素添加 .* 等颜色CSS工具类,得到各种颜色的进度条。

    圆角大小

    .progress 元素添加 .rounded-* CSS工具类,给进度条添加不同大小的圆角。

    特殊效果

    条纹效果

    .progress 元素添加 .progress-striped 工具类,给进度条添加条纹效果。

    动画效果

    给使用了 progress-striped 工具类的元素添加 .active 工具类,给条纹进度条添加向左滑动的动画。

    堆叠效果

    .progress 元素添加多个 progress-bar 元素,使多个进度条堆叠展示。

    CSS 类

    进度条提供了如下 CSS 类:

    类型作用
    progress实体类元素作为进度条容器组件
    progress-bar实体类元素作为进度条组件
    progress-striped工具类为进度条组件启用条纹样式
    active工具类为条纹样式进度条组件启用动画效果

    CSS 变量

    变量名称变量含义
    --progress-bg进度条组件背景颜色
    --progress-bar-color进度条组件颜色
    --progress-radius进度条组件圆角大小
    --progress-striped-size进度条组件条纹大小

    MIT License (MIT)

    - +
    Skip to content

    进度条

    使用方法

    使用 CSS 类 .progress.progress-bar 来创建进度条,通过为 .progress-bar 设置 CSS width 来展示进度。

    颜色主题

    .progress-bar 元素添加 .* 等颜色CSS工具类,得到各种颜色的进度条。

    圆角大小

    .progress 元素添加 .rounded-* CSS工具类,给进度条添加不同大小的圆角。

    特殊效果

    条纹效果

    .progress 元素添加 .progress-striped 工具类,给进度条添加条纹效果。

    动画效果

    给使用了 progress-striped 工具类的元素添加 .active 工具类,给条纹进度条添加向左滑动的动画。

    堆叠效果

    .progress 元素添加多个 progress-bar 元素,使多个进度条堆叠展示。

    CSS 类

    进度条提供了如下 CSS 类:

    类型作用
    progress实体类元素作为进度条容器组件
    progress-bar实体类元素作为进度条组件
    progress-striped工具类为进度条组件启用条纹样式
    active工具类为条纹样式进度条组件启用动画效果

    CSS 变量

    变量名称变量含义
    --progress-bg进度条组件背景颜色
    --progress-bar-color进度条组件颜色
    --progress-radius进度条组件圆角大小
    --progress-striped-size进度条组件条纹大小

    MIT License (MIT)

    + \ No newline at end of file diff --git a/dev/lib/components/scrollbar/index.html b/dev/lib/components/scrollbar/index.html index 060c3fa75f..d9582c0a1b 100644 --- a/dev/lib/components/scrollbar/index.html +++ b/dev/lib/components/scrollbar/index.html @@ -14,14 +14,14 @@ - - + + -
    Skip to content

    滚动条

    滚动条样式

    Lorem ipsum dolor sit amet consectetur adipisicing elit. Veniam, accusamus.Molestiae saepe deleniti voluptas excepturi nostrum. Consequatur eius non voluptates!Commodi omnis minus quo totam, ab aspernatur sequi vero cum?

    Explicabo asperiores recusandae qui? Aliquam similique eaque animi nemo? Fugiat.Cupiditate eaque, doloribus magnam velit ipsum maiores voluptatum eveniet rem!

    Pariatur sapiente laboriosam cumque itaque, id saepe commodi accusantium neque?

    Cupiditate eaque, doloribus magnam velit ipsum maiores voluptatum eveniet rem!

    Quidem eum, reiciendis iusto rem perspiciatis neque optio! Quae, sint!

    Maxime animi iure enim sint aperiam tempora non voluptatibus dolore.

    Suscipit cumque minus veritatis labore dolor corporis molestias. Rem, pariatur.

    Commodi omnis minus quo totam, ab aspernatur sequi vero cum?

    Repellendus rerum tempora eos praesentium at placeat, quas quibusdam sunt?

    Molestiae saepe deleniti voluptas excepturi nostrum. Consequatur eius non voluptates!

    窄滚动条样式

    Lorem ipsum dolor sit amet consectetur adipisicing elit. Veniam, accusamus.Molestiae saepe deleniti voluptas excepturi nostrum. Consequatur eius non voluptates!Commodi omnis minus quo totam, ab aspernatur sequi vero cum?

    Explicabo asperiores recusandae qui? Aliquam similique eaque animi nemo? Fugiat.Cupiditate eaque, doloribus magnam velit ipsum maiores voluptatum eveniet rem!

    Pariatur sapiente laboriosam cumque itaque, id saepe commodi accusantium neque?

    Cupiditate eaque, doloribus magnam velit ipsum maiores voluptatum eveniet rem!

    Quidem eum, reiciendis iusto rem perspiciatis neque optio! Quae, sint!

    Maxime animi iure enim sint aperiam tempora non voluptatibus dolore.

    Suscipit cumque minus veritatis labore dolor corporis molestias. Rem, pariatur.

    Commodi omnis minus quo totam, ab aspernatur sequi vero cum?

    Repellendus rerum tempora eos praesentium at placeat, quas quibusdam sunt?

    Molestiae saepe deleniti voluptas excepturi nostrum. Consequatur eius non voluptates!

    仅鼠标悬停时显示

    Lorem ipsum dolor sit amet consectetur adipisicing elit. Veniam, accusamus.Molestiae saepe deleniti voluptas excepturi nostrum. Consequatur eius non voluptates!Commodi omnis minus quo totam, ab aspernatur sequi vero cum?

    Explicabo asperiores recusandae qui? Aliquam similique eaque animi nemo? Fugiat.Cupiditate eaque, doloribus magnam velit ipsum maiores voluptatum eveniet rem!

    Pariatur sapiente laboriosam cumque itaque, id saepe commodi accusantium neque?

    Cupiditate eaque, doloribus magnam velit ipsum maiores voluptatum eveniet rem!

    Quidem eum, reiciendis iusto rem perspiciatis neque optio! Quae, sint!

    Maxime animi iure enim sint aperiam tempora non voluptatibus dolore.

    Suscipit cumque minus veritatis labore dolor corporis molestias. Rem, pariatur.

    Commodi omnis minus quo totam, ab aspernatur sequi vero cum?

    Repellendus rerum tempora eos praesentium at placeat, quas quibusdam sunt?

    Molestiae saepe deleniti voluptas excepturi nostrum. Consequatur eius non voluptates!

    MIT License (MIT)

    - +
    Skip to content

    滚动条

    滚动条样式

    Lorem ipsum dolor sit amet consectetur adipisicing elit. Veniam, accusamus.Molestiae saepe deleniti voluptas excepturi nostrum. Consequatur eius non voluptates!Commodi omnis minus quo totam, ab aspernatur sequi vero cum?

    Explicabo asperiores recusandae qui? Aliquam similique eaque animi nemo? Fugiat.Cupiditate eaque, doloribus magnam velit ipsum maiores voluptatum eveniet rem!

    Pariatur sapiente laboriosam cumque itaque, id saepe commodi accusantium neque?

    Cupiditate eaque, doloribus magnam velit ipsum maiores voluptatum eveniet rem!

    Quidem eum, reiciendis iusto rem perspiciatis neque optio! Quae, sint!

    Maxime animi iure enim sint aperiam tempora non voluptatibus dolore.

    Suscipit cumque minus veritatis labore dolor corporis molestias. Rem, pariatur.

    Commodi omnis minus quo totam, ab aspernatur sequi vero cum?

    Repellendus rerum tempora eos praesentium at placeat, quas quibusdam sunt?

    Molestiae saepe deleniti voluptas excepturi nostrum. Consequatur eius non voluptates!

    窄滚动条样式

    Lorem ipsum dolor sit amet consectetur adipisicing elit. Veniam, accusamus.Molestiae saepe deleniti voluptas excepturi nostrum. Consequatur eius non voluptates!Commodi omnis minus quo totam, ab aspernatur sequi vero cum?

    Explicabo asperiores recusandae qui? Aliquam similique eaque animi nemo? Fugiat.Cupiditate eaque, doloribus magnam velit ipsum maiores voluptatum eveniet rem!

    Pariatur sapiente laboriosam cumque itaque, id saepe commodi accusantium neque?

    Cupiditate eaque, doloribus magnam velit ipsum maiores voluptatum eveniet rem!

    Quidem eum, reiciendis iusto rem perspiciatis neque optio! Quae, sint!

    Maxime animi iure enim sint aperiam tempora non voluptatibus dolore.

    Suscipit cumque minus veritatis labore dolor corporis molestias. Rem, pariatur.

    Commodi omnis minus quo totam, ab aspernatur sequi vero cum?

    Repellendus rerum tempora eos praesentium at placeat, quas quibusdam sunt?

    Molestiae saepe deleniti voluptas excepturi nostrum. Consequatur eius non voluptates!

    仅鼠标悬停时显示

    Lorem ipsum dolor sit amet consectetur adipisicing elit. Veniam, accusamus.Molestiae saepe deleniti voluptas excepturi nostrum. Consequatur eius non voluptates!Commodi omnis minus quo totam, ab aspernatur sequi vero cum?

    Explicabo asperiores recusandae qui? Aliquam similique eaque animi nemo? Fugiat.Cupiditate eaque, doloribus magnam velit ipsum maiores voluptatum eveniet rem!

    Pariatur sapiente laboriosam cumque itaque, id saepe commodi accusantium neque?

    Cupiditate eaque, doloribus magnam velit ipsum maiores voluptatum eveniet rem!

    Quidem eum, reiciendis iusto rem perspiciatis neque optio! Quae, sint!

    Maxime animi iure enim sint aperiam tempora non voluptatibus dolore.

    Suscipit cumque minus veritatis labore dolor corporis molestias. Rem, pariatur.

    Commodi omnis minus quo totam, ab aspernatur sequi vero cum?

    Repellendus rerum tempora eos praesentium at placeat, quas quibusdam sunt?

    Molestiae saepe deleniti voluptas excepturi nostrum. Consequatur eius non voluptates!

    MIT License (MIT)

    + \ No newline at end of file diff --git a/dev/lib/components/search-box/index.html b/dev/lib/components/search-box/index.html index c6876f55b9..e35ef6b432 100644 --- a/dev/lib/components/search-box/index.html +++ b/dev/lib/components/search-box/index.html @@ -14,14 +14,14 @@ - - + + - - + + \ No newline at end of file diff --git a/dev/lib/components/table/index.html b/dev/lib/components/table/index.html index 87ab8ec650..87818c7ade 100644 --- a/dev/lib/components/table/index.html +++ b/dev/lib/components/table/index.html @@ -14,16 +14,16 @@ - - + + -
    Skip to content

    表格

    表格用于展示二维数据。

    使用方法

    <table> 元素添加 CSS 类 .table 来使用表格。

    组成部分元素标签说明
    表头<thead>表头通常作为表格第一行,用于展示所有数据的各个属性名称。
    主体<tbody>一个或多个行组成表格的主体,每行用于展示一个数据。
    表尾<tfoot>表尾通常用于展示一些数据的汇总信息。
    总计3 个部分

    斑马纹表格

    <table class="table"> 上使用工具类 .table-striped 斑马纹表格外观(隔行变色)效果。

    :: tabs

    == 示例

    版本发布时间主要特性
    1.02021-03-01第一个版本发布!
    1.12021-04-12修复了大量已知问题。
    1.22021-05-18新的编辑器,让创意更容易展现。
    2.02021-06-05这次版本带来全新的界面外观
    2.12021-07-31新的预览功能,更方便的提前查看最终效果!

    == HTML

    html
    <table class="table table-striped">
    +    
    Skip to content

    表格

    表格用于展示二维数据。

    使用方法

    <table> 元素添加 CSS 类 .table 来使用表格。

    组成部分元素标签说明
    表头<thead>表头通常作为表格第一行,用于展示所有数据的各个属性名称。
    主体<tbody>一个或多个行组成表格的主体,每行用于展示一个数据。
    表尾<tfoot>表尾通常用于展示一些数据的汇总信息。
    总计3 个部分

    斑马纹表格

    <table class="table"> 上使用工具类 .table-striped 斑马纹表格外观(隔行变色)效果。

    :: tabs

    == 示例

    版本发布时间主要特性
    1.02021-03-01第一个版本发布!
    1.12021-04-12修复了大量已知问题。
    1.22021-05-18新的编辑器,让创意更容易展现。
    2.02021-06-05这次版本带来全新的界面外观
    2.12021-07-31新的预览功能,更方便的提前查看最终效果!

    == HTML

    html
    <table class="table table-striped">
       ...
    -</table>

    :::

    鼠标悬停变色

    <table class="table"> 上使用工具类 .table-hover,当鼠标悬停在行上时显示不一样的背景。

    版本发布时间主要特性
    1.02021-03-01第一个版本发布!
    1.12021-04-12修复了大量已知问题。
    1.22021-05-18新的编辑器,让创意更容易展现。
    2.02021-06-05这次版本带来全新的界面外观
    2.12021-07-31新的预览功能,更方便的提前查看最终效果!

    完整边框

    <table class="table"> 上使用工具类 .bordered,为表格添加所有边框。

    版本发布时间主要特性
    1.02021-03-01第一个版本发布!
    1.12021-04-12修复了大量已知问题。
    1.22021-05-18新的编辑器,让创意更容易展现。
    2.02021-06-05这次版本带来全新的界面外观
    2.12021-07-31新的预览功能,更方便的提前查看最终效果!

    无边框

    <table class="table"> 上使用工具类 .borderless,为表格移除所有边框。

    版本发布时间主要特性
    1.02021-03-01第一个版本发布!
    1.12021-04-12修复了大量已知问题。
    1.22021-05-18新的编辑器,让创意更容易展现。
    2.02021-06-05这次版本带来全新的界面外观
    2.12021-07-31新的预览功能,更方便的提前查看最终效果!

    紧凑的表格

    <table class="table"> 上使用工具类 .condensed 来获得更紧凑的表格。表格中的单元格拥有更小的间距,整体行高减少。

    版本发布时间主要特性
    1.02021-03-01第一个版本发布!
    1.12021-04-12修复了大量已知问题。
    1.22021-05-18新的编辑器,让创意更容易展现。
    2.02021-06-05这次版本带来全新的界面外观
    2.12021-07-31新的预览功能,更方便的提前查看最终效果!

    固定布局的表格

    <table class="table"> 上使用工具类 .table-fixed 来将表格布局方式设置为 fixed

    版本发布时间主要特性
    1.02021-03-01第一个版本发布!
    1.12021-04-12修复了大量已知问题。
    1.22021-05-18新的编辑器,让创意更容易展现。
    2.02021-06-05这次版本带来全新的界面外观。
    3.02021-07-31这一次说说关于表格的固定布局,当启用固定布局时,后续行中的单元格内容将不会对表格布局产生影响,当单元格内的文本过长时会被截断隐藏。

    关于表格的固定布局

    表格和列的宽度通过表格的宽度来设置,某一列的宽度仅由该列首行的单元格决定。在当前列中,该单元格所在行之后的行并不会影响整个列宽。

    使用“fixed”布局方式时,整个表格可以在其首行被下载后就被解析和渲染。这样对于“automatic”自动布局方式来说可以加速渲染,但是其后的单元格内容并不会自适应当前列宽。任何一个包含溢出内容的单元格可以使用 overflow 属性控制是否允许内容溢出。

    参考:https://developer.mozilla.org/zh-CN/docs/Web/CSS/table-layout

    自动宽度

    通常表格宽度为 100%,与表格所属的父级元素宽度保持一致,但有时希望表格的宽度能够按照实际内容宽度展示。此时可以通过配合使用 CSS 工具类 w-auto 来设置表格宽度为自动,同时推荐使用工具类 max-w-full 来限制表格最大宽度不超过父级元素宽度(100%)。

    版本发布时间主要特性
    1.02021-03-01第一个版本发布!
    1.12021-04-12修复了大量已知问题。
    1.22021-05-18新的编辑器,让创意更容易展现。
    2.02021-06-05这次版本带来全新的界面外观
    2.12021-07-31新的预览功能,更方便的提前查看最终效果!

    特殊外观

    为行元素 <tr> 或单元格 <td><th> 应用 CSS 工具类 来获得特殊外观。

    版本发布时间主要特性
    1.02021-03-01第一个版本发布!
    1.12021-04-12修复了大量已知问题。
    1.22021-05-18新的编辑器,让创意更容易展现。
    2.02021-06-05这次版本带来全新的界面外观
    2.12021-07-31新的预览功能,更方便的提前查看最终效果!

    CSS 类

    按钮提供了如下 CSS 类:

    类型作用
    table实体类元素作为表格组件
    table-striped工具类为表格启用斑马纹效果
    table-hover工具类为表格启用行悬停变色效果
    table-fixed工具类为表格启用固定布局
    borderless工具类移除表格所有边框
    bordered工具类为表格添加完整边框
    condensed工具类为表格启用紧凑布局

    CSS 变量

    变量名称变量含义
    --table-head-bg表头背景色
    --table-striped-color表格斑马纹行背景色
    --table-hover-color表格行响应鼠标悬停变化背景颜色
    --table-border-color表格边框颜色

    MIT License (MIT)

    - +</table>

    :::

    鼠标悬停变色

    <table class="table"> 上使用工具类 .table-hover,当鼠标悬停在行上时显示不一样的背景。

    版本发布时间主要特性
    1.02021-03-01第一个版本发布!
    1.12021-04-12修复了大量已知问题。
    1.22021-05-18新的编辑器,让创意更容易展现。
    2.02021-06-05这次版本带来全新的界面外观
    2.12021-07-31新的预览功能,更方便的提前查看最终效果!

    完整边框

    <table class="table"> 上使用工具类 .bordered,为表格添加所有边框。

    版本发布时间主要特性
    1.02021-03-01第一个版本发布!
    1.12021-04-12修复了大量已知问题。
    1.22021-05-18新的编辑器,让创意更容易展现。
    2.02021-06-05这次版本带来全新的界面外观
    2.12021-07-31新的预览功能,更方便的提前查看最终效果!

    无边框

    <table class="table"> 上使用工具类 .borderless,为表格移除所有边框。

    版本发布时间主要特性
    1.02021-03-01第一个版本发布!
    1.12021-04-12修复了大量已知问题。
    1.22021-05-18新的编辑器,让创意更容易展现。
    2.02021-06-05这次版本带来全新的界面外观
    2.12021-07-31新的预览功能,更方便的提前查看最终效果!

    紧凑的表格

    <table class="table"> 上使用工具类 .condensed 来获得更紧凑的表格。表格中的单元格拥有更小的间距,整体行高减少。

    版本发布时间主要特性
    1.02021-03-01第一个版本发布!
    1.12021-04-12修复了大量已知问题。
    1.22021-05-18新的编辑器,让创意更容易展现。
    2.02021-06-05这次版本带来全新的界面外观
    2.12021-07-31新的预览功能,更方便的提前查看最终效果!

    固定布局的表格

    <table class="table"> 上使用工具类 .table-fixed 来将表格布局方式设置为 fixed

    版本发布时间主要特性
    1.02021-03-01第一个版本发布!
    1.12021-04-12修复了大量已知问题。
    1.22021-05-18新的编辑器,让创意更容易展现。
    2.02021-06-05这次版本带来全新的界面外观。
    3.02021-07-31这一次说说关于表格的固定布局,当启用固定布局时,后续行中的单元格内容将不会对表格布局产生影响,当单元格内的文本过长时会被截断隐藏。

    关于表格的固定布局

    表格和列的宽度通过表格的宽度来设置,某一列的宽度仅由该列首行的单元格决定。在当前列中,该单元格所在行之后的行并不会影响整个列宽。

    使用“fixed”布局方式时,整个表格可以在其首行被下载后就被解析和渲染。这样对于“automatic”自动布局方式来说可以加速渲染,但是其后的单元格内容并不会自适应当前列宽。任何一个包含溢出内容的单元格可以使用 overflow 属性控制是否允许内容溢出。

    参考:https://developer.mozilla.org/zh-CN/docs/Web/CSS/table-layout

    自动宽度

    通常表格宽度为 100%,与表格所属的父级元素宽度保持一致,但有时希望表格的宽度能够按照实际内容宽度展示。此时可以通过配合使用 CSS 工具类 w-auto 来设置表格宽度为自动,同时推荐使用工具类 max-w-full 来限制表格最大宽度不超过父级元素宽度(100%)。

    版本发布时间主要特性
    1.02021-03-01第一个版本发布!
    1.12021-04-12修复了大量已知问题。
    1.22021-05-18新的编辑器,让创意更容易展现。
    2.02021-06-05这次版本带来全新的界面外观
    2.12021-07-31新的预览功能,更方便的提前查看最终效果!

    特殊外观

    为行元素 <tr> 或单元格 <td><th> 应用 CSS 工具类 来获得特殊外观。

    版本发布时间主要特性
    1.02021-03-01第一个版本发布!
    1.12021-04-12修复了大量已知问题。
    1.22021-05-18新的编辑器,让创意更容易展现。
    2.02021-06-05这次版本带来全新的界面外观
    2.12021-07-31新的预览功能,更方便的提前查看最终效果!

    CSS 类

    按钮提供了如下 CSS 类:

    类型作用
    table实体类元素作为表格组件
    table-striped工具类为表格启用斑马纹效果
    table-hover工具类为表格启用行悬停变色效果
    table-fixed工具类为表格启用固定布局
    borderless工具类移除表格所有边框
    bordered工具类为表格添加完整边框
    condensed工具类为表格启用紧凑布局

    CSS 变量

    变量名称变量含义
    --table-head-bg表头背景色
    --table-striped-color表格斑马纹行背景色
    --table-hover-color表格行响应鼠标悬停变化背景颜色
    --table-border-color表格边框颜色

    MIT License (MIT)

    + \ No newline at end of file diff --git a/dev/lib/components/tabs/index.html b/dev/lib/components/tabs/index.html index 3424b55c05..446a7cdac1 100644 --- a/dev/lib/components/tabs/index.html +++ b/dev/lib/components/tabs/index.html @@ -14,14 +14,14 @@ - - + + -
    Skip to content

    标签页

    使用方法

    标签页一般配合导航使用,通过 .nav 来定义切换的触发器,通过 .tab-content 来定义切换的内容。标签页内容使用 .tab-pane 作为容器元素,所有供切换显示的 .tab-pane 放置在 .tab-content 容器元素内。

    提示

    为确保在页面显示的时候标签页能够指示正确的标签和显示正确的内容,在初始状态需要为当前选中的导航项目 li.nav-item > a 元素添加 .active 类,并且为当前显示的标签页内容元素 .tab-pane 添加 .active 类。

    为导航上每个用于切换标签内容的链接添加 hrefdata-target 属性指向当前标签页内容 .tab-paneid ,并添加 data-toggle="tab" 属性。

    我是标签1。

    我是标签2。

    我是标签3。

    动画效果

    为每个 .tab-pane 添加 .fade,可以使得标签内容在显示时获得渐变动画效果。在初始状态要显示的标签页内容 .tab-pane 不仅需要添加 .active 类,还需要添加 .in 类。

    我是标签1。

    我是标签2。

    我是标签3。

    垂直标签页

    使用 .nav-tabs.nav-stacked 获得垂直排列的标签导航,使用 flex 布局来使得导航和标签页内容水平排列。

    我是标签1。

    我是标签2。

    我是标签3。

    事件

    当显示一个新的标签页时,这些事件会被触发:

    • show: 当前标签页在显示时触发;
    • shown: 当前标签页在显示后(动画执行完毕)触发。

    通过为 [data-toggle="tab"] 链接添加 data-name 属性,这样事件触发时会传递该属性值作为参数,如果不指定则使用 [data-target] 的值作为参数。

    我是标签1。

    我是标签2。

    我是标签3。

    MIT License (MIT)

    - +
    Skip to content

    标签页

    使用方法

    标签页一般配合导航使用,通过 .nav 来定义切换的触发器,通过 .tab-content 来定义切换的内容。标签页内容使用 .tab-pane 作为容器元素,所有供切换显示的 .tab-pane 放置在 .tab-content 容器元素内。

    提示

    为确保在页面显示的时候标签页能够指示正确的标签和显示正确的内容,在初始状态需要为当前选中的导航项目 li.nav-item > a 元素添加 .active 类,并且为当前显示的标签页内容元素 .tab-pane 添加 .active 类。

    为导航上每个用于切换标签内容的链接添加 hrefdata-target 属性指向当前标签页内容 .tab-paneid ,并添加 data-toggle="tab" 属性。

    我是标签1。

    我是标签2。

    我是标签3。

    动画效果

    为每个 .tab-pane 添加 .fade,可以使得标签内容在显示时获得渐变动画效果。在初始状态要显示的标签页内容 .tab-pane 不仅需要添加 .active 类,还需要添加 .in 类。

    我是标签1。

    我是标签2。

    我是标签3。

    垂直标签页

    使用 .nav-tabs.nav-stacked 获得垂直排列的标签导航,使用 flex 布局来使得导航和标签页内容水平排列。

    我是标签1。

    我是标签2。

    我是标签3。

    事件

    当显示一个新的标签页时,这些事件会被触发:

    • show: 当前标签页在显示时触发;
    • shown: 当前标签页在显示后(动画执行完毕)触发。

    通过为 [data-toggle="tab"] 链接添加 data-name 属性,这样事件触发时会传递该属性值作为参数,如果不指定则使用 [data-target] 的值作为参数。

    我是标签1。

    我是标签2。

    我是标签3。

    MIT License (MIT)

    + \ No newline at end of file diff --git a/dev/lib/components/toolbar/index.html b/dev/lib/components/toolbar/index.html index ab5a934ebf..54104d8737 100644 --- a/dev/lib/components/toolbar/index.html +++ b/dev/lib/components/toolbar/index.html @@ -14,14 +14,14 @@ - - + + - - + + \ No newline at end of file diff --git a/dev/lib/components/toolbar/js.html b/dev/lib/components/toolbar/js.html index 529d1b340a..eeb8ccd218 100644 --- a/dev/lib/components/toolbar/js.html +++ b/dev/lib/components/toolbar/js.html @@ -14,8 +14,8 @@ - - + + @@ -152,7 +152,7 @@ render(element, <Toolbar {...options} />);

    使用 jQuery 扩展

    js
    $(element).toolbar(options);
     
     const toolbar = $(element).data('zui.toolbar');

    选项

    操作菜单 选项基础上添加新的参数选项。

    wrap

    限制工具栏按钮过多超出时是否换行。

    • 类型:boolean
    • 必选:否;
    • 默认值:false

    gap

    自定义工具栏按钮的间距,与 .toolbar 同级生成 .gap-* 的工具类控制按钮间距。

    • 类型:number | string
    • 必选:否

    items

    继承了 操作菜单 选项和按钮选项,同时添加了其他选项。

    btnProps

    继承按钮组件的属性, 统一处理工具栏按钮属性外观等。

    itemRender

    指定一个回调函数用于对组件渲染进行自定义。

    参数items 选项的单个配置;

    返回值items 选项的单个配置。

    beforeRender

    指定一个回调函数在渲染之前调用,可重新配置组件选项。

    参数:用户为按钮组组件件设置的 options

    返回值:组件选项数据。

    afterRender

    指定一个回调函数在渲染之后调用。

    参数:

    • firstRender:判断是否第一次渲染;
    • menu:组件信息。

    beforeDestroy

    指定一个回调函数在组件销毁之前调用,无参数。

    API

    ToolbarItemOptions

    ts
    type ToolbarItemOptions = ToolbarItemProps | ToolbarDropdownProps | ToolbarBtnGroupProps | ToolbarDividerProps | ToolbarSpaceProps;

    ToolbarItemProps

    选项:

    继承了操作菜单的 ActionItemProps 选项和按钮的 ButtonProps ,同时添加了其他选项 btnType,用来设置按钮外观类型。

    btnType

    设置工具栏单个按钮的外观类型。

    • 类型:string
    • 必选:否。

    ToolbarDropdownProps

    选项:

    在原有属性基础上固定 type 属性,并继承了下拉菜单的 DropdownButtonOptions 选项,同时添加了其他选项。

    type
    • 类型:string
    • 属性值:dropdown
    • 必选:是。
    children

    ToolbarBtnGroupProps

    选项:

    在原有属性基础上固定 type 属性,并继承了操作菜单的 ActionBasicProps 选项和按钮组的 BtnGroupOptions选项,同时添加了其他选项。

    type
    • 类型:string
    • 属性值:btn-group
    • 必选:是。

    ToolbarDividerProps

    选项:

    继承了工具栏的 ActionDividerProps 选项。

    ToolbarSpaceProps

    选项:

    继承了工具栏的 ActionSpaceProps 选项。

    type
    • 类型:string
    • 属性值:space
    • 必选:是。
    space
    • 类型:number | [leading: number, trailing: number]
    • 必选:否。
    flex
    • 类型:number | 'auto' | 'none'
    • 必选:否。

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/lib/components/tooltip/index.html b/dev/lib/components/tooltip/index.html index cf35c64949..f8d622d189 100644 --- a/dev/lib/components/tooltip/index.html +++ b/dev/lib/components/tooltip/index.html @@ -14,14 +14,14 @@ - - + + -
    Skip to content

    提示消息

    提示消息又称“工具提示”,在鼠标悬停在元素上时及时显示额外的内容。

    使用方法

    组件提供多种不同方向的展示方式,可以根据需求选择你要的效果。

    触发方式

    除了默认的鼠标悬浮展示信息外,组件也提供了点击触发的方式。

    外观

    指定 type 选项来更改外观类型。

    选项

    名称类型默认值说明
    titlestringnull提示消息内容 placement?: string; // 弹出方向,可选值包括:'top-start' | 'top' | 'top-end' | 'bottom-start' | 'bottom' | 'bottom-end' | 'left-start' | 'left' | 'left-end' | 'right-start' | 'right' | 'right-end' trigger?: string; // 触发方式,可选值包括:'click' | 'hover' className?: string; // 类名 type?: string; // 外观类型,可选值包括:'primary' | 'secondary' | 'warning' | 'success' | 'danger' | 'important' | 'gray' animation?: boolean; // 是否应用淡入淡出动画 arrow?: number | number; // 箭头大小 delay?: boolean | number; // 延迟显示,可选值包括:true | false | number hideOthers?: boolean; // 显示时隐藏其他已经显示的提示消息

    MIT License (MIT)

    - +
    Skip to content

    提示消息

    提示消息又称“工具提示”,在鼠标悬停在元素上时及时显示额外的内容。

    使用方法

    组件提供多种不同方向的展示方式,可以根据需求选择你要的效果。

    触发方式

    除了默认的鼠标悬浮展示信息外,组件也提供了点击触发的方式。

    外观

    指定 type 选项来更改外观类型。

    选项

    名称类型默认值说明
    titlestringnull提示消息内容 placement?: string; // 弹出方向,可选值包括:'top-start' | 'top' | 'top-end' | 'bottom-start' | 'bottom' | 'bottom-end' | 'left-start' | 'left' | 'left-end' | 'right-start' | 'right' | 'right-end' trigger?: string; // 触发方式,可选值包括:'click' | 'hover' className?: string; // 类名 type?: string; // 外观类型,可选值包括:'primary' | 'secondary' | 'warning' | 'success' | 'danger' | 'important' | 'gray' animation?: boolean; // 是否应用淡入淡出动画 arrow?: number | number; // 箭头大小 delay?: boolean | number; // 延迟显示,可选值包括:true | false | number hideOthers?: boolean; // 显示时隐藏其他已经显示的提示消息

    MIT License (MIT)

    + \ No newline at end of file diff --git a/dev/lib/components/tree/index.html b/dev/lib/components/tree/index.html index d4d45d7bdc..be82bdd72a 100644 --- a/dev/lib/components/tree/index.html +++ b/dev/lib/components/tree/index.html @@ -14,8 +14,8 @@ - - + + @@ -181,7 +181,7 @@ /** 工具栏定义。 */ actions?: ToolbarOptions | ToolbarItemOptions[]; };

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/lib/components/upload-imgs/index.html b/dev/lib/components/upload-imgs/index.html index 07e49b77c9..b67acf02b2 100644 --- a/dev/lib/components/upload-imgs/index.html +++ b/dev/lib/components/upload-imgs/index.html @@ -14,8 +14,8 @@ - - + + @@ -40,7 +40,7 @@ tip: '可点击添加或拖拽上传,图片格式支持jpg、jpeg', accept: 'image/jpg, image/jpeg' });

    选项

    name

    表单字段名。

    • 类型:string
    • 必选:是

    showSize

    是否显示文件大小。

    • 类型:boolean
    • 必选:否
    • 默认值:true

    multiple

    是否开启多文件上传。

    • 类型:boolean
    • 必选:否
    • 默认值:true

    uploadText

    上传按钮文本。

    • 类型:string
    • 必选:否
    • 默认值:'添加文件'

    uploadIcon

    上传按钮图标。

    • 类型:string
    • 必选:否

    renameBtn

    是否启用重命名按钮。

    • 类型:boolean
    • 必选:否
    • 默认值:true

    renameIcon

    重命名按钮图标。

    • 类型:string
    • 必选:否
    • 默认值:'edit'

    renameText

    重命名按钮文本。

    • 类型:string
    • 必选:否
    • 默认值:'重命名'

    renameClass

    重命名按钮类。

    • 类型:string
    • 必选:否

    deleteBtn

    是否启用删除按钮。

    • 类型:boolean
    • 必选:否
    • 默认值:true

    deleteIcon

    删除按钮图标。

    • 类型:string
    • 必选:否
    • 默认值:'trash'

    deleteText

    删除按钮文本。

    • 类型:string
    • 必选:否
    • 默认值:'删除'

    deleteClass

    删除按钮类。

    • 类型:string
    • 必选:否

    tip

    文件上传提示。

    • 类型:string
    • 必选:否

    btnClass

    上传按钮类。

    • 类型:string
    • 必选:否

    onAdd

    文件变更回调。

    • 类型:(files: File[] | File) => void
    • 必选:否

    onDelete

    删除文件回调。

    • 类型:(file: File) => void
    • 必选:否

    onRename

    重命名文件回调。

    • 类型:(newName: string, oldName: string) => void
    • 必选:否

    onSizeChange

    文件大小变更回调。

    • 类型:(size: number) => void
    • 必选:否

    limitCount

    上传文件最大数量限制。

    • 类型:number
    • 必选:否

    accept

    上传文件类型。

    • 类型:string
    • 必选:否

    defaultFileList

    默认文件列表。

    • 类型:File[]
    • 必选:否

    limitSize

    上传文件最大大小限制。

    • 类型:${number}${'B' | 'KB' | 'MB' | 'GB'} | false
    • 必选:否

    duplicatedHint

    重复文件提示。

    • 类型:string
    • 必选:否

    onDuplicated

    文件重复回调。

    • 类型:(name: string) => void
    • 必选:否

    exceededSizeHint

    超出大小限制提示。

    • 类型:string
    • 必选:否

    onExceededSize

    超出大小限制回调。

    • 类型:(limit: number) => void
    • 必选:否

    exceededCountHint

    超过数量限制提示。

    • 类型:string
    • 必选:否

    onExceededCount

    超过数量限制回调

    • 类型:(limit: number) => void
    • 必选:否

    totalCountText

    文件数量提示。

    • 类型:string
    • 必选:否
    • 默认值:'共 <span class="font-bold text-black">%s</span> 个文件 <span class="font-bold text-black">%s</span> 个文件等待上传。'

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/lib/components/upload/index.html b/dev/lib/components/upload/index.html index aff9327a1f..9b2caa1e8c 100644 --- a/dev/lib/components/upload/index.html +++ b/dev/lib/components/upload/index.html @@ -14,8 +14,8 @@ - - + + @@ -56,7 +56,7 @@ name: 'files8', defaultFileList: [file1, file2] });

    选项

    name

    表单字段名。

    • 类型:string
    • 必选:是

    icon

    文件图标。

    • 类型:string
    • 必选:否
    • 默认值:'file-o'

    showIcon

    是否显示文件图标。

    • 类型:boolean
    • 必选:否
    • 默认值:true

    showSize

    是否显示文件大小。

    • 类型:boolean
    • 必选:否
    • 默认值:true

    multiple

    是否开启多文件上传。

    • 类型:boolean
    • 必选:否
    • 默认值:true

    listPosition

    文件列表位置。

    • 类型:'bottom' | 'top'
    • 必选:否
    • 默认值:'bottom'

    uploadText

    上传按钮文本。

    • 类型:string
    • 必选:否
    • 默认值:'上传文件'

    uploadIcon

    上传按钮图标。

    • 类型:string
    • 必选:否

    renameBtn

    是否启用重命名按钮。

    • 类型:boolean
    • 必选:否
    • 默认值:true

    renameIcon

    重命名按钮图标。

    • 类型:string
    • 必选:否
    • 默认值:'edit'

    renameText

    重命名按钮文本。

    • 类型:string
    • 必选:否
    • 默认值:'重命名'

    renameClass

    重命名按钮类。

    • 类型:string
    • 必选:否

    deleteBtn

    是否启用删除按钮。

    • 类型:boolean
    • 必选:否
    • 默认值:true

    deleteIcon

    删除按钮图标。

    • 类型:string
    • 必选:否
    • 默认值:'trash'

    deleteText

    删除按钮文本。

    • 类型:string
    • 必选:否
    • 默认值:'删除'

    deleteClass

    删除按钮类。

    • 类型:string
    • 必选:否

    confirmText

    确认重命名按钮文本。

    • 类型:string
    • 必选:否
    • 默认值:'确定'

    cancelText

    取消重命名按钮文本。

    • 类型:string
    • 必选:否
    • 默认值:'取消'

    useIconBtn

    是否使用图标按钮。

    • 类型:boolean
    • 必选:否
    • 默认值:true

    tip

    文件上传提示。

    • 类型:string
    • 必选:否

    btnClass

    上传按钮类。

    • 类型:string
    • 必选:否

    onAdd

    文件变更回调。

    • 类型:(files: File[] | File) => void
    • 必选:否

    onDelete

    删除文件回调。

    • 类型:(file: File) => void
    • 必选:否

    onRename

    重命名文件回调。

    • 类型:(newName: string, oldName: string) => void
    • 必选:否

    onSizeChange

    文件大小变更回调。

    • 类型:(size: number) => void
    • 必选:否

    draggable

    是否启用拖拽功能。

    • 类型:boolean
    • 必选:否
    • 默认值:false

    limitCount

    上传文件最大数量限制。

    • 类型:number
    • 必选:否

    accept

    上传文件类型。

    • 类型:string
    • 必选:否

    defaultFileList

    默认文件列表。

    • 类型:File[]
    • 必选:否

    limitSize

    上传文件最大大小限制。

    • 类型:${number}${'B' | 'KB' | 'MB' | 'GB'} | false
    • 必选:否

    duplicatedHint

    重复文件提示。

    • 类型:string
    • 必选:否

    onDuplicated

    文件重复回调。

    • 类型:(name: string) => void
    • 必选:否

    exceededSizeHint

    超出大小限制提示。

    • 类型:string
    • 必选:否

    onExceededSize

    超出大小限制回调。

    • 类型:(limit: number) => void
    • 必选:否

    exceededCountHint

    超过数量限制提示。

    • 类型:string
    • 必选:否

    onExceededCount

    超过数量限制回调

    • 类型:(limit: number) => void
    • 必选:否

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/lib/forms/checkbox/index.html b/dev/lib/forms/checkbox/index.html index 9331db9bed..6140cb1cc9 100644 --- a/dev/lib/forms/checkbox/index.html +++ b/dev/lib/forms/checkbox/index.html @@ -14,14 +14,14 @@ - - + + -
    Skip to content

    复选框和单选框

    复选框(checkbox)允许用户选择多个选项,不同于 <select>,这些选项是直接展示的。为 <input type="checkbox"> 设置 disabled 属性来应用禁用样式,如果为 .checkbox 添加 disabled 类,则整个复选框包括文字部分都会应用禁用样式。将多个复选框堆叠形成一个复选框组。

    基本使用

    复选框

    单选框列表

    单选框通常多个一起使用组成列表,将多个单选框放在 .check-list 中即可。

    复选框列表

    复选框也支持多个一起使用组成列表,将多个复选框放在 .check-list 中即可。

    不包含文字样式

    复选框

    单选框

    内联形式

    为让多个复选框或单选框内联显示,可以将他们放置在一个 .check-list-inline 中。

    内联多选框

    内联单选框

    内联间距

    可以通过工具类 gap-* 来设置内联的复选框和单选框间的间距。

    高级外观

    高级外观的多选框和单选框使用自定义的外观代替原生外观,在所有浏览器都具有一致的体验。

    高级外观的复选框

    高级外观的单选框

    <input> 选择框

    高级外观还可以不使用 <input> 元素,在此种情况下,为 .checkbox-primary.radio-primary 添加 .checked 类标记为选中状态,通过 focus 类来标记激活状态,用户无法通过点击来切换选中状态,但可以通过程序手动添加或移除 .checked 来更改选中状态。

    设置高级外观颜色

    通过设置 CSS 变量 --checkbox-color 可以设置高级外观颜色。

    CSS 类

    单选框和复选框提供了如下 CSS 类:

    类型作用
    checkbox实体类复选框组件
    radio实体类单选框组件
    check-list实体类复选框或单选框列表组件
    check-list-inline实体类复选框或单选框内联列表组件
    checkbox-primary实体类高级外观的复选框组件
    radio-primary实体类高级外观的单选框组件
    checked修饰类强制使用选中外观
    focus修饰类强制使用激活外观
    disabled修饰类强制使用禁用外观
    indeterminate修饰类强制使用 Indeterminate 外观

    CSS 变量

    单选框和复选框提供了如下 CSS 变量:

    CSS 变量名作用
    --checkbox-size复选框或单选框大小,仅当使用高级外观时有效
    --checkbox-color复选框或单选框颜色,仅当使用高级外观时有效

    MIT License (MIT)

    - +
    Skip to content

    复选框和单选框

    复选框(checkbox)允许用户选择多个选项,不同于 <select>,这些选项是直接展示的。为 <input type="checkbox"> 设置 disabled 属性来应用禁用样式,如果为 .checkbox 添加 disabled 类,则整个复选框包括文字部分都会应用禁用样式。将多个复选框堆叠形成一个复选框组。

    基本使用

    复选框

    单选框列表

    单选框通常多个一起使用组成列表,将多个单选框放在 .check-list 中即可。

    复选框列表

    复选框也支持多个一起使用组成列表,将多个复选框放在 .check-list 中即可。

    不包含文字样式

    复选框

    单选框

    内联形式

    为让多个复选框或单选框内联显示,可以将他们放置在一个 .check-list-inline 中。

    内联多选框

    内联单选框

    内联间距

    可以通过工具类 gap-* 来设置内联的复选框和单选框间的间距。

    高级外观

    高级外观的多选框和单选框使用自定义的外观代替原生外观,在所有浏览器都具有一致的体验。

    高级外观的复选框

    高级外观的单选框

    <input> 选择框

    高级外观还可以不使用 <input> 元素,在此种情况下,为 .checkbox-primary.radio-primary 添加 .checked 类标记为选中状态,通过 focus 类来标记激活状态,用户无法通过点击来切换选中状态,但可以通过程序手动添加或移除 .checked 来更改选中状态。

    设置高级外观颜色

    通过设置 CSS 变量 --checkbox-color 可以设置高级外观颜色。

    CSS 类

    单选框和复选框提供了如下 CSS 类:

    类型作用
    checkbox实体类复选框组件
    radio实体类单选框组件
    check-list实体类复选框或单选框列表组件
    check-list-inline实体类复选框或单选框内联列表组件
    checkbox-primary实体类高级外观的复选框组件
    radio-primary实体类高级外观的单选框组件
    checked修饰类强制使用选中外观
    focus修饰类强制使用激活外观
    disabled修饰类强制使用禁用外观
    indeterminate修饰类强制使用 Indeterminate 外观

    CSS 变量

    单选框和复选框提供了如下 CSS 变量:

    CSS 变量名作用
    --checkbox-size复选框或单选框大小,仅当使用高级外观时有效
    --checkbox-color复选框或单选框颜色,仅当使用高级外观时有效

    MIT License (MIT)

    + \ No newline at end of file diff --git a/dev/lib/forms/checkbox/switch.html b/dev/lib/forms/checkbox/switch.html index e696b497b3..04077c8048 100644 --- a/dev/lib/forms/checkbox/switch.html +++ b/dev/lib/forms/checkbox/switch.html @@ -14,14 +14,14 @@ - - + + -
    Skip to content

    开关

    基本使用

    与单选框和复选框的高级外观一样,通过 .switch 类来启用开关外观。

    开关颜色

    通过设置 CSS 变量 --checkbox-color 可以设置高级外观颜色。

    开关列表

    垂直列表

    通过将多个开关放置在 .check-list 中,可以实现一个开关列表:

    内联列表

    通过将多个开关放置在 .check-list 中,可以实现一个开关内联列表:

    列表联动

    通过开关内部使用的 input[type="checkbox"] 更换为 input[type="radio"],并指定为相同的 name 属性,即可实现多个开关单选联动:

    CSS 类

    开关提供了如下 CSS 类:

    类型作用
    switch实体类开关组件
    check-list实体类开关列表组件
    check-list-inline实体类开关内联列表组件
    checked修饰类强制使用选中外观
    focus修饰类强制使用激活外观
    disabled修饰类强制使用禁用外观

    CSS 变量

    单选框和复选框提供了如下 CSS 变量:

    CSS 变量名作用
    --checkbox-color开关颜色,仅当使用高级外观时有效

    MIT License (MIT)

    - +
    Skip to content

    开关

    基本使用

    与单选框和复选框的高级外观一样,通过 .switch 类来启用开关外观。

    开关颜色

    通过设置 CSS 变量 --checkbox-color 可以设置高级外观颜色。

    开关列表

    垂直列表

    通过将多个开关放置在 .check-list 中,可以实现一个开关列表:

    内联列表

    通过将多个开关放置在 .check-list 中,可以实现一个开关内联列表:

    列表联动

    通过开关内部使用的 input[type="checkbox"] 更换为 input[type="radio"],并指定为相同的 name 属性,即可实现多个开关单选联动:

    CSS 类

    开关提供了如下 CSS 类:

    类型作用
    switch实体类开关组件
    check-list实体类开关列表组件
    check-list-inline实体类开关内联列表组件
    checked修饰类强制使用选中外观
    focus修饰类强制使用激活外观
    disabled修饰类强制使用禁用外观

    CSS 变量

    单选框和复选框提供了如下 CSS 变量:

    CSS 变量名作用
    --checkbox-color开关颜色,仅当使用高级外观时有效

    MIT License (MIT)

    + \ No newline at end of file diff --git a/dev/lib/forms/datetime-picker/date.html b/dev/lib/forms/datetime-picker/date.html index ee487b9e4b..6b3cb1d394 100644 --- a/dev/lib/forms/datetime-picker/date.html +++ b/dev/lib/forms/datetime-picker/date.html @@ -14,14 +14,14 @@ - - + + -
    Skip to content

    日期选择器

    用法

    设置默认值

    通过 defaultValue 选项设置默认值,设置为 'today' 可以将默认值设置为当天。

    格式化

    通过 format 选项设置日期格式化形式,支持日期辅助方法 formatDate 中的所有格式。

    限制日期范围

    通过 minDatemaxDate 来限制可选的日期范围。

    自定义菜单

    通过 menu 选项可以在弹出面板侧面显示一个自定义菜单,通过 actions 可以自定义底部工具栏上的按钮。在菜单项和按钮上通过 [data-set-date] 属性指定点击按钮时要设定的日期。

    自定义侧边菜单

    通过 menu 选项可以在弹出面板左侧显示一个自定义菜单,在菜单项配置上通过 [data-set-date] 属性指定点击菜单项时要设定的日期。

    自定义底部按钮

    通过 actions 可以自定义底部工具栏上的按钮,在菜单项和按钮上通过 [data-set-date] 属性指定点击按钮时要设定的日期。

    选项

    名称类型默认值说明
    classNameanynull组件根元素的类名。 style?: object; // 组件根元素的样式。 tagName?: string; // 组件根元素的标签名。 attrs?: object; // 附加到组件根元素上的属性。 clickType?: 'toggle' | 'open'; // 点击类型,toggle 表示点击按钮时切换显示隐藏,open 表示点击按钮时只打开。 name?: string; // 作为表单项的名称。 defaultValue?: 'today' | string; // 默认值。 onChange?: function; // 值变更时的回调函数。 disabled?: boolean; // 是否禁用。 readonly?: boolean; // 是否只读,不允许手动修改。 required?: boolean; // 是否必须提供值(不能清除和选择空值)。 placeholder?: string; // 输入框上占位文本。 format?: string; // 日期格式,默认 yyyy-MM-dd。 icon?: string | object; // 在输入框右侧显示的图标。 weekNames?: string[]; // 星期名称,索引为 0 表示周日。 monthNames?: string[]; // 月份名称,索引为 0 表示一月份。 yearText?: string; // 用于显示年份的格式化文本。 todayText?: string; // 用于显示“今天”的文本。 clearText?: string; // 用于显示“清除”的文本。 weekStart?: number; // 一周从星期几开始,默认 1。 minDate?: DateLike; // 最小可选的日期。 maxDate?: DateLike; // 最大可选的日期。 menu?: object[] | object; // 左侧显示的菜单设置。 actions?: object[] | object; // 底部工具栏设置。 onInvalid?: function; // 日期值无效时的回调函数。

    MIT License (MIT)

    - +
    Skip to content

    日期选择器

    用法

    设置默认值

    通过 defaultValue 选项设置默认值,设置为 'today' 可以将默认值设置为当天。

    格式化

    通过 format 选项设置日期格式化形式,支持日期辅助方法 formatDate 中的所有格式。

    限制日期范围

    通过 minDatemaxDate 来限制可选的日期范围。

    自定义菜单

    通过 menu 选项可以在弹出面板侧面显示一个自定义菜单,通过 actions 可以自定义底部工具栏上的按钮。在菜单项和按钮上通过 [data-set-date] 属性指定点击按钮时要设定的日期。

    自定义侧边菜单

    通过 menu 选项可以在弹出面板左侧显示一个自定义菜单,在菜单项配置上通过 [data-set-date] 属性指定点击菜单项时要设定的日期。

    自定义底部按钮

    通过 actions 可以自定义底部工具栏上的按钮,在菜单项和按钮上通过 [data-set-date] 属性指定点击按钮时要设定的日期。

    选项

    名称类型默认值说明
    classNameanynull组件根元素的类名。 style?: object; // 组件根元素的样式。 tagName?: string; // 组件根元素的标签名。 attrs?: object; // 附加到组件根元素上的属性。 clickType?: 'toggle' | 'open'; // 点击类型,toggle 表示点击按钮时切换显示隐藏,open 表示点击按钮时只打开。 name?: string; // 作为表单项的名称。 defaultValue?: 'today' | string; // 默认值。 onChange?: function; // 值变更时的回调函数。 disabled?: boolean; // 是否禁用。 readonly?: boolean; // 是否只读,不允许手动修改。 required?: boolean; // 是否必须提供值(不能清除和选择空值)。 placeholder?: string; // 输入框上占位文本。 format?: string; // 日期格式,默认 yyyy-MM-dd。 icon?: string | object; // 在输入框右侧显示的图标。 weekNames?: string[]; // 星期名称,索引为 0 表示周日。 monthNames?: string[]; // 月份名称,索引为 0 表示一月份。 yearText?: string; // 用于显示年份的格式化文本。 todayText?: string; // 用于显示“今天”的文本。 clearText?: string; // 用于显示“清除”的文本。 weekStart?: number; // 一周从星期几开始,默认 1。 minDate?: DateLike; // 最小可选的日期。 maxDate?: DateLike; // 最大可选的日期。 menu?: object[] | object; // 左侧显示的菜单设置。 actions?: object[] | object; // 底部工具栏设置。 onInvalid?: function; // 日期值无效时的回调函数。

    MIT License (MIT)

    + \ No newline at end of file diff --git a/dev/lib/forms/datetime-picker/datetime.html b/dev/lib/forms/datetime-picker/datetime.html index ad551216de..ea6ae7e318 100644 --- a/dev/lib/forms/datetime-picker/datetime.html +++ b/dev/lib/forms/datetime-picker/datetime.html @@ -14,14 +14,14 @@ - - + + -
    Skip to content

    日期时间选择器

    日期时间选择器允许用户通过下拉面板同时选择日期和时间。

    用法

    设置默认值

    通过 defaultValue 选项设置默认值,设置为 'today' 可以将默认值设置为现在时间。

    格式化

    通过 format 选项设置日期和时间的格式化形式。

    限制日期范围

    通过 minDatemaxDate 来限制可选的日期范围。

    自定义菜单

    通过 menu 选项可以在弹出面板左侧显示一个自定义菜单,通过 actions 可以自定义底部工具栏上的按钮。在菜单项和按钮上通过 [data-set-date] 属性指定点击按钮时要设定的日期。

    自定义左侧菜单

    通过 menu 选项可以在弹出面板左侧显示一个自定义菜单,在菜单项配置上通过 [data-set-date] 属性指定点击菜单项时要设定的日期。

    自定义底部按钮

    通过 actions 可以自定义底部工具栏上的按钮,在菜单项和按钮上通过 [data-set-date] 属性指定点击按钮时要设定的日期。

    选项

    名称类型默认值说明
    classNameanynull组件根元素的类名。 style?: object; // 组件根元素的样式。 tagName?: string; // 组件根元素的标签名。 attrs?: object; // 附加到组件根元素上的属性。 clickType?: 'toggle' | 'open'; // 点击类型,toggle 表示点击按钮时切换显示隐藏,open 表示点击按钮时只打开。 name?: string; // 作为表单项的名称。 defaultValue?: 'today' | string; // 默认值。 onChange?: function; // 值变更时的回调函数。 disabled?: boolean; // 是否禁用。 readonly?: boolean; // 是否只读,不允许手动修改。 required?: boolean; // 是否必须提供值(不能清除和选择空值)。 placeholder?: string; // 输入框上占位文本。 format?: string; // 日期格式,默认 yyyy-MM-dd。 icon?: string | object; // 在输入框右侧显示的图标。 weekNames?: string[]; // 星期名称,索引为 0 表示周日。 monthNames?: string[]; // 月份名称,索引为 0 表示一月份。 yearText?: string; // 用于显示年份的格式化文本。 todayText?: string; // 用于显示“今天”的文本。 clearText?: string; // 用于显示“清除”的文本。 weekStart?: number; // 一周从星期几开始,默认 1。 minDate?: DateLike; // 最小可选的日期。 maxDate?: DateLike; // 最大可选的日期。 menu?: object[] | object; // 左侧显示的菜单设置。 actions?: object[] | object; // 底部工具栏设置。 onInvalid?: function; // 日期值无效时的回调函数。 minuteStep?: number; // 分钟选择间隔,默认 5(分钟)。

    MIT License (MIT)

    - +
    Skip to content

    日期时间选择器

    日期时间选择器允许用户通过下拉面板同时选择日期和时间。

    用法

    设置默认值

    通过 defaultValue 选项设置默认值,设置为 'today' 可以将默认值设置为现在时间。

    格式化

    通过 format 选项设置日期和时间的格式化形式。

    限制日期范围

    通过 minDatemaxDate 来限制可选的日期范围。

    自定义菜单

    通过 menu 选项可以在弹出面板左侧显示一个自定义菜单,通过 actions 可以自定义底部工具栏上的按钮。在菜单项和按钮上通过 [data-set-date] 属性指定点击按钮时要设定的日期。

    自定义左侧菜单

    通过 menu 选项可以在弹出面板左侧显示一个自定义菜单,在菜单项配置上通过 [data-set-date] 属性指定点击菜单项时要设定的日期。

    自定义底部按钮

    通过 actions 可以自定义底部工具栏上的按钮,在菜单项和按钮上通过 [data-set-date] 属性指定点击按钮时要设定的日期。

    选项

    名称类型默认值说明
    classNameanynull组件根元素的类名。 style?: object; // 组件根元素的样式。 tagName?: string; // 组件根元素的标签名。 attrs?: object; // 附加到组件根元素上的属性。 clickType?: 'toggle' | 'open'; // 点击类型,toggle 表示点击按钮时切换显示隐藏,open 表示点击按钮时只打开。 name?: string; // 作为表单项的名称。 defaultValue?: 'today' | string; // 默认值。 onChange?: function; // 值变更时的回调函数。 disabled?: boolean; // 是否禁用。 readonly?: boolean; // 是否只读,不允许手动修改。 required?: boolean; // 是否必须提供值(不能清除和选择空值)。 placeholder?: string; // 输入框上占位文本。 format?: string; // 日期格式,默认 yyyy-MM-dd。 icon?: string | object; // 在输入框右侧显示的图标。 weekNames?: string[]; // 星期名称,索引为 0 表示周日。 monthNames?: string[]; // 月份名称,索引为 0 表示一月份。 yearText?: string; // 用于显示年份的格式化文本。 todayText?: string; // 用于显示“今天”的文本。 clearText?: string; // 用于显示“清除”的文本。 weekStart?: number; // 一周从星期几开始,默认 1。 minDate?: DateLike; // 最小可选的日期。 maxDate?: DateLike; // 最大可选的日期。 menu?: object[] | object; // 左侧显示的菜单设置。 actions?: object[] | object; // 底部工具栏设置。 onInvalid?: function; // 日期值无效时的回调函数。 minuteStep?: number; // 分钟选择间隔,默认 5(分钟)。

    MIT License (MIT)

    + \ No newline at end of file diff --git a/dev/lib/forms/datetime-picker/time.html b/dev/lib/forms/datetime-picker/time.html index a904c16554..8dc3c6e45d 100644 --- a/dev/lib/forms/datetime-picker/time.html +++ b/dev/lib/forms/datetime-picker/time.html @@ -14,14 +14,14 @@ - - + + -
    Skip to content

    时间选择器

    用法

    设置默认值

    通过 defaultValue 选项设置默认值,设置为 'now' 可以将默认值设置为页面显示的时刻。

    格式化

    通过 format 选项设置日期格式化形式,支持日期辅助方法 formatDate 中的所有格式。

    选项

    名称类型默认值说明

    MIT License (MIT)

    - +
    Skip to content

    时间选择器

    用法

    设置默认值

    通过 defaultValue 选项设置默认值,设置为 'now' 可以将默认值设置为页面显示的时刻。

    格式化

    通过 format 选项设置日期格式化形式,支持日期辅助方法 formatDate 中的所有格式。

    选项

    名称类型默认值说明

    MIT License (MIT)

    + \ No newline at end of file diff --git a/dev/lib/forms/form-control/index.html b/dev/lib/forms/form-control/index.html index c8c01e331c..9b81c75293 100644 --- a/dev/lib/forms/form-control/index.html +++ b/dev/lib/forms/form-control/index.html @@ -14,14 +14,14 @@ - - + + -
    Skip to content

    表单控件

    输入框

    输入框通过为 <input> 元素添加类 form-control 实现,支持通过 type 属性设置输入框类型。

    选择框

    通过为 <select> 元素添加 form-control 类来使用选择框,包括单选和多选模式。

    单选框

    多选框

    TIP

    使用多选框时通常需要指定多选框高度。

    多行文本框

    通过为 <textarea> 元素添加 form-control 类来使用多行文本框。

    特殊表单控件

    在浏览器支持的情况下,还可以为 type 设置一些特殊类型。

    日期

    设置 <input type="date">

    时间

    设置 <input type="time">

    日期时间

    设置 <input type="datetime-local">

    月份

    设置 <input type="month">

    周数

    设置 <input type="week">

    范围

    设置 <input type="range">

    颜色

    设置 <input type="color">

    文件

    设置 <input type="file">

    尺寸

    通过为表单控件添加 size-* 工具类来设置尺寸。

    禁用

    通过为表单控件添加 disabled 属性来禁用表单控件。

    只读

    通过为表单控件添加 readonly 属性来表单控件只读。

    特殊状态

    通过为表单控件或者其直接父级元素添加工具类 has-errorhas-warninghas-error 来让其拥有特殊语义的状态。

    CSS 类

    表单控件提供了如下 CSS 类:

    类型作用
    form-control实体类元素作为表单控件组件
    size-sm工具类表单控件使用小号尺寸
    size-lg工具类表单控件使用大号尺寸

    CSS 变量

    表单控件提供了如下 CSS 变量,可进行全局修改。

    CSS 变量名作用
    --form-control-radius圆角
    --form-control-border边框颜色
    --form-control-focus激活颜色
    --form-control-disabled禁用颜色
    --form-control-readonly只读颜色

    MIT License (MIT)

    - +
    Skip to content

    表单控件

    输入框

    输入框通过为 <input> 元素添加类 form-control 实现,支持通过 type 属性设置输入框类型。

    选择框

    通过为 <select> 元素添加 form-control 类来使用选择框,包括单选和多选模式。

    单选框

    多选框

    TIP

    使用多选框时通常需要指定多选框高度。

    多行文本框

    通过为 <textarea> 元素添加 form-control 类来使用多行文本框。

    特殊表单控件

    在浏览器支持的情况下,还可以为 type 设置一些特殊类型。

    日期

    设置 <input type="date">

    时间

    设置 <input type="time">

    日期时间

    设置 <input type="datetime-local">

    月份

    设置 <input type="month">

    周数

    设置 <input type="week">

    范围

    设置 <input type="range">

    颜色

    设置 <input type="color">

    文件

    设置 <input type="file">

    尺寸

    通过为表单控件添加 size-* 工具类来设置尺寸。

    禁用

    通过为表单控件添加 disabled 属性来禁用表单控件。

    只读

    通过为表单控件添加 readonly 属性来表单控件只读。

    特殊状态

    通过为表单控件或者其直接父级元素添加工具类 has-errorhas-warninghas-error 来让其拥有特殊语义的状态。

    CSS 类

    表单控件提供了如下 CSS 类:

    类型作用
    form-control实体类元素作为表单控件组件
    size-sm工具类表单控件使用小号尺寸
    size-lg工具类表单控件使用大号尺寸

    CSS 变量

    表单控件提供了如下 CSS 变量,可进行全局修改。

    CSS 变量名作用
    --form-control-radius圆角
    --form-control-border边框颜色
    --form-control-focus激活颜色
    --form-control-disabled禁用颜色
    --form-control-readonly只读颜色

    MIT License (MIT)

    + \ No newline at end of file diff --git a/dev/lib/forms/form/index.html b/dev/lib/forms/form/index.html index 520229acd6..f203b5d3a2 100644 --- a/dev/lib/forms/form/index.html +++ b/dev/lib/forms/form/index.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    表单

    基本用法

    <form> 元素使用类 .form 类来获得表单外观,将表单控件放置在表单控件组 .form-group 内,将表单操作按钮放置在表单操作栏 .form-actions 中。

    水平布局的表单

    <form> 元素使用类 .form-horz 类来让表单实现水平布局。

    在水平布局表单中,如果需要在一行包含多个表单控件,可以使用 .form-row 类,下面是一个更复杂的例子:

    可以放在同一行的字段满足:可连着填写,字段意义上有相似性
    此表单项为必填
    强关联字段,有灰色底色进行连接,3个以上框的自适应宽度

    网格布局

    <form> 元素使用类 .form-grid 类来让表单实现网格布局。

    .form-group 添加 w-* 辅助类来设置宽度
    项目类型
    -

    帮助性文本

    使用 form-tip 来显示帮助性的文本并添加到表单控件组中。

    校验状态

    通过为表单控件组添加 has-warninghas-errorhas-success 类即可应用相应的效验状态样式。这些样式会影响到表单控件组内的 label.form-control.form-tip 元素。

    表单分组

    使用fieldset 将多个表单控件放置在一起进行分组。在<fieldset> 内使用 <legend> 来定义分组标题。

    账号信息
    额外内容

    标记必填项

    标记必填项的一种通用方法是在标签上添加星标 * , 在表单控件组中只需要为表单组标签 .form-label 添加 required 类。

    水平布局的表单中也可以使用:

    CSS 类

    表单提供了如下 CSS 类

    类型作用
    form-group实体类元素作为表单组件
    form-label实体类元素作为表单组标签
    form-control实体类元素作为表单控件组件
    form-tip实体类元素作为表单控件的提示性文本
    form-actions实体类元素作为表单按钮容器
    form-grid修饰类为表单启用水平排列样式
    required修饰类为表单控件启用必填标记样式
    has-error修饰类为表单控件启用报错样式
    has-warning修饰类为表单控件启用警告样式
    has-success修饰类为表单控件启用成功样式

    CSS 变量

    变量名称变量含义
    --form-label-color表单组标签颜色
    --form-tip-color帮助性文本默认颜色
    --form-grid-label-width水平布局时表单表单组标签宽度

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/lib/forms/input-control/index.html b/dev/lib/forms/input-control/index.html index 32edc43c36..c3ce432c0a 100644 --- a/dev/lib/forms/input-control/index.html +++ b/dev/lib/forms/input-control/index.html @@ -14,19 +14,19 @@ - - + + -
    Skip to content

    输入框

    通过鼠标或键盘输入内容,可以在输入框前后位置包含额外的文本或图标,通常用在表单、对话框上面。

    基本使用

    使用 input-control 类来获得输入框的外观和交互体验。

    用户名
    用户名验证失败

    包含图标和按钮

    前缀和后缀

    通过结合类 has-prefix has-suffix 在输入框上添加前缀或后缀图标或字符。

    除了预设的前 / 后缀宽度,还预设了其他两种尺寸,结合 has-prefix-*has-suffix-* 类进行不同宽度展示。

    用户名
    有效身份证号码

    尺寸

    除了默认大小,输入框还提供了额外的 2 种预设尺寸。

    小号尺寸

    用户名
    有效身份证号码

    默认尺寸

    用户名
    有效身份证号码

    大号尺寸

    用户名
    有效身份证号码

    外观类型

    配合使用CSS 工具类来实现不同输入框的外观。下面展示各种工具类的外观效果。

    html
    <div class="input-control">
    +    
    Skip to content

    输入框

    通过鼠标或键盘输入内容,可以在输入框前后位置包含额外的文本或图标,通常用在表单、对话框上面。

    基本使用

    使用 input-control 类来获得输入框的外观和交互体验。

    用户名
    用户名验证失败

    包含图标和按钮

    前缀和后缀

    通过结合类 has-prefix has-suffix 在输入框上添加前缀或后缀图标或字符。

    除了预设的前 / 后缀宽度,还预设了其他两种尺寸,结合 has-prefix-*has-suffix-* 类进行不同宽度展示。

    用户名
    有效身份证号码

    尺寸

    除了默认大小,输入框还提供了额外的 2 种预设尺寸。

    小号尺寸

    用户名
    有效身份证号码

    默认尺寸

    用户名
    有效身份证号码

    大号尺寸

    用户名
    有效身份证号码

    外观类型

    配合使用CSS 工具类来实现不同输入框的外观。下面展示各种工具类的外观效果。

    html
    <div class="input-control">
       <input type="text" class="form-control circle" placeholder="请填写" />
     </div>
     <div class="input-control">
       <input type="text" class="form-control shadow" placeholder="请填写" />
     </div>

    CSS 类

    输入框提供了如下 CSS 类:

    类型作用
    input-control实体类元素作为输入框组件
    input-control-prefix工具类输入框前缀元素样式
    input-control-suffix工具类输入框后缀元素样式
    has-prefix工具类标记输入框拥有前缀元素
    has-suffix工具类标记输入框拥有后缀元素
    has-prefix-icon工具类标记输入框拥有前缀图标
    has-suffix-icon工具类标记输入框拥有后缀图标
    size-sm工具类输入框使用小号尺寸
    size-lg工具类输入框使用大号尺寸

    CSS 变量

    输入框提供了如下 CSS 变量,可进行全局修改。

    CSS 变量名作用
    --input-fix-width输入框前/后缀的默认宽度
    --input-fix-width-sm输入框前/后缀的小号宽度
    --input-fix-width-lg输入框前/后缀的大号宽度

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/lib/forms/input-group/index.html b/dev/lib/forms/input-group/index.html index 4433aea487..7a52b3fc4f 100644 --- a/dev/lib/forms/input-group/index.html +++ b/dev/lib/forms/input-group/index.html @@ -14,14 +14,14 @@ - - + + -
    Skip to content

    输入组

    通过在文本输入框 <input> 前面、后面或是两边加上文字、图标或按钮,可以实现对表单控件的扩展。

    使用方法

    在元素使用工具类 .input-group 作为输入组容器,然后在内部添加表单控件、按钮或附加文本(.input-group-addon)。

    账号
    密码

    组合方式

    在输入组内部可以将不同的内容按需组合使用,包括附加文本(.input-group-addon)、表单控件(.form-control)、按钮(.btn)。

    登录

    尺寸

    除了默认大小,输入组还提供了额外的 2 种预设尺寸,通过修饰类 .size-* 来应用尺寸。

    登录
    登录
    登录

    CSS 类

    输入组提供了如下 CSS 类:

    类型作用
    input-group实体类元素作为输入组组件
    input-group-addon实体类元素作为输入组内部额外元素
    size-sm工具类输入组使用小号尺寸
    size-lg工具类输入组使用大号尺寸

    CSS 变量

    变量名称变量含义
    --input-group-addon-bg输入组附加部分背景颜色

    MIT License (MIT)

    - +
    Skip to content

    输入组

    通过在文本输入框 <input> 前面、后面或是两边加上文字、图标或按钮,可以实现对表单控件的扩展。

    使用方法

    在元素使用工具类 .input-group 作为输入组容器,然后在内部添加表单控件、按钮或附加文本(.input-group-addon)。

    账号
    密码

    组合方式

    在输入组内部可以将不同的内容按需组合使用,包括附加文本(.input-group-addon)、表单控件(.form-control)、按钮(.btn)。

    登录

    尺寸

    除了默认大小,输入组还提供了额外的 2 种预设尺寸,通过修饰类 .size-* 来应用尺寸。

    登录
    登录
    登录

    CSS 类

    输入组提供了如下 CSS 类:

    类型作用
    input-group实体类元素作为输入组组件
    input-group-addon实体类元素作为输入组内部额外元素
    size-sm工具类输入组使用小号尺寸
    size-lg工具类输入组使用大号尺寸

    CSS 变量

    变量名称变量含义
    --input-group-addon-bg输入组附加部分背景颜色

    MIT License (MIT)

    + \ No newline at end of file diff --git a/dev/lib/forms/picker/index.html b/dev/lib/forms/picker/index.html index 32551e06f3..16df63bd1d 100644 --- a/dev/lib/forms/picker/index.html +++ b/dev/lib/forms/picker/index.html @@ -14,14 +14,14 @@ - - + + - - + + \ No newline at end of file diff --git a/dev/lib/helpers/helpers/date-helper.html b/dev/lib/helpers/helpers/date-helper.html index 64cf1aacd9..cc5de5bde5 100644 --- a/dev/lib/helpers/helpers/date-helper.html +++ b/dev/lib/helpers/helpers/date-helper.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    日期辅助方法

    createDate

    创建日期时间对象。

    定义:

    ts
    function createDate(dateLike: string | number | Date): Date;

    参数

    • dateLike:日期时间对象或者日期时间字符串或者时间戳。

    返回值Date:日期时间对象。

    addDate

    在一个日期时间对象上增加指定的时间。

    定义:

    ts
    function addDate(dateLike: string | number | Date, value: number, unit: string): Date;

    参数:

    • dateLike:日期时间对象或者日期时间字符串或者时间戳;
    • value:增加的时间值;
    • unit:增加的时间单位,可选值为:yearmonthdayhourminutesecond

    返回值: Date:日期时间对象。

    formatDate

    格式化日期时间对象。

    定义:

    ts
    function formatDate(dateLike: string | number | Date, format = 'yyyy-MM-dd hh:mm', invalidDateValue = ''): string;

    参数:

    • dateLike:日期时间对象或者日期时间字符串或者时间戳;
    • format:格式化字符串,可选值为:yyyyMMddhhmmssSSS
    • invalidDateValue:无效日期时间对象时的返回值。

    返回值: string:格式化后的日期时间字符串。

    所有支持的格式化占位符包括:

      • yyyy,例如:2018,表示四位数字表示的年份
      • yy,例如:18,表示两位数字表示的年份
      • MM,例如:07,表示两位数字表示的月份,不足两位在起始用 0 填充
      • M,例如:10,表示一位或两位数字表示的月份
      • dd,例如:05,表示两位数字表示的日期,不足两位在起始用 0 填充
      • d,例如:5,表示一位或两位数字表示的日期
      • hh,例如:08,表示两位数字表示的小时,不足两位在起始用 0 填充
      • h,例如:8,表示一位或两位数字表示的小时
      • mm,例如:03,表示两位数字表示的分钟,不足两位在起始用 0 填充
      • m,例如:3,表示一位或两位数字表示的分钟
      • ss,例如:05,表示两位数字表示的秒数,不足两位在起始用 0 填充
      • s,例如:5,表示一位或两位数字表示的秒数
      • S,例如:236,表示毫秒数
      • SSS,例如:036,表示毫秒数,不足3位在起始用 0 填充

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/lib/helpers/helpers/string-helper.html b/dev/lib/helpers/helpers/string-helper.html index 4f817cd4d8..a59da9afe3 100644 --- a/dev/lib/helpers/helpers/string-helper.html +++ b/dev/lib/helpers/helpers/string-helper.html @@ -14,8 +14,8 @@ - - + + @@ -25,7 +25,7 @@ /** 通过映射对象的形式格式化字符串。 */ function formatString(str: string, map: Record<string, unknown>): string;

    参数

    • str:字符串;
    • args:格式化参数;
    • map:格式化参数映射对象。

    返回值string:格式化后的字符串。

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/lib/helpers/store/index.html b/dev/lib/helpers/store/index.html index adbdb05f0f..70daecab57 100644 --- a/dev/lib/helpers/store/index.html +++ b/dev/lib/helpers/store/index.html @@ -14,8 +14,8 @@ - - + + @@ -41,7 +41,7 @@ store.get('mySecretCode'); // 返回 1 myStore.get('mySecretCode'); // 返回 2 mySessionStore.get('mySecretCode'); // 返回 3

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/lib/index.html b/dev/lib/index.html index 6b18b34c02..a9c8bd3ed7 100644 --- a/dev/lib/index.html +++ b/dev/lib/index.html @@ -14,14 +14,14 @@ - - + + - + \ No newline at end of file diff --git a/dev/public/zui/icons/fontawesome-license.html b/dev/public/zui/icons/fontawesome-license.html index d11953a585..803b0a0d34 100644 --- a/dev/public/zui/icons/fontawesome-license.html +++ b/dev/public/zui/icons/fontawesome-license.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    License

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/themes/index.html b/dev/themes/index.html index d82b3fa87b..1432a05400 100644 --- a/dev/themes/index.html +++ b/dev/themes/index.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/backgrounds/utilities/index.html b/dev/utilities/backgrounds/utilities/index.html index 0707c3fbe9..082b5cd375 100644 --- a/dev/utilities/backgrounds/utilities/index.html +++ b/dev/utilities/backgrounds/utilities/index.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    背景色

    效果

    使用工具类 bg-* 给元素添加背景色。

    语义化
    bg-primary
    bg-secondary
    bg-success
    bg-warning
    bg-danger
    bg-important
    bg-special
    主色系列
    bg-primary-50
    bg-primary-100
    bg-primary-200
    bg-primary-300
    bg-primary-400
    bg-primary-500
    bg-primary-600
    bg-primary-700
    bg-primary-800
    bg-primary-900
    bg-primary-950
    次要系列
    bg-secondary-50
    bg-secondary-100
    bg-secondary-200
    bg-secondary-300
    bg-secondary-400
    bg-secondary-500
    bg-secondary-600
    bg-secondary-700
    bg-secondary-800
    bg-secondary-900
    bg-secondary-950
    灰度
    bg-gray-50
    bg-gray-100
    bg-gray-200
    bg-gray-300
    bg-gray-400
    gray
    bg-gray-500 别名: bg-gray
    bg-gray-600
    bg-gray-700
    bg-gray-800
    bg-gray-900
    bg-gray-950
    界面
    bg-white
    纯白
    bg-black
    纯黑
    bg-transparent
    透明
    bg-canvas
    画布
    bg-inverse
    反色
    bg-surface-light
    加重的控件
    bg-surface
    控件
    bg-surface-strong
    轻量的控件
    bg-fore
    前景色作为背景
    bg-focus
    焦点色作为背景
    特殊
    bg-current
    CSS 值 currentColor
    bg-inherit
    CSS 值 inherit
    bg-none
    无背景

    背景色透明度

    使用工具类 bg-opacity-* 给元素设置背景色透明度。

    bg-opacity-0
    透明度:0%
    bg-opacity-5
    透明度:5%
    bg-opacity-10
    透明度:10%
    bg-opacity-20
    透明度:20%
    bg-opacity-25
    透明度:25%
    bg-opacity-30
    透明度:30%
    bg-opacity-40
    透明度:40%
    bg-opacity-50
    透明度:60%
    bg-opacity-60
    透明度:60%
    bg-opacity-70
    透明度:70%
    bg-opacity-75
    透明度:75%
    bg-opacity-80
    透明度:80%
    bg-opacity-90
    透明度:90%
    bg-opacity-95
    透明度:95%
    bg-opacity-100
    透明度:0%

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/borders/utilities/border-color.html b/dev/utilities/borders/utilities/border-color.html index 2b70ec8c69..8f32344392 100644 --- a/dev/utilities/borders/utilities/border-color.html +++ b/dev/utilities/borders/utilities/border-color.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    边框颜色

    效果

    使用工具类 border-* 给元素添加边框颜色。

    默认
    border-light
    border
    border-strong
    语义化
    border-primary
    border-secondary
    border-success
    border-warning
    border-danger
    border-important
    border-special
    灰度
    border-gray-50
    border-gray-100
    border-gray-200
    border-gray-300
    border-gray-400
    gray
    border-gray-500 别名: border-gray
    border-gray-600
    border-gray-700
    border-gray-800
    border-gray-900
    border-gray-950
    界面
    border-white
    纯白
    border-black
    纯黑
    border-transparent
    透明
    border-canvas
    画布
    border-inverse
    反色
    border-surface-light
    加重的控件
    border-surface
    控件
    border-surface-strong
    轻量的控件
    border-fore
    前景色作为边框颜
    border-focus
    焦点色作为边框颜
    特殊
    border-current
    CSS 值 currentColor
    border-inherit
    CSS 值 inherit

    提示

    border 外,其他工具类只设置边框颜色,如果需要启用边框,需要将 border-*border 类一起使用,例如 border border-primary

    边框颜色透明度

    使用工具类 border-opacity-* 给元素添加边框颜色透明度。

    border-opacity-0
    透明度:0%
    border-opacity-5
    透明度:5%
    border-opacity-10
    透明度:10%
    border-opacity-20
    透明度:20%
    border-opacity-25
    透明度:25%
    border-opacity-30
    透明度:30%
    border-opacity-40
    透明度:40%
    border-opacity-50
    透明度:60%
    border-opacity-60
    透明度:60%
    border-opacity-70
    透明度:70%
    border-opacity-75
    透明度:75%
    border-opacity-80
    透明度:80%
    border-opacity-90
    透明度:90%
    border-opacity-95
    透明度:95%
    border-opacity-100
    透明度:0%

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/borders/utilities/border-radius.html b/dev/utilities/borders/utilities/border-radius.html index 79a54b93e7..cefa84e3a5 100644 --- a/dev/utilities/borders/utilities/border-radius.html +++ b/dev/utilities/borders/utilities/border-radius.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    边框圆角

    效果

    使用 'rounded-* 设置元素边框圆角大小。

    所有边
    rounded-none
    rounded-sm
    rounded
    rounded-lg
    rounded-xl
    rounded-2xl
    rounded-3xl
    rounded-full
    禁用特定边
    rounded-t-none
    rounded-r-none
    rounded-b-none
    rounded-l-none
    rounded-br-none
    rounded-bl-none
    rounded-tr-none
    rounded-tl-none

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/borders/utilities/border-width.html b/dev/utilities/borders/utilities/border-width.html index 2306038d1c..5ab92a59ef 100644 --- a/dev/utilities/borders/utilities/border-width.html +++ b/dev/utilities/borders/utilities/border-width.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    边框大小

    效果

    使用 'rounded-* 设置元素边框大小。

    所有边
    border-0
    border
    border-2
    border-4
    上边框
    border-t-0
    border-t
    border-t-2
    border-t-4
    右边框
    border-r-0
    border-r
    border-r-2
    border-r-4
    下边框
    border-b-0
    border-b
    border-b-2
    border-b-4
    左边框
    border-l-0
    border-l
    border-l-2
    border-l-4

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/borders/utilities/divider.html b/dev/utilities/borders/utilities/divider.html index bab0d86c01..8795fa081c 100644 --- a/dev/utilities/borders/utilities/divider.html +++ b/dev/utilities/borders/utilities/divider.html @@ -14,14 +14,14 @@ - - + + - + \ No newline at end of file diff --git a/dev/utilities/borders/utilities/ring-color.html b/dev/utilities/borders/utilities/ring-color.html index 79954dd10d..d334fbae53 100644 --- a/dev/utilities/borders/utilities/ring-color.html +++ b/dev/utilities/borders/utilities/ring-color.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    环颜色

    效果

    通过 ring-* 来为元素添加通过 box-shadow 实现的环边框颜色。

    作为边框
    ring-border-light
    ring-border
    ring-border-strong
    透明度反色
    ring-light
    ring-gray
    ring-dark
    ring-darker
    ring-darkest
    语义化
    ring-primary
    ring-secondary
    ring-success
    ring-warning
    ring-danger
    ring-important
    ring-special
    灰度
    ring-gray-50
    ring-gray-100
    ring-gray-200
    ring-gray-300
    ring-gray-400
    ring-gray-500
    ring-gray-600
    ring-gray-700
    ring-gray-800
    ring-gray-900
    ring-gray-950
    界面
    ring-white
    纯白
    ring-black
    纯黑
    ring-canvas
    画布
    ring-inverse
    反色
    ring-surface
    控件
    ring-fore
    前景色
    ring-focus
    焦点色
    特殊
    ring-current
    CSS 值 currentColor
    ring-inherit
    CSS 值 inherit

    环颜色透明度

    使用工具类 ring-opacity-* 给元素添加背景色透明度。

    ring-opacity-0
    透明度:0%
    ring-opacity-5
    透明度:5%
    ring-opacity-10
    透明度:10%
    ring-opacity-20
    透明度:20%
    ring-opacity-25
    透明度:25%
    ring-opacity-30
    透明度:30%
    ring-opacity-40
    透明度:40%
    ring-opacity-50
    透明度:60%
    ring-opacity-60
    透明度:60%
    ring-opacity-70
    透明度:70%
    ring-opacity-75
    透明度:75%
    ring-opacity-80
    透明度:80%
    ring-opacity-90
    透明度:90%
    ring-opacity-95
    透明度:95%
    ring-opacity-100
    透明度:0%

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/borders/utilities/ring-offset.html b/dev/utilities/borders/utilities/ring-offset.html index 0c1bccf1d4..1fd090f3c0 100644 --- a/dev/utilities/borders/utilities/ring-offset.html +++ b/dev/utilities/borders/utilities/ring-offset.html @@ -14,14 +14,14 @@ - - + + - + \ No newline at end of file diff --git a/dev/utilities/borders/utilities/ring-width.html b/dev/utilities/borders/utilities/ring-width.html index 2a8a5a7944..6a11e253c8 100644 --- a/dev/utilities/borders/utilities/ring-width.html +++ b/dev/utilities/borders/utilities/ring-width.html @@ -14,14 +14,14 @@ - - + + - + \ No newline at end of file diff --git a/dev/utilities/effects/utilities/animation.html b/dev/utilities/effects/utilities/animation.html index f55b9cb211..2e5a845c09 100644 --- a/dev/utilities/effects/utilities/animation.html +++ b/dev/utilities/effects/utilities/animation.html @@ -14,8 +14,8 @@ - - + + @@ -35,7 +35,7 @@ </div>

    弹跳

    使用 animate-bounce 给元素添加弹跳动画。

    html
    <button type="button" class="btn primary">
       <i class="bounce icon icon-arrow-down"></i> 下载
     </button>

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/effects/utilities/filter.html b/dev/utilities/effects/utilities/filter.html index fb7954de17..1139329111 100644 --- a/dev/utilities/effects/utilities/filter.html +++ b/dev/utilities/effects/utilities/filter.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    CSS 滤镜

    高斯模糊

    通过 blur-* 给图片添加高斯模糊样式。

    原始
    blur-none
    blur-sm
    blur
    blur-md
    blur-lg
    blur-xl

    灰度和反色

    通过 grayscale 将图像转为灰度图像;通过 invert 将图像设置为反色。

    原始
    grayscale
    invert

    形状阴影

    通过 drop-shadow-* 给元素设置形状阴影效果,通常用在图片上。

    原始
    drop-shadow-none
    drop-shadow-sm
    drop-shadow
    drop-shadow-md
    drop-shadow-lg
    drop-shadow-xl
    drop-shadow-2xl

    背景模糊

    通过 backdrop-blur-* 添加覆盖区域模糊样式。

    原始
    backdrop-blur-none
    backdrop-blur-sm
    backdrop-blur
    backdrop-blur-md
    backdrop-blur-lg
    backdrop-blur-xl
    backdrop-blur-2xl
    backdrop-blur-3xl

    禁用滤镜

    通过 filter-none 来禁用之前添加的滤镜效果。

    filter-none

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/effects/utilities/opacity.html b/dev/utilities/effects/utilities/opacity.html index a40260648a..43ec7af136 100644 --- a/dev/utilities/effects/utilities/opacity.html +++ b/dev/utilities/effects/utilities/opacity.html @@ -14,14 +14,14 @@ - - + + - + \ No newline at end of file diff --git a/dev/utilities/effects/utilities/shadow.html b/dev/utilities/effects/utilities/shadow.html index cbed7d2e5e..096a662446 100644 --- a/dev/utilities/effects/utilities/shadow.html +++ b/dev/utilities/effects/utilities/shadow.html @@ -14,14 +14,14 @@ - - + + - + \ No newline at end of file diff --git a/dev/utilities/effects/utilities/transform.html b/dev/utilities/effects/utilities/transform.html index 3b7e36937a..0a4e910272 100644 --- a/dev/utilities/effects/utilities/transform.html +++ b/dev/utilities/effects/utilities/transform.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    变换

    使用 CSS transform 对元素应用变换效果。

    缩放

    通过 scale-* 为元素应用缩放效果。

    原始
    scale-0
    scale-50
    scale-75
    scale-90
    scale-95
    scale-100
    scale-105
    scale-110
    scale-125
    scale-150

    旋转

    通过 rotate-* 为元素应用旋转效果。

    原始
    rotate-0
    rotate-1
    rotate-2
    rotate-3
    rotate-6
    rotate-12
    rotate-45
    rotate-90
    rotate-135
    rotate-180
    rotate-270

    翻转

    添加 flip-* 给元素添加翻转效果。

    原始
    flip-x
    flip-y

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/effects/utilities/transition.html b/dev/utilities/effects/utilities/transition.html index 232217e571..316999b340 100644 --- a/dev/utilities/effects/utilities/transition.html +++ b/dev/utilities/effects/utilities/transition.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    过渡动画

    过渡属性

    通过 transition-* 为元素应用过渡动画,并制定过渡目标属性。

    transition
    transition
    all
    transition-all
    colors
    transition-colors
    opacity
    transition-opacity
    shadow
    transition-shadow
    transform
    transition-transform

    过渡时间

    通过 duration-* 为元素应用过渡动画时间。

    75ms
    duration-75
    100ms
    duration-100
    200ms
    duration-200
    300ms
    duration-300
    500ms
    duration-500
    1000ms
    duration-1000

    渐隐渐显

    通过 fade-* 来为元素设置渐隐渐显动画效果,默认元素不显示,通过控制添加 in 类让元素渐显。

    默认
    默认
    fade
    从中心显示
    从中心显示
    fade-from-center
    从下方显示
    从下方显示
    fade-from-bottom
    从上方显示
    从上方显示
    fade-from-top
    从左侧显示
    从左侧显示
    fade-from-left
    从右侧显示
    从右侧显示
    fade-from-right

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/flex/utilities/align-content.html b/dev/utilities/flex/utilities/align-content.html index 24e924d037..9d80f1dcf8 100644 --- a/dev/utilities/flex/utilities/align-content.html +++ b/dev/utilities/flex/utilities/align-content.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    align-content

    使用 content-* 应用CSS align-content 属性设置 Flex 容器中多行子元素沿交叉轴的对齐方式。

    效果展示

    content-center

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    content-start

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    content-end

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    content-between

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    content-around

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    content-evenly

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/flex/utilities/align-items.html b/dev/utilities/flex/utilities/align-items.html index caf1a8d340..5b737c1304 100644 --- a/dev/utilities/flex/utilities/align-items.html +++ b/dev/utilities/flex/utilities/align-items.html @@ -14,14 +14,14 @@ - - + + - + \ No newline at end of file diff --git a/dev/utilities/flex/utilities/align-self.html b/dev/utilities/flex/utilities/align-self.html index 5815136822..d18a852cad 100644 --- a/dev/utilities/flex/utilities/align-self.html +++ b/dev/utilities/flex/utilities/align-self.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    align-self

    使用 self-* 应用 CSS align-self 属性设置当前元素在 Grid 或 Flex 容器中的交叉轴方向上的对齐方式。

    self-auto

    self-auto
    default
    default
    default
    default

    self-start

    self-start
    default
    default
    default
    default

    self-end

    self-end
    default
    default
    default
    default

    self-center

    self-center
    default
    default
    default
    default

    self-stretch

    self-stretch
    default
    default
    default
    default

    self-baseline

    self-baseline
    default
    default
    default
    default

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/flex/utilities/basis.html b/dev/utilities/flex/utilities/basis.html index c7825d0d01..38d2cb717c 100644 --- a/dev/utilities/flex/utilities/basis.html +++ b/dev/utilities/flex/utilities/basis.html @@ -14,14 +14,14 @@ - - + + - + \ No newline at end of file diff --git a/dev/utilities/flex/utilities/direction.html b/dev/utilities/flex/utilities/direction.html index 1787a53a9a..684d057e81 100644 --- a/dev/utilities/flex/utilities/direction.html +++ b/dev/utilities/flex/utilities/direction.html @@ -14,14 +14,14 @@ - - + + - + \ No newline at end of file diff --git a/dev/utilities/flex/utilities/flex.html b/dev/utilities/flex/utilities/flex.html index eed09c62ee..e216244f63 100644 --- a/dev/utilities/flex/utilities/flex.html +++ b/dev/utilities/flex/utilities/flex.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    flex

    效果

    使用 flex-* 应用CSS flex 属性设置当前元素在 Grid 或 Flex 容器中的伸缩方式。

    flex-auto

    24 × 8
    24 × 8
    24 × 8

    flex-1

    24 × 8
    24 × 8
    24 × 8

    flex-initial

    24 × 8
    24 × 8
    24 × 8

    flex-none

    24 × 8
    24 × 8
    24 × 8

    混合使用

    flex-auto
    flex-1
    flex-initial
    flex-none

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/flex/utilities/gap.html b/dev/utilities/flex/utilities/gap.html index af12c965ec..b900d7f08b 100644 --- a/dev/utilities/flex/utilities/gap.html +++ b/dev/utilities/flex/utilities/gap.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    gap

    效果

    使用 gap-* 应用CSS属性 gap 设置 Flex 容器中元素间距。

    gap-0

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    gap-x-0

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    gap-y-0

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    gap-1

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    gap-x-1

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    gap-y-1

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    gap-2

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    gap-x-2

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    gap-y-2

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    gap-3

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    gap-x-3

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    gap-y-3

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    gap-4

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    gap-x-4

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    gap-y-4

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    gap-5

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    gap-x-5

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    gap-y-5

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    gap-6

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    gap-x-6

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    gap-y-6

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    gap-7

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    gap-x-7

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    gap-y-7

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    gap-8

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    gap-x-8

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    gap-y-8

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/flex/utilities/grow.html b/dev/utilities/flex/utilities/grow.html index 652aecc774..052ac4ed73 100644 --- a/dev/utilities/flex/utilities/grow.html +++ b/dev/utilities/flex/utilities/grow.html @@ -14,14 +14,14 @@ - - + + - + \ No newline at end of file diff --git a/dev/utilities/flex/utilities/justify-content.html b/dev/utilities/flex/utilities/justify-content.html index 253be9ddcb..5cf668d68e 100644 --- a/dev/utilities/flex/utilities/justify-content.html +++ b/dev/utilities/flex/utilities/justify-content.html @@ -14,14 +14,14 @@ - - + + - + \ No newline at end of file diff --git a/dev/utilities/flex/utilities/order.html b/dev/utilities/flex/utilities/order.html index 1657e52e5c..87f899c420 100644 --- a/dev/utilities/flex/utilities/order.html +++ b/dev/utilities/flex/utilities/order.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    order

    效果

    使用 order-* 应用CSS属性 order 设置当前元素在 Flex 容器中的排列顺序。

    1
    order-12
    2
    order-11
    3
    order-10
    4
    order-9
    5
    order-8
    6
    order-7
    7
    order-6
    8
    order-5
    9
    order-4
    10
    order-3
    11
    order-2
    12
    order-1

    使用 order-firstorder-lastorder-none 也可以改变 Flex 子元素排列顺序。

    0
    order-last
    1
    order-first
    2
    order-none

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/flex/utilities/shrink.html b/dev/utilities/flex/utilities/shrink.html index c4cd152941..594bdec6fb 100644 --- a/dev/utilities/flex/utilities/shrink.html +++ b/dev/utilities/flex/utilities/shrink.html @@ -14,14 +14,14 @@ - - + + - + \ No newline at end of file diff --git a/dev/utilities/flex/utilities/wrap.html b/dev/utilities/flex/utilities/wrap.html index f936981609..aa62ee9a5b 100644 --- a/dev/utilities/flex/utilities/wrap.html +++ b/dev/utilities/flex/utilities/wrap.html @@ -14,14 +14,14 @@ - - + + - + \ No newline at end of file diff --git a/dev/utilities/index.html b/dev/utilities/index.html index 57f5e5e0c3..ebf84523cf 100644 --- a/dev/utilities/index.html +++ b/dev/utilities/index.html @@ -14,14 +14,14 @@ - - + + - + \ No newline at end of file diff --git a/dev/utilities/interactivity/utilities/cursor.html b/dev/utilities/interactivity/utilities/cursor.html index 6e1dfee90c..6be4f2fde9 100644 --- a/dev/utilities/interactivity/utilities/cursor.html +++ b/dev/utilities/interactivity/utilities/cursor.html @@ -14,14 +14,14 @@ - - + + -
    Skip to content

    光标

    效果

    通过 cursor-* 类可以改变光标的样式。

    cursor-auto
    cursor-auto
    cursor-default
    cursor-default
    cursor-pointer
    cursor-pointer
    cursor-wait
    cursor-wait
    cursor-text
    cursor-text
    cursor-move
    cursor-move
    cursor-help
    cursor-help
    cursor-not-allowed
    cursor-not-allowed

    MIT License (MIT)

    - +
    Skip to content

    光标

    效果

    通过 cursor-* 类可以改变光标的样式。

    cursor-auto
    cursor-auto
    cursor-default
    cursor-default
    cursor-pointer
    cursor-pointer
    cursor-wait
    cursor-wait
    cursor-text
    cursor-text
    cursor-move
    cursor-move
    cursor-help
    cursor-help
    cursor-not-allowed
    cursor-not-allowed

    MIT License (MIT)

    + \ No newline at end of file diff --git a/dev/utilities/interactivity/utilities/disabled.html b/dev/utilities/interactivity/utilities/disabled.html index 35bcb7e2d5..fc9ff497ab 100644 --- a/dev/utilities/interactivity/utilities/disabled.html +++ b/dev/utilities/interactivity/utilities/disabled.html @@ -14,14 +14,14 @@ - - + + -
    Skip to content

    禁用

    效果

    使用 disabled 类设置元素为禁用,禁用的元素会以半透明的形式显示,并强制使用灰度显示。

    注意

    禁用元素仍然响应鼠标事件,如果需要完全禁用鼠标事件,需要添加 pointer-events-none,如果是表单元素或按钮则可以添加 disabled="disabled" 属性实现完全禁用。

    MIT License (MIT)

    - +
    Skip to content

    禁用

    效果

    使用 disabled 类设置元素为禁用,禁用的元素会以半透明的形式显示,并强制使用灰度显示。

    注意

    禁用元素仍然响应鼠标事件,如果需要完全禁用鼠标事件,需要添加 pointer-events-none,如果是表单元素或按钮则可以添加 disabled="disabled" 属性实现完全禁用。

    MIT License (MIT)

    + \ No newline at end of file diff --git a/dev/utilities/interactivity/utilities/loading.html b/dev/utilities/interactivity/utilities/loading.html index 6153094413..d894ceff0c 100644 --- a/dev/utilities/interactivity/utilities/loading.html +++ b/dev/utilities/interactivity/utilities/loading.html @@ -14,14 +14,14 @@ - - + + - + \ No newline at end of file diff --git a/dev/utilities/interactivity/utilities/pointer-events.html b/dev/utilities/interactivity/utilities/pointer-events.html index 95f42b12e3..f84e0f7299 100644 --- a/dev/utilities/interactivity/utilities/pointer-events.html +++ b/dev/utilities/interactivity/utilities/pointer-events.html @@ -14,14 +14,14 @@ - - + + - + \ No newline at end of file diff --git a/dev/utilities/interactivity/utilities/scroll.html b/dev/utilities/interactivity/utilities/scroll.html index d08f918f1a..ad6974e329 100644 --- a/dev/utilities/interactivity/utilities/scroll.html +++ b/dev/utilities/interactivity/utilities/scroll.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    滚动

    平滑滚动

    使用 scroll-smooth 工具类来为元素应用 scroll-behavior: smooth 属性,指定其进行平滑滚动。

    1
    2
    3
    4
    滚动到:

    立即滚动

    使用 scroll-auto 工具类来为元素应用 scroll-behavior: auto 属性,指定其进行立即滚动。

    1
    2
    3
    4
    滚动到:

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/interactivity/utilities/state.html b/dev/utilities/interactivity/utilities/state.html index 6f3014d687..7f7f935d7a 100644 --- a/dev/utilities/interactivity/utilities/state.html +++ b/dev/utilities/interactivity/utilities/state.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    状态响应

    效果

    通过为元素添加工具类 state 让按钮响应用户的鼠标交互,包括鼠标悬停、鼠标按下、获得焦点时拥有不同的样式。

    提示

    在按钮(.btn)和导航中的链接(.item > a )已经默认应用了 state 工具类,无需再次添加。

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/interactivity/utilities/user-select.html b/dev/utilities/interactivity/utilities/user-select.html index debc7c539e..c2a811484e 100644 --- a/dev/utilities/interactivity/utilities/user-select.html +++ b/dev/utilities/interactivity/utilities/user-select.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    文本选择

    用于控制用户能否选中文本的工具类。

    效果

    通过工具类 select-* 来控制用户能否选中元素中的文本。

    禁止选择文本
    select-none
    允许选择文本
    select-text
    点击自动选择所有文本
    select-all
    浏览器默认行为
    select-auto

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/layout/utilities/aspect-ratio.html b/dev/utilities/layout/utilities/aspect-ratio.html index dfaa40a8e0..880559887c 100644 --- a/dev/utilities/layout/utilities/aspect-ratio.html +++ b/dev/utilities/layout/utilities/aspect-ratio.html @@ -14,14 +14,14 @@ - - + + - + \ No newline at end of file diff --git a/dev/utilities/layout/utilities/container.html b/dev/utilities/layout/utilities/container.html index c337255322..c5bdce8746 100644 --- a/dev/utilities/layout/utilities/container.html +++ b/dev/utilities/layout/utilities/container.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    容器

    定义

    使用 container 类将元素宽度限制为当前屏幕断点,具体规则如下:

    屏幕断点CSS 属性
    默认width: 100%;
    @media (min-width: --screen-sm)max-width: --screen-sm;
    @media (min-width: --screen-md)max-width: --screen-md;
    @media (min-width: --screen-lg)max-width: --screen-lg;
    @media (min-width: --screen-xl)max-width: --screen-xl;
    @media (min-width: --screen-2xl)max-width: --screen-2xl;

    提示

    .container 还会为元素添加 margin-left: auto; margin-right: auto;,使得元素默认居中显示。

    用法

    .container

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/layout/utilities/display.html b/dev/utilities/layout/utilities/display.html index c234f51af7..adb4a00b24 100644 --- a/dev/utilities/layout/utilities/display.html +++ b/dev/utilities/layout/utilities/display.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    显示类型

    定义

    在 ZUI 中提供了各种工具类来设置 CSS display 属性,主要包括:

    工具类属性
    blockdisplay: block;
    inline-blockdisplay: inline-block;
    inlinedisplay: inline;
    flexdisplay: flex;
    inline-flexdisplay: inline-flex;
    tabledisplay: table;
    table-celldisplay: table-cell;
    table-rowdisplay: table-row;
    list-itemdisplay: list-item;
    hiddendisplay: hidden;

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/layout/utilities/floats.html b/dev/utilities/layout/utilities/floats.html index 8f9fc522dd..2b9aca40cf 100644 --- a/dev/utilities/layout/utilities/floats.html +++ b/dev/utilities/layout/utilities/floats.html @@ -14,14 +14,14 @@ - - + + -
    Skip to content

    浮动

    定义

    用于设置元素浮动或清除浮动影响的工具类。

    工具类属性
    pull-rightfloat: right;
    pull-leftfloat: left;
    clearfix.clearfix::after {content: ""; display: block; clear: both;}

    提示

    浮动应当仅适用于实现文字环绕效果,布局请使用 Flex 工具类

    效果展示

    向右浮动

    使用工具类 pull-right 将一个元素浮动到其容器的右边。

    So I started to walk into the water. I won't lie to you boys, I was terrified. But I pressed on, and as I made my way past the breakers a strange calm came over me. I don't know if it was divine intervention or the kinship of all living things but I tell you Jerry at that moment, I was a marine biologist.

    月光如流水一般,静静地泻在这一片叶子和花上。薄薄的青雾浮起在荷塘里。叶子和花仿佛在牛乳中洗过一样;又像笼着轻纱的梦。

    向左浮动

    使用工具类 pull-left 将一个元素浮动到其容器的左边。

    So I started to walk into the water. I won't lie to you boys, I was terrified. But I pressed on, and as I made my way past the breakers a strange calm came over me. I don't know if it was divine intervention or the kinship of all living things but I tell you Jerry at that moment, I was a marine biologist.

    月光如流水一般,静静地泻在这一片叶子和花上。薄薄的青雾浮起在荷塘里。叶子和花仿佛在牛乳中洗过一样;又像笼着轻纱的梦。

    MIT License (MIT)

    - +
    Skip to content

    浮动

    定义

    用于设置元素浮动或清除浮动影响的工具类。

    工具类属性
    pull-rightfloat: right;
    pull-leftfloat: left;
    clearfix.clearfix::after {content: ""; display: block; clear: both;}

    提示

    浮动应当仅适用于实现文字环绕效果,布局请使用 Flex 工具类

    效果展示

    向右浮动

    使用工具类 pull-right 将一个元素浮动到其容器的右边。

    So I started to walk into the water. I won't lie to you boys, I was terrified. But I pressed on, and as I made my way past the breakers a strange calm came over me. I don't know if it was divine intervention or the kinship of all living things but I tell you Jerry at that moment, I was a marine biologist.

    月光如流水一般,静静地泻在这一片叶子和花上。薄薄的青雾浮起在荷塘里。叶子和花仿佛在牛乳中洗过一样;又像笼着轻纱的梦。

    向左浮动

    使用工具类 pull-left 将一个元素浮动到其容器的左边。

    So I started to walk into the water. I won't lie to you boys, I was terrified. But I pressed on, and as I made my way past the breakers a strange calm came over me. I don't know if it was divine intervention or the kinship of all living things but I tell you Jerry at that moment, I was a marine biologist.

    月光如流水一般,静静地泻在这一片叶子和花上。薄薄的青雾浮起在荷塘里。叶子和花仿佛在牛乳中洗过一样;又像笼着轻纱的梦。

    MIT License (MIT)

    + \ No newline at end of file diff --git a/dev/utilities/layout/utilities/object-fit.html b/dev/utilities/layout/utilities/object-fit.html index be7e0ddbae..87e839e4a0 100644 --- a/dev/utilities/layout/utilities/object-fit.html +++ b/dev/utilities/layout/utilities/object-fit.html @@ -14,14 +14,14 @@ - - + + -
    Skip to content

    内容适配

    定义

    元素的内容应该如何去适应指定容器的高度与宽度。

    工具类属性
    object-containobject-fit: contain;
    object-coverobject-fit: cover;
    object-fillobject-fit: fill;
    object-noneobject-fit: none;
    object-scale-downobject-fit: scale-down;

    效果展示

    包含

    使用工具类 object-contain 调整元素内容的大小,使其保持在容器内。

    覆盖

    使用工具类 object-cover 调整元素内容的大小以覆盖其容器。

    充满

    使用工具类 object-fill 拉伸元素的内容以适应其容器。

    使用工具类 object-none 以原始大小显示元素的内容,忽略容器大小。

    缩小

    以原始大小显示元素的内容,但必要时使用 object-scale-down 将其缩小以适应其容器。

    MIT License (MIT)

    - +
    Skip to content

    内容适配

    定义

    元素的内容应该如何去适应指定容器的高度与宽度。

    工具类属性
    object-containobject-fit: contain;
    object-coverobject-fit: cover;
    object-fillobject-fit: fill;
    object-noneobject-fit: none;
    object-scale-downobject-fit: scale-down;

    效果展示

    包含

    使用工具类 object-contain 调整元素内容的大小,使其保持在容器内。

    覆盖

    使用工具类 object-cover 调整元素内容的大小以覆盖其容器。

    充满

    使用工具类 object-fill 拉伸元素的内容以适应其容器。

    使用工具类 object-none 以原始大小显示元素的内容,忽略容器大小。

    缩小

    以原始大小显示元素的内容,但必要时使用 object-scale-down 将其缩小以适应其容器。

    MIT License (MIT)

    + \ No newline at end of file diff --git a/dev/utilities/layout/utilities/overflow.html b/dev/utilities/layout/utilities/overflow.html index 7bede24ae3..7b5590808b 100644 --- a/dev/utilities/layout/utilities/overflow.html +++ b/dev/utilities/layout/utilities/overflow.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    溢出

    定义

    用于控制元素如何处理超出容器的内容的工具类。

    工具类属性
    overflow-autooverflow: auto;
    overflow-hiddenoverflow: hidden;
    overflow-cliptext-overflow: clip;
    overflow-visibleoverflow: visible;
    overflow-scrolloverflow: scroll;
    overflow-x-autooverflow-x: auto;
    overflow-y-autooverflow-y: auto;
    overflow-x-hiddenoverflow-x: hidden;
    overflow-y-hiddenoverflow-y: hidden;
    overflow-x-visibleoverflow-x: visible;
    overflow-y-visibleoverflow-y: visible;
    overflow-x-scrolloverflow-x: scroll;
    overflow-y-scrolloverflow-y: scroll;

    效果展示

    自动

    使用工具类 overflow-auto 在一个元素的内容溢出该元素的边界时为其添加滚动条。不像 overflow-scroll 总是显示滚动条,这个工具类只在需要滚动时才会显示。

    虞美人·春花秋月何时了

    五代·李煜

    春花秋月何时了?往事知多少。
    小楼昨夜又东风,故国不堪回首月明中。
    雕栏玉砌应犹在,只是朱颜改。
    问君能有几多愁?恰似一江春水向东流

    隐藏

    使用工具类 overflow-hidden 来剪切元素中任何溢出该元素边界的内容。

    虞美人·春花秋月何时了

    五代·李煜

    春花秋月何时了?往事知多少。
    小楼昨夜又东风,故国不堪回首月明中。
    雕栏玉砌应犹在,只是朱颜改。
    问君能有几多愁?恰似一江春水向东流

    可见

    使用工具类 overflow-visible 来防止元素内的内容被剪切。请注意,任何溢出元素边界的内容都将是可见的。

    虞美人·春花秋月何时了

    五代·李煜

    春花秋月何时了?往事知多少。
    小楼昨夜又东风,故国不堪回首月明中。
    雕栏玉砌应犹在,只是朱颜改。
    问君能有几多愁?恰似一江春水向东流

    需要时水平滚动

    如果需要,使用工具类 overflow-x-auto 来允许水平滚动。

    虞美人·春花秋月何时了

    五代·李煜

    春花秋月何时了?往事知多少。小楼昨夜又东风,故国不堪回首月明中。雕栏玉砌应犹在,只是朱颜改。问君能有几多愁?恰似一江春水向东流

    需要时垂直滚动

    如果需要,使用工具类 overflow-y-auto 来允许垂直滚动。

    虞美人·春花秋月何时了

    五代·李煜

    春花秋月何时了?往事知多少。小楼昨夜又东风,故国不堪回首月明中。雕栏玉砌应犹在,只是朱颜改。问君能有几多愁?恰似一江春水向东流

    始终水平滚动

    如果需要,使用工具类 overflow-x-scroll 来允许水平滚动。

    虞美人·春花秋月何时了

    五代·李煜

    春花秋月何时了?往事知多少。小楼昨夜又东风,故国不堪回首月明中。雕栏玉砌应犹在,只是朱颜改。问君能有几多愁?恰似一江春水向东流

    始终垂直滚动

    如果需要,使用工具类 overflow-y-scroll 来允许水平滚动。

    虞美人·春花秋月何时了

    五代·李煜

    春花秋月何时了?往事知多少。小楼昨夜又东风,故国不堪回首月明中。雕栏玉砌应犹在,只是朱颜改。问君能有几多愁?恰似一江春水向东流

    在所有方向上滚动

    如果需要,使用工具类 overflow-scroll 来允许水平滚动。

    虞美人·春花秋月何时了

    五代·李煜

    春花秋月何时了?往事知多少。小楼昨夜又东风,故国不堪回首月明中。雕栏玉砌应犹在,只是朱颜改。问君能有几多愁?恰似一江春水向东流

    虞美人·春花秋月何时了

    五代·李煜

    春花秋月何时了?往事知多少。小楼昨夜又东风,故国不堪回首月明中。雕栏玉砌应犹在,只是朱颜改。问君能有几多愁?恰似一江春水向东流

    虞美人·春花秋月何时了

    五代·李煜

    春花秋月何时了?往事知多少。小楼昨夜又东风,故国不堪回首月明中。雕栏玉砌应犹在,只是朱颜改。问君能有几多愁?恰似一江春水向东流

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/layout/utilities/position.html b/dev/utilities/layout/utilities/position.html index 2187bce4a7..7dc3de3d61 100644 --- a/dev/utilities/layout/utilities/position.html +++ b/dev/utilities/layout/utilities/position.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    定位

    定义

    用于控制元素在DOM中的位置的工具类。

    工具类属性
    staticposition: static;
    fixedposition: fixed;
    absoluteposition: absolute;
    relativeposition: relative;
    stickyposition: sticky;

    使用方法

    staticabsolute

    使用 static 根据常规的文档流来定位元素,浏览器默认 position 取值就是 static。任何偏移都将被忽略,而且该元素不会作为绝对定位的子元素的位置参考。

    Static 父元素

    Absolute 子元素

    relativeabsolute

    使用 relative 根据常规的文档流来定位元素。偏移量是相对于元素的正常位置计算的,并且该元素将作为绝对定位的子元素的位置参考。

    使用 absolute 将一个元素定位在文档常规流之外,使相邻元素的行为就像该元素不存在一样。偏移量是相对于最近的位置不是 static 的父元素计算的,而且该元素将作为其他绝对定位的子元素的位置参考。

    Relative 父元素

    Absolute 子元素

    sticky

    sticky 元素根据正常文档流进行定位,然后相对它的最近滚动祖先和 containing block,包括 table-related 元素,基于 top、right、bottom 和 left 的值进行偏移。偏移值不会影响任何其他元素的位置。

    黄鹤楼送孟浩然之广陵

    故人西辞黄鹤楼,

    烟花三月下扬州。

    孤帆远影碧空尽,

    唯见长江天际流。

    闻王昌龄左迁龙标遥有此寄

    杨花落尽子规啼,

    闻道龙标过五溪。

    我寄愁心与明月,

    随君直到夜郎西。

    宣州谢朓楼饯别校书叔云

    弃我去者,昨日之日不可留;

    乱我心者,今日之日多烦忧。

    长风万里送秋雁,对此可以酣高楼。

    蓬莱文章建安骨,中间小谢又清发。

    俱怀逸兴壮思飞,欲上青天揽明月。

    抽刀断水水更流,举杯消愁愁更愁。

    人生在世不称意,明朝散发弄扁舟。

    fixed

    使用 fixed 来定位一个元素相对于浏览器窗视口的位置。偏移量是相对于视口计算的,且该元素将作为绝对定位的子元素的位置参考。

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/layout/utilities/top-right-bottom-left.html b/dev/utilities/layout/utilities/top-right-bottom-left.html index 00e4a47f00..c6640d8f9e 100644 --- a/dev/utilities/layout/utilities/top-right-bottom-left.html +++ b/dev/utilities/layout/utilities/top-right-bottom-left.html @@ -14,14 +14,14 @@ - - + + -
    Skip to content

    上下左右

    定义

    用于控制定位元素的位置的工具类。

    工具类属性
    inset-0top: 0px; right: 0px; bottom: 0px; left: 0px;
    inset-autotop: auto; right: auto; bottom: auto; left: auto;
    inset-x-0left: 0px; right: 0px;
    inset-y-0top: 0px; bottom: 0px;
    top-0top: 0px;
    right-0right: 0px;
    bottom-0bottom: 0px;
    left-0left: 0px;
    top-pxtop: 1px;
    right-pxright: 1px;
    bottom-pxbottom: 1px;
    left-pxleft: 1px;
    top-0.5top: 2px;
    right-0.5right: 2px;
    bottom-0.5bottom: 2px;
    left-0.5left: 2px;
    top-1top: 4px;
    right-1right: 4px;
    bottom-1bottom: 4px;
    left-1left: 4px;
    top-1.5top: 6px;
    right-1.5right: 6px;
    bottom-1.5bottom: 6px;
    left-1.5left: 6px;
    top-2top: 8px;
    right-2right: 8px;
    bottom-2bottom: 8px;
    left-2left: 8px;
    top-fulltop: 100%;
    right-fullright: 100%;
    bottom-fullbottom: 100%;
    left-fullleft: 100%;
    top-autotop: auto;
    right-autoright: auto;
    bottom-autobottom: auto;
    left-autoleft: auto;

    效果展示

    1
    2
    3
    4
    5
    6
    7
    8

    MIT License (MIT)

    - +
    Skip to content

    上下左右

    定义

    用于控制定位元素的位置的工具类。

    工具类属性
    inset-0top: 0px; right: 0px; bottom: 0px; left: 0px;
    inset-autotop: auto; right: auto; bottom: auto; left: auto;
    inset-x-0left: 0px; right: 0px;
    inset-y-0top: 0px; bottom: 0px;
    top-0top: 0px;
    right-0right: 0px;
    bottom-0bottom: 0px;
    left-0left: 0px;
    top-pxtop: 1px;
    right-pxright: 1px;
    bottom-pxbottom: 1px;
    left-pxleft: 1px;
    top-0.5top: 2px;
    right-0.5right: 2px;
    bottom-0.5bottom: 2px;
    left-0.5left: 2px;
    top-1top: 4px;
    right-1right: 4px;
    bottom-1bottom: 4px;
    left-1left: 4px;
    top-1.5top: 6px;
    right-1.5right: 6px;
    bottom-1.5bottom: 6px;
    left-1.5left: 6px;
    top-2top: 8px;
    right-2right: 8px;
    bottom-2bottom: 8px;
    left-2left: 8px;
    top-fulltop: 100%;
    right-fullright: 100%;
    bottom-fullbottom: 100%;
    left-fullleft: 100%;
    top-autotop: auto;
    right-autoright: auto;
    bottom-autobottom: auto;
    left-autoleft: auto;

    效果展示

    1
    2
    3
    4
    5
    6
    7
    8

    MIT License (MIT)

    + \ No newline at end of file diff --git a/dev/utilities/layout/utilities/visibility.html b/dev/utilities/layout/utilities/visibility.html index c360ee2f65..fb960b5a50 100644 --- a/dev/utilities/layout/utilities/visibility.html +++ b/dev/utilities/layout/utilities/visibility.html @@ -14,14 +14,14 @@ - - + + - - + + \ No newline at end of file diff --git a/dev/utilities/layout/utilities/z-index.html b/dev/utilities/layout/utilities/z-index.html index 9feda96210..2aa36e764e 100644 --- a/dev/utilities/layout/utilities/z-index.html +++ b/dev/utilities/layout/utilities/z-index.html @@ -14,14 +14,14 @@ - - + + - - + + \ No newline at end of file diff --git a/dev/utilities/sizing/utilities/height.html b/dev/utilities/sizing/utilities/height.html index 04b4fbbbc4..72f8ce53da 100644 --- a/dev/utilities/sizing/utilities/height.html +++ b/dev/utilities/sizing/utilities/height.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    高度

    固定值

    通过工具类 h-* 设置高度为固定值,包含如下工具类:

    工具类CSS 属性
    h-0height: 0px;
    h-pxheight: 1px;
    h-0.5height: 2px;
    h-1height: 4px;
    h-1.5height: 6px;
    h-2height: 8px;
    h-2.5height: 10px;
    h-3height: 12px;
    h-3.5height: 14px;
    h-4height: 16px;
    h-5height: 20px;
    h-6height: 24px;
    h-7height: 28px;
    h-8height: 32px;
    h-9height: 36px;
    h-10height: 40px;
    h-11height: 44px;
    h-12height: 48px;
    h-14height: 56px;
    h-16height: 64px;
    h-20height: 80px;
    h-24height: 96px;
    h-28height: 112px;
    h-32height: 128px;
    h-36height: 144px;
    h-40height: 160px;
    h-44height: 176px;
    h-48height: 192px;
    h-52height: 208px;
    h-56height: 224px;
    h-60height: 240px;
    h-64height: 256px;
    h-72height: 288px;
    h-80height: 320px;
    h-96height: 384px;

    百分比

    通过工具类 h-* 设置高度为百分比,包含如下工具类:

    工具类CSS 属性
    h-1/2height: 50%;
    h-1/3height: 33.3333333%;
    h-2/3height: 66.6666667%;
    h-1/4height: 25%;
    h-2/4height: 50%;
    h-3/4height: 75%;
    h-1/5height: 20%;
    h-2/5height: 40%;
    h-3/5height: 60%;
    h-4/5height: 80%;
    h-1/6height: 16.6666667%;
    h-2/6height: 33.3333333%;
    h-3/6height: 50%;
    h-4/6height: 66.6666667%;
    h-5/6height: 83.3333333%;
    h-fullheight: 100%;

    特殊值

    通过工具类 h-* 设置高度为特殊值,包含如下工具类:

    工具类CSS 属性
    h-autoheight: auto;
    h-screenheight: 100vh;
    h-fitheight: fit-content;
    h-minheight: min-content;
    h-maxheight: max-content;

    限制最大高度

    通过工具类 max-h-* 设置限制元素最大高度,包含如下工具类:

    工具类CSS 属性
    max-h-0max-height: 0px;
    max-h-fullmax-height: 100%;
    max-h-screenmax-height: 100vh;
    max-h-nonemax-height: none;
    max-h-minmax-height: min-content;
    max-h-maxmax-height: max-content;
    max-h-fitmax-height: fit-content;

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/sizing/utilities/width.html b/dev/utilities/sizing/utilities/width.html index a61a546425..342a2b366b 100644 --- a/dev/utilities/sizing/utilities/width.html +++ b/dev/utilities/sizing/utilities/width.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    宽度

    固定值

    通过工具类 w-* 设置宽度为固定值,包含如下工具类:

    工具类CSS 属性
    w-0width: 0px;
    w-pxwidth: 1px;
    w-0.5width: 2px;
    w-1width: 4px;
    w-1.5width: 6px;
    w-2width: 8px;
    w-2.5width: 10px;
    w-3width: 12px;
    w-3.5width: 14px;
    w-4width: 16px;
    w-5width: 20px;
    w-6width: 24px;
    w-7width: 28px;
    w-8width: 32px;
    w-9width: 36px;
    w-10width: 40px;
    w-11width: 44px;
    w-12width: 48px;
    w-14width: 56px;
    w-16width: 64px;
    w-20width: 80px;
    w-24width: 96px;
    w-28width: 112px;
    w-32width: 128px;
    w-36width: 144px;
    w-40width: 160px;
    w-44width: 176px;
    w-48width: 192px;
    w-52width: 208px;
    w-56width: 224px;
    w-60width: 240px;
    w-64width: 256px;
    w-72width: 288px;
    w-80width: 320px;
    w-96width: 384px;

    百分比

    通过工具类 w-* 设置宽度为百分比,包含如下工具类:

    工具类CSS 属性
    w-1/2width: 50%;
    w-1/3width: 33.3333333%;
    w-2/3width: 66.6666667%;
    w-1/4width: 25%;
    w-2/4width: 50%;
    w-3/4width: 75%;
    w-1/5width: 20%;
    w-2/5width: 40%;
    w-3/5width: 60%;
    w-4/5width: 80%;
    w-1/6width: 16.6666667%;
    w-2/6width: 33.3333333%;
    w-3/6width: 50%;
    w-4/6width: 66.6666667%;
    w-5/6width: 83.3333333%;
    w-fullwidth: 100%;

    特殊值

    通过工具类 w-* 设置宽度为特殊值,包含如下工具类:

    工具类CSS 属性
    w-autowidth: auto;
    w-screenwidth: 100vw;
    w-fitwidth: fit-content;
    w-minwidth: min-content;
    w-maxwidth: max-content;

    限制最大宽度

    通过工具类 max-w-* 设置限制元素最大宽度,包含如下工具类:

    工具类CSS 属性
    max-w-0max-width: 0px;
    max-w-fullmax-width: 100%;
    max-w-screenmax-width: 100vw;
    max-w-nonemax-width: none;
    max-w-minmax-width: min-content;
    max-w-maxmax-width: max-content;
    max-w-fitmax-width: fit-content;

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/skin/utilities/ghost.html b/dev/utilities/skin/utilities/ghost.html index 8c5934bece..90be441987 100644 --- a/dev/utilities/skin/utilities/ghost.html +++ b/dev/utilities/skin/utilities/ghost.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    透明

    用于快速为元素或组件实现特定文字颜色带透明背景外观。

    效果

    默认
    ghost
    语义化
    primary-ghost
    secondary-ghost
    success-ghost
    warning-ghost
    danger-ghost
    important-ghost
    special-ghost

    示例

    Ghost Element

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/skin/utilities/outline.html b/dev/utilities/skin/utilities/outline.html index 1776713a11..53da58dbc3 100644 --- a/dev/utilities/skin/utilities/outline.html +++ b/dev/utilities/skin/utilities/outline.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    轮廓

    用于快速为元素或组件实现特定颜色的轮廓描边外观。

    效果

    默认
    outline
    语义化
    primary-outline
    secondary-outline
    success-outline
    warning-outline
    danger-outline
    important-outline
    special-outline
    灰度
    gray-outline

    提示

    轮廓的描边效果使用 box-shadow 实现。

    示例

    Success Label
    Gray Element

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/skin/utilities/pale.html b/dev/utilities/skin/utilities/pale.html index 424d10f4d3..ccce9bcd26 100644 --- a/dev/utilities/skin/utilities/pale.html +++ b/dev/utilities/skin/utilities/pale.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    浅色

    用于快速为元素或组件实现特定颜色的浅色填充外观,包含语义化和灰度工具类。

    效果

    语义化
    primary-pale
    secondary-pale
    success-pale
    warning-pale
    danger-pale
    important-pale
    special-pale
    灰度
    gray-50-pale
    gray-100-pale
    gray-200-pale
    gray-300-pale
    gray-400-pale
    gray-pale
    gray-500-pale 别名: gray-pale
    gray-600-pale
    gray-700-pale
    gray-800-pale
    gray-900-pale
    gray-950-pale

    示例

    Success Label
    Gray Element

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/skin/utilities/solid.html b/dev/utilities/skin/utilities/solid.html index 57071202ae..32501e6ffe 100644 --- a/dev/utilities/skin/utilities/solid.html +++ b/dev/utilities/skin/utilities/solid.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    实心

    用于快速为元素或组件实现特定颜色的实心填充外观,包含语义化和灰度工具类。

    效果

    语义化
    primary
    secondary
    success
    warning
    danger
    important
    special
    灰度
    gray-50
    gray-100
    gray-200
    gray-300
    gray-400
    gray
    gray-500 别名: gray
    gray-600
    gray-700
    gray-800
    gray-900
    gray-950

    示例

    Success Label
    Gray Element

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/skin/utilities/surface.html b/dev/utilities/skin/utilities/surface.html index 815af32809..32383c3d2c 100644 --- a/dev/utilities/skin/utilities/surface.html +++ b/dev/utilities/skin/utilities/surface.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    界面

    用于快速为元素或组件实现特定功能界面颜色外观。

    效果

    white
    纯白
    black
    纯黑
    transparent
    透明
    canvas
    画布
    inverse
    反色
    surface-light
    加重的控件
    surface
    控件
    surface-strong
    轻量的控件

    示例

    Surface Element

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/spacing/utilities/margin.html b/dev/utilities/spacing/utilities/margin.html index 288f4908a0..4dd0f4543f 100644 --- a/dev/utilities/spacing/utilities/margin.html +++ b/dev/utilities/spacing/utilities/margin.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    外边距

    定义

    通过 m-* 工具类设置外边距,可用的工具类包括:

    工具类CSS 属性
    m-automargin: auto;
    mx-automargin-left: auto; margin-right: auto;
    my-automargin-top: auto; margin-bottom: auto;
    mt-automargin-top: auto;
    mr-automargin-right: auto;
    mb-automargin-bottom: auto;
    ml-automargin-left: auto;
    m-0margin: 0px;
    m-pxmargin: 1px;
    m-0.5margin: 2px;
    m-1margin: 4px;
    m-1.5margin: 6px;
    m-2margin: 8px;
    m-2.5margin: 10px;
    m-3margin: 12px;
    m-3.5margin: 14px;
    m-4margin: 16px;
    m-5margin: 20px;
    m-6margin: 24px;
    m-7margin: 28px;
    m-8margin: 32px;
    m-9margin: 36px;
    m-10margin: 40px;
    mx-0margin-left: 0px; margin-right: 0px;
    my-0margin-top: 0px; margin-bottom: 0px;
    mt-0margin-top: 0px;
    mr-0margin-right: 0px;
    mb-0margin-bottom: 0px;
    ml-0margin-left: 0px;
    mx-pxmargin-left: 1px; margin-right: 1px;
    my-pxmargin-top: 1px; margin-bottom: 1px;
    mt-pxmargin-top: 1px;
    mr-pxmargin-right: 1px;
    mb-pxmargin-bottom: 1px;
    ml-pxmargin-left: 1px;
    mx-0.5margin-left: 2px; margin-right: 2px;
    my-0.5margin-top: 2px; margin-bottom: 2px;
    mt-0.5margin-top: 2px;
    mr-0.5margin-right: 2px;
    mb-0.5margin-bottom: 2px;
    ml-0.5margin-left: 2px;
    mx-1margin-left: 4px; margin-right: 4px;
    my-1margin-top: 4px; margin-bottom: 4px;
    mt-1margin-top: 4px;
    mr-1margin-right: 4px;
    mb-1margin-bottom: 4px;
    ml-1margin-left: 4px;
    mx-1.5margin-left: 6px; margin-right: 6px;
    my-1.5margin-top: 6px; margin-bottom: 6px;
    mt-1.5margin-top: 6px;
    mr-1.5margin-right: 6px;
    mb-1.5margin-bottom: 6px;
    ml-1.5margin-left: 6px;
    mx-2margin-left: 8px; margin-right: 8px;
    my-2margin-top: 8px; margin-bottom: 8px;
    mt-2margin-top: 8px;
    mr-2margin-right: 8px;
    mb-2margin-bottom: 8px;
    ml-2margin-left: 8px;
    mx-2.5margin-left: 10px; margin-right: 10px;
    my-2.5margin-top: 10px; margin-bottom: 10px;
    mt-2.5margin-top: 10px;
    mr-2.5margin-right: 10px;
    mb-2.5margin-bottom: 10px;
    ml-2.5margin-left: 10px;
    mx-3margin-left: 12px; margin-right: 12px;
    my-3margin-top: 12px; margin-bottom: 12px;
    mt-3margin-top: 12px;
    mr-3margin-right: 12px;
    mb-3margin-bottom: 12px;
    ml-3margin-left: 12px;
    mx-3.5margin-left: 14px; margin-right: 14px;
    my-3.5margin-top: 14px; margin-bottom: 14px;
    mt-3.5margin-top: 14px;
    mr-3.5margin-right: 14px;
    mb-3.5margin-bottom: 14px;
    ml-3.5margin-left: 14px;
    mx-4margin-left: 16px; margin-right: 16px;
    my-4margin-top: 16px; margin-bottom: 16px;
    mt-4margin-top: 16px;
    mr-4margin-right: 16px;
    mb-4margin-bottom: 16px;
    ml-4margin-left: 16px;
    mx-5margin-left: 20px; margin-right: 20px;
    my-5margin-top: 20px; margin-bottom: 20px;
    mt-5margin-top: 20px;
    mr-5margin-right: 20px;
    mb-5margin-bottom: 20px;
    ml-5margin-left: 20px;
    mx-6margin-left: 24px; margin-right: 24px;
    my-6margin-top: 24px; margin-bottom: 24px;
    mt-6margin-top: 24px;
    mr-6margin-right: 24px;
    mb-6margin-bottom: 24px;
    ml-6margin-left: 24px;
    mx-7margin-left: 28px; margin-right: 28px;
    my-7margin-top: 28px; margin-bottom: 28px;
    mt-7margin-top: 28px;
    mr-7margin-right: 28px;
    mb-7margin-bottom: 28px;
    ml-7margin-left: 28px;
    mx-8margin-left: 32px; margin-right: 32px;
    my-8margin-top: 32px; margin-bottom: 32px;
    mt-8margin-top: 32px;
    mr-8margin-right: 32px;
    mb-8margin-bottom: 32px;
    ml-8margin-left: 32px;
    mx-9margin-left: 36px; margin-right: 36px;
    my-9margin-top: 36px; margin-bottom: 36px;
    mt-9margin-top: 36px;
    mr-9margin-right: 36px;
    mb-9margin-bottom: 36px;
    ml-9margin-left: 36px;
    mx-10margin-left: 40px; margin-right: 40px;
    my-10margin-top: 40px; margin-bottom: 40px;
    mt-10margin-top: 40px;
    mr-10margin-right: 40px;
    mb-10margin-bottom: 40px;
    ml-10margin-left: 40px;

    示例

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/spacing/utilities/padding.html b/dev/utilities/spacing/utilities/padding.html index 7b18e7150c..7194ff719b 100644 --- a/dev/utilities/spacing/utilities/padding.html +++ b/dev/utilities/spacing/utilities/padding.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    内边距

    定义

    通过 p-* 工具类设置内边距,可用的工具类包括:

    工具类CSS 属性
    p-autopadding: auto;
    px-autopadding-left: auto; padding-right: auto;
    py-autopadding-top: auto; padding-bottom: auto;
    pt-autopadding-top: auto;
    pr-autopadding-right: auto;
    pb-autopadding-bottom: auto;
    pl-autopadding-left: auto;
    p-0padding: 0px;
    p-pxpadding: 1px;
    p-0.5padding: 2px;
    p-1padding: 4px;
    p-1.5padding: 6px;
    p-2padding: 8px;
    p-2.5padding: 10px;
    p-3padding: 12px;
    p-3.5padding: 14px;
    p-4padding: 16px;
    p-5padding: 20px;
    p-6padding: 24px;
    p-7padding: 28px;
    p-8padding: 32px;
    p-9padding: 36px;
    p-10padding: 40px;
    px-0padding-left: 0px; padding-right: 0px;
    py-0padding-top: 0px; padding-bottom: 0px;
    pt-0padding-top: 0px;
    pr-0padding-right: 0px;
    pb-0padding-bottom: 0px;
    pl-0padding-left: 0px;
    px-pxpadding-left: 1px; padding-right: 1px;
    py-pxpadding-top: 1px; padding-bottom: 1px;
    pt-pxpadding-top: 1px;
    pr-pxpadding-right: 1px;
    pb-pxpadding-bottom: 1px;
    pl-pxpadding-left: 1px;
    px-0.5padding-left: 2px; padding-right: 2px;
    py-0.5padding-top: 2px; padding-bottom: 2px;
    pt-0.5padding-top: 2px;
    pr-0.5padding-right: 2px;
    pb-0.5padding-bottom: 2px;
    pl-0.5padding-left: 2px;
    px-1padding-left: 4px; padding-right: 4px;
    py-1padding-top: 4px; padding-bottom: 4px;
    pt-1padding-top: 4px;
    pr-1padding-right: 4px;
    pb-1padding-bottom: 4px;
    pl-1padding-left: 4px;
    px-1.5padding-left: 6px; padding-right: 6px;
    py-1.5padding-top: 6px; padding-bottom: 6px;
    pt-1.5padding-top: 6px;
    pr-1.5padding-right: 6px;
    pb-1.5padding-bottom: 6px;
    pl-1.5padding-left: 6px;
    px-2padding-left: 8px; padding-right: 8px;
    py-2padding-top: 8px; padding-bottom: 8px;
    pt-2padding-top: 8px;
    pr-2padding-right: 8px;
    pb-2padding-bottom: 8px;
    pl-2padding-left: 8px;
    px-2.5padding-left: 10px; padding-right: 10px;
    py-2.5padding-top: 10px; padding-bottom: 10px;
    pt-2.5padding-top: 10px;
    pr-2.5padding-right: 10px;
    pb-2.5padding-bottom: 10px;
    pl-2.5padding-left: 10px;
    px-3padding-left: 12px; padding-right: 12px;
    py-3padding-top: 12px; padding-bottom: 12px;
    pt-3padding-top: 12px;
    pr-3padding-right: 12px;
    pb-3padding-bottom: 12px;
    pl-3padding-left: 12px;
    px-3.5padding-left: 14px; padding-right: 14px;
    py-3.5padding-top: 14px; padding-bottom: 14px;
    pt-3.5padding-top: 14px;
    pr-3.5padding-right: 14px;
    pb-3.5padding-bottom: 14px;
    pl-3.5padding-left: 14px;
    px-4padding-left: 16px; padding-right: 16px;
    py-4padding-top: 16px; padding-bottom: 16px;
    pt-4padding-top: 16px;
    pr-4padding-right: 16px;
    pb-4padding-bottom: 16px;
    pl-4padding-left: 16px;
    px-5padding-left: 20px; padding-right: 20px;
    py-5padding-top: 20px; padding-bottom: 20px;
    pt-5padding-top: 20px;
    pr-5padding-right: 20px;
    pb-5padding-bottom: 20px;
    pl-5padding-left: 20px;
    px-6padding-left: 24px; padding-right: 24px;
    py-6padding-top: 24px; padding-bottom: 24px;
    pt-6padding-top: 24px;
    pr-6padding-right: 24px;
    pb-6padding-bottom: 24px;
    pl-6padding-left: 24px;
    px-7padding-left: 28px; padding-right: 28px;
    py-7padding-top: 28px; padding-bottom: 28px;
    pt-7padding-top: 28px;
    pr-7padding-right: 28px;
    pb-7padding-bottom: 28px;
    pl-7padding-left: 28px;
    px-8padding-left: 32px; padding-right: 32px;
    py-8padding-top: 32px; padding-bottom: 32px;
    pt-8padding-top: 32px;
    pr-8padding-right: 32px;
    pb-8padding-bottom: 32px;
    pl-8padding-left: 32px;
    px-9padding-left: 36px; padding-right: 36px;
    py-9padding-top: 36px; padding-bottom: 36px;
    pt-9padding-top: 36px;
    pr-9padding-right: 36px;
    pb-9padding-bottom: 36px;
    pl-9padding-left: 36px;
    px-10padding-left: 40px; padding-right: 40px;
    py-10padding-top: 40px; padding-bottom: 40px;
    pt-10padding-top: 40px;
    pr-10padding-right: 40px;
    pb-10padding-bottom: 40px;
    pl-10padding-left: 40px;

    示例

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/spacing/utilities/space.html b/dev/utilities/spacing/utilities/space.html index 581d7fb654..b3a5262a6b 100644 --- a/dev/utilities/spacing/utilities/space.html +++ b/dev/utilities/spacing/utilities/space.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    子元素间距

    定义

    通过工具类 space-x-* 来为元素内的所有子元素之间设置水平间距;通过工具类 space-y-* 来为元素内的所有子元素之间设置水平间距,所有可用的工具类定义如下:

    工具类CSS 属性
    space-x-0 > * + *margin-left: 0px;
    space-y-0 > * + *margin-top: 0px;
    space-x-0.5 > * + *margin-left: 2px;
    space-y-0.5 > * + *margin-top: 2px;
    space-x-1 > * + *margin-left: 4px;
    space-y-1 > * + *margin-top: 4px;
    space-x-1.5 > * + *margin-left: 6px;
    space-y-1.5 > * + *margin-top: 6px;
    space-x-2 > * + *margin-left: 8px;
    space-y-2 > * + *margin-top: 8px;
    space-x-2.5 > * + *margin-left: 10px;
    space-y-2.5 > * + *margin-top: 10px;
    space-x-3 > * + *margin-left: 12px;
    space-y-3 > * + *margin-top: 12px;
    space-x-3.5 > * + *margin-left: 14px;
    space-y-3.5 > * + *margin-top: 14px;
    space-x-4 > * + *margin-left: 16px;
    space-y-4 > * + *margin-top: 16px;
    space-x-5 > * + *margin-left: 20px;
    space-y-5 > * + *margin-top: 20px;
    space-x-6 > * + *margin-left: 24px;
    space-y-6 > * + *margin-top: 24px;
    space-x-7 > * + *margin-left: 28px;
    space-y-7 > * + *margin-top: 28px;
    space-x-8 > * + *margin-left: 32px;
    space-y-8 > * + *margin-top: 32px;
    space-x-9 > * + *margin-left: 36px;
    space-y-9 > * + *margin-top: 36px;
    space-x-10 > * + *margin-left: 40px;
    space-y-10 > * + *margin-top: 40px;
    space-x-px > * + *margin-left: 1px;
    space-y-px > * + *margin-top: 1px;

    示例

    水平间距

    1
    2
    3

    垂直间距

    1
    2
    3

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/typography/utilities/font-family.html b/dev/utilities/typography/utilities/font-family.html index 563c54b229..bb291ac266 100644 --- a/dev/utilities/typography/utilities/font-family.html +++ b/dev/utilities/typography/utilities/font-family.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    字体风格

    定义

    在 ZUI 中提供了一些 CSS 工具类方便为元素设置不同风格的字体,包括:

    工具类CSS 属性
    font-sansfont-family
    font-seriffont-family
    font-monofont-family

    无衬线字体 font-sans

    The quick brown fox jumps over the lazy dog.

    白日依山尽,黄河入海流。欲穷千里目,更上一层楼。

    衬线字体 font-serif

    The quick brown fox jumps over the lazy dog.

    白日依山尽,黄河入海流。欲穷千里目,更上一层楼。

    等宽字体 font-mono

    The quick brown fox jumps over the lazy dog.

    白日依山尽,黄河入海流。欲穷千里目,更上一层楼。

    参考

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/typography/utilities/font-size.html b/dev/utilities/typography/utilities/font-size.html index 05543d45c2..2fdafccb83 100644 --- a/dev/utilities/typography/utilities/font-size.html +++ b/dev/utilities/typography/utilities/font-size.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    字体大小

    定义

    使用 text-* 工具类控制元素的字体大小。

    工具类CSS 属性
    text-rootfont-size
    text-smfont-size
    text-basefont-size
    text-mdfont-size
    text-lgfont-size
    text-xlfont-size
    text-2xlfont-size
    text-3xlfont-size
    text-4xlfont-size

    示例

    text-root 字体大小
    text-xs 字体大小
    text-sm 字体大小
    text-base 字体大小
    text-md 字体大小
    text-lg 字体大小
    text-xl 字体大小
    text-2xl 字体大小
    text-3xl 字体大小
    text-4xl 字体大小

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/typography/utilities/font-weight.html b/dev/utilities/typography/utilities/font-weight.html index 98bfec790d..d48e20cabc 100644 --- a/dev/utilities/typography/utilities/font-weight.html +++ b/dev/utilities/typography/utilities/font-weight.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    字体粗细

    定义

    使用 font-* 工具类来控制元素字体粗细。

    工具类CSS 属性
    font-thinfont-weight
    font-lightfont-weight
    font-mediumfont-weight
    font-semiboldfont-weight
    font-boldfont-weight
    font-blackfont-weight

    示例

    font-thin 字体粗细
    font-light 字体粗细
    font-medium 字体粗细
    font-semibold 字体粗细
    font-bold 字体粗细
    font-black 字体粗细

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/typography/utilities/leading.html b/dev/utilities/typography/utilities/leading.html index c5f8b88370..26d2373743 100644 --- a/dev/utilities/typography/utilities/leading.html +++ b/dev/utilities/typography/utilities/leading.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    行高

    定义

    使用 leading-* 工具类来控制元素文字行高。

    工具类CSS 属性
    leading-3line-height: .75rem;
    leading-4line-height: 1rem;
    leading-5line-height: 1.25rem;
    leading-6line-height: 1.5rem;
    leading-7line-height: 1.75rem;
    leading-8line-height: 2rem;
    leading-9line-height: 2.25rem;
    leading-10line-height: 2.5rem;
    leading-noneline-height: 1;
    leading-tightline-height: 1.25;
    leading-snugline-height: 1.375;
    leading-normalline-height: 1.5;
    leading-relaxedline-height: 1.625;
    leading-looseline-height: 2;

    固定行高

    使用 leading-* 工具类给一个元素一个固定的行高。

    leading-3 行高展示
    leading-4 行高展示
    leading-5 行高展示
    leading-6 行高展示
    leading-7 行高展示
    leading-8 行高展示
    leading-9 行高展示
    leading-10 行高展示

    相对行高

    使用 leading-noneleading-tightleading-snugleading-normalleading-relaxedleading-loose 等工具类,根据元素当前的字体大小,给它一个相对的行高。

    leading-none 行高展示
    leading-none 行高展示
    leading-none 行高展示
    leading-tight 行高展示
    leading-tight 行高展示
    leading-tight 行高展示
    leading-snug 行高展示
    leading-snug 行高展示
    leading-snug 行高展示
    leading-normal 行高展示
    leading-normal 行高展示
    leading-normal 行高展示
    leading-relaxed 行高展示
    leading-relaxed 行高展示
    leading-relaxed 行高展示
    leading-loose 行高展示
    leading-loose 行高展示
    leading-loose 行高展示

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/typography/utilities/line-clamp.html b/dev/utilities/typography/utilities/line-clamp.html index 90c95bd34c..487ae0be79 100644 --- a/dev/utilities/typography/utilities/line-clamp.html +++ b/dev/utilities/typography/utilities/line-clamp.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    行数限制

    定义

    使用 line-clamp-* 工具类限制显示多少行文本,在文本超出时进行截断:

    工具类属性
    line-clamp-1overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1;
    line-clamp-2overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
    line-clamp-3overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3;
    line-clamp-4overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4;
    line-clamp-5overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5;
    line-clamp-6overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 6;

    示例

    至多显示 clamp-1 行

    The quick brown fox jumps over the lazy dog.白日依山尽,黄河入海流。欲穷千里目,更上一层楼。The quick brown fox jumps over the lazy dog.白日依山尽,黄河入海流。欲穷千里目,更上一层楼。

    至多显示 clamp-2 行

    The quick brown fox jumps over the lazy dog.白日依山尽,黄河入海流。欲穷千里目,更上一层楼。The quick brown fox jumps over the lazy dog.白日依山尽,黄河入海流。欲穷千里目,更上一层楼。

    至多显示 clamp-3 行

    The quick brown fox jumps over the lazy dog.白日依山尽,黄河入海流。欲穷千里目,更上一层楼。The quick brown fox jumps over the lazy dog.白日依山尽,黄河入海流。欲穷千里目,更上一层楼。

    至多显示 clamp-4 行

    The quick brown fox jumps over the lazy dog.白日依山尽,黄河入海流。欲穷千里目,更上一层楼。The quick brown fox jumps over the lazy dog.白日依山尽,黄河入海流。欲穷千里目,更上一层楼。

    至多显示 clamp-5 行

    The quick brown fox jumps over the lazy dog.白日依山尽,黄河入海流。欲穷千里目,更上一层楼。The quick brown fox jumps over the lazy dog.白日依山尽,黄河入海流。欲穷千里目,更上一层楼。

    至多显示 clamp-6 行

    The quick brown fox jumps over the lazy dog.白日依山尽,黄河入海流。欲穷千里目,更上一层楼。The quick brown fox jumps over the lazy dog.白日依山尽,黄河入海流。欲穷千里目,更上一层楼。

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/typography/utilities/list-style.html b/dev/utilities/typography/utilities/list-style.html index 6aeb2c0952..973737d7e4 100644 --- a/dev/utilities/typography/utilities/list-style.html +++ b/dev/utilities/typography/utilities/list-style.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    列表样式

    定义

    使用工具类 list-* 为元素(通常是 <ul><ol>)设置 CSS 属性 list-style

    工具类属性
    list-unstyledlist-style-type: none; padding-left: 0;
    list-nonelist-style-type: none;
    list-disclist-style-type: disc;
    list-decimallist-style-type: decimal;

    示例

    无样式 list-unstyled

    • 这是一个列表
    • 含四个列表项
    • 作为示例
    • 最后一个列表有嵌套的子列表
      • 子列表项 1
      • 子列表项 2
      • 子列表项 3

    空白样式 list-none

    • 这是一个列表
    • 含四个列表项
    • 作为示例
    • 最后一个列表有嵌套的子列表
      • 子列表项 1
      • 子列表项 2
      • 子列表项 3

    圆点样式 list-disc

    • 这是一个列表
    • 含四个列表项
    • 作为示例
    • 最后一个列表有嵌套的子列表
      • 子列表项 1
      • 子列表项 2
      • 子列表项 3

    序号样式 list-decimal

    • 这是一个列表
    • 含四个列表项
    • 作为示例
    • 最后一个列表有嵌套的子列表
      • 子列表项 1
      • 子列表项 2
      • 子列表项 3

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/typography/utilities/text-align.html b/dev/utilities/typography/utilities/text-align.html index a16711cc12..93f7049401 100644 --- a/dev/utilities/typography/utilities/text-align.html +++ b/dev/utilities/typography/utilities/text-align.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    文本对齐

    定义

    使用 text-* 工具类来控制元素的文本对齐方式。

    工具类属性
    text-lefttext-align: left;
    text-centertext-align: center;
    text-righttext-align: right;
    text-justifytext-align: justify;

    示例

    文本左对齐

    文本居中对齐

    文本右对齐

    The quick brown fox jumps over the lazy dog.白日依山尽,黄河入海流。欲穷千里目,更上一层楼。The quick brown fox jumps over the lazy dog.白日依山尽,黄河入海流。欲穷千里目,更上一层楼。

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/typography/utilities/text-color.html b/dev/utilities/typography/utilities/text-color.html index 926c6083c9..af7570e46b 100644 --- a/dev/utilities/typography/utilities/text-color.html +++ b/dev/utilities/typography/utilities/text-color.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    文本颜色

    效果

    使用工具类 text-* 给元素添加文本颜色。

    语义化
    Text 文本
    text-primary
    Text 文本
    text-secondary
    Text 文本
    text-success
    Text 文本
    text-warning
    Text 文本
    text-danger
    Text 文本
    text-important
    Text 文本
    text-special
    主色系列
    Text 文本
    text-primary-50
    Text 文本
    text-primary-100
    Text 文本
    text-primary-200
    Text 文本
    text-primary-300
    Text 文本
    text-primary-400
    Text 文本
    text-primary-500
    Text 文本
    text-primary-600
    Text 文本
    text-primary-700
    Text 文本
    text-primary-800
    Text 文本
    text-primary-900
    Text 文本
    text-primary-950
    次要系列
    Text 文本
    text-secondary-50
    Text 文本
    text-secondary-100
    Text 文本
    text-secondary-200
    Text 文本
    text-secondary-300
    Text 文本
    text-secondary-400
    Text 文本
    text-secondary-500
    Text 文本
    text-secondary-600
    Text 文本
    text-secondary-700
    Text 文本
    text-secondary-800
    Text 文本
    text-secondary-900
    Text 文本
    text-secondary-950
    灰度
    Text 文本
    text-gray-50
    Text 文本
    text-gray-100
    Text 文本
    text-gray-200
    Text 文本
    text-gray-300
    Text 文本
    text-gray-400
    Text 文本
    gray
    text-gray-500 别名: text-gray
    Text 文本
    text-gray-600
    Text 文本
    text-gray-700
    Text 文本
    text-gray-800
    Text 文本
    text-gray-900
    Text 文本
    text-gray-950
    界面
    Text 文本
    text-white
    纯白
    Text 文本
    text-black
    纯黑
    Text 文本
    text-transparent
    透明
    Text 文本
    text-canvas
    画布
    Text 文本
    text-inverse
    反色
    Text 文本
    text-surface-light
    加重的控件
    Text 文本
    text-surface
    控件
    Text 文本
    text-surface-strong
    轻量的控件
    Text 文本
    text-fore
    前景色作为背景
    Text 文本
    text-focus
    焦点色作为背景
    特殊
    Text 文本
    text-current
    CSS 值 currentColor
    Text 文本
    text-inherit
    CSS 值 inherit

    文本颜色透明度

    使用工具类 text-opacity-* 给元素设置文本颜色透明度。

    Text 文本
    text-opacity-0
    透明度:0%
    Text 文本
    text-opacity-5
    透明度:5%
    Text 文本
    text-opacity-10
    透明度:10%
    Text 文本
    text-opacity-20
    透明度:20%
    Text 文本
    text-opacity-25
    透明度:25%
    Text 文本
    text-opacity-30
    透明度:30%
    Text 文本
    text-opacity-40
    透明度:40%
    Text 文本
    text-opacity-50
    透明度:60%
    Text 文本
    text-opacity-60
    透明度:60%
    Text 文本
    text-opacity-70
    透明度:70%
    Text 文本
    text-opacity-75
    透明度:75%
    Text 文本
    text-opacity-80
    透明度:80%
    Text 文本
    text-opacity-90
    透明度:90%
    Text 文本
    text-opacity-95
    透明度:95%
    Text 文本
    text-opacity-100
    透明度:0%

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/typography/utilities/text-decoration.html b/dev/utilities/typography/utilities/text-decoration.html index 1517ef9ef5..70b90d876a 100644 --- a/dev/utilities/typography/utilities/text-decoration.html +++ b/dev/utilities/typography/utilities/text-decoration.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    文本装饰

    定义

    在 ZUI 中,你可以通过如下工具类来设置文本装饰样式:

    工具类属性
    underlinetext-decoration-line: underline;
    overlinetext-decoration-line: overline;
    line-throughtext-decoration-line: line-through;
    no-underlinetext-decoration-line: none;

    示例

    下划线 underline

    The quick brown fox jumps over the lazy dog. 白日依山尽,黄河入海流。

    上划线 overline

    The quick brown fox jumps over the lazy dog. 白日依山尽,黄河入海流。

    中间划线 line-through

    The quick brown fox jumps over the lazy dog. 白日依山尽,黄河入海流。

    无划线 no-underline

    The quick brown fox jumps over the lazy dog. 白日依山尽,黄河入海流。

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/typography/utilities/text-overflow.html b/dev/utilities/typography/utilities/text-overflow.html index ce094761d7..214fcbc03f 100644 --- a/dev/utilities/typography/utilities/text-overflow.html +++ b/dev/utilities/typography/utilities/text-overflow.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    文本溢出

    定义

    文字溢出包括两种方式,分布为省略和裁剪,在 ZUI 中可以通过如下工具类实现:

    工具类属性
    text-ellipsisoverflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    text-clipoverflow: hidden; text-overflow: clip; white-space: nowrap;

    文字省略 text-ellipsis

    使用 text-ellipsis 用省略号(…)来截断溢出的文本。

    The quick brown fox jumps over the lazy dog.白日依山尽,黄河入海流。欲穷千里目,更上一层楼。The quick brown fox jumps over the lazy dog.白日依山尽,黄河入海流。欲穷千里目,更上一层楼。

    文字裁剪 text-clip

    使用 text-clip 在内容区域的极限处截断文本。

    The quick brown fox jumps over the lazy dog.白日依山尽,黄河入海流。欲穷千里目,更上一层楼。The quick brown fox jumps over the lazy dog.白日依山尽,黄河入海流。欲穷千里目,更上一层楼。

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/typography/utilities/text-transform.html b/dev/utilities/typography/utilities/text-transform.html index c9380884b1..ac48bc95ee 100644 --- a/dev/utilities/typography/utilities/text-transform.html +++ b/dev/utilities/typography/utilities/text-transform.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    文本大小写

    定义

    在 ZUI 中,你可以通过如下工具类来设置文本大小写显示规则:

    工具类属性
    uppercasetext-transform: uppercase;
    lowercasetext-transform: lowercase;
    capitalizetext-transform: capitalize;
    normal-casetext-transform: none;

    示例

    显示为大写 uppercase

    The quick brown fox jumps over the lazy dog.

    显示为小写 lowercase

    The quick brown fox jumps over the lazy dog.

    显示为单词首字母大写 capitalize

    The quick brown fox jumps over the lazy dog.

    默认大小写 normal-case

    The quick brown fox jumps over the lazy dog.

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/typography/utilities/vertical-align.html b/dev/utilities/typography/utilities/vertical-align.html index a480923127..a37b600d81 100644 --- a/dev/utilities/typography/utilities/vertical-align.html +++ b/dev/utilities/typography/utilities/vertical-align.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    垂直对齐

    定义

    用于控制内联或表格单元格的垂直对齐的工具类。

    工具类属性
    align-middlevertical-align: middle;
    align-topvertical-align: top;
    align-bottomvertical-align: bottom;
    align-subvertical-align: sub;
    align-supervertical-align: super;

    示例

    参照文本中部对齐

    参照文本顶端对齐

    参照文本底部对齐

    参照文本文本下标对齐

    参照文本文本上标对齐

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/typography/utilities/whitespace.html b/dev/utilities/typography/utilities/whitespace.html index d303fc1467..53b4bb7e6b 100644 --- a/dev/utilities/typography/utilities/whitespace.html +++ b/dev/utilities/typography/utilities/whitespace.html @@ -14,8 +14,8 @@ - - + + @@ -29,7 +29,7 @@ 欲穷千里目,更上一层楼。

    保留空格自动换行

    使用 whitespace-pre-wrap 来保留元素中的换行和空格。文本将被正常包装。

    The quick brown fox jumps over the lazy dog. 白日依山尽,黄河入海流。 欲穷千里目,更上一层楼。

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/typography/utilities/word-break.html b/dev/utilities/typography/utilities/word-break.html index 9d3e71978c..2b9ad5dabd 100644 --- a/dev/utilities/typography/utilities/word-break.html +++ b/dev/utilities/typography/utilities/word-break.html @@ -14,8 +14,8 @@ - - + + @@ -27,7 +27,7 @@ 欲穷千里目,更上一层楼。

    任意字内断开

    使用 break-all 在必要的时候添加换行符,而不是试图保留整个单词。

    The quick brown fox jumps over the lazy dog. 白日依山尽,黄河入海流。 欲穷千里目,更上一层楼。

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/zui-3.0.0.zip b/dev/zui-3.0.0.zip index 787c3676ee7773a558431009b8bb511d494b1a1a..9c24fb59f278d290aa7a2ab055e265a6ac22266b 100644 GIT binary patch delta 564467 zcmV(*K;FNH#XP^qJPc4v0|W{H000004w`7(978?Q&BDZ|80e6%F42!1RL+i~$=1|BTPf^j~=0_BA4t)H$ayHedlNX6)FpuWPTp z?(00QqO^#1qqyitO+QjewEKB<^-&aMr%}At41cC+9T!Og1yR&YtMVc`yqv4YRaI7T zZ$B-HvWa@pJ^1kcM>qFBI*0bMCTuTG3wiEUDxE~9RXL01Rd${>Dmu+nKItV;H+m4M z!8pxx=rP)fn!%ZBu=9RYHp_;1w-Kh33A|HLoz9f$c&272s)}Z1rQjv3LRpMe59R^w zM1NUPHz_=qr_mdgzB^D2jIJ3#LwayE4zAA=??-cYg#D-v=Y3IS&}CD$r(HwCwM?64 z=QYk9;Iih$ie*j5V^!DA)S79@iwa+lOPEY_vViY#f_bI$oqy;R z{FpE5DKrUn>pUAnb5EhLE@$xTXZWa|bLp3ZS12+P1WS3E7 z1Azf&m(yeeCRd?_FYAFp2XN$}T1ed>MmbNG>LOhJ2cQkJ<&i=OvMu2y|ww$b~B$cv@l z04mCgGyjW4)7nfN{dt*95S*NvFI8vFVv*-wz1LN^J{h3k7x6r;YV{;9QzC(I#j^Sd zg0>ROX zml$RP9)ESkC9m={E4T|N{h@G9*Y}np(koyvh{pa!8)My%>Wz*2QQ{!`Mrbg=d2sjl zBm9xjcrhTRym6I}*(ROukh)|g8ebBSXvZy7Tq zTOPSToSKJ|xeEq`pG6t`vDo`hTPph-;XU~W{$gTbJ1 zNiu{>L|Q{2?cnYP@@bl#HZf63+kK+gOj*ALltkYs?_6Hpm>0G8Vnlc0slE<#cnTl#zMb+2ivjuz|zdQ%4%ja?4IQtRcYWjO$H!nK0saDRHt zP8M)wR$UXbH)!f?6`r}m@Dfo+@|m;$n&f{^_3-vjEkxY{l&xKQ&<&^C zX3{j49vzDwac%;@)3m;&FQICGF8FHXTPx-p=tp558|T2max_5HkmyP}fxTYd{z9;$!;X=X0*dKGRfJava0-COEks$-J&$?YiHak0k^a2Avr}qbi{In}x_=aJxp{w% z&6$Up-d=lSJ2;77rAy{*29y9Ap2zOW!uk3-6>tU~`+c(yYYW>B(}f)z{8VN|3_pCp z_5_It)JiTZuZ7*Hum}V3JiLR#uTp2o&zd#~y7r?HN!l}R$-)^;Wxt%w;p9vXn#-Kd z4-w}M{!=6wWKw*ts^;>$G=EJ*p^Snk7e-n)5|O`7R(0Y%is$6Y1+^bjmu;FBLpU2Q_J5%gpE*i34t~@O zP*ypB0}T7}PyvQh2vTMTEhc|PQjOjutLJ%o*>m?-x8f0>uou)bNu-dd>J??7dMF#m z37+KT_?^#_ew77hhIiF=Nt8J^<9+z3>ZDKzk;OvpsG4ExLY=(Jn&(`k#d!Q`RtLqN zTv9}mYeZQpBj;{>9)I?yWmK0vsE_!Tz;n#JKH|3>5wExv3*Z=IlA{-1ISU%_o0y*0 zw)s%Apm-%^@>4*WoW@`Kh~C_j!Wt>!i&T2qzQLwD9;DJq4vywT2#x!@- zjn&iuPCDSR7v)6p^4n(*>O{0A_lH9xe=kDm`s2^yw-@)4;eQ`KKl&J@)!*<7E``@` zHy?Z+KiK)~?dIF<&yxoz-To0-5*$eH1W zRAYAT$4u}p{C|K69=UiM@Is-gFAtwT!{Y?p8eA)5TxeYQI+2ZqtBfu*=4S{e%O}q& zAv#t9r8y!7_*ho}9hm#xzN=l5BP6m7@X6&}l+7{u@+boC@1r1N=xi9E+R@#OBh9qfNh+;)0ImoXQM0Ah@CIg*{>V#GB566hdo zF0m2`7~KHXQ}Gy8W^@-kh{gzUJ0e2VU9^dfJvd9GOYTF$W^vW>9f z8kd=3Lw~uVA`)@Bn#kV4oq}pR{pg?*{RYO{J4ZT&D6V2azYzp_{^ir;ccj)kF`K2O zls7Y_r(hL6bb)K)K2EPHb4eYL1UO-SsW6JPA(umm*8uP~&&OH>&-OBhy37&+EP`1T-vx zo0nW0KhwJGH6q#Q7TB1Jey@og-h&m)@hR8j z!hgiDNQC3zM6A5BsmYg(&muPF+XO{oM%>8<>=(4xvq!S$H$|Ycat{mAIu;3ng8>W? zURu!sFo%hZ3l~I&9lM*aw?GMXQc9O$ku7CNSEn5h@JyHGYt$#i$a#u0j9qnt)zlJZFZEh&CH6Xa&4)-7J z9qzpyUT(_snm6JuT*00}g#y_R!>9rcq(xe_&*}U0= z`>eor}!(Xr+bF z2z>vdmKE(Vmy_co-(IK2IU11!H>jV z$e-O;jXyh}>qvi<2Ff4A?KzT0b|=1v!-zytyZ}bo+aY{|bYVR2N0VUh7&c}?NFilB z=|>}Z#08u7qjPy&z~kJJwC3>)Up|ONh(QX4D-!eNJkrBoJ5QXO+lbMT27jQN7A4eu z!Z~>9oCf@+H)~iMLkclJ)+Zg3`G3n5tphb0=soV<*j7M%m$}DIg#=j=%4UUZ(6Va7 z^k~GrXt7&bqH9t9=4X6Rhi~i8k2W>G^^24MaYOeOusx(41O&{B!g#*+nK4hCH*IE! z^UB<=sh_O#7p zZRhT3a8Bsx{&Fz!W(B=;%nA9OMsPk83k^VnVaM)A%G`~H6=R@KM7|T=5>qPH%eMGR zr~tcqBIrk3BZaR)6jON-)}PpU?Lm z`u!8yHSNp+)Bj1>V$1zMXzforF#nV{qXVgSI_niAM?d1^&No?ec{M&48314Md7gzMh~!*LdUNJ-sR@($#)*b zh}F7JoD0ub%U8By$$z&+ljSQJ8~bs?TM@7v^~$f8u^lq49yi%^@iO%t$0oIz9#@Jzskx*eTOy2s<*E>*7DaJOYS-^{5V|m*($ts8o$(1CzOD_s(clr6?=0r5mk-L zl_Jhst%@U+nz5K^d^D%qDNj#p)x2tPq_;I^jj`x*@Y?ZAvVTZ|^Q^&pzBe!Hj12Zf zdr>!OlZ|^;LdKUzyDg(TyS@fa!NbnASbDBv_n&&J%lwzaeUU(9b0Z$68y}7m&v4|c zmYt_zF4ElHC^cxxZ{hB$_S0I$iO?csnY)rZW~~KG_b{8OazV!)fao+(DN#cQ4Y~o4 z`Y10`)T$wJV}FCBM`RoF_#BoDRne+I{_N4q=fV;_gZgUHW3`}B2fQCFitu_}c4*_I z+Xjo7c@OnIeEH~yUYB9F%S&pz0>i1i$(m`b9G1JSzR=*>9xu0CSR)H#XjOD;Y)LeN zqMnE4qQIrx&oh|iYc=*|4Lr%FoTIrr{E6vnJu(smSPs{Ui!(YkqyznNiFko5^WAk|;KVK8*hN7D z?foGSg?|;*hvl49(&UoETTfL52)w$eAeYLHc%T!`q*GCf_hvwBWd-Wh6BpKWhkiBE z!zTvdczQ1@(b;W&9DVWl#pBm|&!Uev5s=VwWhY|W7(BndK7$vc3^mEfn+M->$zv&@ zTF}M|hpg9=veNILzIgTRA-_lbReu)wT9MCC z4}LsP=RJMrm-Ft+WQhftZ;*w@_hp5OepI6Oqb`#&5xV+(HhyxOjaJPD1WjmjSbfq>c_B?Jhu`9ZRxRKOAmAh zBZHV7fL(InTCe)ilx3W3&45zPS^0tf)Sg&#!O}NW^IF4hy1qPdMq!ZPg3L!eM2Hxb zXaY9&JYK(2C?)ak{u?MXjzc%c%j z>S(K*a9Cv9JI-4s*$Xi+Df?poZww^`$qca-NQ}=F&VOvbGQNX&HVkbC^2k%r+I*cJj+!JmDH7YzVXN`a_wfmi(joYW?$}$GS_zi0u2&|g{!P{vtJSksgxu!$2~4V+j5?M7Ybd{Zq0oHjA7^|EO* z1?K#HTo5rmJg&!8ndgX4j(<_n8y4tlOzS$;S_Na`6u5xE?fZDh0=}burpM$h z+`Eimdq=K`fQzo=J|rtoV0l$VR-Po$@9}-ei~OD)N)0Vi`S$t&9GV5WROXdDyX9@EqlX9j=2>~6=^Je6JwUa) zHTCTn0?%9Rxix4szfv`|Y+LWVcg<~k*EoB(j8VqvZlLM3`D#tywic$11$IrQ*DYdO zuuCUZxAtRPCfzRJx_^t58UB)Z%J&D^2NVDqR<)Gtl=kHbnbl?pXDKtw%!O{ihbS|G ziIg-2f)L-0hCzh8{067h8;wTeN$358GgCYhO7u z%_g^qVZ{q;ZQDpJr{p|)hflU#=7}6-XfM!m<9np;dIR|N4Y5XW7mXLl%hTTsINsMXu6wWnRdaBc^s@D!iTp4+CFclVsq1 z11D~AJ*m<&_(*Z zu;KG;qc+rK1&3Gr^Htf|S)jwajj|pheM=-#Mob??LdarGn-El29WfbPxJFglNXWU0 zjP;)58j`HGCWMW8Y5dPqygv@O#)Yh#fW*yn+7$Bq0^*24d*6zp*mFhuT7|LIQo4|Bzc~ zpMJCT?tf6eKBDz)N!=-+hu7_QRa+^sMnclHpRIx?HjWP395g|XFTbhF`i?Vjyu5mmV{B=pcV3wC?mF8ZPCP;w8 zisU*%PfS!3%bLXgOgx0!-3p#TqCoHrhJ#5N&s64mcSauAPRZEEX6$1#_OTxOm^QhT zm1#M2cC5U^vib5vSnXIx2WYc3R*-l%4;SM!fzA4=9!D*73&9~aBt@b$_*9@1C{~ zcQgVLu$(`g&D11=ix@>%=~>D|+x?(bdjsPz0YkzubxJM4LMzUmb1}J}m?04oB@8># z*ESUJAzon35ddlq1DPCheJGk(v)SNnveGLZ6?bTMG4bcoxXZ=0PLO<&5#D#+iGL<< z?NJqmfmT!cbfh&)9xpA@B?6xT~qGe>mx0=>;{4nd+MVPr z|2Fq}vNQ?Z8_d;FLx^ura?Rjf5Qp`)dhoXJY*6;|Hu-q`tMw~YjNur4`+xc=`kX^! zL?_?ucD}GS@fR@D6HZ9CPpw59RRM(ZNRdZc0PG(tieX?kpvbfG>>6t=* zf^U(^+^o_`R$h}2(@FUr`8!~1Rh6ZA_Mw9vMl?eFYVZDCWCiGRr6lAak>Bd5i*h0& z)jF>sR?P_El0AWMlJex~<9}z54jvy;)U1QR{lIZ0b378DF>%sbecj-Ke5ee0sC9?P z>m@B?^^$$khz+dJ>#RDm2jY9As$;xT1M&_T!h5?22s}YcHT#F}CIDU=@R2APjx#q{ z#|?7e>wPHir$}k7pkhO)#KZv&SwfOEZd5ff+(wC^C^QGXBygQ?B!70pfCVWgoY#Hd zE3|fvjis-e`qJUg4BMd{FB@x#?3kxjJRBXRsdPDWq_Qi+Z}o;fhpkVe&!a7D7ClTW ztyS2F2rX3uRZMCk7kfuNruj>142}&i1~hOl+U|RwiU7f_wS|raqD`)u9AqxDCTG|+ z6NkV#$b~ywE&}<|K!>&uWYh(Xnoey;!UX1v}ad?k)99|u! zmT#P>w|-UK4A-y9nI8I!Jj_(e3*PbqrH>l77jT(oR z9q78bwewCd+pjC1gS09_E2Y#YMojsKwX?@Z9xK@KfHea@cN5~*M|=i)Y)rj@Jx6@ z!6*lbYk!g@as9UZNI+`1?W*#9Xsg8~QI^^0j0z6d^D)j6FF&}iiEKjfikE4*{7_=O zJVlKVsY5C*Np=f?{Z%oQTVv=(D;%SnJn7M*8T9Wt`zh& zi9h4l4Velco!t?nl|$B$!eUq)?Vz^w0n{dRpnqcp#wb>Pt^Em{m=i5uMDCd4lIr-R z4BoFB4xg|nm`Zrf;aV_MDe7m3)H;O-D2~iPRcoMlvuAQ6@O|z}R4j}jr9fx0$TSI* z2Id5Lgp1)RRn47_41ZQEluOB=;3bzRjybY`$SXNIit(zCQB*_f=$tMLn)NYW;ses2 zvVTdErHgj)js%uzL2}AAg>q7<^j&~1Q~w^U>2yDU`z@vW&EFMc^Mc16{-oZ{zF5j_ zy^Og7w$zXc`0Y!S(m#X4fdM_M`|u3sMxI~f^1NS?Chr|R*XH?>FU_!3$5QX}FMrSn@FyJdKK%%X{D^)8Lw=2ay%FzC zCjKhpsDr`o1iPt+Og|5 z_}jersV>o~9R0SkF^QfwvBS(Imq(T1%C90uAAu`#lMY$bV5#D^y?4 z;v@lfb(}9Is&=f;4F(Jq2Q&pgM9+G6a0j}NkrIAVR+t<$y zR9cOvuhJ@=)tu(VgZiKb$2c%h=u3D2OcY(+wS|q&)3FlLtgcXlmpdLk+h078@DOk~ zv0!V9zdwV~n?|b?yFN=q+N&Nuw0*c~HluKALLLviA4$0U80b}o^tSCAMmugKP z)J*gIBptu2iOQ=N#Nh9c!kxy?KlK9OlUTB$b#~E}S|VuIXzi8J>3{Lp(wCh~AhPXA zg`PJ0#E&K=XJKi7VVg62YKk#4mbFf^^V-&vT>g!&;eD3o7wP4aX*f;l>djOwUp511 zgk_C}jsOWtV*5xU@z}s0sTsX>kShgE{wRQeZj4q%CBbHlg}>?;lkPok-0pqBytkra zM}hZ}-HWUMfVf<}N`DjXC2ZR)Vl3_2W>W;~+Z$cmHp?@jPe`iOeP9OMW+Hk5b7X-s znZprOOg7j)Q3RnpK}~EzCsp!IqUE_>OlgW-0~81e0xf`yC})eydHC~LZojAR)kOuD zXQQt~&grD|BSOm#U_E)9S0#eWBPz|V<3SEjTop?`Wg1I)V|whTjonI5B%{KT(nsguR(kXoc{M4uhq{BRReTvpiCUO|L>na`?6`~@}ftQ zZw%$fUx-)o#vzBLs%T8QgWc$obbQ$v99mX;^Y0E1XF4r-=shVUM-t(KWF?4mgM>7a znnUTtM@<;&aAu0k*`FoOkapXrmfy&6h6CUn?uwTH*MHEQF*W17NB|+qyG;FyYl)Dx zcD>oDiO}6EtuKplR3j1XB8tWRI~{6?u&Rf|2*Eq)_AJ39>`?=H#+<~u?;WqK&r7abqRv4n#AtqZI z4_})T^eC&XUvwv;UkqyWfD>(1+MvM|#q%KG-;Gcsgb}DuSmcTk7V>yWZ**Q0>zhL; z96ykHO=9cjk6mlo;GqAV|r>VA_Y#!TdpAPJ?fm(3o)pdHNyi^nhpE-B}mm&vF zQ{#x>y?POES`SZ;5>5-Gkj(@4^=;*Iu^p>_)qF4E+MDmBxu>`PvN+OcKFhzuZI zS!Pc;QHQfCy;qlghyyzT!T2Qgf){bK786b1u9bqP{ zCSQ;W8l()#y@ET*1g|&%QhAcb{Y5LCPP{^ph!;c0DvEBd%3Breib=G6BG6E`=K33r zn;_Jj*#3D#Jt#U%pwKJ5omG+FB7@LjG$F%dG@?(Tlcts~=Q^OawUY$b*lmB=^tdHm zG0sDoC>t61rHyBu#^G?P7490w0i+7;r%k|aY@!KVH9OmKOg3^h*~p{MoDlxG%|oa= z!TlKKsBMLR10&&%_FF|att5+n(nfZ$aLfD!D&0w@tx2}}3pKZ8^3mO<(`qRwxCtS{ z!{&8R7Dl5n@?AIryj`{+&=h~HZCTOtc`ea`KF0Pwj`qn7t%fy2RG>2)83Z)oT7Nr7 zkv_>m;585AknFFt=ifAK^y`{TvnZUs|M`T%PpV>^K^^?uE5PFfWn(=Ar-98Csirl% z&LeZ=ZeHWNHpYON`WLFHS9Xcy3l+u7q=0Cdk*sJK*fHJgZSx~#0M>u+>}-VDxgNPQ zl4J`bZhYsqF+C}(vFe&Grno;*(3vj2WzP^yyh8YX0rwLg6Ws`^3|cV2)8R&JZ{aeW z;y48iyQQz~rO@O~-(Q5Ly$bs+2wk-;cY|AJ{&$@Hau5%u-E=a1A!L()!tiSD%l;~A zkv=ij^+9C*)*}02=rw2KTK*yEKZmZxq&G}siJ08KnI&2d zSq}{{um(l3Lz~P#nxJ=uLI|CU718C|0NshW)y$&>TXqKF zr`}hNiaK*R8aoBvnVNm6op_V%H*WVXmK7#TSxl&xL>s!WvW1Q*;vw!m!wr0|VQ5gP z$zrU?;eot}Ss#DQ34^wZ&dn@4vs^+SDDY(T0ZVfVJ0o2 zf)12* z##-4}M(mV_y<6?KS~5Z6<23>s&zwQbLLE~CJ1TN?m9R_XeGmViF%l^738wfCojIL@?Kn_w5_^ z_=KpQZLWVbyRT_w!vj$auVuFOp$yN-+4=w%)CQo@X`#HxIH8|99EMDXw-(vasrIUW z6ikB*awuEKEx}o!QOdsOgort8c#z(!^dvCrv5Z9N&ks1A(-+cCKo1|60`JBIL zzv+EOZ${sI`||Md=Q_RXud$|I;n~v{_Wd#Xu(5x<{E43Uv5a*6s<=5$wA{pjl=q7} z&+LJ>3_FnxzZRa3Cu(WJ95;}!>JH?470oMkn!P9D2TqgLmnk4fC^@WAnXwoXC0F=v zuR24GHxVPGP7=E!X{`5QL+sLU0^KlayKbNb_?M+@c}spk4r{p52a1B2>^Me6vV{D> zX;pvD;ATvL8~#ii4)& z1!v+)8AEj^=664eXEeAO5J^ESZ#;p9XQz~H@w6Y!mv~7zxHDwp@ zDnR}7P7uWI01W2@hAB(3u|X_%0CJwV4uOB3bCD+x8BUL^)Ax-_ua8B-dKKg>s@-^& z2vgxztkXjI(v)sG(KzG*iSJRXRR`sW6^|L2pfNgQk7MgAfW~cY6MR49Av$3SNo{w1 zxVQ1+5p6j~G&tT^zbbuSh8yfhQioIMR&qx|dhmWbtETMw08D9`Lu6i(s0<(Bg92rR=_h{}R_QjYZNg=vX9{duRfl zBX$X@7JM&rfNR8uRU(tyZ4g5NytjYRcPF-{W;Cq0wjn`W4|KJvjV5Tr#CZ{u^a0t; zkk5_&z1tb@57`pff!b384SI5jNHuG5JR z>S;<@d7cCG;)#9;oARU|eFYcs8A=ba3HbdZ{Qn-~e8YA94*nj(|6eKzRsDS>a)MXn zTaRIeuhskb!A^aBc3oW0uh*07YCgTjIK|iHMSVRh#@9u2ah(-vIG!F|e<;iAKa|zv zI>V^U=zafP9p21tI4m~}HA#P@2^Ue+RYo`kM+ZcA$oqjSqiN+E6I2VoX7uHU)aO<6 za^3~>(5&&f1@etIAJ~UQf`n#+L3agRET}E1C>n~9~v35%QtuP`*t-UT1>i~biQGmQ!nw}`z zEMP3N@;`tw_ZTfG6jrI7+ayK3vjvOJKw-EM908EcGNB4OQ`cn21?x^GT(HhWijGF_ zIOib#w7*VvP>MPlDO)tzG1Ar1XspW}X}tUX90fcN9z^%<;b|I;vYiMsC67i6XxI}r zSz{bb(mXiFtcR{sixhvwXg=tx9)Iw4epiu%gyEq@epI-9)ynarLB*^0#tj^;L+jU^ z3|xfDg`}hOLwIK@&@MKe0TwVc9>O=&hF=`J4?}ovCr*B7d#>-pLHvv=y)&w`#!Z7A z>!5z`h8UR7SvUoS$_G@(Tm;^=?JPJ%UrS}2DHgc!@Z3z$rH6k;`b-niunHNLHzX`D zX|%maS_KW3KN$~BQZlY%2y0lKxMCfC*-AJRb7!w+Z30Kf7BNk;Z;6sKgIeP?Y=sd|4ee7+Ek3nzpd@#5UTwBcW(F!y{o;pK)&dAV#PnjdfA8Wg|B%bSEfnihj6VB3uV3M={r)$<+4{ZYlQwXr1nZ7G z@P3-FA}4tx9e`!yV2gavdU~v3^CRb0c_(P5W~i+JYIFFbp|+%>aS!1q&ddcuoKdV9 zyu^PsT=SGq2AIPa?)6DuF40e(Se96WhnEn{ZL4wmv1FZcQ z0pPou6>?B-A6dIdQ$R?p-E@Bw_U00?hzL(8f)cgKVYMj05YkNe1E|eD31v=6(S(0B z!X+$9Jy=}v09|88Bc`^vb>5K^#{YO_yv~17LaqoV7Q#^CMx}h|aO3PNxxvxp78@IV zG5y56-z-Gpv$q>A}(9lHDsI47MYVNmdU-KIH;(3#jse|li4EJ z6(bB=IDC|IPRGtUjr3q^|8DtnhZeY&*JU>r3Qa~kaHvPm)*6+tNQEYZCkAF!8v-`7 zldCZc2I4za^!;jF06`bb_OSN6Qc+- zCSd!NDX6gy+>Iu)bqaSgrq}HNBe>Um1rXY*IQR{rG%~=z!^${FF*?c}F$;eJM{W@Y z>H&Dep(Lk+g$If%Wf7A4|(pl^YwO4JQYkv142^n)EL!;#ceL}z2Cz2@KkuOxhBqr>DN%=PB) z{WuThasdzt@pi21j83O{nX6t$m_gMxf@fxr^J9!_@`=&rlUgAb>{6$$f{}07Os%7) z*GU*|nBu|LzCAGemg5UDIKz$LCTaG)UJ$8SbvLT~MhPV=+8DelB@cf<&^EpgVsBd8 zezX6jMA_SxXU9yJ5FOsd5;W6jsNz?gUt>R=1F)%N{aSvlqZGKezTHc-L7%U;B1t2m zO6k0Kg6ThAE|@^{OP{jeT@b~Km8G9Bj?@n*jmkOt+aT95yWr;#6P=Q{l7d}5AWIxI zSdeUg!DeRUy_hY_m4JUo+?|;++Hnv;GIZm5qzO%V`ad9!Y z_;gTKXPcjFZEbDV=PnEf%l;lNwRiEC*E`c>6Map3j;fgQqpo9d-SafRa)$7bUQkXY zhDUs!a%v@~fMnR_F^9Q1j{uD`=h37+wMCQiqCn3dr$}cwwIzQ#6RKMW-7wALyqr_I z7jtlmWU2bvASW-Bqmh0^&0W;aOFT{}|BmPR<3xULhJSs;xvm9)T5T6cyW=Qrh*zDm zz9{e9DN+~P8mk&Y$rH_$VJZKicm{ z7yak}=;VI1*N-0eqxF9Dj&Tu8-v%Ld*~2hQoR)cuSbO`E-$g8qT^M147PKi5w2?ZE z5@U#zfTRUzCrb{}Pmmd;>wY0--R>R75cn?Y^q25~9_xRz08E%wWHo#6yD71m9-f$Y z*w4FxDFo<5St~4#_Sb%=)d7b(pmaT4phyUaT1@|hQpSD!pL;O|&{#+8ph&&wHFOD=>vWj}gzF5Gv;iQ&H8v!(a;+9GoS1^@d-;F8f@3^bU)7HkcL*If8v0 z{XPaQj;DY0g;soA;zLbY>G3S<-*P=n9fin6pGI1+D0D6ZpNKUR{+^0327cEk^gF?o zN1hel)-LlIONs7WSA2)Ih>uj2ovXne;&-A;$qV@RF zd>}scQw=&ZJ4&u|&Km8xOK#jYcxUQU@?4;p?r(pxJb#WUdELo%y^rlenwO8VNyoRa z3(OUD)O5(GfV|VG9_~DeOG$Lm9`9>4Rv9Ouu2)RUt)}64ZK_2Q2#3>hkxxwc`)}tH z+-I-B&MIan>Db6+L|zP9=A%e96=p|ZI+7}_=}Iz`j`!HuUgOUT5Ivl_qLx;`qeh0oI9!0`)VFKz74~~Ks?Rk}R ztW_8=ic-D|K50=7ZYqf=-0ZH+>!{#uT_?bIHDqQNWGv_$jcFs6OVOK`n*-ydbW~AyyUj|=Z!yD5_do%shVoJ-@SW#m?ijcoKbfy zC`N`wS@^zep?j0ag&}uFopjWX=}sVMT$?k@L5+hVodW_ADO?*cW4_v#)FkkuuxfuK zlKifY*NLET8dzv4LSAC2F1D zY_C8A{pj3WwvT0zwWYd^mm9?m zKaM~s-br?PswNK6>yY|IAg^vbU7Tl2;t1B2Iq*ilKF(s4t)sl--aY%5#_@#6N>aMR z4-QGvZ%JV@v;a^k4X`=YU?ZeOA^^VW*+Ssm}XWX?>Ez68V1%^(bG? z6Iq4`^~C)y?YYwUsKqn*{LqPr+0M_j727Hq1ptJ6FiTOUu=I=V-~ax1o0tQf{(1ha zM-FsIjxYb<_nYr^9F3~e=4Q+QF?Ld)z*AsUGof6PW0t%2Tt1vwBnk8YOn^y7~hi^YI;`hMX$pqHtRI4a~L^H?u z(mKP1b;OP7#Q`cCfgMIuOrmNNU(KkaD&2h4JqAV(mn?#3GeRBC=~5(Z;+=G9!-m)? zRXS+9Hd+*`H5`7Oc%Z2bBGytCe+PzNj0VJL)!F&N@#5$L0+_;(fWUvPi10v$HRNY7 zFg~>gumCd7T`(e)G(@g=%+f2lkb0qqt>cFFM{0RJ__8?*X z*cg*o3vid3yb0FPG>m_1cqwbR>#iZ3I_BvlsT*$8*WxcLZl9n_)QfP{^ps}B2xph`F%1{ z@=TMtpul#Zvdk24%vpuO@90p?oHym%7(GZ+`noV1KeHRp$j5*f8cg}!k8JO56C>M1 zXO5;@?fx%+P6Xm{PXO}=|{ zn<2%TfPStuCsAuYSZ?_nqu>^62}gS^W)rtsOu({R`v`y6exSoJhp$-nB+>>VqLo08 z2qMz^Vx`O@(q~XP4ONsErleJVh)eW+ z#rjQP@yI8Fd>X=tdd3FCa7%gzM0+?IX&g&bai#_JI*H_Hv|P==VLx0z5Ob>zG3sN9 z=Wm4s7=f*!_wn*C*ute0W@|!bajrybpN^~FZ0mo0Od-uUi>Hs4N;+i$Q}LWj0||cdVC(zSmrl>c{@#?-CoFy;>`;kU zXls92D5jDKqT0*tx6KbqlsARb`BWQKt?J4smk@POcZg|ztSr*f@eIS;SjwHYFrC5R z1S3uAcR-1hIp%<;_?^b-5B>DIx7_i*IVXG44VK>EZyLKbx<^Mp{`(FagTqCV`$PS( z$>N zydbYmBdDE(r~4fHMMM(Aih_pj=wNg%??LZj3HEF9(c)iOa%7F0sxZ`}?w+lY!mbb4 zMv02K9&(;_tKJ@!y7lM?Nw^A%cccA|E210mFtKTO)=B~G6OmaN;2=M;05d?$zo6Zm z#@U>ILR%8GBE1w8%A~8K54nzHy0+C7SweEmQ3MeZ^?X=l8mqKf-xW|p0q}9gR0;5t$YQdh9g9!Es`|CM8v~C`)$k7JlG%qiZk)bAa z0W@`!1Vw0ZlT9Y7u=X|X$ZkIJ0h%|~2xlmNqX9*a&7e^hZvhC3_b+jAZ_qpkj<@&C zV4P<}%;GzM;z4T;4Co8WR}wMXkWR*8?QuxK9` zf$qdJCbScr3aGd-rkXu3d5&&;UXg`VBC*!^=@E|EBY*Wsq0{%n;gY+zAy|C0! z`Ki#wVrF*fO5cA_-Sbux#%zhuT?Oyq^O zMqmjzC7LrfcJhouK-1ndG)kU-+BjWPW5+w}vDy>~Tv*JC;`r=1B~z2SFVeaD<{aM- zWw3Ke;78U^*q(s{{ zAkh`~FeAX=EH6(|pxrR1TfzIslr-fFb*daY@iF_+@sL;OsK0*Ye>OBr*W4T(CpZ0} z%n;L#zT~hOFsPwi+kIqVP)kDdD6$6blOva}n>rZ=oRALPk?Gxk`wl;hZCK3KSK{K~ zeKTZBVx8_@XCmK>-%jo&@jttszfT@)df7fuwr1!&%tTJ!b)Os^aRT?Sjko+~Ghy@n z;r7;6^l{`j5N)~zpJ0oh>+UZbBsd_GDW0SAomgBstxkrN`4zAX6V)o$Gx-{Bx@L; z;lGVV^zG|s@(DAK@JtL{Bav#fnLl=+#^nTsr^Zq-CXs$QAaIT8CzI7NvyiST+?l~^ zlMFDN1*dZ;Br%ikMW|izSW+1q>2mR>W}`CL`F<}U*y_rEx1{UrF0WHr&x{_1a_f;t z4D4y?=hW03vzx-JaN!C*VZl4czW*|}_fluN(~%Hld}Sq0GEyt+34)Q!7Xw|#&wYt0 zMep#b>iiba=I!6=O8&QSV9w4|b^G^TMYjzd?D#_?M&)1T7NsNSb+SNM`Ox6+vY?;v zm*sUIxC%^BOqVPF#p$WMI6d`V$Z+_jJUA8bB)>s&b=W(==p=~7pQ|Rtzk4}7N+Q}G z(1=y(r0q!0Ga&ZMDhU5($_D^&4La!n{Pm!r5g&$ z1H4FhVCE{cK4DQHTKuw?M5_Za5_ehiWM!RM`2i~&xD`6M?5_=%hpPiH0kfC5s{+!^k^uqwm(Q&OGJl#s%HiSJGdh)rKfHSUXhcs7x;jIvX2&ih^;4zW zi|g0+;<5`hTi{lt=L#<19uA@xq48ukrf}sLLu>GB4`EClajbT_Cfbx!TCA1JxF<6({XzKfj%^+ApvPSVCZ6Ym7h!z^0=|GA5DEoGzJIC#V>cpaSO7C5ghkK|`#0lu)ExY$|27GB%a^ zO)aRY^e#>5eU?NSti;SoA%DQX0m_eQ24t-q*b1O`(=lp@b^wfz?>m;1?14>fTdB>6 zXoAsdX`B8E0|a2$Uz&?qW+$bJwuhm2nWRD&8gj45W@LEs1kj0!`Pzv+wl_o$Xr4+J z1-&4`R_9k|i>Vn(Tt%hX_cq(Nd32E;oDRy-WKflyL)3u4yUs+kczSZ05qd^`6r zq?YJpgOFq0Iav89k_#j)Tb{jB#32vh)GT^k0|EpU4hR+J$Pemq-5jsz%s4CP-UchX z!}bnd?d?Bqbvkf*g;nb4^lv9>UMZkiVeh`Jl|it?^Qd$(=;~0T?pA-K(MI9HU1w?> zHodjoSk!7`>2&oF+kZ<;->vT2N3h~08EH$l&emd`u_3Sm%{GWmFCa6ZLAOb z-dz`7++hqY5(e9p!tQqEQq+za?P?1W1@XSE*e*(%81{#`+cG5~2PCaGGeLGrG7tkrK( zZd82K>ielVL;etK$9#=Zhu)Wu$_V2+KtIJ93tg5UPurSviM5;L^cGzMxdSP#OPi8R zpQ{X*j}wZq5`VFOiXDW+ooUhK4k6{F+j8g3XL{LE$&rtfKx9s2cHlqkxMoezwY6x+wQ#Wd{_Mn8%MligeITDO zN?(H99I7fnRsMxwy%!z+(@_qFcY_EG`nHPAXyvk~%`Gfy`#f8A)oHwu2tPY)A7@Nm zy&<#r^J+@tF`zF%hQZxD@K&F%Yg$kKiTKN}l7Cibusco_n@!FvIAO|$*!RHVjx;!& zg3-t;bY4yL8Lh^G>H2zogmlm%N_a8k_t^N6(RR8sWgR!d%981J%{f{YEV`bZExhN(fdX72mghkDwyNU%JV+0iywC(v{C~lf z<6O(mIm%kH`xNz!>jH5n2?(pxqmrTaEQ68x(gbfEus53LzC@W>q5aU`80W>qPUhPe z__PklVdr?eq(dHdbd!-cq1fGLjW}qC6OFthb8~HZ3v2)-Og`CfY)Kyo*-UCG8(1-L zbd>gVV|J@HBUR^F(HOUFU9(<8_Sp}!Y>@hWzs>GO~A)S_-6;c~o8!5csOzt#8 zJ~qafGFXO=?$F1G@{rm|jDJx`5pAIQPJ|U61hROwS#b{kzj4$2jPnTTGV2`WX2jG8 z10h!DyM)arM+F@d2=|9TLp$?RsRrPr^Dys|qZp9d^)xyy1}H-$ z-ico49WLz-!OvF9L4Uf}9cLSjOwvHB08*vSkngNoC|f&LM%JZ}5wc=0nFpA>gpii6 z8WxrW=ws5ND;q)3f|qqoY{W=uiB}=Q{t{?k;W2y_tuH8A8Qt~>)NGLNghTPy zzU}uapeq^~U~-oJ)$KS%VyTz|HRg+&`Nf}MFpG`znf#79uD%y)D0egt&bihlZ7sqM+Co|tL9TT#RaY>Wio0|HXCX$p%QCFlEM$wM z9e#{F9e)Swd3IuP$Jq8PPE%Y1V{-tWd6u0(6^d7Ak9bOs9(l4N-r3K&spW-B>dL37 zM^F=TV@F%}vP`MmgtjrR_QqzFSBiJD1FiqN# zP45TP>74vrr%r;KGR6!Mm<3E=0N$b=7L6OH?W`5uvDH!&Ta6~pJCJr^q~g{f!@fk;j|)COfoDAu;7YA_WT>(Flgk+E0nA$S-Q0(7F`LrWKq zU4IZ7F}y?*&9ogU`>Qy=)G%H~!WZv(TqPskgou7~TG*)@&^;HT_Rj1=xuM-W7e*cbAJrw3CFYu;{h(ekr50q%jcNv;N4~^;;@myIeWgZ zfqE*LG_BD0a{0BUvxF{!u>)?sq|lGdZ18+MKv=t2M%UoLFYX5`Ir1gfBh%l$=`vYK zFWqzvA7E`-UKBf+@(zFPV9MBOHi2XI0@{@mw?`*z-?hAd>`rA576AF?J%5B73hIwR zU8V2^6yo0l{W7K}Ok-yU`k1G)?)F}&u7Y{T2Fw*oCzo;UpxOB@MvtZi>d^*|zQ{L(NGHBJw=Amxl;PBMa$TyKp< z7LGHmTSizZUZ3V_rB;^NTYo`|TZxX<8oHly|HJ|9J$u$2Q@IsM8(0&^fGp|SvF|l` zLF?R#9Sl3?l>s&3T7o?<GDagvx75+#8tA8On0?igJN?=7~C zUEnX&6%Xz|3LXQF<2fsqua$kI9>PJIy6K?h@$BUF~Z zBWS55;8E474u3GWscdiAj+j;s()m2Uv^kA@7;}t@tsA@`#Mny71hXR7+o#J3zJ~wV z|M;6cVg{i`iTsuCT;VW96t8}V)_EHiiYP4Du@6r%+bJo<=NSH;qX9@@o2=g8!k%`n z=O{gVY%%y;niV!$k82m^`wgUya-DS06e{u(z?dR#Xgz9~$WiSO$GKvnxTV!&BeE(zC1M6eAbB8>H#LlbG1lH) zDZlp>eAWe+zeIa-!H|dL+}hJ?YXfGtn{wVu+WEb6FPuU~K?3dvbwY7fm}1*C{3l=D zhiJ73$bV~}k{!HOV}}LO-7-SvaBZzA>J}+0;IbBnG(DOa^L$gcB%H)#K<5An5}7j2 zcGSvfzBCE9{VADnXvKB>FAf1dZbuQ5ycftA2h68#Xspi%E}zQ+d9}(DAqt| zQHxUt10$})FP)MDPP!@cn)M@_zGVk6jMZNf*FsI|%IE#aN!YRzT~cksx9A^_t#hTG zf?ne-S>r9U#^m*XX&0JOT%K$Ea?{$STz^^^n-&)K<0%cOw!48bTrMeJthfAG^f{(5 zr-Z$qqqGVAt)hEyA%BKqp?mt>J=k|BnZl2;1(-R-@B0i}xW~#Y{ubMGsJ{xUjN#4H zHl{n98%8dxzY|7aDJ%DN9Yi|QN8_M&G~Z}Frxm4{pZ4U`F$HKk>~kGry9v`ZG=DAT z*h)r76bqcwPxZ$76++$3u{E(o%WWW3jz42V+bEmt_An}6?{lTo$YweFMbvu@7%vEq~vnLwbuqW104(lW8k|j;<3yj_?uaZPq55$t533vDJbzWT4armG z$h<~nCwt2&!~oTvzEEm{mI1Y>M#h%48~TXrZ->PZ(>v}dQ{ympI4p`}d2G$RGq$7+7+F_i8!ggN zP+&0zuAOMtDklrxX^j3Ii0U&6CVHG_#k(PD-SCpAZ+b^?0fZONN`KAK?TI6>3$4?` z@Q0EFBJfale2uY^qQtOaEfu$dTs=v%Tusm+klNipIEYSRJ$E8Xk&(EqRtgU+XJM?T ziqwQAi$yK*9OIJrHRE7^m=OYlF7c&WcFEuC|0H{=#XrG*@|`$@5A258?XOyU%caIF z0M`%&jP~3+n;(P)uzy4uH^5(`uuQU44jt}yZu7OaYwK`?E>pS;(yk&38^ub0#OxDw zida3BP;y22yqqjh3zzHQa+et7c#H&hqt2?VxzwTE3XbKz3~)7lA<+W{9IuK5m>5Lh zlvrhqaX!$Uaz?MQ#2H{CgNQ@jsuR`vGfO#kdq#pu zaX+u|hc(X6T3bLVax=8wU(3W))lK6VhAR~FtrsQE5`!V0XA{NVAnO7ZgPyY%V$wtB zd&@3Kt|k67S8eK8IhLGb>roM=@A&X;Qo-vI*L)8k19!jw1&_HH=NHL2mI779pA!en^S!+5o zdn3)vjpRTh%PeMGP7t=XIc=JG{b1+q=G#q47c*jJXv8rI=Qr@b!z*nv-WqwV)h2le z_s9%uvwsI)i~|3gb3c|x?HJ9@^lu)b>&b@eJ98|*#x>_yUXwx?=ExZuO6pxvHE#eA zaOa6*!|m8~-#DSAYhBH;qo=*nA!!eoIo~ygv<{JYxr(`|MgIC)Vb~fYdG*qYX> zL0CLq8?k2PTSqWgsW=YKG79}Ni2Ke1d(ma5Dt|^Hr6K-Wz%XO^d;lfR>_=U)CcA~Ed05~`VFUt;$7R!iJ-T}TBAAD8>fTP4j=m(dx zlM>Yr2L$?u=^1fHZ1>yaYrV(G1kX!Rdzzi9+`Mq!jbvTAmLJeMu^>iiqLYDYyED4<^D_$`1WG@<6&_H zBNm_wrP4}&?~cuhY=k7em9_ThyDrBQ}=D zpw{h3VJ=jKs$V|?0iuICwouge1~A|=0yre~?hDdJwIYX%^*i?iydG*>SueP$OGW`` zI?QP>Xl+QsH=*qSiVpDYMOsZ>qvdniXLGO$ligt21dS3%y+LvTVid=0RIngH;eS;7 z`OM|!J<$H>?v9NYbyLo0xCy(v_9nOoRk^5hKw8aH(*7Jie+K;9Ebt?l+KfXZxMqB# z85AV4Yu7oGQf&H6K2@84h|7W^5nq$_(KQOAu0L!f!*t^V6mJ~e6Ef^PN!rE(m*k&& z?y%`2cp~fSHR=M*nMvrySKDQ9wSQ51bS4?I)619)crUvd`DkP~!mArULKu*(dUNcy z9_sMoKG2Y&78O<67v1dH@VI>)93OE`L!t|rQpA6==*9y|Ckbf?XBI#dZE1GivuaF7 zJkIN*!mO=hHaTLC2oJFL1rECog1j=-*_`dQMC=Uf|D~>-QCYmUK|u-MWPh!jkl!5H z3&q6YjaV2ruxrQt} z^gVQiKnGOue<5U5 zkf}b4qtQE|!XrbE!><$4A&*AN7EP?V+GsS^Yi7Klc};xR3|XgA+Z_s!JbxLS7nr{Ts>n}D zOE|Wq^od$QOZ%iWdg^Ji#@cI;==q1(UXpAN>lxefg|FVL@uE?}H=_I~Hf;`^v(4ir%1_o4gks{Sq6^#uX&cu>=3#xWHd{;4Ahgw2I`LgQC&QUre3 z3|-}nr(38tWG2tzZ-0 zPa8GE+fXOMS&%QL5p)B8*_Sj#cp2i%ClWho7CLq~v2;c)TYu$qQ`_7uYW)P#I3x3!{>D-~MBl`|wD%I_ zPqtU0Yvl1V2{aXsg`8B;#(d{?1us34?$Qkn8h6rGC`>zR@H?#1Lr|r=fIK>S47*N& zfkLN@;Lv#{Du3DiM($QF!Wm!kA$|}|cp_$v+J}xPp}tRvAI6uKh))b{b~&IQcRGwR z0zQ$KdGH(rN6AA7>;LQ%rIDlB&l=7`|i7ra2TG-XJ^1 zj;bFbMfYAPv_hbAsU|Pus!t_Uq^ZPrN>e^3|q*cjAzHYv^CK8xKi0+e1RL>liz z!}3T1L*z^MGr#M8;sHt#ewL6Wt+_esfHMqCkAJDKDepDSLI*WCgX2EmFY`Q|1B0gZ zWBbH+h$$OVJhK!yDb%2$FNyxPsW9qnPtT>t*`xK_yadQ#qQA$k!d{<`3sx87<>VjS zN9~k=be5fC-*|@4t}gVXgdS2-h0^;SoP3jzm(EVd+U={pxBHFgh{fuP^wS0Ho^O+v zL4Sn}QXXL*!ee?QvmDpXtqCy@RwMM|OO=>H(ujt{FimIdCVWNnNm_il^_Cja;4rGl zQGf(I%TKXM=DQ-VbSP<}Y+B#QIb9(fLkC%!oqK+Spq5V1Y7+II64;I0^88zQS1Kpsk2nosX~F0oMdM1_0t^@K%r3Usk6QZAb(K! zSM(?{Ph{YPUK7{e6LcIC*A{>+*cec&s%De;39w82Rn#1~Uo2#s81G8GwTBWu!wK2U zlSWFxal|0pEhB-Dg9grl^g?8lfG$tVrb*o%4&9fvvJe0KQOy*@h&4ssK1H2UA{A4A zLhCp@^rl`z+@8*tA#Rrt;`PG`ynp%4H{U?4+NS?)_X7eX2YA1NxNOBTRijL^Ll-T^ z@bW&mwrhcTIi7I!8(B*||0|Z0vt9C0(7vqNa9$y_7Jdu$Lx;j|w&gR-7@5tpm-CZ~ zbmZvxS+~eTzA(9Lf6S1E$*UKNLDK5AEDtzs^$u-Q{+Y=V{F);=lCPk4Y?J5&+Ojx;o? z)@?sk3Lr@peU?pNn<(!G4%kqCr<+TQ(^pY0EH@8Ue*!GtY^)^ePdRmqbW<3Vl|}54 zfl#hCIBUHxSU#|2(m&C2_t-Qyd2c)(0JV@)fbqaIyrCx zX}kmivr)6@t*1!mx-?S4Zr`ysjvCaznBmfik@fRynKC&!Lk6MjrUXl7Yw^?dkh9g5 z5fU8DoptCL`7S)8<*Sm56>hvB2!FfQANBPa+i=b5XD3Yfzum@KA^cQler22!I%2*vN6e4dm>xr& zK`_H}9n!E?IfPo^cI4lC_zae&8q3yY+?7OED#qxPj=WsT@>9vsb6(Hp*=*5X?hyxF z1Z1+p*V3*PB2EQ0S!<<9J2jtP?m(L`4BqJXiR(alDWx_#aJ2vIUry)i+t|OSTPJmEC-@sn2bt%r?BA@6jLuH!2Z=0q~ zmbTs6xmCB)MeASl_pI5J-Ibw@AWtUj?${C-78$2tl zmxEyrNvH+%Jaw4m==H14%@*uIH@X6?a3r`Q2*5^Tfsk8}8FRG;)EtqRjQElKO@MO~ z7$9VnXOH1LCJb2VdyEX8Y@gZOShd5Nm~V7ez}i%M=%d>++sk!LWeckNJdl=yw4eL7 z@eJdwet$H}<5}6p2NvqEqQpxSbV)Ce+EGWURFv`FnnfN(d&$1Ikwq1%%WK9pUvur~ zqkWu11aXA!qE8Y)FalFTVFckf7`4&7!`BBGhealLI*3^VIQnayj-TS-Y(?MQ$w7D< z1mEe1@#Y&iF^NxbxrAG}+Y*xJ4q%X)6)x@#kAF+f71{5d39$esamXAe50omDWCPpf zrp?f4%Yrg1nfoyYQs>U_{T2J&MB8F^*M`75Z&o)(7YR1#<=(T`hq6_wQZSD9r16Hj z8c~#3xMB>ibZHk$DYgg)q#MXS@HT~A=D0zxs0%;8ua%%s5Rrpa=>x9woFxs(QI~2dgI-DnGuAP#+eMV(~s|H*_=UHBsJ8{HiO>vzx}Z=ak%j?{MUweL9$65HIaS`Od{5j81dJit zXJg9a{oe=B_X7u%8QIdc1Y?do2`rWF1%Fc)t1sjvnXbU$1k=U+4m2OOCr&fraYu`! zJdl9N{nb{&HytLal=&(IPt#vR9-cDO0^?g+5(XED59l0IXO23A5tLhYfUB}d)`u)% zT}*S}$o80x5H!erB-}~`t#(%+D6hBs7#MHGh(Yl%xM|&rhE#L>7F6KqJQ|r77Jr0W zjLj>McuHMZ6EJze{FXNVB-03}Dzdx3t(>&= zE-A6aR+A7zZk#q^9?RPJO!YbTOM#x&gX5DH1cex3&NDge+MkpXvUwa3MF@xDoQZ)H zDPVN;9rTOZWYlzW`&e^+)iLK+=zr!|AM}CGRlN;I{5gqX<7=k6!r-^SC@E^8c2>-( z1+z#~58Qp~0-74*wlwDVk&{cn4hYPE;qe;@(EPy(<^J#}D{NF`IOeMf`sHxN$qw;BkRue9EUMeaI z49cQpg{kHG@fd>=-@}n+1lcPik_Ie8 zydL3okco-tWJWPP$_z_x)PEpsKM-$n`zG8R{|UC0FjZFUT+;EwYQ1L={J7l))^DPJ zEcT}d`nO4~Q;VC9B5EHs9iZe;9MIHgI+h2v=EA&aV`7MLC^B(JqmY_g$UTsRm?Sv@ zxuOd`B~%3;M&iHKk49*^`3Tk$zvEdNqS50UY4ms%jUESfdvPlzOMh3-;qh6fCmmr` z(}P}efZN#-S8>iz+Jt8xO%UWZzTHP2+!&~~Z_-s~GH5L<9T91B$=#pQqnB(8LY_ctk0Z z9LSgS7qMhYkRAI6;RD#&1C~2>hAA*fw_KPvjr|H^P)8K9R7S{{mKpZKoV(My9geG$ zV<ROf@cYSKFg``(l9Oft`=HF&QvUVj-i8Nz1+Gl#d;J8)w; z=%9_X-(dyB!4|rI7R)sq$4CC>%jC%@epg8~G9%Lloz9E@2KY{t?dV^*?y|Ja((YZW0se#UUmF~FtYt zziEZGMp&m&rO@@?jQz=9N4Rm;5YKZN-wh;PE{)s0vrWr5E64B77}U(%dru z(kyJzMl`P9pF|tOhhKfA#;m~KpMUue^}E5}o133O=7KN3a6Ub%g%_e$l zaGclgk$;(v|Mn^V1Cvo-;VJBYE`5UkVy6LQ_#;MbwPp)fGbu5h78vy(3|_wCPs~`A8jl?1Fqn8wEt7Gh<{2I$7}HO{v`TB728A?f%~9D8~``- z2|wAwzYn=Y!`Gjx>xZ2;l84YkbycPOZrNStYJjmdsw9+B!<^~+{x!DJmg_9k6SGi( zsck9Nx<6fs+2kyeVd}IwVa!S>GJ}a#V2v;tro?u1|GtsR)vTb39_Qv0bVSeVooZY> zX@7Y}t>3>)6+P-M@(2HO|3Aymij9rIf0kdJ;hFb%l+4Y~Om;NmElL2c^g zal@U_&j*yjL{<1?@b7%^`+vsWx&W)Zt^T!G7-zPv8$Yn2S2~Q$cTLBT`7?Ki{59PJ zT(iZ({UdV^X(LFJgGGbvh`u)}>(Nx^$$vG@1;+W|I3K+~#oNM10y823)fFx-?7w2n z=;$>xGG9U;=cT?>yBz!?Ug5xy4&$MNCAKiihh_0?N$$RsdhxSQO~G8va87wZAfk3- z_?dCy0BSTxguX+3@`Y)L@jp2eevg;zG$+;k8Rlc$kMpy<&1>+{ILI*j9cddgZ+~d$ z7(xw@Rf+-z@23w%Hh4GdE(e_f4c-|dGey8{&Gq8qNPTQbY?XKOq?)(8gdV1D8>+df z4lBICCMn|aK%H_ay>yN)0YJWwi5J%%C=H_Mo@1{r)Mz~fn2(wItIo6O=~ndFmsxZ% z-HN{4h^_%Q8{G;XM_fxx3n<1AH-9IB&FkLI@VKhg`hAy=%Vk3iuc2w`McpFn>QY-w zOBlpmtEyUP3ZWY?$(unrI|cLDZh(h_NE!9i=aOkk2lR;7Ta-^7ZMca7ng+iK@kPBK z^*y@08b{J*IO>6(e*piM`W~^lvqiPjGr2BY$7V9d@0P zL_P+!<9l@Bra4^q=5QTwI7i8P3M6?<2k*9%_E^ob*%C0vlV+N%U%kK1)~{yjoz0Dn z>%Xhthx&J_R_0pn=BJ@Hy#^1{QSv^6)D3RFmYpH-dyjypc`ehBXnmfWo{?O#$aTkg zx3aM~SA(dvPx(d@bckCUYo%YJMWM9nKZYD0y%?qtF!$iGah3N5~@_Szik z?@+J>>3JTD&x4|#+I9`hwxGnNqnmb`w(Vvfv8i_KfRw4ht0m(YXV+1@U7^anr9&58 z(8}}%JSJl^=J!zHV1HZ;8|_b8c3rle&zYtG5>b_0g{w&I;ykxX9dJ6uINlgVgjJz?lG-c5iBa&M*V4bzG7 z2w;#IsE0n3ZO(dH0^>l&F<^=@KvE#!d!y_FKNvItd-kyXq&CQg88glVI?%ArJrKrT zF$O?wv4ytp{eNn;WNlSVj};@2Hv_ssOG>CUh7`o7ld5TBQDxuWJ`e3}y*Si)j>4H( zLU0SJ#Dw55WxqChJJ0^&^KXwvLmlQHr;q&SAMvzBz)bYQ3s`s1x``!B8Z#l2kw+D0 zuLGTAThz014w$Oy40CS8Xc5+l?f}NT7~6DRXqRwpyMLvVGY;^Ji?LDj8<7u3uxMB4A+p+i7Hl2!O6CR1Tt-V=-`SR1Szpbe0v2ugR*<0(JXqA_EUzz*Z2X68 zg+J~k$A1tSHHBOu`mwieXd(`77gIIY5EiZG8+g~0ltH9cf^>ddOpW)LGZ=Z#V62Ro zGQ?7~d$DX|k$+L9CDqe`aD__nuJkzC>5-iIT;i(nU`b67IaPAk#67!PyL;TJ%pLhW zH1e{%-8ysz-uNoYn6a?8Q85QI|j@FBCXl2m+CAey z+aB8b0OSDwSz5eN+-(fB5kQf@63TPlCXEx9rW0^GH=j_jxQ$m_9&->|<=^7>%}&Fh zJ*%^4pL?OT=kZ>8cetL3cbi+XkUMl7aT3zCf`Bi_Hu4ZgTKZaZvk!I9@mauu>VMG3 zlRcyu{4)jw0%x3$np^HeObS<6u31o_br@Wqvz}V9OEK}56U1E@a{?R<)2l}v?vKQM z5M}Oi{v7J_hd$|_co8B`-EBzpvWWqd>Z8s=Q$x2oXLoK60`zG0r_-J@>Nq^=erS0M zfL44#fFreOug+ z;t`!79f(4VzPiO+Hck`6r^8e0mxd+dV`)a=R?ug=L%T9)BLWx5QSQ z8i5eCA7uJ#)=G=0uIVgzj;Fv6p!cD6o zb}$Jaomr@jjDJ(C8==Q-ZO8WDnqrDRLg*{}G}0j?Qf3FwLt8|8ms+tT3p^EU)K0K~ zpvJtXM1GVN`4_B{u>^oEEV7WvRt))q1tKO|@HiiJMJV?Wm;kXEihsW;@FFGF(ND|4 zu3-DJ{e)$TjKEHlH0gmSO#V{%)~8$P;Aj=@qKX(i>du-Z38>+Ufc{Y@WI@0Oy_$U; zofaWnWp9(Bz+phTYYvmn$B;7_^~O?6u^w<#1f3To?laCwllm1lkZTd6&bZ=jPq#>| z#^9Jzz-7T!@SMjz^nYLPLnVCZvH1?F8flsnR8SX2FGz#CFLZ3C4Nj6Fx_gk`q)EKG zc8M?cK>Xm6c30m1BeaL8wv)7H-z6-Yv{V(d3NW8bOAfy9)Ef%N6hc%SecGsa*B zYu(6eG6pk5p??!f-HOl|W8^ZC4PBlos^-vcNUYmO!lV*i=J>kuk%HDX4O69e0Aig> zNFmDLONdd)?KCoIO=~dfhaD^Nj!=2p*_+}V^z6rsJL@1-ijLC!Qo>_J-dpu4Vw`-# zhwbr3rfc6v{*|%_ds&t1%Z{@VXecRZXIa9uAX!8K0e@Y*n=MQ-E4+Gi6KEonB8U

    Eml+XFPyH^}Tk`n)b z|172XtADXgd@`Nxtg>CXVOoWvAkjhl!8YiYBQ#5x zg-X*_(NIJCutrl|purf$CJ+Dl!l+_?9;#!GyApG+su`9)JUlT#>9>eAQOG!dl)f4^cZrmc$J{} z^C0wkaNNB58UMlG`ns25=ZBINm>vQo5=2AW^^BXLKr!Ft1aUiOz3ZK4%n^$EdF01} zBGecy4=>latVr%>xxTRi4&h6}_EasQ9e>)hIgHrY1>2$T_ap6y@KfWehqLoWiO13b zOjW!|9we?WbcyK3+R?*Z?S9I`(s9B@iq{LFr1l)>D>u+Peh_I)5uoc8RwZD=C_l>7 z07F2$zk?0aC^Hakg#KV(M-OlPjaSJguZ0ASsgW(xZB@tDif%>rtf?>( z3Zs9`?!&3@cb}|*mKJD@^irRC74zk!9FHkN*x}%&u(&#C3R7KSe*eCJ^{1JBTNh_$ zrhB%cw;BeU_8`Uu2G8*sER+81&bAtVi=+H$*J2Zvz!162`!qD)OZn%vNi^1x!(6;I zfx|B4U|T+jv(DDv8ys%M2Q(^H5t7aP5A}bs>22z}a|V1c`ifTbN5ri`bwm$5F4)ui=rPb`g__54 z;2wh2PPphRt_Vzu4ZR@-$cIle#dm+~Fwh%+l5e(*A26CTe~*cj!7Fj)Om_pPoY!%j z3LF(*%;39G{OtAHyi5v` zLdu5HwSlkDW*ceOKwfl#m!Y!^eOb_d9TlX}1Gt#|piV2iWqtU4 ztrJ{%n(f;Sx;*1Y&#GJb7%f@yS5S4)D4w^!X%-?B` zBNIQ_#2Wm(LsqzybtA@HX|8{XBkY#jrD&U>56JsMNUUZH09{SDdjYweBG9~mlyP%wm+_A{k)(jJ#T7vS=#D%PP7Q-TIzmp~+EM@L8h{@2UH-Mx4J zfq*lzDE>$~83W0)gSkD>?5B1`U3i(73`*1(qWrLc+PWudG@_T^x-p@Qy{!Q^fel&&|vGjxnQt*d(d$yt;aQb;=_E} z>Mmj`0RJZ0gnuk_^xl6svz4V*uVP+s*mws5S{obnB*64s!<1Nqq8Wi*^i<}4^BM}_ zT912{84M12JNuO2E=wdhF{ty2AkPprFVHNI+08#S1^{3QM~_p8_w7$u-M0)#N|htt zB{4oHSQ!IvpFkkB4_`$UR8&xj^-jIL@AK*jSi&r%7w-(K;@5u+7)@*1$w2Oy>Roko zBON0a^R77G2n39UfeG0TnvVFDfA0S9W{AK$N!Pk_^uXBk)HLC#$->!&P@Y@N zuQB9OkpLV(dRTv+fJ_`pkp^G)$K}S=&m%)^mkHCjFV2?KouQ|_OU-GQDpkW#luxH# z4Tfiu?C{DY(1w zR11>A!53{LQiQXoEImuRkPc<OeK zzCu_83hRHaB)i%o>#3@=3OE;I>sTTv>4iP#j0aF2SG-!z+Ytk^q2-3KOLZxUcvgG4 zhv%5uwN2u!IF*JZGbaffgg{bg_Zw7cs}-lpBih+k~KBy%psKbU1(4puOg;)D|(|O|6;s5sm@WZT|mC3`i#Of=i*r>(SXtCNsR&db-1|jg&&n@zHPoLKZIc1 zU=foy8SubHFFKi<9($!r<8G^gt5LQrgCIZl6ewPPOSns6ufHvbt=+;N9&LBfcGu@a zhRxe^TH)P7Tt%W@xE*)*8@mf%eJ?(!(`1LDvzA5e9weZlaytJQaql9QM0R6GW za<3Q^M5o;~foo)akt}xbyeP(yQI|~S;)Uybz7H}fzX-E5utHqF0X;RfgD`qjry*tT3;5Hj-G$G zyd1AsvzAun-m)v0@h!Sb8)NoegMQHA5G-e00K9_^09gz1kL{mBEki7I)CG-5D1BcT}*hhsxnAqi^drtk{6@44x`(D5Lt9bi0y8>&1e4Q9S% z3V=x`-L`j^Inkjv;#mJK%~l zOz@{cU(|lvEuUYay-t!mw7tPGQif8=^|^3v_x2dP%;v;%pf5u{8ddce@m}+wO%%64 z<@<(NkHbw1s%6{J=N&h7_Oeb5<@kca1YZF+J{63CB_HIJs@X?}%Hn^ArQ!zaUowM! z8}enh@ltvME&(|iO1R#jBf<7gIy8!)*759|NFCEM<+QPr1M(dYvc>Lx8j&j^@Y=1F z@Rum(!NInq$_mUuAB|Fyg>7r({EytByAJY;UH@*6B?xkLy)Jux$b&1qWv+17-qfaE zzgjxEL9d!fw|Y2_)q#Iaj;89RwBu|`$DbNLI+q&ouU=)9|^y5FnHuvo_hO6 z>iCi|hmwvp`;GISd)H%Pw?`7fjnsbrj!rX^rR^#z@bJ`b1ndn4ncBipw83yx8TUHw zkaJ|=_QwZZ))6!VOXPLN4(o`a;mK|VC??5ar$Y5Q+y#n2;GfO@p&g1xQQ=euY~}H& zzp9Q7n^0a3v*>>k9Q@2eJ%+e$T&SaD2T!8o`}bAVDP)J(cIx!nLmt#;7S3S}__)g; zK%kY?blVrkhiK->TggO?Y9u2l^gCA}+%mV{ie1Pv|4t*n?SQe#W5<7M+NozE>#;2} zXSDBe?_@;|58C~+yFd0Y0nVMRf-+ zvhu?Cn>0uX72Wrgu5jmii#=U2fg#$6Also!FP$iy$~h6qpb5(|z>_c$^VpA|aO0gu zUaBp@u@z)00iAnGfQi1#MK`LZH)<;s%{)BheMT^r?{#CWVY@dSqTOk&O)D0VBZDzJ zHhndZW_o|iP?}EfdctY2bCh(>Mih!KHpclSeE5)b*KLNQ>7mCz%x%1&Kpd7Ya6%POMxI8Uv%n=Df&MZI-ytJ$3*!U-(n8-xs^uF20B%A7#K%W zjK4#MSWnrZVb3ey{KkNc4u*^(+f=8x(XSLSRi=NLv>BS)#&lhiZ8Wp`27iDYc=cd3 z3A!GT%cJ`|Yyk;TimPi!gCx13esx*tvQ&QZ?)_4p@^0a-na1<)U17c1bmNI!SuW{1 zuYf5{HE4Z~noZ|^=BY5kri1JB29M#Je1E~um+Fft6!5H=vimRH2Iw{d@;7%Nx1#F{ zOjdsx_U!F}!MO@poIN`=9I+b`Z|REdGQIG&uab@tvYbzfx|B^a=kyfy1h5CE$Sy>! z`jerN{Yo-lxFH&;Q8o<(OLNyh`N$3q9RH620FLM?4&A7lPV+^huB^6LM7|5)lCo*rDte5YP>uhZ4@YJy@k4y!Wh!JF|HOYu9y-GC$Q_{j zTK~}?Tn^#(dod~0W=P8z*j4tl^XEnx-rh^XPIQG&i7_8k!=TW~YMY7OnCk^Ws>!IGKu$}`LeT{nBN%}NW zJF^{7h7$}+u7_ra-@Tq15_3^vAL!{3!8Iv@qFC4tu44$ z-MDJI@U=-t$O5_HfnFsJ?x222;5Itv;J(97IHw|V6^%Mwa2-#|aiNy*LC1e1M#*TF zLU%o4%&{+;b;yS^b1zwkiOxeus)t+Ab4COKpSnlQiom)wpi%Dw9q|0Mv|w4Ly&|s9 z;3FGpgd6g2Y;O_am;^^3LiHR;6&*qYL6F7J669{+qkQJHyF>ZSs&w&M$+D{ROLc27 zC!=-^ES$PRu&op(UD#C=|2}`9Zg57h51f2AIS8}UMoDi%0&q$SE_C{>Zxw=S3{ zUe8q_=Bl_|NN5)UPApM_%%GzdZ7^ulAyi%!(gGWDqbp1VB;eHnvvLqS9v^kre;o52 zA@9_-b$JXSaWTCcrW&ynH`@3rzC$<^K+mg_U8(YBXc2F+J$U3)bzYO~wzXh8;JUIOkT z#r~WX;YWaM$atg8aDq68k94UuuY$Dq*eX}SlM$jz<|$mwh}@_*W$w|U#TFuhvnwR{ z6i#Zk{=_hA@&xI?63~CTX+-}@+i*JF3oGFp&x9V+4ed!LfH-|7RR^v+twb{WQ}J)@ zz~QuFF>ze>7M(awQ{)y9HaY1%1V`Z<&4RTK~KnVxoPL`7J73Pep$9K9_JVM`tk2+8{(wgHUB|?WsGNEJCez%Fv)uV9KIeK(0bXo#97@c)n^zQIkkNz0_zwt7c%A zx_zcjKs$dIxDu$%SUCIGPpO)E$T`%_2@TZvQ0jC%&1d<=3%)9|UV;6Uj`g|H1lzQn z(q3ra8$-hplmutMkn^6eM%NZ2|DI#s(`pXBl#3B+w#i%OuYs3)27KaHcXele!B@ca z-KO9VXTb_hc(n{Qa?_i7hl0^b$_0_hVsPb2wLE{LFN!>LWZabLqa9B0#Y}DGIRpq- zu-qH!4yM(h=W!bT>~l5vANAQ2e6jzt^gQ-iRUFw6tLn;q$T%hz0HQjHUhKVo^^Bpi zrGPKjOGstxxt;aN1|BCo>d1|RbMDBEqtubtMjd(4NZz0(q*VYSKWL=eT=gvxYA34? z?bd(80={(+alm7Bo0maZS8rj_c53c2# zQIOzBX@YKVGM=U!w&jfQ?2&caQ&-ipP58beNs^j3s|koXvn1ovVYoItN9I?ws$uR3V7E@AQyG zHYI@lA~)<22Petbz*pEJ**lG7eX?+%ntJd)Wz++uh-1Y= z+*u4(`l*9?)2(z|OU7CF6ftiRFdD#-9XrVDCpwfHsigP7k<9IxPbZ&NV#o=Pok`-3~+;Q z)z*62&UIj}m$ka+BF6FiB-<8Vis*k^CBbf7PfUyl@RDEiJ((`M##BT3Wxr0!4{y*3 zeM2syYlyl>D1jxX&(d`F(9oN@JAOA4aJ7TL7F2YHUij4_3^3Sfsc6Ti%^T3?)o9tQ z8c%5hIf24)->BeIP9&EE{lrVoMd$d?Q46-*n@^|9T4=zft86LIUV0OW>&Ab8&Vy&m zC=v;B2vT#!b~H{2@@iP3dhw`H^E8?al%PLYzZ$7S$NGZyXWP*t)ud{{Yql?^53-aY z@2_cv0V~4TSU|?$D_5zm>W!Z@qkQ2eex~WHx1x?qq?s$)S&i#=9?Ak;kh~Q7FlyXy z|6L3{%%a-$JV!F_#alz}Agq5q1lC_>fqmWEk&YK{qd?1T?j>&Eat^AR z7u?M58?OGQCvk}Cx>F3Q4wuA7!_l(V7&q65bE7t0C~c9=NJOo5a}a;=Yr2+WwfFB{ z3B6@DDK7Pp%;+s6!Ebj7JQ0Xco;P`ZH0VlCd$sJdYPb~49H`uNgnzEfSwit5ajem0 z1$cjg%B*e{3g=L9fggi1k9Zb7NF)aw@Cab7jq0^fp2HqjtR|<+tm$f(N`g$Mc-Cq@ zy~Kzjo4pZy6w7)v#q58M(PEm9ib*v^@a|<6sV1Fre)Ngj?YK|r60}~>CAu0L500!(y7Cpj!(l?(39i-xEeq2mr8XOQVGyO%#+6uc5(UBFyIiNvSMb8`oW*s#;{184$_O~~x zU(bS{)K;J4W!r*AUaJ)y;I*yJ^T-UvaXXJrCl#-|@(9o5x z!2BfZO+sul#bP7HQgB#o$lNNW#Gc;-*W@0$5qS#rENcdu2 zura11M-M@X3Zm()xaW~d@kA0=r&pE$-;?Ya(z{)GubRJves2ZjF1MII|86SxoMyix zb-1N~;|~-Hv8OzLd~F8nnU}9tNx%PYLh`dXJJ!%lDbE(V!vf*w8+c_HdXlN>Bs?Dl z_8_S@|9$IsUVNAD_%zjTTi`~oFaWx&b z6~XE4<)^ToG^_Hu8ZW0vYElyP58IBQKW^`87^FtrQtFnG35tEBcfY4Jz%DXMV;&K3 ziqC)1b8!17@P;T(!?NCxN}}k-KQY8kd-&t6EcAcX8(Q4?gjInEo8xOl(S6kSBw#&t z`FsLta$PcnbxU{2%MB)P3#pm!T2bdt{ng#PMOIl)IcuNmAzEU;a0rU=TQo#8$!&6` zc5BuJZdY{(6{c&HCTGbX=DTLV{PFUFps86M2p8nO!wnMBOXEXeg+f?;owk?fHDh}h zq`rSjDB;A=n1S$D)edIRhS&xR8;mLH-OOnsK~1f&K9PbXO(9h?*(LEj###n=?rO_U z%O0eP*JXDiDn75A(is5jBm%$JjCShc^)i$J=kK*JEo-eoY2qsRQYgZ3R1uS+O3Mp5LzFrZ%te2f#^{f1b+?{uPw-8>8*PM)&S_?i-kM6} z7J07LGg(&J=KQj@GZHc0T~5EITQVYU;;zjOd$3 z-C{aNZ>e+LX>gSAMsBSKJHoc{O9s-+d<=jv%Jfc2kfgK5ejz=H3jG}pAT{KNvd2KP zfX}bN7Y&c#6~~Nvw9i6>5+=%)T+M%)<+1tAUKH^`Ul_0s|JpAPI%a9Q*(F0x`;smd z+J_eptj6iKF8cxBCQkw9tKIE!mf_>Q`6GFtLv^QtDBPca$Jk$5<$<^#kCBeDwO z6CA8~$hFl%WM$*|)bCc~A~uh3uY26XV{`^($6oandXaPQ$Wbx;e2*hmWBGr5le$m3 z^c#VhBoxnkHST&r%K+7`q$WB00Cu$#PAF2mq4Bjyvp(iDX-KcSlAr-GG7i@aw%K^w z(hOJcA_@-b4bhtaZrDCtkfMVoE4`h6mGnH)E>u_1yh3{PqNIpsIgh2jG7B!mSY#1Z z#)`>YPd=R7$y#LynFvfma!Y^Faq)50w$&_lI=)s=vQTnvS8EixE2|}G!s;tWv%~93 zZX(0cO-l5@b;20I!PX8%oO+&nXmOi{zsvq+ouEqRpBFgGmUPGB5aOy znsC;faN$F(g7Axz&kk_hzdPzom~Vg6x2e_K&`H>r*g`6I1DLffsM5b5Vt-+o|y zg902EdhA1;$gT8pEeC%cX37W=#jrRl>PyYTG!ELet6V~Fy#3n8VC3Ve@_C&~uvC>2 zM_*OvYO~}`p@h?NKAJAa1!Q?Qd9MM>Y@<6p)m*i&<Jw z;BBdYyT>Hmb6Vl*?sxuT-TiBI9BxJ9*6Q);&S85;MLy~8$E8u>KUE`jeQ#VEhsM|B zzo_mQ4?=Z&+~TdeKuZzc0Eb6i;fY`2iLKDKS5 zK${stKwjIlO^CvtTLbSRXk`7)=aBQMS_%VfK_raOWPFD6alpGr?F71uE7TgGr;;Yz z&8m!s<%LUD^Y zRO7PmlBtB8X*Z{!52mE+jza-(J=9ce6O^=_$L{tNhw}UUT z+_d6dAz5ADa|^^y|K1Z}oaOatIcKU!ZUjga7gqX1vY5}y8Tv;vVQeUyRp!!GB#Gd} z#pHhwcC)5zF2|e?C+%$7Q4!`tUTo+*3q`hcQG{<-s>;V>%Crc|;zeDafhY2;0GRe@h6#@+ zxnex$BLjI3B=fJMfLnEyg*0k=xLHC}tqnBB~Z-O)Sh(gteVYW3212>n>BhB5mcjuPO2y zGMDj@2CfguaND~yd3oRbSut}u@u(N`u(`2e=8_7!sH@QDTYbtIE9xJjmi2$`@;^L$ zWIT&Qz50B^08;$B?NP!p!35GU2C}G+SDjGy;Rc(*eVP>ZhBnXB5EWY;nKMsD0lbTog|CmMi$w%7Uq zHrio`n8O{N9DS{15!wLu9Bd-@{rH=&AE;vA9Hm1rCd|isRpNYBpL!Y=uHbh3P1iHv zxE~Dr@luh=Mm7D78qj#fQ8^YjMZKX`7Ttx=07`s@e>@#6?Mo4ju@aqMqAnQ9YEp<0 zkN_OX6tC;xG+nVUQe=Mw>2{>MbExCs^gB9_1BM4eIFe5OTXVmFN9Jw0PsI*8f%fmK zVKHx(b&()0h!V8Mmnc1Zpc(oYteD;yObpeGwh__2%q`(v&NHRP{K86CpBJCrbZ7l3SbJ~ z%K3j$SEsca_n5%NHK+@d71IR1wyo0vAA^CeVQ_pZ(Y~A~c|E|6$HEg{t;3OK8oIic zn;Rd?>SNn<-DrQ55&nJzFf>LG&AU$KzXYAk&Afe1F67+rhoriu55)PhtzxT|e)bou zrQdRYpF*hGFL!k+uiNC=$mpa`eHHSl<#5Dz)J{Bg8Ju4lyj2&cWdr6Zc31!L4{r>J zqF^Ap&vanf(^Isf)5Q+$9H39?6SObvR>KA|1G{Uc6F(%C}vx%mfnBOyc z5IwZ#%oTs|XPRcvo^A{`{2M12|z8K&KVvN9}J2==U<#Y-(w$A4bqtL8YIez@t z>fqPxD`0>98RZN05{2D}N8`Mip!HQfe4V$G;oFyL7G~=I58Xo5$%*1GyQS3s6M$_Q zz@hvAWHCWOusIO>^Fv+Y8KPB~nSF$f!hnatR~zHvG>sifQ-ytHSPOd#B~{20bb zjn)!>M)%dqdVoC`SCFo2-YVMG6bOh1;ev{9B{P3L+9mS&Xo4iwKHwf8%L;*8^L7`v zm7;|+LRHjbA9L_8?yA_O!If3*;i%!@lZvk*UAA=em~?6CkKw=_v!`PvTOZGv?0c0r278qmgC}Qsi!@!`lYRfL!CFpjEpPl<-q>26w)5}Q ziU4K%8@HbGRu9^fzj)Ae8@ALp?><~lMrL-O0UJwiC-JkNp1s*SeEV|e``C=cVfisY zD*}Jl!)3&KBC<$=fHFGE+L{tn{s#W8DARukM*ywj)P=)3PW|*Yn87+f#oKCuQUfYJ z_fUptgh4SJ7_R|_$P^F*tZuA>ZlnNg1qPu&C9k(IRG6D&xr-s3hMiJm?hN5H0(R9N z7&VN_u&P{7d%FN7u+`kAZpO*PNev96 z0ZEgz7e!M0XcPu;GvKC78FC7TcWPu*e<|br)d>xQP}EegG9kdZjlYL!N0YPFYZ%XO zEeqgC8hx`oBaa{x!~mYN54ZN`0rm=fn4o$JK{n6Oe>T=lHn&kd80*Hz(h<>Q1sNbs zAoG;Pcf0{J83KokOh6~(gt%D-gf4%xFx5Lp&@D)gVsj~V5R1iBc{s@yA}&9ENx1KW zP2m+D3V#=2?;z&8I(l}*)UdCeZdwKaJBtgY33L%NPP_{X?d&1)ETufpHS~3)RstJjt(bvqgy#Xc(1(O-T zJWuUqevw5NjlM*&MLjn+PNr3*Hs8Mxc5+TOc<9^(J94PKIll+G`qzIW7Fnjn2`C&X z@f8%QNfM9Y0p1|b5uuc9fs@iMC%~J&)sq#PeAy9 zOwpa-4d*~{{cheD_)5rUWZuDjoU;qQQ^WVI_Po)ANIN4B;uKZdqVQg^s_>>;c)juq z6Tf%?ZHX`OFurizY%YJx@GF=23h6`eJ<=*T@78|X_Gxa+q#Rh+AnbJ7+l({68LBH- zy*v0XNA7%u6U1){k33kCIEI|GwZxymsj8lngF7(S6?4dXu!zx4DB0SaFw$xLU>|BT zEVw+;=j;(#7@!Ok;US24!3r-xuyCCeYWIzb{rVvK1|nUim12K4=cjOue$t@wZ;}d} zl=szfh`-&rerNo@tf}rjxZj8`?Z2I4ch!Ksg{A1$fDhfJ#SW{<1MJ6tRnH%s8sCh! zBgkg#RPn7hA9l?5dE@G_I-v32*E^g??ttc^vv3GBeP3T^G>B;JY0gUs7Pj7Nqg+WE z_c5y0MHEtB z9OZ37rQfP;mQt*&x@_-TgFOJH8X`KJ7hF>g|*WG`m^83iEj_q?m#5qutNj_g` zde4`1K=6fPx##zg;TB(b;!{6Emcfg3z62LD*qYRmE!lv%(}20#fVpfy_p^JAyAi3{ z3zPTh(&TC}dggo5!UM7c@G0|ce{6cnXSUsiY+CDdqE)lrxE+D~?fkaeyiT9SwY#rT zS9#R?d6S?yCkbqw==NLcP2MhEy#akPt9hMZe6oSJwvtnqaka%7W20U z%gvobqM4@h{puhZ0EFNtaKeM9lcEX(fKsq}rcSSc3vg<_pYwRz@YX-Ta?e37 z?0VBmLL$uZD8uU$k+h+0t)!UKOR{Un`EgTCm#q$ICu7Aq22$WDdywfWTQaOvykiT7 zYtet9a8F6M$NMus&&w7RYi09p?^Q^T$d3~CBGDmY^kN0*IhAr!0&&aS*bfF)pp+I0u~Rlz^ggkwYA`2T_&QQ zrKrd3rE*@jWj+<*&o(`{y|=JBE;EGsmR%R$Vw=XcO=@;H2*_I~COnLni@tIo3b7k)&xK>k?jtTkti zn8ieUVF7zV6^FGxkO~LEWVl-?yBA(ZomJFXL(D^L-y@o4Sc&6O$jc^kMe7T0=#F(Q z1UJ*V#&q=9SKy4kSg473qUNV*t6D3< z0i^e-DGCcWJ}Zm!MOAA!OaAB%xRZgg6c%)>=atLkQ&Gu+yo9Mk`Itib&;f$m_#RVI z0tp7%rFh%1`gw-b26AUi7-?RA0;N*DwovM{k5qFMeYynkqDg3hBBI$2cNc$FC@)Zx z$P^`MCj1ELMh`;7Up!9EAfLGK<^*}`42)D1H*=vk1w1pgtEPNgjWBv*S zX`1;{8l1e~nt)AmtU4SR)&6y;UA9aUB+sL{b@9}2Zr6BXn%T+}>3igi#t-O9LGTK_ zLm>;f;}D&H)ZFc$enz%qca(omi{1v{Q+x}2AoMV8nqk`HuJ%15kmx;t*BcR#fb7z{ zLT&T%tboP2SN+7>P2M$){mA#-C2#2kkP~x;SE5RDnER_ob@Djf4vMzPAXV{pQ;>wVD0z=O2ZE-d*OcwgsOV{g|*W! zD2~6lyp{ur0zV&l+S@rtIo5S`jx>#(nfWMV!awim=j~xth{GzxwUizwQs0Ub$@>_a zsW}ftz6e9&ESsb0?~>`Sp}=%r3%8@6siRK~$_uOS zr5os(7ZXLPh2C;@fEWz+##o6|(SrWeR-ZXLpj~dB$TtWX-bfd>Abg!dY8-^$I)JnT za{8P7odZ>xog$L8Cx|pJ#F!NnQ9MrGz-gw@-z|xS+A-&b=%#<;l?dKD=d5ekB@F~% z)<5A}hcJBfb2E#;Z{N|}yU?XQNRupMT;8E|>jmX?b|#wYPu?j>>7^Q}_iB({r}B$m zLr}&C^?{$%V_kpjohtEC6@|aQ+sW{Z_i7bv(c-uteQ+fu%j#pH7XoD-T?A*qv0(KL@(awpZ)r5zM=ZWIE zm>+bhXNZ0>!<tyj-LArYVh(W9{QzbNY@^A);9I=cUAz*9GA#yXCm} zwuD||^a9Yc52A<|Udi>sbbnTX8s_R!PhVg~_y3A^2y8x>PPP+t;O#|-r0f+U2 zT`_7_X^e-B5)4#pFjHiSE1=im&ZJXw7(2S=;anU#DbFrNP`6Lz2l=VFvw-%%AG(-@wAs2ycI9 zs`#s1Kf14eXX^2RUU_d75o8lPEx5CG)jIo~!ye_o56E)Bvj5PTEMdwB4*@MapARtB z4*l;Z>E7F0x$BHecCIP4?Ja3SZ~g_*%x&Div#c zDmVS7GCxX6=Txrfh%eYYs`&GQ%`bm-fyjhf%o{o073daW-E6AV7^296imtj-adRSc zi`$NA*Ya%4bO}~%tW}uI&CuN$cbygL6I7^ML%Uz?q*Luiuv*4OvbrN%#l{_~Fs=fV zd%Q?ArapQAQk!Q^n{}WWft!)%&tnW@!r`0Yj0m0JSUs`Yb1(;ve5DuOG(~^#1y{}T z+g*i<4PU0<$g4k3spKAK0&tj?$ z9J}WO=(V=*1rGU-tM0~Bu&^QmQX-M-RpV}Rz%M<)2+Y_MqW>rnvLt>zS%}ncNq1I7j4oUGhPaMOuNOq^jT^P{S_2hug zMK`lvP?_@g;tvp+E*m8@P)$h5RECsH zbsrJR7mMj7kr^Lf#@&CJd2nY=z5SN+Ze=cPX}PdTmkYC>Vl$vnRB7AaSbVlI%%0r3 zYULf8LzpVZ)vjczk%L4J$#QUalTBbr$0hTcWk0XUkCIyOny_csPnmt>@s{>v=1l}f zt>lnCIWwQsERori8u8I(CC->0OxgG~WgC{JEpUe|S5vY;(Vl;O(zAjXp9@AWyqqf>s#DExc6S)Q^P`cUh6x0fHs8urdtZ#$2j_DC{Ara z%jSCaD6Q?d5J8Yi6joE*l!3~C(m;e!j491ls&Z}{* zK&P4cusWX?wRVgMGR-Eg7tG+O0VJq4=c~{Azlvczx?|o4A-rWcHeWY&i+kY~xt<(O zQ(kxDSOf^@8#S!(9p@&F*$^H%H9c!r)g+uz0+oeYw!X5y7kjT?t*%p)aOyp&!@ldg zlU$7@rr&?~CW@D_&iUn3EeeIdY700YErOowTB~Ke(e#a9%rUO-{A!NzaoH>|6Rg&T z?6z(w$^(G#`ER47gX#3Y@V+YjUkdO1FSuPj7`70yjb7^rHj9*YKQ8Bp$zfA_HB#MC zx-ka-8g&DbfZ(8_1VK&OiG2M{H^Qi$cdFQ0R11G-F$PFOC0ny#pjQ8F*MjI!hnPBSi?n8Hw)0G zo)zA+q!=2=Gr%Rl{3GriexaVJ-a|%^P2BHmnHZL zlm36=`?2X9%!TL=T+)kXYACQ))qP%0ryP69#Mmr?Cgpk;Ib~~#)zYk%8Xl({wQgcL zuVx;hP_=H^U7tJ?{R3aeYPMKH>I(?@$8nd0(BJfQY-pZ=sMafr{~6k= zOg!DgFruNkaMXaI3V!K*``1o5&WBcFy%WoU+&GStgZ3_BZ}8N<$JUhHwpgfxfen8$ z4IT*5w?Dj&031=>AxNkQ(LI`}V*ZM81pEsbSLVaKY0A^N8ow!>GO9{=Tc390qE(xa z^CGF@RGmJl;rsTCa?8@mr&j%Zi1{F>_;WVlQyFAU?s0gsPV9pb(*OjHuWd!{+4i>T zQp^t?oy2Vx;AlE`hOiEi(cvFvt0I3@$C$z`_+;y@tKSMYjLM`r4!S>6s+nL!>xOWQ zhDZJIr5BCjBqB-m|c&b`zP4OJWf~0>X_MdFr zl$^iBjx_b|cx4kv$%J12$cg!<4obk{Dc zy{ALKm?kb=nm93G*;BJqM_oDaS4W8O;}=>PzfgqY7n)#LWjAD-p)gL$3qbwC<^LQO z4-sC>zoO(3tBgbOOs`0ahC_Ob=UwfbBZb@;UG{jR!xnE)tjI`iSZe8#Zf&rJe!XSj zDRjw1CEyw+0a<^mX-fm=%!e{b7AO)o<`94uDN&#SOB+^}cK23Q7<8+VrVwh)3@>0K zaZt5g#_$9+-W=8x(}jt)}5i1-Fbv+X=>TCsr zW9H_Ut^^Y%m%(dlH6HFuax`~ez~;VQo3pj*Ip2y8O_{`=Cm`KKZZw>7$r=| z<1{nlG!1nA%`I)w!_B*E?$D!J3pe6)amo8mJ!f1N0WgwAF99AC6ONm5D!oU%I4N~2f{}{iMxA7fD>_3| z$tnNL%0W=*#}Pq-nKJTtfKh*^_c4_ZC4oXdoiH*kL?l?t;31bTl%!=J8kelTs)DP< z*KrW%jDq`r+A}b0qlE@-+02&j!rkGbYD!B_Xo*2l^_hZ`^9UvRB=~KV2Za<_gb#ig z7}AV@%&)k3<339+vd=Kk0fG!b?h?l}6B4cVwCoD%1cF_VG#A80(xhz>zr)-5-P0fi0d}z6c*AlagbL;`P)40mh zNiR=oSW+95U4(+NZ^M>W9Ad#RSlv*4W=f&2`w+;|PE2y5!x3qow9*NDI+_C_Y}Nk8 z0nKcGW&E{Am>Ja=b!@n40f!h*ZS*mD0T|jW3d6w#4?9G< znS^YK{9*4)g;o2^dm9^i$NA!X(uX~_PIyv(CGj6EGjK&$rm;tBtwXwC4d-`}OzaAs zYH`F0LO^vJ7D0@m2E>pyAcmAe$5f!X$7n{}Ral|>w$p4BW>E;4Aj97}hyE0WkO{K) ztt*7UObC!(0+OSe6i-@8g~tf@h*4w+{&j#pv?z~NMxS9N3wYdR2`;vTU-Z(0R0tw} zDOdmnXCa*W)|=3Az?9W}vF<{7t`T#jW~Bd6v3Yt?66Oi3FoOGG8bBus22_U=E;N6mDq(a}W_vt&z2KA7jeF%5dw(v5d}uaxvQ zafU9J+^)7dQ4X=jRX{&C7JW19PLfBCo^ldv0z*Y4-vQ3a)zmbq<~eIk3&Hqa%P&+A zd228Wb6-)OYZdy`e==oLMxD5SiSLXD<%z_|KroY~w-!6AaACkRdUf&EVF4{I*ts=Q z)-7D`1=%XlWltMK)0olE(vegL0LyVdnrO5uQGg}Z0R#l!j}|EdXG{r0<5);(z?8n` zTy_I+ZjToinEHA!lNX2b;*2f?B6nRhkf;#dDK`*BdJ|!|po^RLgsV1xETtVzh=-)W zI7B47{;>~Upu37wRh+-#-y7Pq?;u5m^lW{DOvN6PDpR$FV@!BSH{S9e~b_t0aZC!|_0&*K3QpB=l5J z7ZeD=iXS;ga6+OA5ptiXgJOi@$d)11u*VmOzDM>reZMlHhOp?|8F9M>HS8ZBfT@dC z;4!><%$Xi=5sk=yGKVz|mvg-|Q9OhtGWF8gEI5*ARk9lyDrmgt6O8k5&Z(WD{hZDd z0ml`mDaMcrqmLMy!a#b*;#DJi&6s`zL1Oi!8B3_*EO8ImGcWPPC5v_37_?j_mr9-i z$_NoPs?C>55TeUVx+HrG-7*g3m)h1s_qAUE*tQcsWiIJ|GzyR7nNJz;H95L4wmhj~ zO&`0-KxnopCvxw?)~mOtptpc&UM6xHC)l>j&h%b-Y{=NKJ~$h}SSgws*g!#rlbeexL*@5yO}z|bb_;_ za8`$xY)YqyYM`GbW%vCiBZT1jct;E|h3t+4sl7!Vj!tIb8?v_F_3P2@Z) z`m&hK@{1R)s~z6^*)dH*$o~9=YoEk>Tr9umh3}iRmRW%;b^B%orCXb`dzHuFJ|&5ez}yN{>% z5S=c~y`LC$pq4LD5#4xrlUxTnCAddiLL9~j1MzaM1lppQldmYeLY}vbyn+eeQ9mS8 zjxtP(Kt+Q+vy>{3!rDenY_ipUEYW~}i{Xi-;%RH68)~fa>tRm@Q!DUcUzmO9TM~}{ ziT-p$w!ujRrdNwW(~|Yj!=a(O_W|r+5G^}um8BhL?!}|vVCmG-YQ~Z!1i7n;UZw%l zPadc+cd4@Ba!5hY$@wSDzM4P7a~bE|q_|Y0msy^*lt(a;Qd9<_EAd)6goE0D&Nq<= z`uxurR#%IRea?N$MZ3kd(#4A)b`(^B*D&5TSltigB9VC@1bR>e3PNpi%{z=oq=X)> zA_$(aR+EB6>x`te&F(#Rg!_p-55!ezd!zhLphF8K2etV+!%hFQKE8R|%%m>rl`~W)CpV0hJjAV3=uiS3YKi3NM&c7< z!03^y4AA$CTuXegFWa)-2emlJ&=lUd9v3H7U3{w~vAVi+Mz*1mEpEz3nvW96pb52w z#}=C;qHs80!f26B;lswcN$=VuOPxHsi5NtkCKy=` zdt0XxPW_;hfbzv=o89gv@-3W{>BRJ4+};`=ad3-&Il7mwtsV{LY+Qzx%Cx;E%RRQq zO#m#%64Td6D`clg-xN5~ip4wZw1j>6aLh1`^;(X-lSdrM;Fx276Mk~864P}D!pGob zrJeDYqI@01m9v_x#~L)}xJe#vY=G(2JG(-?&LvgvS(z)wLN^gf6^9dH>LJ}}G}P*5 zeg40@RU4$TuRXO~IYyUG^+(O#(IF6@^($a)A#1f?o2EA6meAYDMJXLF2$Y1H(>mI{ zavav3m19{-(SdM(G4&v%nCsCQIy5Bo9x7^rZ;33@;svi`?t9jcr{mCz^GM0~ zv$8Q@2@Vf0o9f$_3+Lbmg3c@xHchZteqwSMm#%ie9tH`2dePf1fNFAe`Au0K4mwVz z&FYJ8zop^|YbwV922=KyB7r=$m|;gkY?tYKqMkSJ%LPvy12{c0YL>2@!ewyn9Nt2)Ld}u; zfnis=iUm?@1gCW2jV&%3Yj7kXv5*D>SVL=nWxwmAm`2nf>RBwb%;V1?s`0_nSbLL) z4=S?FcPB5PxLMJ|Ob>3^+t=EZsbsI$*1)|${XsEQYFq3|R%OtZjp0dtG2T&-vBd~J za@y{o4GNRDeqD*&4p~^PzCo-GE0R2Uh1E!4F6{Q8|4GtO;oPu73-T8*S{zGOt%quV zEsXhOr)h^1wffX#{X8k=NI?mmgakB)rl$VBujJ?G2rv?Rz`5rXK!~m+=ez&|iepH0 z*t(VGL>!H40FA2_afpO;KfiJFjP!& zC71T3d!!CByzv&bVlOJZVCfOR&JIt1l6BkC*lK(qnAj~GnB_v>WcG>l*L+W82_uUF z-+yhmtp&SkPy?w%CDHhzzJFiJ{l99)GSn3dKuujOZ1-tqC6W zi@hSSfloxT)di#R1axrwE9+v+@P+)6k+OHHX;n7~rg6z4sUFZzd|wv4?XVnwf~vcS ze8_nqJRxbdl(4s$mTeMe2;AJ-Y*@EA^gus~ZL$PJ-11rpPoCzZ_op>jJ<-&Mx2k%~ z);{wt9usi&Q|G8)V|MKv9Xy1Hq$q6Lj_D*mHs8i?#HtbukHA8OE`+U-1sW>QaDkC{ zRECJuiHU)VFePLXm-EH4%>Yt=D_2rj))Z678xA2#6*Qcnf2tuANb1xDf$8T3dvwqV zt<=DKS!d3C7m1LNp=YlgRhB;y{#*`UqG1>fEA}`*?^=A_)Tf9R{KnN6Z~uF1T+Jy3Gne8WbouEZxEjZj7#=|<}P@1@+6|O!)OX5y7wK~%$o_zI> zPdC57pGAKB>Bg7%^UKdhBfk6a;pp?v5ozLYo1YzjnbX~kBLBSj3V(j_=@(y|Y~s)S z%g;YQ`3Ir%e)ZXZ7sUzHJNoR)ufB>8GOb@nGPJhg@swfSar4X1tPA~b)`kA58o=v& zzg5FGPhLZ&g&3FTTOyy^@L)%CIO^%oiUTG}_!P+P!_T5mqAxb|e>RIxv*3u)KXcV7GLe;sWNXUFy)Hho4ad2Rdk;Osk4lD(!*j z0kZq0TcGs{h(IM#DuE;lpFxR#P|xJE(muoG@!WJ1ds4t=Y?*kx2tE^S7$_=BMSs4j z=zUXv^ruP^V3Du(?#t&c@nLRWG`R zL;H;Dv{SZqu=y;mSN!^ZycK!Gi1XdWWAls_3E!TW+e|I^{tN$p^!I4m-o{LC1>A%NZAM2`cUuVSRXJdUh9x~^AHFDLCVGG z!GpJv5q4jASDZe(SPa)UGYF&cHtF@zuvs3{>63h>)|Dx(LxgZk9{;Aq?&1655)jdB z)MP0mfnoA7tQIOrjuHsjNsm(9NnhRvc}TUV*)I>SkBrk)U(5Yw;r7}Db-U{N(Z_8r8do%={+)pLsp!~a&@@l6+;6+=r^zX!I)j6@Mu)G?VT~Y&FU-F0Cjb>aUK1? z(beX4>_Uz+&F8RvoA^)h3x`a0;mc}z+*+m&Ch12nugT| zJ|G0_+Ac2DZs5ODaR>Sk)iTcVU#sGOEM2cc$OBiOqQ_@*Q^X~DA-n{w1h}ZmnbD>L zC0HBK9K?A`nvSb5scjqsLP-V$GUeSbh9I`UV%BTpW{q7hF2jj&&pgq#gj7cosZK9Z zMEYi!Q?3+^x2hO9L~lv1q@ADMu&&nt?Xa=Y>mjQ34#es}stM#|qR+DkcqLSSL(nr% z3xT-<@UK8J(%`@w+v?BP>X6)y?%$sp1KDt~Y$mF?YSfJP6h@e+g|LNhYyu;Hq&DL8 z8shVmuu7fYV$g-D=~w7`U*O;S0LWtWe}CYUrT0k-DhTphbUsk8&hm@FWB~iYq*fYS z4nRg?xUu8B9;n%!i^~a=jJI!p8G7Z2w`%!lsS&0*B1MB28+R+ChfQE9Qou=nd+}Yz z=^oZ%ruQVbr zL394R8ZDbnrcT#6FB}<;uN&LHlWxm86C$Um2Q4~P>%*~A0RvraFRpjrHzfPjSV;h$!N9}qyC%D zD$thPAK3#7jH>sSbZTvjk1LLGa=o>Fwa`4{wTA^ftI;1H{5M|C)wjX9u>O}cKm=xg zE5vD3K5pK}x#yne@AMMwHpEm<8RU!ERW$Etd0pTHYz=jR4E0x7RcAth=C{>R12#~g zT9-0cIZgyo8R{UG_U}KIN6?#y#Ifq+r58$}=G$LvFMSaph8n4RvBIyFssn*Gv!p`} zMN`20%1O*2dvPI`S*^MC=#)JX&zS{(ez*zlfF4I_40V(SC<#aM+~y1*$o;X~XY69q z67DGc??kIAw~@LRo7o$3x|=J$*9!<#!5iPm-J%^LuFIv+u*wvq);gTR z@!J%Am^yYm#NUv9ih}YX+NB

    +}RPtSXL&OjdYW(@W-X5lNjE$s#5qL)2?LLv`| zM3f|{5hXa@7jh^*R!_{iNeKT%|yqID<*XSaUlGx%(F~b#sZ=JX=x9CquicDMu#H(3Ul!JSKDf9Sw{p8ef9>vsWyL&2;zAc z9XqmL@An7|7EiI1&2u1!;@(iOiFKKTLiTYqlwg z8xhN=!gln&uzuV~(UpQbNXsH3fnQrYg+b+6DeA#-sn3Ui5OPnE3I;E{9v=>;8hRFo zqSoxM|Kgu~^GAQe)*|qye5_aVa{cO?KmULD4tPyq1EH7km;d_TL-+pr7eB>+{?k9B zU%w0geDiPrEnWQI@Ym0O{*=6fY`-#1Z2a;Meg__Sm;Zf_|NSBV`#%5soBZ#O_}?G% zzrV%*ZmjD+bc-9<Ed^V3KLJ!zgQBI?Ej}|K|d7YmdOO^ z)!ff;z8Pp20^!U;o5A^4^a0Nqsz~&a4O>Vuh+h|oNd((i`|7uE$OOyoS}%Ed)6>Bh z>CSrOuvzwCeF;BzqbIKO4gj)x2+NENI5l^y04DcKdgd-FH9gh+ZfHKZl$_$U$Bg8#C)mXq&hdN< z5%L+;WdZn3z@t7i+=%o-z_>n@B)!eca_%})RcH4goV@BNedJs<_<(*5>DLy_cxMg1 z3K+dmLx$vvC|K5-@ZUoEGMgapZ+(8axApPP;qHTfCp(|)Jnkhs*eqDi#@Ot5VY4s2 zX4jn(2*=3>fRh_kr@SwG41&mZiO6<|$aW=>={H}?L*iJ?!ee#ewQ%bucgei=nkMO) zy^SZw*MN9h!re3V>yZinj1!%(FKhq7-asiKox5FWd!~&Ey5fV#T_9Yf6GgU<$vf%a zE~b5dimTa7zV`2xO8?O}SA)AG?{0#3|22jqd-v^*d1iME{rQ{nS*z}@Qd3)0_JMxv zkh}R<3CCN|fLd2|&DzcdBG7%>@S^GE_WmOi6$&TCW^(tM&Agn2WYk-LCU^(aqwH6B zaZI|_{%gUafky~BV{UQRP6C40-?(LVx<`eCN`;XB9O^qEjpx~F6T*F zs%tagxq6U+-vkctJ4#EwS8HkKqIx@NhlXA@?7V?Szc46G=JLI|*M`S?U1p~b78nVI;|qs%q_XO|1og zUI#Dg%RB#v2xQ4GBR2k=nORn|t`pNPGwt&*vosT8VN7`8g3BDFnN9GEbkI-#_( z8JiGVyJBY-mINFbV94lUZ{d}#*#TQvqH~(g1fk#2n#=P%d&$_>_kwFTaYKBj7UXO7 z-zVz7FVugZs{g)J|Gie9_*xDBq5AiKlTvS(lSS%5?(Ue}-w&^Yjq@wv%lBl@_Y~5?zkCsX0{oBdkC(;V@OkAM85RrKG_u4^2nhmit)K%+%#K-9M%&I z4Du9sYh+7tCWWERu@aPTWF^S1w-OlLd=lvI!(M2;m>Uf~r^4#@proADPH5d`-b#&n z-ddlUW@@UIamuxKQPsf`OfU;yb<&OB`q6rSqrZ`|4m;%Q@2>yWZ}m5S-tE7)k-p85 ziZ-COK&QfT{piX5wVST31=q>c9CmPib|pAR-hI<-uNq%@3u4&YevXUr*0xeI;)D)th(sWlt7Q7ke02euuzH#cEe094d(gy`j6eBPCOJg z?@aO2j$(+jt`PB;?W#$C5&53_O6_~%*zF|SAHn$tirVPfUPssIWRkz?6ELs){$bn? z8yb}4s$Mf$(YYW?oHrST6*sOkaTOs^kMpytob~}}mmT-L@3oU(e2Y$EJzO`fPivLZ zQLV4pfy5U`+Be2>)R)c-NM73u?&wp%z2mTa@0Mof7v6Qv_RrjZ>mL7(bMepuJSOM0 z`+#HS_hc6Fpap3**wYrQ+T}M3XZ50LpVcVmN50>Ow(A9Kv~J11yii1 zH!i`L#Ze2h=m~2pD6B}@ZJj)y=Y1dZMKSu{#e9t-^R*F~A)V^7U{bzZFexrY!R9mv zH7U5>LG5nt1A`rZAe8LS@=(eCI&$rk$h9vb*FKG0`!aIvwN&K6*$3Z6byF9(bz>z) zkfcHqDhBQM(Dp)0?Zha1D4aGco)|pOC^k{qN5HTuTiagOUbo=QkG2~v!zBLi!hY!xS2kpstaz*Krc5Wk9?R7L21AA^?ql1OEBY)X|Uu@E{ai;owAY>euKaknyb0?qh;&iloVLTujdj@Aaa9 z|NVQpTS-9Hc)~AiVy?J-tPUQl>9M+N!*1nl27BXPm}CM0*JH4RNt`=5(5@dq@A55a zp)&}7+ugsjX#1WmEi(xs?}tw0{ao6=j^uG1jl7?66;~T_KeQqDv;V$A?q|z|+#CNd zH8Wc-?B1{W4v{89NT>vn9s*J9o`hD1QNXeVDv=J|kEZ_tKXTM|C#*l7C+G$Ei-$Z~ zU0JLfNt$)49oa+x85|Nx32<@~7bgd-#1yT677;)cM)GIT&$yf|l|3+i!|Z|CKk)1U z!5rQ&d!P-JKGtXV!Ee)F0*P9X$q?bY!Y)QmXM@u06pl6AhP0*eoUX_yGM?L&z%D3^Sw;*QIk7}GZ={}n z4|yXdO+>~Zid>NvfY=SKI(`x6Dc94t4{L7KGptZVz&K7Z6_RY0@Qfx9gQIf~YmtUX z(K$8`v38OYJ^i-BLESd3R;TK|ak_JVq%zDK45o3xuxdLtJeq4cqC7H)deI=R&-Qe? z{4Mi5BVy{cTyY=d&$mqRYBl<_U^9dcA3hnp4!)rSQe7)Xc_qD13uLFKWn6615Faa! zopiIhk%2hGwVmunKp73WHS$ zJvUH=>bis~{H(-FRsN!=8-lK<2G{%s*KC78q^7|&x50Xfm%;|O{06t&1{>MSEw|Ax zO1$JWid*0e3|=XCO%-XKf*lWwohLKUn*4(Ar|LkPqzAvDs2S}7_`45K^6HJ9+;H;G z8`IO1w*sAL{BnUJ1a}c{*Ve3m9#`QOnI_nE!}(Ux7+7O<0{jBr-=X5ShzMz4o{hT( z1)-ebVLSks)lr2de{HP|_`BBlTeB)Z1MnXrSc6Uklhp}$Bm~*r*s#78aGi{ZB4;UCnzk!kJbCig- zCX-HgP?x7NP!6ew;PTUPbE@7Oar#`7Acx4n*zwY5kC3)wCwB8L28px z!1sssfvu+5Q&J5W_^B8Q3}&KdO)uGs}4k+U%2|a|CxqX!;O8`*B&}m&3izeZz)qzu&Z1 zZ_t&X3%1%hNhzm*;Dr3gY$`?$@{h?Hun){GxaQ%+Z+@D_{I2gqDeu*Fy>s2k)99U@ zKEBPF`5Voy5^4DZiU>TM#!;hAJ?!J6lhnP$uIyzYh5uf#GVDg+B*#0ys+@i0$F`6 zSiPyR?Mf_48tF-wXu*TpYMQFU(HiQR)DuzX7_-8Ep~&D5(=|K+Ld=T}B3ERIh`d-@ zdp^JyQGh%rX>vZG2JjmFiD??L1rcAgpPoV*GR1wS6Q~oCVtV+2#U#!F?x4WRv~nOE z*G1tPq9*|7fXsaE_;`^7gK3+Ub%BsFP;mLAXi_=%gaY9R%cZzP!m`|zp`Z&#%Rw)R zgHBt2h~HpnLG z5v3iT(2Ce^QJE_=LBcwWM&J_KT`ZJK|Y@bkFcW+ZK@PXA^c20$s*#spc+NQL}b8`!^WyQ4I0v8Gq zc-C!U{wU9VHLsiE#%=f!!EXjQyMq5YQw^;U=k<&kMg9 zJfxepGLou2{*G5T(#kTTEmzQwv=#P^)U;Ktr+Hr?-PBk^cXDIoyUzw7b?N@odrx)` zcOUFM*?O?OgK|4wzq9l4mbzui1rjTN+@uZGW4%QCWnShN$7NQH^lu^8(*-Nq({F2L z(O1lZVKqSRuQ=RI$4KA?P?h)B*U9zs3?^tt&DII;V#syt995`>57sW9(a856ZEf!; zIbDREJ!%?`c^kO5FjH9*)8d+c%gutC z%d6`xm2bJe>-Y89jo4?~im~ z_ao{|i?0&}QbVYl4PMq`$gizX7mexC@my{kS5Tdfj9A}cc{*>!J}O5SEz1Q}VZ~a( zPrXB~TP&Ex#mm!5`BaNGO83%FOTGUXW8qu+Pl57c1a!gQ<#ct+WF7o}J?wT9(*GUo zcDF6DT^G`IElctF`Ofj_6(2V<%!WEMw>%b}avPFlQLwI??Kd1f`-(`7Fui$Wu4mdC z8WFjUCIMrw-4mx5-ZE@4a*sA(&#!wap3p>YcCbiI`ZV-$JGJ%_Jb zFXK=Zkx@t*gn`kR6=2PpoTX?{80N*KW9$qySJ%=0Q>CPyoIrdO|1O;0U4*u{*@70L z%|Dfc50V=}%X`!u6PAyNTh(w=((JqvF^yhb z8WFh({ARO-4@JX&7+1cGMh7{Jgb=EM(C-(q(p*H12)m~}Y0Ve_7ob@EPE|n+!*({E zmQ9kXWz8ua^0@Ka>fA5*cM3t?$w^h7CbOzI0}gvq+lU)~S^Jc;IXS_w4!g#HLK-&Pbw%U!->6 zw5$Gopw!n#MK3u~|301yXz~|h#@)RXsi?zwjW$&Xz+^p9$Zmx#65@nrlT6L0ym?O- zV_T5dgZ6BH1_NHnpyazrpG{6<{R2hf2`U~~4-x&?Y8|QxCp>;VSNb$MUiC;SGZM^| z!K4KOl>ujN{wg0ryxXuUW(~o^f_OoJ*=V3W&x$5F8Dw86u1BNgudP@WyWTXMBK^Go z<KgT*+W_;E+=$Z8@;8&E@8@hMd*J*!aeh5AMqcM?9=p2R^!$(!6i!F}Nq*dzcAO`9 zgfY2JOR#WY+1I5x+m&05%*^Ej>&|i2ZI2m$48OFx+KGHj)P#+GggyS^Amz=MD?wk_>PDU-&hGO%Th~&GrbLg!Cv{EH5!Yp2@cTA`caleF3ddSp( zmLXKBP<*;X8;DJJQXQSm)Si7(b_$p(A1QY(cV9d!S`yeAL^g!Br#N{DtJn#p-r}Iw zys+9ZJdxtb#C0$Bh9k`$PVW|@JP3||0PagiCi$2wY{#OQM2WDE3zWjjaZzk02Gfui zhj-Nyx2D6(a5(zbZT9*d&x^_E4u=S1vU#$}F)d5P*xkH#_Q}DByMf{!?zEAeegL{L zk8tDGs;AEQ%uQY_XMAR@kzk!$B6NhJn}{>F1pAnA?oz2{$LA_$?=pdYb-yx6F zVT4WBny;aboazvN0i{LmAe&*}d_1;SIbV%K2`mx|Gg}M@F1W-!QKvu9bw7UYV!U4* zh&CqP8}MW~$p`0IHSHXsV7ZyFii0yvgHO(jW{jgsQYZ(V$|%NK29wy+KNC?}B~}4Z zQ$Cl6aOjzK?Fi1p>!`Gt!yoj24F{IU-Nw}3lVWCL%_?_Ut^7T4nh6p_Ic}_sm>E4}W#Uvj==Rn95Lf_CA2EB$!-EtZp0+6{!*PV94?)j4%#s$(h zkLwQ9Ebe*nt!3ANwqQqmQ9lDbiePiEo(zimPTpk0ajx#VaTQ)0fE*BiGytZiM@qFX zlwQ&T7B1>8!w%G@8#X+FLL^HjUs^9b-!o|`6)}H+lLr$DP9$Gbivm(FXu#sJ1_TxN zDZMS#$B^fH&`Eqz-7H3)_=4b0`5>Rx^D2kzK8XCtC;;a~dgBK$QCcXn@W|l4r{ihu zGIL$_=8=;V406fUD%x0oOvTMa+=Fu-(ZUeh%_eyz;y+p=a2lNC)4Z-T%tP}+7d2}H z><;~mM52H{m^q>{0l)i`7s;v8&LFhS_(Mx70X;n_s#6Q*Kwbk%mu979(xbxD7#ehV zh~r3c@#mT_u+kBaXc8C_CTK{QbV-^Ls1;U;tNndj4?wkC3`048f=s=toY#|!y}a4Q zD5@v-?*Zi0;UQ_J+|1SWUM2F`ZDNu82KEi)O(rk0S^tNGzt!iMCN)(9Oz$VBG%>1#gP_4 zgwh^$=4=cAOhzJqJVT`9GrjptDB~G(3wJM_4FEd>6(jyr;DJ$e<`_}SpNnS%L> zU(ml43sHae&q3T>yF4>|$?P5h{fYr>@HE?bQ>7z8)6ks}RSr0_C+hw|*KP-=L=FHJ zk1U3Zo*_k2o5>H2k+&P9j`%b&h;rfu+u2%t(qomyqP}4Y=tWwQU)r9 zX_DFNr5_A`aEQEhYynSfQ*JI{8CSU!yHfVa}c5`A(>pw?XYH1D(?zMqyH ztTGixY%piS%SXVHCrhm9<7s3~v4E^oIChcl;zmuqQ9K%&tw@h@BE6;>jFw08dFjRF zs=0W7W@2>_Aw_EF8#$g%j*Un=HQ|ukfrKs{%WYidK{UF;LGo|zWp26e=D(##eD zcNZadc9Q@zkbbV(DJ=eLY1hb$bvJ~6Ht_I-^-TNB5qGWxFo7_b*Irr(1LCO-uI>;p zCm%Lbab!^n$jbsG?0t<_c+k^n@}nN=0Z?0#68Z6Y)v+@rklw{89un5e=_eS&;+`k3 za}I5}sY_NXskF*yx z$uIxa&;R-_{w&p%nE`kRo_T^p{x5&|JAeI)-}~D?``O?Ae?LzyPqSC>D&+ND{g=P| zU4DlQjojwn{D;5z)xY^8r%g32YC`olfBt*l{I7rY%|HJ=zB!uDCg8+E!>YPZZzliw zr+;t>Z(aT8pZ=e!50^E6GWq6z|NXze`P2XXn?LyD|Np1|h?~e?4fA}IkDy!2HA3V0 z>;LpW01R|M*w`=AVD_JAW27{G@EM$y>Dk%b)(mH-GdWzWI;8pIkQ3gqgcV zAKQl5!#DlVzxp?3WENFrrt}!$au@@61Q9A<~ET(`Z+r~vl zLy-84O9_Ma)qmRo(CQC=Qhi>4K=4Tuph*5C2=Hm#2p=0!i;%BQko+M~hkK;}EA0_n z@7H`Z_X#W328S4M(ae^d&YnPucceJ*=)z>z zHp|#Nm}Ty@4oYm{kc;1=PVV^w>j=gNOuQ1!Xc;;kLLVCm zI*+Qt1+NzupmNfGQ-{NRW=-X_fRBl+``fQL5p)|JdW{IwsUU<%%&FLmU7ZzBEbqewlQpfR&k2+4t{sXI8$X4*4b6bRG6b_8 zrUyBggHBxy-2T`R)$h@K2&Q5kx86XW03)`z5uHOP`=+fyS{5e~QVp`0P4d79r*B{o zkUSIVpx{&D7V_c+X}PN$mc79$>TR&}z{yFv>%Jl#H#D<=SqwU3g$m571bhRpPwL_W z3>_Za-}?N2aBu75ox|M+Pj)`pdAz89myVn1KEqMa1aEXj5mftmcqndmthjJS6M5H6 zo!J8To9SrIhG~aHaLHOr!DO_g*JpTn_NEwp*^~=9@GwxFT%dG;(;BLo6q(tco{JZoa09>7IAo!rGaD5s=IwB-EB2rT2S?RsW0Fv@I=6ophdVu0N= zSDtq32C;N7&(qleSecZ_Aa*!VG+2<2TUzvfIQ_*#gIIjIWf)G-7J@k=@+ z*QKt?wN#c6vf8O*t5eI>snAGOcDowY7me8_0?xvMZJ~pGmKVmNB9w;bj*XH8rkyJcbIL*MV}Z~_o5%ZKFPz09ro?Kk!1HOzsfbWbVUr*H z1AD!Phx%sNgg8p^eO#^94f2k1$GN$~X45uv;zyUjG<1@0Mz@K(( zd})_NQSY)=vZ;!e%u6Eh%6y>ZQ}BzPK*=tP`tR)mVU3HIkaEQynfgXm46JyZFTyK@ z7&O|-Me9})459Ei2YrSV5)xrszeOmUFk!akDpuMNY@|4-ZPp4!v-c42?|wNd ze@+T43^EP(zEwcJbr10rH!{44eB-o(gVNA0h4nBS4%a* zDr3ZWCN^bx5Ft%ttcjGDY^Td>=@6Rbe}s0->!9Glg_PM9K&h0fP&kQ|B=3|#v}Wl> zYnB8<%})>bdia*TlRUM*dLlMp%636{EQ*6Mcg4(v869n|9i#z_H!WK#5?|T#&2Gxt zD}vs>6DgztZ3N!NE0^6e{JP2SxOU%^PWq)M#7OPld_f<-rs+=bER%DEB1RkifBJ7( ztZ{dz3P4nIxk;o#?vb~c7*RCLIXiR$8hscydqbGiYA(69ZzrWQk!mPXpL4O@gy0p4 zlX#OzWQ$DPO52S?+l`=YQxz7BeHdt(6WJ5yZUgbip zSQ#`It5Zq^Kmk+AfX5W0p0tc&e{?DTgoGV%F@Ok5e;J6eR9BOomQz?84s}04pRRL`Rm;cKN_9kZ(@6M|gi4s!PM{`}kRRbJJE}ELOpg_PwH8BNkh2$u z)lj;(1=X&C)EsKK!bFYBE6%%HG91|zP1THE13XE9h6b-thZn+bhLFk^`82N}6aR_2 zv&oso=HgcM0t5z2;tXv^e=ye^&G@1!FeVx#A{gFPBEI9(zFSWNW6?EW_p3Oh$|uaL zh(`^3ZWh)A0kNGqf&TQ5n<<8*y0_pXkbh_q2jt{sSh|+zFI^ti(f>v>O-)yq$XCPh zRZ8a^0r3%hz6Nk1V0{?82&d0<#+vA?w=F*|;r~y=eL2-;T+JqHf63@#nJNo;vf!F9 z2|iObU%QrD*R5>Y>0OTsIHwMK-Bp9LBL#txj$OF!q|Ezbrf-pHt8#!ofXjrvk#v}= zgL}ULG5-L(X}NY)ItS)>etJC3iizzUx)d7HAJ8!|uO>EBgE)JmUo+RG22s?zrx_J* z_d2gbvY$S_HyC0he!e4vEvx(vna!NDWglH~ljnSy*4IVZr`H4bPKU_Hb=`98qmC964v znA~HHAAiNIS}lNLn(lm`Qm@V0OGHXXOO8iNE-Dr>4Udbde|w}^tq;y#n)tM-vU;3K z0ke+uuBKud@!r*5?`qMz8hcmE-qmfr)8-PO30&Vrv>!Ve;fs-@5ic8m zIWXu+G0kNLeqp#OXsUv}?yE7;Y|qcryotAkaA%oq?}OCO;ZCTu1LxdHFyR!;`T>$nxVyq z*93I06UB8sTDvUXf&*M7Mcvod_9IboKE@H2+28KY?a6E#0XrV0wlsK}rW-l>#{@U~fhjUQ+M1-N70FvF=dHx9!b~ zDqEr}K{)S~wKpDE5Qsb`SG^H;eCM4cuN65oeU^v%Q#FJ>5J>VrL6>Vpw(QeG?@Y`7 zd^)f5QU5HfYRg>#BrsG`w9Tw1+&=MG=r;nOfA<2qC+gd4m$?OvNO4a9{pY8%<|2hC zZ+CiS$fsmkIYlK>26mz2p=whZDL6_B6U-t-gQD9-6$g42sC1uH#b}|l?rYjGdf4vI zsWKTH8XNB_b_CZn2qzpD8$bLpUHk;VGAevb+Fgw3)9*)k3D!MRoBLSOK7vw@-TD zbb%)(O1Qps;w;_1sNA9pcEn~tR(O#Qf9UPvzQ+6}HmBMm9lK}EDKz0>DR=Pd`Lhh- z@N5FLH3w;TFe_&rPR#BOn(|(Go>$vh9Tpk0;Ro$C4 z-K6Ky63Cz$SkPKji;1izLQtan(5r*NS7o8juFX`Ofc9WBzE2mhIf!Da!zdZM&>3Y^ZJ#^A&eWF!CP_6jFkSrH^+!Ncs?KyW;j z3K1Co&JXxGXh}ApT0=*jI!^iNclvyz zm_`@%HU#hi<5ZLWQ5Uk2QkCq4dr^+mFEjtnxC(<9jEQTXG_gts)XDm;2!MKl14L@zt(-+)WxOMI;2%(U-Kc-(|e{B#W4}QP% zgWg~^ebF0yHN*eO)&IUIPEtzJ+bx15y-xu1LN&iz#HK;%z~43P?KF7`SF z%`!CCIHKTk{nC>v&tK=Amb>cHN_d4Y=T&ooI@RH!(xRL4@X!_$``CD^z_IiRvOy$s zdvUh_X!5;_)8lfY82uhHf3hdp3y?a_NH>Kv{`mxpe;F*7$Ay`xk6@x!9v3F-Uw&0h zu)4FYU0~|=CkU3MRddF>bx4=tot5wrE9-Bn{dv=k3Vk;MY zPL_)n2_!&eRQq!HQpEhZQUIa#`fX96jiYIHrsNeRsw7nV7zFMVe=c&Ho}wa`|{gC=r!|;>Wmjm4L{s&13fnn=@j* zI&C^X(Qr$Ztv7XZ<(^$+H5(~j;GMOrjaC|IU%FBY++$c?cUxS~Qk{B>xvuvLz5eIl z^JaUHovEqK-fBDLf0;-5d1fZ%0Zxj#AnCoyki5@k@-AJo>1&`r_{umVu%D%t_DQTCzE1U zD_wt#_XM$kDSRO@G$ww5qeeROUNR2qH_wCv&*Z_u2j(}`KOfvm#_Hc2H*9>P>Fx+D z|LW?4WaKlY_J|*ga#5K?NT)G=7wmDDD<~)Vr%*Z*o?D!)_*V)Y#Ru^HsLo*2) zEgvqZ*C)VKH@XK9T5OM=58!wpI5y{E&SmZQDF_AMf7f}ndw}U8xUWA*;J|n{{tn&( z)&cfJyeL{}ZSq5>n|&4g-|gyFREzk)$)qeR z=ZPf;20=owsbPus#(`q51d#IN0`bH*lhdA8+4nG7+4s!C8`{u` ze~YMd(hXp%(AcRX zug+wzj-7TL2`{swif z`HPWS*N&bCUcK!$W*VEMdCcfuELG8Yf9#e3^h<@G3!6IcmlP#d?%%oM2K?s*U~>1U zpvD{Z-l@J}EuBNqS8;<`|HBA7LKlHwox)5l4oxIp7IOAr%gm3*DK*x;lkGtB&X#qf4sMIUFj}kjG~XAu*SPbQh?)qb`X$5Y61Ppfe}Od z^bv2rLrxcXQH*pg6)!Rp!Y-X5ce*lTFAkd=%lbLN@NV)NDV|JaLZemcLJZVNutD@$ zIK+fBI2!6)0Mfd(JxhX5J$gMa`UFqf=W)wO)-Rv#a-M|#zd6+sg3b?Uf5Uf_ymyv& z=H0GH2hsq$L-F#JQ~C~TbRxUMBsnNmGb;C_nYzN%9Kn`XJ8kId(SnH!xGcbCKXJM2wTR3vLed3rh44Ct|tm; zsCTV}bWPecb&9vQo&$KM!=vN5IyD9LR+gi|R;thK{f80er1U2`d+JlKLplEwN zQ}ODGrsOkGa&Fj#IxS?ulfs`|dy^BP!L$ogCq zF{XpHZ~Mh9)o?JpfA*%gzkqo1Q8xhH)7;w@MiZ+gFO$8y51&6ceDv_q z!)H5>_poYIBz>H^RoW_t=Tx%|Ov3hJW|t~G$woPN!7{@^e@Og-gz9YY<>BswJ3F7> zxY3j19vk&Ec<6}GOlMfnT?;Q<`?W{a%QViGsB5Ud2NhU#@!uZV*=820?9`#XQ?xt7 zYw*~qQ`*R{x+A2Tktfy6o%7#r4y;jl#~!6Uu247XMg)XWcpS%D(cOz2@@;L5!nZAg zm*(TD-(yNFe~$Aev)p5|w5^+35XW|P{o@HKrg~L}i&k}-N-pv4`ntt-e1F|7uwhuC zK7ftLu^QQiHY-YY)T08gYzpL)*&T|RZFHmHKS$&>uv@ew=KCN&*KK66O*@Hf+Mzr+ zoSw%v^nAgF_V(UJFPRU>qHXpY?j5lvMcbOdXi^l-e`FC&T=jD4eKEv+fp^V5i<9VN z5sAtkO!Ut!Te(%~M12e{I7N#abF#T*4`YWc#}0cK515m2;0^!6J1*n6mfkBlv()&zg( zTS|;VEco5&o)WHsYtMm&-@{SGgeV93xP=I%t5GV*wtvqWs5k81(p^&bGWVY8ySg>; zZ;97L=|>D>XVab%qO?ixv~@gc-yvPh2KbisPL2ZawueMyn`4?%>mzWDu0-dp zr|M9L(e@ERjoenjfKsw(r?P8o$xfk*&JAt-PSvYvIG7Y)Ol`mRx7BC&)Mrlzf9OxK z-Q1%&&e~*?Ub1bV;n)=uEC_vcZ}2Ku=e@y&v%+;IGG_JsJaXrSGQ#6i>fg1kW(-j4z4`J|HdIODy z!RB5PYE$$NrWgkSe-XJu{?7&Ckk>Xdh?3-M4$$q?4z`M826RoV7N}?je=b5J)LF&WnORH~!N6H8I93p>x_Sr;){#-lRI77Jq*`cn?2xqsIc4)| zVgT5s!siKmB%*?r&1T@hIO+Vx2czPQJejxHk^A8X@2G1Z{)V1b8&qL?p}S>tXq$HS zaNg98Ms376ZI(OD>X+RJe;j6;wU;ue+E2|BC|~FmrO4%Yh5q0IjepxjQ88>5>Uq?p zlW2(^LuJ?3UF9aGAcWd3XZ5LH_^4`#Pdt7ZRv~5yl5c2xnKJ`DfnXne*XgKj3LRkZ zsQ$9|K(xQ>PTHR*V|`oI=2Egm#idUs2;#*8`X1+7CH1&~^AFM`e@{;8oWy&MKblC9 zZ5Xko%sGT5_sSufouy+m5|DuBps$j+I`NcbNE3V?)ZQLS`Mk^N*(?xkGmFucdGKAv zCYcq}tyh4I)q#{w`T+#5NbQCVmclq;U3$Hf*$3Qg22#Ov+s?eM_{WS1+Op!X%zB4d zmnTKXk6uX-0RLs-e?ny1ag_#_Abb(E`7V)6JiYw(_>6o9RSQKDsp2Dj~@u0xWJjK_Kym-Y)BwlfdUdte6 zaqh(|j{P{oSu~DtWV%3?kD_IhqnV@E&7?CQEtA;Af3P-jlt{b|8N7K3nfIh?K=@yZh#|~1#vWURjq?80?A4L&n+W+_U0-so zJisl_Rws+QP;ORG;>EFQ`6XU_vu%q3%@a!T#I;3UNcMA@&ZXelspIFQ^M=954J1mp z3%=h`Soj$D!N@OsLVE&Eqh*GO$k1qULHdW^NWf`?e{ds&np^qdh^@`>%QgNG$b60JWIfcGBAtycAGnC87 z$=>swe`V<7b%We=?`@dpTJFblrg)J(#~^h7Xnh?o-G6%T$*#J*_hjqA_73NZs_S=l zKHgHd*xDmbc4M}&GEbTv*X3m1Pf|x_)U=pef*j zTCv7zx@oy7{pK@)euRF&^t@=seWsm0#jLV>e^a;+SJ!#!Tqj^8031}*``HXO7m)o+ z*d}ZF&6SspTh`l*abFKo`|%EfqTQECZBmg_;xH+(ZNxqj`HXIzgsDq^ROgZS#%DWU zm|_-wbX_Mm(SRv;lfugIO>QA^8Dm$W1-|A?v0z`+YQI6qp-0ffHF z7#a|S?l#z8ywFbRkg+{H+Lu`cw@hzze>qEY1Hu{8gClKXkSajsXxX8i{z`mVJsa2$ zrVBCnZO{*-8*v3tCA1$5>atSjWCppEu(%WLa_%P?|JfDkYkIOk2kVL+WoXjELpvKp zY&!AYVN#*`k6kc|85J+IWga*_Gv`fUAy*~`y3S49{7Z_PZ?&d)HB&5wDgC5ue}Jz& z)F?>xV)2>_m8{xDuk9*o_xPA?FU$Z~Pr9E^=WSXN=g2pXatO%6>K($usd63ZfgOcR zcRT?rbpSNQ8A~ao+eD)&m(m(cKSCwmY7*QPBPu%`(!e!pYM=%fa3aO22M+#bHXN4K zNE}qu6L%n&#!6lq3B--d6s%I6fB#iE8)1+d#!y(`bLYC3qh`MzN6cNM+F}Tz!Ef-M zTo5g4tuL?x<0_U#>d_tD2$ZhVrt`26DIgAcb&a`(!(FddYAfvA;W<&#PVI{@s#A*J z^ELP=De$SDM@m{2at_%d`si*+r7*MMi69%Ej6&WTN&+^vHd+yXQ>FuTf29xGst-G& zH;_=5J*sGcQ2D(95uOgrhm2XocTnSWWDXi8U0UjZZtyhYHwN}`>Eh9ELZk@u7z$XS z+9LcnjDYJJ@G~T!P)Kh&&@+ug#jL2toZe~}^7JM~IGtJ)nzzXxQi2r~h>xVL_z~t_ zob8FM9D=)MK2t{>y0!x*eA|4Ls|H6E3EiF9AI^t=UYub6Cdkbp)fef1Fx3+jB6lX30@x8U+-Qe;P+}%|e*+hLSQ|Eiac})l(d0n7Zf4jSFF zs2`VQ)2>Xx283XFC%Y$F);R+J9Cg!imRXBcW1~LZc{i7JU=Y_~tm}?@z3V43 zcc2q+!*kExI#PLv>6e^q-W1L0mNqpSX)=ujc$ zh)+v)LSK#gw7`wk1D}=p-&aKkDt|fdqc-Q!B;q_8`tBkaXz6>9XrlK4h~z+xYFwCV zX4Z>#%SJ$riJ&o{Zl3%gi9}dYMmmCJIDR7;I$&EK%4hP>msL8Ek%2$z%0!(U=oMZx}g^tf0ug!OBAj&@e+}TLB^ROT|ki0FY&`Y9m?1Y$Rvk7wqcF>GSAVKUlQ{= zkXnb{lX|E`*~xKM^^voP->RpOF&@W?vz|E2|9u<{%kl2DgkV6^50ESJ5g9qYluItMU{z%$O;`Hs?RuUWF(3qnl#ECmu5-{&$dyX6wLoWHYU6 z4o;(G;CQ0i^4zy!zQA`2WU@CM1C)zPYJC@NGov~K?rArQhH;2#O$fv|pgmEJmD*nP zPV4dMe=UZSqCyhEHt5%{P@5*qi^`#i=T$bNP_SS_+cC?B0B0HxZbFlWKU1B9Kxa7L z8PbPw{sAe&y+nop0Y6Q{hcC?l!5JKp3rIBnw2bTzM&DMmPfH=I!uAT;8~cQdR{LFi zAS^)vzU|`WiLA72r=4e*tEXD^?4V(5P_qRyZ*r#_t@V(#Nl6-`aBhVyieDz$p?p?)DSxFFX!LMOW7Suw_x2jfax#e}DKsWGBKi>zK0$zu;&7p8A=;cR@4Y(ZVrD?{W!)DlX8U{`vOmyswug6V$>t`*?81=;_2Ug(#H zX4IMB^unE}!ZwkG3sR&V407SK8`SBLBTc8S1)wm%eGZ^w<)c_KKB)z?%pH`+e>#R? zDPZbNb%~OHajl>%AoB^++|Y%)G*dOSK!RhtJ{SjiCG{YIZjS zQd_3v7RQF!fEwvu*_@SmUq zs{@hw2e<~NRBCLhqQ|quoV}#r;0`~Ji;gMf^xLkwxCj&>ej+iTo4oxiJ@-^-2I8kI zI|h8A(e0D_NB&1s|vEF-7q*=DkhQMzJef165lLua8Hhnnh) zJJA9@Z_daR(I``UGD2-L3o}^ySnj38a(~3*DqS@9y4LuDFTZDydhCFjmD>FHga>af zz`~KcY-%swwObo;95yc`?H#K%4W{WeMfc(mr5itOM%UD$N{6?=CKRGGQmhjn&^R|YJ!qjls7?jI zLad%ZkVAl}rny0BG@ByI87(e!*zh}N`gS6 z!+Y!NU6Gd9gZed1IRh%rUSM2-%ujL(nyCSWb02w~-@_U3e;dOBVN?v7XV>VbG~HBY z$#q1nQEe>eU_R*_{n|`XFy@Xr9t{%*e1&-aN>y+5uLcyVo$;P`m0K}BTpF1dkk0KQ zeKrokKrkRqpBFbyfe!+?&?ius2qzbjJF=|XTJ+lz_PA^yMPDLp1XXEcxq%aeh>*2J zbExboX_MMbe|PF(Hp`uqYoa0bcu3HREFDK92WR(br)$k)lAyHh52!+W#R=HvQ8`Q7 z(sD$_F*1k8`VDtlx?M;5T?hDvy;#>M-gXOh?KHYO7W9@>^arRyN4mTPp+a}0vwgYQ zc6(?)k}lh$M{4BlJ$gF(4*CP1XzkC6pJJU0Ud$xEe>YS|Gb8}PQI}W5U=G(VhiauD z3|D8S#~8qX+vwzy=4)ut*!sj*1bLCpn5tVC1YtVrnd}!tkC>RoDHYUxgN>?`J{o}I zhu3FqPu>@CnsNr5z+9NqIz&jJtnu19Ld20sKqMV2<{LL@&RE0j1uTTKW`+xtdQc?& z9ifuzpbkHsUtWLF7o}4(1 z#Ven4&2#6uNcHpZF+sCp2M1?{aq(m;vR*p4QAp8wGPdDd#oL5)(brwghB|#GCuso5 ze;6gjh$aKdhkj7kz-w}wx>I1CN8sOn;AYY44(IhAakG83@lpqa1(z>%kJDO!I5|~s z1mHo@w3D`0$@8cr#1163xgxgTFfs5wJ=g8a zM4k=D)c2;frFmUWmH1fn&GG{93Z)x6f4&!63L-ao`Y~>iEX~Jge=p>nZXuJL*k#W} zD`Y)WS5?v>c67PQvk{~N+e*!EHaC)H!6rnf!mE1mso?B1U9N)Re0I>#SL zhut4uAf+q^ZpAgw8ChXuyQTYBFA*untP{ml)7)20O>|S>U4EiZ3@;2ymb7N|f6LUm z=LMLSd`{SiUUPiF6erFvqUFRf_~UDS#d_Mgq2XF^JKCc;+K2JS-9lqxYb~~j7}{G; z%gm(S3q&}U!B*GZn$=JjT7XvgXN$e%*e@JNDr-XuIhK5Cn^fr*wq~DfJACbAIHIyY z;X0Cc(Tv;kCFj5cCE5~NE+6oPe_ajCpK>}?_7cSfW|&f&@hcEpgi(QZvkiljYmS8l z0o%z6w&R;#0k~C6`!L0voi#`IU1t?5J(Z$;~AomW0+F{aTEczpEA{fhz$FnRab9b#+e@5q9W$-O< z+#Zz#Sn9~5lxl$CpTzwASgmJ3 z2;m0PRp{+bW7?@XDgw6+9-f@ILq{fVFknWdvzGvb`gGP@JflV?k_9>;lO{rJoYg1{ z+c?7$gia{0j=FGg3F|RLe2(*ESYPqB^8Brbv}JO!c4KngRiIUdjo zpV1mCR+OJl_YYEC=KcukI`1DGEt)rjrD8ZzIxRuXx^h?%h2G3jz>D;sk|k5I-<{fG zb7*be?FRKsct&)#^kQo*oyn2=uIUz!C5IAnmlEozrHGcg(Mz3se_@C9!J?F=fR?!c z5>s-m7pidjRk{5tTP;}VLTT9giw$4`bghF)!sK!qO|C~%+0g*l#eR9vz3JwSk~3oH1v99QVN(zDPY(mR{-3@gWHG#V{LKYf1e#tO+E-hB-{^5d<{uwiuBvus`^Yz65o)b&N-9E7&<0Yz`7T1VKt&rocd{ zP4^9JL&7k`&KS_S0l|HVDz+DB>^^-99Rv610{hm5*SCwPed`qEZ-Cj$`p7u ztjpkJj}}@0+Y>%o)h;b~O>I!;h=Mw=Nga%*0`@3aF0bK4f}{h4A+E_Ub8uZKq70Rk zU`JSNFwgZXEpdun4^z&2%LmgSZ+AWb;^Oc_3|XYBe~@3}F&=YO9paRB0C2jL#F38> z;Yt74h3Bv|Y&n@^vszr4szWxLz)y@E%7|@;pE5TRLhjh2-`%dxI>I!58-0iw9yeE} zbxRh@D9mC}LKX6)jdvjsaM~I~=)7%iQVUZh(rb+efD4MVlpAYJSQ)h>tcX!U)UKS% z6!Tfce^g?qubD}pEF$A->ca^9{gLsselx2{uL9G!Pmr(IQ z5g9tgg+>1Is@0=>yHayA2=&z86C+{G)X@@K_`4hzgB z(kl*_04OmJRW^POd4MZ*J2Zl$g+~wtbUVr^QsM30R{t@_8r2rIA@(5a)=9ca5+r*)ysU zdbpqE-o~$LJ#o7EVIm&Eht76X#w1 zMFs!(f=d8cjT_5iJH)r00s6u4Wi(l9DD?!~rd^1<^_|$5dDWRjMkts9RF7285ZM9z zp=bG#DIE(rL+yQCfGJnz?S;dtgJDIjP}q*Pq!D%?T7?AMXFR^#_>Bt@Z0_gtTq58Mb6%qEbv4_pfxhY)lvHiW z#bUM`ngSV_+ET}LZf)GkuqAAsP($5)_$Pb2(ry^o`2-PXo40XmbEZ>KFDLuc74YKWE z_1q2|1&hs}5Fig{c06+p?)V6EnDB;5=K_o+dfc{9^#~5#mpm{fM7bEa( zgfa$zTXSXbtcEG1cbihgVr9e-(74cDgMq z0gDLd@A5;?p7$Xce7@*YUa_cCgI~ePbM<1TL8vK;vgk`noa;C^Cxw*m0>P=$Z_^>6 zq@LaQE1OSga(F3?rdW!n_Nc|#|VC&#Pcx*qUn5K$T2o}v!+(og`^^uDf z1}A%)#Caq_mM15Q+lW4We>cW=_cq zR!VVgLtE!Scc3PJhW2e63xvq30!G1fYQ?eFJNOvuF22IU>0J^I%`)r6kwM{U@UV#&pIwydv!g8MBpUhM9SsKT@cBKmimp-+E(jA-unBJ|br<#T0pvtEWtED0#{~Z9r{y*AhEzz* z$D=xlKV2eY)T(Z}Ddhk5gK@>kMknp%wu%EGh<9!JIJe0Oo)qTNwA3ER*#3E z#OS_W>c&D976_?vBjt%`1DLY#`$jk^vD%nKx3{XIe=R zC@kx`Mj6)4)YtXVG1SHYnGaufqrs0qX*$wCP?@%(^jTT^y@ z*EVQ#e{#qGIpO-Zx<|R<2>QH$voaPiWHfuZHCqtr+^vE(X0zWkC*PV(+|+Z!e)es2 zVfd(Dy~D0MZf*hI;#t7DiwhnD!~6-rhzeVgmPH^;lw^_0G1l?vRT+5#@|yM!B7z@{ zqhlGEWvSoC;5?w3oTyQQPdX=|?*Y+{LNy(^f0zn378W=Sg=@0J1uo>yz%so*_yIJi zgsP?-mB~HD6)5fn5el0USrLtNfDgU{r7G%+=@9RjIRU}TA}?geWz|TK>;Yaua}f`1 z3odL^Sl2`r>cuCm=LBaDn${#&_LfLjquv+T*go$wD+c>d1OiF9 ze=j@FiY7U(J1E<|zrOB`1!cWZ+>*Ym(l+nlc9ucBV2Qy!r5s{D9hRf~>Em7F@B|9D z(!vsTuPET9eU`Ki@crV&6wsTX`V{;n(4Uv+_*KYI^wMd?%$gZRFli*{fek0(ArF?p z+M=|tDF~8kr~Rnu zr=%JMLCorRMSm3od-S&*T!lS2v|?o#rzvgK352@N1l<%FvCtB$R?sCAVGF3>7}iGg zlS$@kPd^#Y%GD$_aS%6|w?w704GKzHkVV7S7`VnGnwpgKkRy&6bnuGBu0RO#f1bSs z1}?}wBB6_1c|;K$$BM=1^$)w&a)r8tOSRY?p~z|HsVj5&sti2lj-kYBr4amtv{xEwPfa}|lOaMyn%f!)Mw`z+V6MljL5>bFg?q(N=XF#CCjn!R)l!+a=Oc0v^(;$;Y785Y{# zEmT>=zdZ53oGtO?V#zOGe+hpOhxFTW56fVyhcB7>E@mwo!yb)O!Qhi=3?`?RqRCho zh@ZaoL#LJ)FO3fS$M_8R(|v>Uf(G`N^&Xk@fz?&dOlGHawJ}V;w<6$B$k5@L?zF#O z*o267UAvWa4cYzSSWoQ(d-Aq_Q|5yVWeSKF+2Px-W%G@EMyvK=e;U>!$|_r)LfjY3 zI-{4)tv5+tN2>kj*3qQu5TT>1vEG;^sIHB2Jolt}QC{%{vzGLRS@#T^WNRG``;j01^Gl;n;huUIhgAxE#^-E z`uo8+$V}2}BFqt&e@R1E+kn9P*hE?eb5J}?SgO0@mdn7C3Gci&kN{YY0!Gj1D0 zsN_D`<+e83)QoZ6hU2(&Sn z-cxaJ{n#x@CF-{07|5-O>6Y(=K#LhrviOKIHclzT))_P!36rwGv(J z_%})2&(L@~i9seh#xZZ?#tY%t*{lOmB<x!YE0<|0h52t#j>pLt#~@Q~>m#?Dky zyo^4X>6et6$j5~S0DapCk5mR!bykTOs*gKkon-Uee}}|=?m}WCTKIDp6#H(0mt^7K zhYZiZUTwJm>xcB@2>X(1^JL>i?|LLFb6W(d9 z9{T0K{=;wn*`NRFXTPVO`_;eubAC=p0r1S9{$Jnx!5@F~PyX<4|LU*QLZmB<*Q$Ee zoVWGrf46_JuvfqRi(meWpSSkvZ~pPW<6iytFMjohKU>hNzx~VK{pM%?UiK=FP85AV zu_ve3t!@07IHzLRuLq?P*pvtbViQ+6kM`{z{nFi9v87zU^2y^XOCF|Hl%kNYTnhQJ z#!Heyl%{?@H0=(3jQXL)sAs7}wK{ZB>bDzgf9BLS^O5b|OPeCLsLHxdKy94N)7&KB z);*iwTeQ@;*B%fyTe|^xeu^`?9x5`bvYD+Hm;SwO8&QWkRs{vy%ScGylTHfao09ud ziuk88Ci-GuF~mNFuW>n(Xt{Xj6~09;xRr-LDx5`wuik`<*HnNv6_>f_Efv;6g%m1F ze?_XiJ5}qsfV>%JTNQXN0{w6brQcQ4`FqF`p$>dA&MOnw2v;8D=lVIS()E!`yPMYj<%xu9wzvw1Ea9+aE?agw?BDh7as1Z7X@l!N|cz z;krMbbrE_3_Qhan;`vLsCQoNAk!dI{nl&+A2U}mjf{oaPQ%t}`RF8cUfaXIoh<;TE zHi@bR;%iul*vvl`BsO!e&KR8Ee@!{-k4l8(iOvyRTegM;=X|xfjcc7N^CV;j#o`PI z^7E>fJ}T!^5H7ZHIFBJxq-${?N;rl!Ibhh6rJ6ACsfSkHPT5Yl0DpDTc(hv$)N}xT zI<}-l3#Q3;-LOZZ=b<9viMp9ZC%2`1hqjvO#o2W0jZn0jSvkd-Oz3+^e{)VMlWB25 zZc;59mc=9Vb=lxh$BvAaYSG33I0;tStG%FO#`P=~Fn5=?USv=rVEpV=XB~pF`-vM6 z$*UH8O*Wsq)B~v)_y-pBdKYV|eMHSrV)1)wsf(q$gnv{($(>xi1jGZ@m1+t1*r*(0 zN;xPbcve@@j|lD3>N>J!(!j+N>n%+Q0%^H2ReI&6Z`a0HANz-8Sn zG*oG9tX@*sSG$oOV=vN(xI#s{>Ke;$u5Re^5ZC$&&FoY-kKbl~+goUzVt2ggOOoS{ zw%9raHY||%PzZ5y%h@8Pj)bI5EegsFiuOI5*)6yQ%=9LUPnItje?U<92`=G)k;`Q?AF zL0j7rpQ9G|d%bozJwg-?5cORBpH>nKC_S({$Q*L00gu$Yf2k)FfAzdaaF#cnIrkp{ zs(1lsfuahV&n@5~n0iko6rT~AH$yR0qGq(?a>-uEx$x_JxVBa^BYm6|w`djh^U%H8 z+E;TqT860`!vVZnd9I^(pXb?23}}P{!oQ{~Fs{{$LLqy}R?We;CfRH(L3uokW!$nT zo0AIP$Rfhce*o++RWYJ4t2K&t*5SL&xGK-_%R5z7R-L0ePssECXfju8pPUzJN5E$i zz@JUB2|%!2B>5|K*ws{XZVk^1V60P)c@f_}o~wo4ol=xqEwgMe=Bw7}Q%*hUsZ6ZX z1GnXy1GU`E*46+_K(oJ@c&>270yvRnxmX+PCq?Y@R7z^@DFr0AhIy0NlH<%(3MxEQPV&Kd zR!!|I?K;3(JQFu#ZD?cB ziobSFS5w{9-GAv>HYs#30W;g3uMv@paef)Uxk;g^y~5ws%~m41>3NaVVwm!}?4zaB z0oWl_FS|oZF?COUO6-P8M9)w+&2tnlHl^KA5YXIcq#I^I8J=*)x}|7?U40FLDG5U1 z?Pb3>9n7coxHxG518WO3n^pC;=-$-$ik&=)19#)8j(@}VroDDlEY8w^#|SeL_)?3c1==%9W5<~iTlyur4y?LGf?pi7>HRHw-Z-?H^(z zDb}6RT7O=cH@j%hdtv4h!<1bnbdq(PJ)#FV!7MpqeNaNi{!(YfXBe+hjQEH}kqL^J zudn|)Um`(AU4u$ksd@1(Uw-d>Zkbr>b~$-YZTy(+B}#U(7vKFMU(8e5a=R(V>cIa_rA`Un1kx4VTTrSHZv{N& zRTU<=$4(*B;8avE_;oB^Fw3es|9Dbna3m@DSJ4WT?vPh4Mqm?!<(sdqiW?A}p+vt2 z@PDrPbQARcaEiU>sC?jGf=8|@jweE7R$RVsxagGh0>#=Iode-r60_*u>FJm4oUeNC zs)2Y{K1@hB;>++m{!uzI{Lbmuz^doo)q=v*C_3(a|FqN3_0?YuRI|tJCr(S8o&qW} zqV1c0!FQvm@YBJ`B!4BNNN6ajp6qQIc+qpYeAROqJizA^ukz77 z^=ZD8QECKUeheMq>#(lt8bAj<2j`ryMQr0d6jVFskeWde;mCU6x8if>AdAaZBffxoj z?UN^Jq17R|2dNWVqmiPb&Ex@6#5wK2Jy=Xm6H?u*3Z;MUb#1%*TfJn*g@5BX-rqXF zorixQT1O8rk{GvR(64&xQ>yg~y8gh(W{4y$L`X$jd!EL6J{T9HQ9f-~IkW@q0Ve9| zsxw7iKM&H!hpD{t)5!{%ia z;ZzR?_=mM<>dW+(9y>TxkM|#Na`a1}fR}cypG7>aU)x~RXF-DQGv-BVNx>5NOdla% z3&I7*$%|=cr}hCn)>r_e+`u!*s5!CO74Qjx=-!%YTc!y*SvdI$To0da{u9m z9*BITr>8|N&0Qv1HMc{J0*n>j;Aq=()^x#zh};G<6)V0X2xwpUE0PXg?;sc76y$n@xyiP9cAg^ z5RKjdAia&B^yF1&W^9_7>3LRf%}ux*9ZRQL>6;m=E#S}x>VMC!F^+*D;p>|#&cP4~ z0MxoEL_h&<9p>9nOx|`5z9U;h4Nza9GW#C=%w#c%3E$&Tx?xZAta;BIi{u=cp^cE7 zDpTo8;m6ROk5ZhL1ZG&(5TK^i-;Rle-p9g`q6sDHKkvTgeN)x2(slZ$N~n0Tmm^`R#z*5E<{0g-R8z^Lx18KYOXqa zX8tO5x9K!d2b^ZVds@DOgK$3`HDC(t!ziG(2uhsCnt)P>exw)s*fDsW*_UE(d!oy| z;05Y%^bNWNT~s2QBWN)-q$RH5_7cCL9(OI@;aw&!HQ5W>NY~db z&p-isG=IPi$;Z&HK0zN1phqz6%%Yd8;Q6HEEG~|!ry4VlbPbz$G{8TUU<{eR>WHf+ z7mDTW0!s4TC-?7xui)?yTG-URxk8@s2rH3eJkKSBd7%%ITMN&9JHAu(+;&fYx9fBZ z7r{RI0J3VjG;p``j|{9cyrL(^Ud2bKe+#bYx}MYBxGkwpw%T4Pa2@BO+IuO0{MmA4bR9MX z*3`xT0n`0i4gGYzgS!yLbeO(+q#R2l{N~%1Q`lma0IHbu*BrT{M2E z)tMg9N!>wlZ3JoJF%Eu4A%__0hq~=Z6n|;{cEl>#57rI#iT9G{Q_CAw&rYeB(5sO4 zmaJhcJAkJf29>3v#4LTdU$dmsFOnNnt;~LFWUP1>ctmeUO>^fcbIAJEPQt4>m5g94 zqX1a*c0BtFV+s)ZxaVEC^nQEG5!_9ZqoVGwT^^JCo&0+8E{Hkh2*sQf;z`ph;C~)R zy~w){O!-IE2qyFOiz)J&_|qVOoGX!e1B-;zebqJdMj~+!<^OGmA8Gr-Hh$sI|H8uN z$HBF3_!x>Td*O8yX^z9|NJz&RQ`47WCFY}&5xM{8?|S#{mH)z#S-Y#vwaY!!9lvkciQj(=+^d0mvX5*My51J;`iq(3&WL6#A{Qqrg-Kh8W} zJc%(}@PJG<%X3a{mOk{G)q!1UCMyg;&4ws)1Z-1vOS>@_xrpSFd%qa@F zQMzv3K(3h5yCHlKK#9Tn17Sf^je>%4ay;a$Suo~oILzx>e7G5xG=E~SfT|~Ul?MA* z{dWf}3QB~$r~W-u|GrlLUZ{T`PQmcdOCYlN<0)9pddYqD_g(exbM@a>>c5ZFe|Jc3~|*m|n|J67*KQ}@oZn}|aHS%^aad>Ih>PdT>y&Q$!kCx5(_KOV{-vsyNg ziyx2Vou`HP@ocI??SHHM#H|llWhc8M0oHan&GQj$S&lWJ%N*XNgS7A($W~A5eDuiN zTM!7!aKw;bu+)>FowD7Bq0u&eJXKG)UBHxFcuY|lW1QqKR=_PkCH<106{!4sJCIY!E#Vg@vijl&eols$7t5p z$MjtcF@rWyVUnkJ>J=);v~m5vHur7KZ6sNG@B9@YEXM%TAcpGQ*$1*U3W=0jnr^Ap zq|`k<2nJOIibOSmDs){aQ4BilhYg3rkNyMpqaW=T+kZdE8?pbwc`liGPF5Cx*7j_; zV`oKVWo2gN<>a}3XRE|J-D>J zYH&Y9Po9kOkg-2^iiJ%nD@&{ba%ZVO?V{5cd29Ota{*pNBcF#gNKJvTY#DH*fFBuT z2HBJc41c%Y%VVpfw-G+b*FB?@Ru&?s(j-J~C*MbblRrp;*&i3V-)0z2p^!3@U}^5u zSW+>L?w!=Mv@0-mb4f`CU=M9JjAg$4SfpI7(gL=$M2(#fx(3GV0dQitcgl(e*$2(= z=k}n=Txu;OA}SgT7VTM%e3MZ6E!KXU-wE)S*?&uD5>#KzlzxAxNVeWs!38ph3q-A% zewjW6oS)_!$3OksjKBQ_-FME9?IY^XBSNB$>*CwugV|n5mFlE=lfJnKDOwZ%GS?C2 z#GV&R%+>{l#xoygQneC)GC-OmD0Ojw@WqI%Ilwldo&GRNU4C9S^vi)wk1Eq>N^506 zSAUe}sk|d<$EX4~tuD=7k9V=I+N46G%)py5Fw|X?fxTmR7WqbC<26&Z)p$Hz$tbsP zhVUHk`THN-0Vu%z`!K3rQuO_ix&XkvfbLNOqTClzr;CMWpV>ThS*Gcybns*j8MgVD z4BIbwa+gN=2$GFZBf#G8nM?Oa;X;l(sDC1kWtDU+1K#2+p0Ooq`z2~Kn~lw!6laE? z5rBV!YTjcCrRb|93XCN3EoD83*XCGHiTx|q)olP0>xK#;xZ^TOH>CAMctgXe)@hK} zQ?bQimPvpKC<4$Y0VZv;C<{<&x-O!$u(nix=&(D^xdaLzK0+msrB93}SK^1VK7aKb zuTIZo?JN$~U`~^)1&bQ52Tx>8Cfd=;MxKpk$i=+$YvxrZ%f-5I!o_6U44(1HrdOCH zQZq~0$AR^Vei}ZGVg;O}(-f1y0-&zOZ?_8>Vq0{hIJ6}B#|}1dnmUa51AiJw84@`S zkXn_}u8zF$lMm%%bIbAF^^Ln0hkt=PUtz-yJxHs?Ods1=6+%h3aVkTfZ5=v6Xaj=Z za^3u_$AMKAX@UR>-?%Hl`MMKatc+h#=_k=e*E3eB#EJ#_-Y1c9L~Gw49!4&Ff(ZqH z%Sf7+lN4gXN)OlHe+i`gqw10cYXF_6J z3Ovg0paaNF0g({={p9?Y5XaARVYXL6VSxpW6F5|}yHF5?djGDE83)n6X(U9hv2RPKT&5!ieljbIjJ-S++ds$|Hb3om2C z4h))~WtG{5Iie|P!r&P4kTBrE8Sb;ziOU@v5my|9k;+@_~vBR>@7?biLYRKL8^oblIbstc!p?Z|5)Y6wIWhY2IWq2pKW zNHICGxSaqpOk-y;K{}Qwi|hW}=-7i7|0-naY|f`XaEQ>M6TW7OE5!>#03>X&qRl;n zc2Y9UVp(Kn8kNIPV}I;;3@k%NRs58SPp=&Q`uhiW)&2Q{yV~hW*Ql)>y0gDa5a(y0 zYJw>Vu+!5sj9uA43R<8~^|o}N-i8jWYkm_E7?hp7sM&U9q-{+f{90UI#ulUaZ5Bg; z>$L-a;)#kWIWdQbi!{XIe#fK$vR4L`sJB_x82S8dS9U`W8-EwKShu)Ey!npxO_y1H z)EEl8#QKV=b=fPVO%~q*b1?+28jdq)3xXc&BwLW0+TxdB`cT5^cO({f(U<%C5$@n~ z2=++u6tP)K$qyKVR=}3r&x<{WtlN*?5}Wf_Dd|4efV}_))w;1&Vr;aQ;qW{(V+f@t z*H5Dqva9MyIe)35g0muDjJFWnW7VIP_0K3q(pw`LIhQQ!iFK#KHW$tTa|)=P9z}~T zK}5p@ZK@QWNVbxroU2i;LP@J3!Jt`T06hOfG1Af!2=xR<%z=E!aa(&20gej8cPTPRQ=_xBLj-;@(37j))mTEq^FYFPj~>ha(&1yZ4ZN)Ans9cVUdB z#PsmTD~KS3WO<9l36^J{HDxqg75sxj7}*<3*1NF1QK>Y&e}TN1&=MU=Jh6!b)uXk2 zt3}x!t4e{o`eswntlhBbMz+*tLx^}mWY&3Mj7bOJ*d$oBGxRN)5U|x*u&M2weVtO4 zlz*ZlH-pQJheP`1$>>P0_Z2nyqu2uHOT_pj>rmiC` zvvaT@srW7oxE zx<5zeGloqgm&H46@+-&UCxBlOXnZPcTFER7qI?(dY^zD5wtZgd9NRt5K(y3$*gNzNouQupVJA7pcXq1uh zQmFwQgVli`N4J^v!2he&&lRFnYk!q&>?YezBi!{hc5z$gg8+XTmK8RlGklOY^{}N3 z_JH{k^uWW~Vd5hTUzd#}m|Zy%ICjOzL)f`=4IZh^$hsG)ndX%2qzHh3Ny^@4D|8sL zAw_txwJvc2B(m}IeR4x`;k86g(d5hFx78^6kOFqIj)y>w1^IFT5B!aN0e^DiqH5@q z`yzTqzzS0uBM}s$RTBqoy$2_#B+R7AnY7RZLgo?^HzMB=#6d#!Y1`fj(L__NpZ2uj z+$kr|TV}it0(BmoV>m3gp)nLfZw7$UbUv2LA7$}wy9RgT26v;}Smqwl+X92k1?o2c zX$mL(y**wqGhcgD-ajK%EPvU>vFLvF@x882K#;9BBt9g)vm{S9G?0%rPs^k(%D3js_$0Ml_@ul7 zR8}K^-eVfqzVFBKccdZ@NAG?2FtTT;&*i9Hk0O6I*Q3awpq^X>T3479u@3Ha3MdL* zU*qNeYbliV!T%iUbbr%@!eNNgjl4kDc8Os4&!Uj{hdVFoj*umRhyOC&T<2tqI>-5% zItWXBxU&SkgynfHa+KwnER=9=i4n#&iUq(^THt;C^MQlMIuteBCpw}nLTW! zK3j#dgC!uF%x?WTTljOfeqHRrS+g$Ca$hC1alB3oZXyU3S054y!Y?8*}!EOr^F> z2>@@y+y%Sa`@;N`8#{73(|^h7bdM@Ony+11d(mwjdkEAX;Lmlt;JYn$!AFNFp}*#VA1PpN5xmW1$uAyqbb?bImy; zU>i?=Wq)W=TGqO77Bx25tQ1C?$wF*EcK2R#=hs*skB zXn!l17DB#lrl80-i$Sld&2?UE(aw)s)cJXfI#0K#bDVBo+N){}1M1!3M?PjIRj%=E zam@20WYojdrf`**6=YnDeMSk+!8S&~0{P_OnQ8byKxaThsf)nj=yu|<$yXB)VRog> z9P@(18_ql`L=oq}>cgJE6%<=2;SWr3RDTy&SCCcDP_cp1e1kk?YN1o8?YP9hIH?hs z#QI~*0BBY0HjODar=Qt|uv>ily|j5wtmX1i|G^#ByzigA$HcJF=CD2ZbQ&1^6(1NH zJv#=5&ul|$2WBeJz|0?=1H7OH-AJt z&sN-kMNtgE6gqR;Nw5L#F%l-40@OPrHvsVRz33f%^Hn;#&?lg7W8D1OaTn16TVIp9 zJ$`id&>wNfY5Yds_#JxoXIk554sS-Gu&@Q|NI)!jk08nl+~1X$qRH9N?6ifU*V?)$ zGBD?X-PJC5)e3H{eX@uaQjfYI;D3Qw8J^pvA)d~(4ONC`c5F|JVv!~}y0PIVewS_D z#1~2Y@_aTTNPQO&NBsj@tR%43Mya-mmig{>eC~%etQoUgeXNK%#2iCss${67+v0VS zLLRO@9xjv8jQGHO%wTV?S|!tTczBUaudgs60hb#ZP?T&Q93C=r_s9Kz+kYpV zncKNTG;|ZaKZtIPiC`| z;zM)?oyZ;Z$&7wDM9LI|9?VAN841Vb774&7knjVRA<*Wgt20g>nQ@WK(U*y-W(x>NIEv&j2<~FScr1W$#DC`*9y-x=WIdmC^!duWk-I+UopZXHT#vIE7}KwT7G<1&45p8B zW81>tQ*JZ~?e48Evysz1F72^INNof?REjurViuHY2F!g+tRR&{u7X{lTjfA-VQHby zZ!)(s=kGC$1MG)JsJ}7)I|_F1ZG>n-^U9$30qEu}(M`O+Xnz}D*o;)p2U9hwT&6E% zPQhDnwilT|Z=n>sQLWwnODXk*pwu*#5mJ58je6KkvHgLC*KhsopF$!fNRMv*cSHF- zs3Q-3KsUd0;GU|KD4EWIa^doLR!%+P+`w0@RHO@E!xo)}MXZQC()mVbI^F0}{`^{K zcGFl2((_mf(tn$g$i7++SjH*%orJEVsIyjZnT5a zE2by(wB4Pf8?7#1$ux+=R%GyNZ+F6zU zqH8)bGY92RLP>dNrXlfjBFt@pVQ$3UEdZ&RvMail3&)`O44@6ZGh|oAGtR?vZ1_DJ zoDjDcIDcMdiClsC=d0e_{9||-MUvreD<(^J3OpwU5L`qEEPTwt{IkL29In?PYM{;? zpZIX-ywuKx*C=^dt0S0O-%4eLUC9*066;zUd<60G##fsmQk!I5CP`(b^5xTZiBQ4! zW$y_m_7geJ4|l%FKyyQi1-P;kEF$%gD{V}v!++jCN?Hj?*C(*2^u>c(1i-aY9On{? zJVzm*DHlj6K-|`O?^Agguv#`^b%nE8+1!X6>jHYJQ7>^kqzrYDadU<6#9oL4zR+RV zpaLVDmO%orp0Mc_XHM}D5u+0nqUY!d^bYdUq7xv+^5Ebr`UL#{Dk)kTW|#dX)5)n} z_J4DGe|4*3eTQNKfFz}eHWl~7p5V+;R8hEmQWu0GGwOie;nCnP+K&wXw7q|v54juF zW3mO%(9lm@%vWrrSuj$HNa*jI|Mu|zdi(na_{+#=pmxv&sZE0Rorm z$^<=sXi}c}$tg+US&+hWQlO}As33w^W$>dKhBu*}&DV)0M#h*bB3(}}ib+1n&dw|X$gYdSC54@N29x6`dN<|_aSKjAS`jy{X6Tul zp)Sf1IdaDsnTSYkpz^v&7TN4rMk|IJ&@K*tt*fE3l_LVAzthY1E*FEcIxVL@z`T0c zdG~Iwl$y%#4VCL2doMZ8hm+lAkft%?@nysI;Aw4X5G=Fd;Hljco5PzDTK3CqI`4CG zA5K~=8@P*jf{F95g81B|xS(|hv`d`Ssw}R`w5oiwoD8%dB#jAsvzb$S_wA^YJJ&3K z1*SsY&7?d6%{lsEm>*BC_$P{2PP&DO{Rb?u8K$A&?+yEqmD5GajtT&T;>w<)DxN(X zz?H{6uw4L~-;ZeT`?e<6Yr=X}gXu8#{@SrJ zfY8AHlKVwFL^|8MY?QaGOe3R9=T3ls+6mHa;YuK6hkhjN9nyCQw@O-0Q8_e^WDMx_ zfWoc)%J0{FrEgpJS%sb{IDA|*ho=&G_VnsNx+eJtcBS>RI{jF)AQAblQ7?}k9SHWW zGgug*J$HmIMi#@jJKn?>@jdm%n!aT7JN!Z?d5Do^@L?wsY5vIan!$|C4S*_tu`*6H znMrW$puZQ8TQMb;GofGC?pK8=6dzgoG$a<)afd)f-IoIIfq+grlV#Y95;4#)wTX(a8ia;&1JLUBR~egLbkZMuQt^J_7DOo25q zob1X2FK+v-{G$G3hyw=1s{!O)&-^d8yvzR5Q(&vjJ0dC!Yd_uc88@dhp zDPUJ1H$2`(p?itpAyiBu85_n-yLWhy+qmFiUu@R55M zW7h8B3u{xh`bBYOuPAx6eaG~#5+7nW-3Z`dC!&gkIA@MM#3aDq&P7Jx4h#Ha@5)1M z9%!M|+bb(@K;uhGt^34(w4R^gbPXu}URpne<>^fVlzWWIdL7+ma2uCmQmqDa`yFU8KXPYOcDk;`nJR26<9{)RrWB0^^gkAw^)W z_CSZS4v|D9HL?IyW5(|oMmDuviA`G@&Ix4>3l7VO!ArpHj_`CC0Xy+18;n^2x82gL zXLgEbrR+HJmK(r{_QTFlqY|2<5MRiMzGK|GE+2+kDQs+(!jA*{h<@73zMmI)+P6s& zDvPO^0j8$9;!z`iVI%Xw%%Tyq<7vtqXpf)Di9L00f!ygUI4gYRoVeVCVhwU2r2#u0 zMDc@uqp3Xx*U+K`9_Gm3NUd}?MO?FOdTQeom^XXT4VXcgEQDD;ZS9thoI51g!8*_! zkcxae|Ni&lIQ8VwdT>|Vzjy4Mmhw6^|oZOggSZ1sG;7|pE+fddYMZgYB5#Y4Hl?Wntn1s5dHk^lKTjto_H;wu05CyH*LRiuqLp9{3Rq0>h5|dFdbOQ ziF`wyoHOb@(9aPvz}{HBgLtQfsDPtARG31dCb`We8cGLU=sbJC)369{?&-M6t9f== z51!8_3(~m7Sm4E3kSU@O2$-hKuf;0B1%O?&(wV-0gz{?T0=-r;*A`k`FUORPbkI1p z_N>LB%~}HJY)FRc)!5AudLTtIVU7GC?(RhzAJ3z>x2%Fu5`YNlq3z3I)@$)5=4|Y0 za5s45Bu_GaWRme>J``5epXcI)+e~`sW+3(C7vyp5Lqc=X478#fQgy?O5q>L0W_`q} zcs!L@Np6ac;2{}41+G#a0+W^U6*zdL3yP0iP8jb z0XUcW(gcPAasZcs(*ziQdIGocqrPkEY%~s9|J|tfO~}#P?~H5t*lo+r1^F_Me6eZO z0sy`(tvK3J2D%nda^Tc`dBkX;Ccci!qLwmAGx+14=mYc19Ox3~hE2ObRmK4Vs904% zDssDv?dN$7J`BE6_@EA-S`+hoMnQ!aTq;RUmP0X{_KrI+ycNxVW>#4;1hHh) zwaTkq-3+aK8sCGxUn9VWIg`AmpIJs}=tiW3Tsdi}^sdv#@pO-PZ^ zwT2;mX){!R!yq{KOpe_rG619(H|3MO9jQD>Clzt^u)G)@9VE1Ft6;qk4Z;T0Bc}+H z+SsYq#%7)Yjf=h!8Mll{FO}pRk#R29>BjCHt+LL?sds`&d;)=@ZHRC6T968a>6;*K zm9Ri0;jzYW%V{XpXx3tL4)X;Hf@Q!FJF1!oc$mU}MWj=?0uZf^mGaP{5wrh-e8SmV zprg5rTLVV@UU3w0-TnIQQ>@=UZcVcdI@S$w@)gC&M+`6VTa0#q&(QTNmQ(Gg#0#u$ z@fM@4*DAJ1`8so)N^=4O2Nmj=_mMk>-G(w$cC}Ls)Eg{z&f53dhFzwPw1pS0lb0mL zQ5MC2I}6S)-1a{AgHl98v7e+Yh$73J$ewUf=c8nF(bRR3kMpA5^Bh0uV3vDuXO_ic zG&VK+!!=g*K`N&O+5%&!JJO>2_7?k&I2R0F?wZKjJ3IWs%Fb^fi0bRm^Pw)vbwUw7 zw-G9F4+yBi&Mrw?WZ(us;Ql@xygz=6r2fHw9UZON{rjQKrC^5o6A$(4Iij|ey(cl- z*MNIBE7#=LdGP_g|NEfAn?g*@s!9QdyzhSCqx9n{0oOx#V*kbm^K3Rtu?hMM3v=)+ zTae`x{^}#z-@uH=ED2^XadPs@stqaUcVljrIGw#pRtU6DSw`vDP&#Xrw8-SyA8N@C z4@2$Qvg(JiNN+$s-g}py*90DandE0O3=h~~A9E{`wx9#XVJ|!EY3>K^^OuUF%*4Sf z<$SnR@}#*^!M7KNy}FiEFhlQo8cm=9^q&uodv>V-xe9*zt%CX1NA>gya;mFCxFd{8_p+^YFV8}MRkw1}U<{eIs|HhbcGpnb!fWSAwK|C580D|=71G3`wQ2<^ ziOZXm9&{U*v+kTBrK2~vtMSgj1Sowmz`jd{r1g}q?5z`M9|H1=_F>*&Vsq63BZN>a zV*4tPE=VzNf9$K_ydei*a^p`)Yq}rA)S-hCM$@4e8zdnT{{Muo-FO&Jr6gld+yK_BYlK+P{Ed)V+tpR_u|cXD{2agd+9?Mot?= zCwjAUnbGDDYe3e>%+qArJ^U+v+$uUTW&|{vl1F1hhcY$d6FFk%x9t+x`FpE#^dy2( z+GRQPF!FPNw#`z1tU)Yg+}JE+d8>n6y+LtzcThomtGXnx1R^e-H-Qf(eZ-h8_Z-NF zx&0oYq+bfYfo8#$_{s1}_&J8&v1Wu0)*kVl=4k#UU@Yl5(i;b(HTh|do#OOuu9 zlS>qHCg^^P%K5WyMl@&YB31KL_67%x*hhUDJU>n<`N;l%QtyI8A22RoGUDen$-#H; zZCp90ZpT#Lj&#sd;_|>YG-9-D{Z!GQ(wY>mk=sn#I7ZtOEdb4nHML zpm_j}*dUh_A$Jz-PzK2hdj*)cyE5aov)qS;Q^Q1Cp6;2$%q$}w=}Ne? z2G^(B){HNI?sj&m?CC@is!(?qT5l|K#y3ja)?&*;LksEbYJUC}&x9G1}CSi@$$5BU8RR397Y)(MY^H*u`IkHUmff>n2x4`uE zz_7oa>Qv%vnOwYX|e6|R+NC>%^fdROuRtOh{YI$ifpkF>u|%RZRtV53YIPZ z5Ab9rV0h?F=!QYBMde(M|)@?CJ$AAYlFFnTC6>~b6 zw+87;NXuJFe&BvbW<~NB=Ni&Zth7UNd$_NiXwbvOIh%CJq1Mc(8QLHz3W^xF1SciNE3>=&#)rsEmx=ZGSbBvWG4~ z9tr8SOyp{HU-2n1zfPuDm(9!wv=6pc&T zwObq#(-(?VEF8D*ZEMyCvTZK3+wryJB)2gdW@I-U;-=pw+~fU&yLoj_!G zL_9bPg+5nysTvz;=K+OU9;mW0n8t@+`Vf|1=TpFvbB0aHoEr>)&;T~4(;4?yVCw_n zeUrWK*V|XKPW!6XA-ISrNwi{HHv8-?s|>Q%$EHFp1ami^wR!(lcc!-%JIQ7+Y*`n) zQc-ThvC`6ITiY-@M*mZRu+Qjbd+(VHnk zxSRg!QP+OBU^@JsO^1I`AssjQx>Mki3gG4JF71qsM3s#*aQ(CPXHSxkF6?1J67 z>m@g)kCHP7f-W&YLg5Oiswya5FLi$Z1RuP&HI9l|N;u!P1hycSEYy2pQ2f5_7(t|w z-h4v=I#Zv!T2V;RgIA`EoaR3hy<94xjzlSl@P<6AO@JuaG~H}d z%;vh=&Ar%IH@Guvk@7~j_FTbm`V#qW%NrCHjXYEL$dj{om8|w2_CMnjJmrsngMz^F zI`F#DYHmA|5vVJA6bHL9`&Om3a~tK?RHsQ38zuv`i-sU@@B;$WK!}2!cZhN=9zk;OL|`pWTW}atk3)Yu6;l#m&(4vu5w)HA zI=@N4`#Tq33a*20A2&VDDYS|aqmUrs^t->$#Fr>%1@9Kv&HTgZ&iQm#(bIi_acQ|z z!Z^(lZ1ac2$NOw>8rp}LxO#lyp&9&XbWn0*z+0mni}@t&?e!j>1&=^4=2|gpiU|(A zHQ$`6fCS-dYaD;m@cFS#lC#D?O;#jo#u|3z52+1f@||_SA%uf2GRXGKWDjbD3`b~k zoP7W(!P`m|VFp4faqC#}I%W_^%bL1iUO3zIrs<(-UqdZ9J8^rGs9bGlDQeBKXrg7x zXqgRke|5}IP)j35IN_<;s zoT}st+c?vNKe*ZR8qt(hxo%o~Lwn$B;V#BImrYtGf!Gbw3nRgCAov*7=70UZ_hldh zxZLg@1Zsb+#v=svjILd(u`mVu5#H^UG6Kr2iwl*qI$i{k>aYDn?@PHuYL5d`;lu+B zU+aP`d-kyl*GSN|p)BJ{5v>@a1j1;A3Q-^?EruOBLznwN;lr`P18{(fz*=IVIUz;C zLwU1(uxXG@xo_k!ywoy7)EmjG*j0ko;KisHpl1kW zC{cgWx#l4k0*%E;?@><`_bz33T2XeV_eT%zmiH$Q?&kOJwNlM~rK5v$@qhY!}R zq^CU1F6on^vPYu`NiNJidf_`2u1<#%N>O+#FAyI_Z0AXzlaMa`^Zj8Y5GW)mc+M(!&SJ4_j^z6=Vg_N8 zH;1L(d#(q9B@&3aDv_A?fAxbC^bh$6@649TKs)c?<_6iipW1sO<7}9*%bK&pwf#BP zUuRRk&K7W;&4cS~Su_=~Q)@Wv6N4iys4IGnP zqurdsHx%rWQ;*?rX2pkmuw}1!K>*$@+<2WeBb~rE$G>g4JV`EJ9+T1{$<1;<$+Kkw zcjWWZ%-Wz;Reh*^T_7+9<={k{R&~(oAUKftX1dJkBZSX-1~WVG>s2j_qMm>Et-qIZ zfoLs)`t(^bZ6FKz`Gz@|{fbGL#b#mFH4U@hW**uf5}lC1H#G2i40Z{606yH`X6HRJ z=QTI`6m9~$`=SG1yY~-0=2|X?ib&iEo!WULtzu0hka3Piy$_?_=?L=E2^A`*%X$S9 zqZ}$_C{Tb`#Ga1D>QufxP>FxiRz;P;Adt=@O5j@rg@ha zI%kE%M;I@WS)1gI<@g%2xJ$Fhp!a~nJ(ms7jFKMg5qufAA)R9Z(3cy>no`vUe8BKA zyH42rsLqNzH$APmr`vz9rxo`!C+DF*neVYZ-3C1Y!#kL9Psm0|uH}h@o6=sQQ}7O$ zLU`HqZ0H1i$U;u>tq(}W{t*=H&xj##Oc}9aFgUJtD{Gm>fJ(F$Sc{)LFavxx#Pse= zD+aqykTGJFEPUaOnHW^?+DEoCe1^VXcE*7$yB45Vd~_Q&;0Aw!4_ynm94?%Q=Ig>~ z=5COwCKJrX*r)3Yv@PPn7rljHd~Yx(ZTsD~n4`D-DwNZkw+_G#9}F%;^vf)?{55q! z)q)_GK64mtBl4R5-e#9mS zG=BZPXB!!?$}N8%IsV<;QDt&~o*`e#>^gx)O=zWZsYWy9I=;%y4o0@^W-W{x3dqy? zGs4%j=}n6u9k4~qiHPqqF=S$O4Fm;SP{z&5W(=)jLMA``3JFW8H!eTh!yI-~a}pNT zHh>&EsADPnn0{?)-e}cKTly}95%2yaRA41KF}zMwI<FxbJQ+fk$0Ge@bgbwJ zeHResY3oy{9+2f}bnuFapz~KcA0NkiBFmupi#!&$Az*T0(ry47=pUr;M7P`i_>aDf z8IUjcMLl;%Dg%+5L0_@R7q>5Sx+-@c%0|`2`gclzbL@}jZ!}s@7|GCahUpSUG3F(I z?x0;2x+;GaAFZA!e$+M7G~)}vG3QWSkhtl|Fj$us+viv1v&UsWPI9^eU+G=G1Pmzj zv$N9XHeETX_L8OAnK!ttBEAqCkOOU%^*9+^DZDIT5F8b0fu5|GACJe{aY~`@z?xcx z))MH*Y_;blaADC$Z;Gy$-WDAXPH|t;qreWcLEL}eD(OR*1jT*aMhRc^bOW&M3Pc(A&2@+c6Yp8xfNu&sXnZ@W9ymxE9Wo?;y?J2*Pl0N6L@w*JBl&O``0IoN>ryo6Xm@64A~cZK6FvpG zmrH-#^x*Y#d0C}+?L#&rShZ)16d15Bc?hmA7D$ok{6tV+N#%b!hA5^0M?kp01!-2{ zR;*&X%8s_f>>XN8!ueV!VaGuPPx<^JDbf2V4MR9AnsIyBj-C`FNh*?&rVk70>E)tQ z5XLu#Q$G#Z@zP=Jl4WH^kwFc|$W7UeltXqXVL97>v8A@1JOU^*ZiTQb9!EI2L|GZx zNLOV~RUzMn{xEJ2m{E=&%AYd#`BPji`^@a7eIr&=mbHxe(UMcF3siq27N585y7(EB zB^c_@9sc1m=n6D-gNC38>7bSN2cF+5etw7XxN~uI3&bW{P{;@$VCM*Do%73(G#;a>L&G}$y@$05b!(1EAbReUeuFSgjm&t^g@U4D{uuP# zWk%4evF1+QbhB=_U)SHVPP3O`$}Dl`>+!+q@R#N&e3r?^FzZoZqW$}TXpgggs`$XqCqIq`!baw5Vr)AdXSX%7~E zY@Nf4ZNc_9@T3A>g|qVVO8f=oeoz_EZRb`9%Sqx^+~?eC-sUKSn?F{zWMxX4mgXdt zpyTqAgPRjIu5hhTCaWiSW}lD_;1Q*gdBRG91XQG&ja+Wm**S(p0OvMBh40eb`eaUr zKOWO>M>bJYdjp9I0#5d3C@Ni$;|17%0A`?1c7yyw?@RDj<~tt!m60O|!i{h7(4nGU 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

    \" />\n *\n * // Render and execute script\n * alert('Hello world')\" executeScript />\n */\nexport class HtmlContent extends Component {\n protected _ref = createRef();\n\n protected _runJS() {\n if (!this.props.executeScript) {\n return;\n }\n $(this._ref.current).runJS().zuiInit();\n }\n\n componentDidMount(): void {\n this._runJS();\n }\n\n componentDidUpdate(previousProps: Readonly): void {\n if (this.props.html !== previousProps.html) {\n this._runJS();\n }\n }\n\n render(props: HtmlContentProps) {\n const {executeScript, html, ...others} = props;\n return ;\n }\n}\n","import {h as _h, isValidElement, ComponentChildren, JSX, Attributes} from 'preact';\nimport {classes, ClassNameLike} from '../../helpers';\n\n/**\n * @deprecated Use `CustomContent` instead.\n */\nexport type CustomRenderResultItem = Partial<{\n html: string;\n __html: string;\n style: JSX.CSSProperties;\n className: ClassNameLike;\n children: ComponentChildren;\n attrs: JSX.HTMLAttributes;\n [prop: string]: unknown;\n}>;\n\n/**\n * @deprecated Use `CustomContent` instead.\n */\nexport type CustomRenderResultGenerator = unknown[], THIS = unknown> = (this: THIS, result: ComponentChildren[], ...args: T) => (ComponentChildren | CustomRenderResultItem)[] | undefined | void;\n\n/**\n * @deprecated Use `CustomContent` instead.\n */\nexport type CustomRenderResult = unknown[], THIS = unknown> = CustomRenderResultGenerator | CustomRenderResultItem | ComponentChildren;\n\n/**\n * @deprecated Use `CustomContent` instead.\n */\nexport type CustomRenderResultList = unknown[], THIS = unknown> = CustomRenderResult[];\n\n/**\n * @deprecated Use `CustomContent` instead.\n */\nexport type CustomRenderProps = unknown[], THIS = unknown> = {\n tag?: string;\n className?: ClassNameLike;\n style?: JSX.CSSProperties;\n renders: CustomRenderResultList;\n generateArgs?: T;\n generators?: Record>;\n generatorThis?: THIS;\n onGenerate?: (this: THIS, generator: CustomRenderResultGenerator, result: ComponentChildren[], ...args: T) => (ComponentChildren | CustomRenderResultItem)[];\n onRenderItem?: (item: CustomRenderResultItem) => ComponentChildren;\n children?: ComponentChildren;\n};\n\n/**\n * @deprecated Use `renderCustomContent` instead.\n */\nexport function renderCustomResult(props: CustomRenderProps): [JSX.HTMLAttributes, ComponentChildren[]] {\n const {\n tag,\n className,\n style,\n renders,\n generateArgs = [],\n generatorThis,\n generators,\n onGenerate,\n onRenderItem,\n ...others\n } = props;\n const classList: ClassNameLike = [className];\n const rootStyle: JSX.CSSProperties = {...style};\n const result: ComponentChildren[] = [];\n const rawHtml: string[] = [];\n renders.forEach(render => {\n const items: (CustomRenderResultItem | ComponentChildren)[] = [];\n if (typeof render === 'string' && generators && generators[render]) {\n render = generators[render];\n }\n if (typeof render === 'function') {\n if (onGenerate) {\n items.push(...onGenerate.call(generatorThis, render as CustomRenderResultGenerator, result, ...generateArgs));\n } else {\n const renderResult = (render as CustomRenderResultGenerator).call(generatorThis, result, ...generateArgs);\n if (renderResult) {\n if (Array.isArray(renderResult)) {\n items.push(...renderResult);\n } else {\n items.push(renderResult);\n }\n }\n }\n } else {\n items.push(render);\n }\n items.forEach(item => {\n if (item === undefined || item === null) {\n return;\n }\n if (typeof item === 'object' && !isValidElement(item) && ('html' in item || '__html' in item || 'className' in item || 'style' in item || 'attrs' in item || 'children' in item)) {\n if (item.html) {\n result.push(\n
    )}>
    ,\n );\n } else if (item.__html) {\n rawHtml.push(item.__html);\n } else {\n if (item.style) {\n Object.assign(rootStyle, item.style);\n }\n if (item.className) {\n classList.push(item.className);\n }\n if (item.children) {\n result.push(item.children);\n }\n if (item.attrs) {\n Object.assign(others, item.attrs);\n }\n }\n } else {\n result.push(item);\n }\n });\n });\n\n if (rawHtml.length) {\n Object.assign(others, {dangerouslySetInnerHTML: {__html: rawHtml}});\n }\n\n return [{\n className: classes(classList),\n style: rootStyle,\n ...others,\n }, result];\n}\n\n/**\n * @deprecated Use `CustomContent` instead.\n */\nexport function CustomRender({\n tag = 'div',\n ...props\n}: CustomRenderProps) {\n const [attrs, children] = renderCustomResult(props);\n return _h(tag, attrs as Attributes, ...children);\n}\n","import {isValidElement} from 'preact';\nimport {HtmlContent} from './html-content';\nimport {HElement} from './h-element';\nimport {mergeProps} from '../../helpers';\n\nimport type {ComponentChildren, VNode} from 'preact';\nimport type {HtmlContentProps, HElementProps, CustomContentType, CustomContentGenerator, CustomContentProps} from '../types';\n\n/**\n * Render custom content.\n *\n * @param content The content to render.\n * @param generatorThis The `this` value to use when calling the generator.\n * @param generatorArgs The arguments to pass to the generator.\n * @returns The rendered content.\n */\nexport function renderCustomContent(props: CustomContentProps): ComponentChildren {\n const {content: contentSetting, generatorArgs, generatorThis, ...others} = props;\n let content = contentSetting;\n if (typeof content === 'function') {\n content = (content as CustomContentGenerator).call(generatorThis, ...(generatorArgs || []));\n }\n if (Array.isArray(content)) {\n return content.map((x) => renderCustomContent({...others, content: x, generatorThis, generatorArgs}));\n }\n if ((typeof content === 'string' || typeof content === 'number')) {\n if (Object.keys(others).length) {\n return
    {content}
    ;\n }\n return content;\n }\n if (content && typeof content === 'object' && (typeof (content as HtmlContentProps).html === 'string' || (content as HtmlContentProps).component)) {\n if ((content as HtmlContentProps).html) {\n return ;\n }\n const {children, ...contentOthers} = content as HElementProps;\n if (children) {\n content = mergeProps({children: ((Array.isArray(children) ? children : [children]) as CustomContentType[]).map((x) => renderCustomContent({...others, content: x, generatorThis, generatorArgs}))}, contentOthers);\n }\n return ;\n }\n if (isValidElement(content)) {\n return content;\n }\n if (content) {\n console.groupCollapsed('[ZUI] CustomContent format error');\n console.trace('content:', content);\n console.log('props:', props);\n console.groupEnd();\n }\n return null;\n}\n\n/**\n * Component for rendering custom content.\n *\n * @param props Custom content props.\n * @returns Custom content.\n */\nexport function CustomContent(props: CustomContentProps): VNode | null {\n const result = renderCustomContent(props);\n if (result === undefined || result === null || typeof result === 'boolean') {\n return null;\n }\n if (isValidElement(result)) {\n return result;\n }\n return <>{result};\n}\n","import {isValidElement} from 'preact';\nimport {classes} from '../../helpers/classes';\n\nimport type {ClassNameLike} from '../../helpers/classes';\nimport type {IconProps} from '../types';\n\nconst createIconClass = (icon: string) => icon.startsWith('icon-') ? icon : `icon-${icon}`;\n\n/**\n * Component for rendering icons.\n *\n * @param props Icon properties.\n * @returns Icon element.\n */\nexport function Icon(props: IconProps) {\n const {icon, className, ...others} = props;\n if (!icon) {\n return null;\n }\n if (isValidElement(icon)) {\n return icon;\n }\n const classList: ClassNameLike[] = ['icon', className as string];\n if (typeof icon === 'string') {\n classList.push(createIconClass(icon));\n } else if (typeof icon === 'object') {\n const {className: iconClass, icon: finalIcon, ...iconOthers} = icon;\n classList.push(iconClass as string, finalIcon ? createIconClass(finalIcon as string) : '');\n Object.assign(others, iconOthers);\n }\n return ;\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {createElement, render} from 'preact';\n\nimport type {VNode, RenderableProps, ContainerNode} from 'preact';\n\n/**\n * @param {import('../../src/index').RenderableProps<{ context: any }>} props\n */\nfunction ContextProvider(this: any, props: RenderableProps<{context: any}>) {\n this.getChildContext = () => props.context;\n return props.children;\n}\n\n/**\n * Portal component\n * @this {import('preact').Component}\n * @param {object | null | undefined} props\n *\n * TODO: use createRoot() instead of fake root\n */\nexport function Portal(this: any, props: any) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const that = this;\n const container = props._container;\n\n that.componentWillUnmount = function () {\n render(null, that._temp);\n that._temp = null;\n that._container = null;\n };\n\n // When we change container we should clear our old container and\n // indicate a new mount.\n if (that._container && that._container !== container) {\n that.componentWillUnmount();\n }\n\n // When props.vnode is undefined/false/null we are dealing with some kind of\n // conditional vnode. This should not trigger a render.\n if (props._vnode) {\n if (!that._temp) {\n that._container = container;\n\n // Create a fake DOM parent node that manages a subset of `container`'s children:\n that._temp = {\n nodeType: 1,\n parentNode: container,\n childNodes: [],\n appendChild(child: VNode) {\n this.childNodes.push(child);\n that._container.appendChild(child);\n },\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n insertBefore(child: VNode, _before: VNode) {\n this.childNodes.push(child);\n that._container.appendChild(child);\n },\n removeChild(child: VNode) {\n this.childNodes.splice(this.childNodes.indexOf(child) >>> 1, 1);\n that._container.removeChild(child);\n },\n };\n }\n\n // Render our wrapping element into temp.\n render(\n createElement(ContextProvider as any, {context: that.context}, props._vnode),\n that._temp,\n );\n } else if (that._temp) {\n // When we come from a conditional render, on a mounted\n // portal we should clear the DOM.\n that.componentWillUnmount();\n }\n}\n\n/**\n * Create a `Portal` to continue rendering the vnode tree at a different DOM node\n *\n * @param {import('preact').VNode} vnode The vnode to render\n * @param {import('preact').PreactElement} container The DOM node to continue rendering in to.\n * @see https://github.com/developit/preact-portal/blob/master/src/preact-portal.js\n */\nexport function createPortal(vnode: VNode, container: ContainerNode): VNode {\n const el = createElement(Portal as any, {_vnode: vnode, _container: container}) as any;\n el.containerInfo = container;\n return el;\n}\n","import {HElement} from './h-element';\nimport {HtmlContent} from './html-content';\nimport {CustomContent} from './custom-content';\nimport {Icon} from './icon';\nimport {Portal} from './portals';\nimport {registerReactComponent} from './components';\n\nregisterReactComponent({\n HElement,\n element: HElement,\n HtmlContent,\n html: HtmlContent,\n CustomContent,\n custom: CustomContent,\n Icon,\n Portal,\n});\n","import {createRef, render, h} from 'preact';\nimport {Component as ComponentBase} from '../component';\nimport {mergeProps} from '../helpers';\n\nimport type {Component as ComponentReact, ComponentClass} from 'preact';\nimport {type I18nLangMap} from '../i18n';\nimport type {ComponentEventsDefnition} from '../component';\n\nexport class ComponentFromReact = ComponentReact, E extends ComponentEventsDefnition = {}, U extends HTMLElement = HTMLElement> extends ComponentBase {\n /**\n * The React component class.\n */\n static Component: unknown;\n\n /**\n * Whether replace the element.\n */\n static replace: boolean | keyof HTMLElementTagNameMap | (string & {}) = false;\n\n /**\n * Access to static properties via this.constructor.\n *\n * @see https://github.com/Microsoft/TypeScript/issues/3841#issuecomment-337560146\n */\n declare ['constructor']: typeof ComponentFromReact;\n\n /**\n * The React ref for component instance.\n */\n protected _ref = createRef();\n\n /**\n * The React component instance.\n */\n get $(): C | null {\n return this._ref.current;\n }\n\n /**\n * The i18n data.\n */\n get i18nData() {\n const {i18n, i18nData} = this.constructor.Component as {i18n?: I18nLangMap, i18nData?: (I18nLangMap | undefined)[]};\n if (i18nData) {\n return [...i18nData, this.constructor.i18n];\n }\n return [i18n, ...super.i18nData];\n }\n\n /**\n * Render after component init.\n */\n afterInit() {\n this.render();\n }\n\n /**\n * Destroy component.\n */\n destroy() {\n this.$?.componentWillUnmount?.();\n if (this.element) {\n this.element.innerHTML = '';\n }\n super.destroy();\n }\n\n /**\n * Render component.\n *\n * @param options new options.\n */\n render(options?: Partial, reset?: boolean) {\n const {element, $: instance} = this;\n const {Component, replace} = this.constructor;\n const {$replace = replace, $optionsFromDataset, ...userOptions} = this.setOptions(options, reset);\n const props = {\n ref: this._ref,\n ...userOptions,\n };\n if (reset) {\n (instance as {resetState?: (props?: Record, init?: boolean) => void})?.resetState?.(userOptions);\n }\n\n if ($replace && (Component as {HElement?: boolean}).HElement && (element.tagName.toLowerCase() === $replace || $replace === true)) {\n const attrs = Array.from(element.attributes).reduce>((data, attribute) => {\n const {name, value} = attribute;\n data[name === 'class' ? 'className' : name] = value;\n return data;\n }, {});\n render(\n h(Component as ComponentClass, mergeProps({component: element.tagName.toLowerCase(), attrs}, props)),\n element.parentElement!,\n element,\n );\n } else {\n render(\n h(Component as ComponentClass, props),\n element,\n );\n }\n }\n\n static renderHTML(options: Record): string {\n const tmpNode = document.createElement('div');\n render(h(this.Component as ComponentClass, options), tmpNode);\n return tmpNode.innerHTML;\n }\n}\n","import {HElement, Icon, classes} from '@zui/core';\n\nimport type {ClassNameLike} from '@zui/core';\nimport type {ButtonProps} from '../types/button-props';\nimport type {RenderableProps} from 'preact';\n\nexport class Button

    extends HElement

    {\n protected declare _isEmptyText?: boolean;\n\n protected declare _onlyCaret?: boolean;\n\n protected _beforeRender(props: RenderableProps

    ) {\n const {text, loading, loadingText, caret, icon, trailingIcon, children} = props;\n this._isEmptyText = text === undefined || text === null || (typeof text === 'string' && !text.length) || loading && !loadingText;\n this._onlyCaret = caret && this._isEmptyText && !icon && !trailingIcon && !children && !loading;\n }\n\n protected _getChildren(props: RenderableProps

    ) {\n const {loading, loadingIcon, loadingText, icon, text, children, trailingIcon, caret} = props;\n return [\n loading ? : ,\n this._isEmptyText ? null : {loading ? loadingText : text},\n loading ? null : children,\n loading ? null : ,\n loading ? null : caret ? : null,\n ];\n }\n\n protected _getClassName(props: RenderableProps

    ) {\n const {type, className, disabled, loading, active, children, square, size, rounded} = props;\n return ['btn', type, className, {\n 'btn-caret': this._onlyCaret,\n disabled: disabled || loading,\n active,\n loading,\n square: square === undefined ? (!this._onlyCaret && !children && this._isEmptyText) : square,\n }, size ? `size-${size}` : '', typeof rounded === 'string' ? `rounded-${rounded}` : {rounded}];\n }\n\n protected _getComponent(props: RenderableProps

    ) {\n return props.component || (props.url ? 'a' : 'button');\n }\n\n protected _getProps(props: RenderableProps

    ) {\n const component = this._getComponent(props);\n const {url, target, disabled, btnType = 'button', hint} = props;\n const asLink = component === 'a';\n const componentProps: Record = {\n ...super._getProps(props),\n type: asLink ? undefined : 'button',\n disabled: (!asLink && disabled) ? '' : undefined,\n title: hint,\n };\n if (btnType) {\n if (['button', 'reset', 'submit'].includes(btnType)) {\n if (component === 'button') {\n componentProps.type = btnType;\n }\n } else {\n componentProps.className = classes([componentProps.className as ClassNameLike, btnType]);\n }\n }\n if (!disabled) {\n if (url !== undefined) {\n componentProps[asLink ? 'href' : 'data-url'] = url;\n }\n if (target !== undefined) {\n componentProps[asLink ? 'target' : 'data-target'] = target;\n }\n }\n return componentProps;\n }\n}\n","import {registerReactComponent} from '@zui/core';\nimport * as components from './index';\n\nregisterReactComponent(components);\n","import {CustomContent, HElement, mergeProps} from '@zui/core';\n\nimport type {ComponentChild, ComponentChildren, ComponentType, JSX, RenderableProps} from 'preact';\nimport type {ClassNameLike} from '../../../core/src/helpers';\nimport type {CommonListProps, Item, ItemKey, ItemType} from '../types';\n\n/**\n * Generic list component.\n */\nexport class CommonList

    extends HElement {\n /**\n * Root element default name, used for class name.\n */\n static NAME = '';\n\n /**\n * Item default name, used for class name.\n */\n static ITEM_NAME = 'item';\n\n /**\n * Root element default tag name, used for DOM rendering.\n */\n static TAG = 'ul';\n\n /**\n * Item components, used for rendering for different item types.\n */\n static ItemComponents: Partial | ((this: CommonList, item: Item, props: CommonListProps) => Partial)]>> = {\n default: HElement,\n divider: [HElement, {className: 'divider'}],\n space: [HElement, (item) => {\n const {space, flex, style} = item as {space: JSX.CSSProperties['width'], flex: JSX.CSSProperties['flex'], style: JSX.CSSProperties};\n return {\n style: {width: space, height: space, flex, ...style},\n };\n }],\n };\n\n /**\n * Item default common props, used for rendering for all item types.\n */\n static defaultItemProps: Partial = {\n component: 'li',\n };\n\n /**\n * Item default props, used for rendering for different item types.\n */\n static defaultItemPropsMap: Partial>> = {};\n\n /**\n * Item default type, used for rendering for item without type.\n */\n static defaultItemType = 'item';\n\n static defaultProps: Partial = {\n itemKey: 'id',\n };\n\n /**\n * Access to static properties via this.constructor.\n *\n * @see https://github.com/Microsoft/TypeScript/issues/3841#issuecomment-337560146\n */\n declare ['constructor']: typeof CommonList;\n\n /**\n * Store the raw items.\n */\n protected declare _items: Item[];\n\n /**\n * Store the rendered items.\n */\n protected declare _renderedItems: Item[];\n\n constructor(props: P) {\n super(props);\n this._handleClick = this._handleClick.bind(this);\n }\n\n /**\n * Get the root element name, used for class name.\n */\n get name() {\n return this.props.name || this.constructor.NAME;\n }\n\n /**\n * Get the item element name, used for class name.\n */\n get itemName() {\n return this.props.itemName || this.constructor.ITEM_NAME;\n }\n\n getItems() {\n return this._items;\n }\n\n getRenderedItem(key: ItemKey) {\n return this._renderedItems.find((item) => item.key === key);\n }\n\n getItem(key: ItemKey): Item | undefined {\n return this._items[this.getItemIndex(key)];\n }\n\n getItemIndex(key: ItemKey) {\n return this._renderedItems.findIndex((item) => item.key === key);\n }\n\n getItemByIndex(index: number) {\n return this._items[index];\n }\n\n /**\n * Get the item key by index.\n *\n * @param index The rendered item index.\n * @returns The item key, if the item is not rendered, return undefined.\n */\n getKey(index: number): ItemKey | undefined {\n return this._renderedItems?.[index]?.key;\n }\n\n protected _getItemFromEvent(event: MouseEvent, target?: HTMLElement): {\n index: number;\n item: Item;\n renderedItem: Item;\n element: HTMLElement;\n event: MouseEvent;\n key: ItemKey;\n relativeTarget?: unknown;\n } | undefined {\n const element = (target || event.target as HTMLElement).closest('[z-item]') as HTMLElement;\n if (!element || !element.parentElement?.hasAttribute(`z-gid-${this._gid}`)) {\n return;\n }\n const index = +element.getAttribute('z-item')!;\n const item = this._items[index];\n if (!item) {\n return;\n }\n const key = this.getKey(index);\n if (key === undefined) {\n return;\n }\n const renderedItem = this._renderedItems[index];\n return {index, item, element, event, key, renderedItem, relativeTarget: this.props.relativeTarget};\n }\n\n protected _handleClick(event: MouseEvent) {\n const info = this._getItemFromEvent(event);\n if (!info) {\n return;\n }\n this.props.onClickItem?.call(this, info);\n info.item.onClick?.call(this, event, info);\n return info;\n }\n\n /**\n * Render the item content.\n *\n * @param props Current list properties.\n * @param item The item to render.\n * @param index The item index.\n * @returns The item rendered content.\n */\n protected _renderItem(props: RenderableProps

    , item: Item, index: number): ComponentChildren {\n const {beforeRenderItem} = props;\n if (beforeRenderItem) {\n const result = beforeRenderItem.call(this, item, index);\n if (result !== undefined) {\n item = result;\n }\n }\n\n const {type} = item;\n let {itemRender} = props;\n if (itemRender && typeof itemRender === 'object') {\n itemRender = itemRender[type!];\n }\n if (itemRender) {\n const customResult = itemRender.call(this, item, index);\n if (customResult !== undefined) {\n return ;\n }\n }\n\n const {ItemComponents} = this.constructor;\n let ItemComponent = ItemComponents[type!];\n if (!ItemComponent && item.component) {\n return ;\n }\n ItemComponent = ItemComponent || ItemComponents.default || HElement;\n if (Array.isArray(ItemComponent)) {\n let defaultItemProps = ItemComponent[1];\n if (typeof defaultItemProps === 'function') {\n defaultItemProps = defaultItemProps.call(this as CommonList, item, props);\n }\n item = mergeProps({}, defaultItemProps, item);\n ItemComponent = ItemComponent[0];\n }\n return ;\n }\n\n /**\n * Get the rendered item final properties.\n *\n * @param props Current list properties.\n * @param item The item to render.\n * @param index The item index.\n * @returns The item to rendered, if return false, the item will not be rendered.\n */\n protected _getItem(props: RenderableProps

    , item: Item, index: number): Item | false {\n if (!item) {\n return false;\n }\n const {itemProps, itemPropsMap = {}, getItem, itemKey} = props;\n const {type = this.constructor.defaultItemType} = item;\n const {name, itemName} = this;\n const {defaultItemProps = {}, defaultItemPropsMap = {}} = this.constructor;\n\n item = mergeProps(\n {type},\n defaultItemProps,\n defaultItemPropsMap[type],\n itemProps,\n itemPropsMap[type],\n {className: [name ? `${name}-${type}` : '', itemName]},\n item,\n {\n _item: item,\n _index: index,\n key: String((itemKey ? item[itemKey] : item.key) ?? (item.key ?? index)),\n onClick: undefined,\n },\n );\n\n if (getItem) {\n const result = getItem.call(this, item, index);\n if (result !== undefined) {\n return result;\n }\n }\n return item;\n }\n\n protected _getProps(props: RenderableProps

    ): Record {\n const finalProps = super._getProps(props);\n return {onClick: this._handleClick, ...finalProps};\n }\n\n /**\n * Get the list root element classname list.\n *\n * @param props Current list properties.\n * @returns The list root element classname list.\n */\n protected _getClassName(props: RenderableProps

    ): ClassNameLike {\n return [this.name, props.className];\n }\n\n /**\n * Get final rendered item list.\n *\n * @param props Current list properties.\n * @returns Item list.\n */\n protected _getItems(props: RenderableProps

    ): Item[] {\n let {items = []} = props;\n if (typeof items === 'function') {\n items = items.call(this);\n } else if (!Array.isArray(items)) {\n items = [];\n }\n return items as Item[];\n }\n\n /**\n * Render items.\n *\n * @param props props Current list properties.\n * @param items Render items.\n * @returns React render children.\n */\n protected _renderItems(props: RenderableProps

    , items: Item[]): ComponentChild[] {\n this._renderedItems = items.map((item, index) => {\n const finalItem = this._getItem(props, item, index);\n return finalItem ? finalItem : undefined;\n }) as Item[];\n return this._renderedItems.reduce((children, item, index) => {\n if (item) {\n children.push(this._renderItem(props, item, index));\n }\n return children;\n }, []);\n }\n\n /**\n * Get root element rendered children.\n *\n * @param props Current list properties.\n * @returns React render children.\n */\n protected _getChildren(props: RenderableProps

    ): ComponentChildren {\n const items = this._getItems(props);\n this._items = items;\n const children = this._renderItems(props, items);\n if (props.children) {\n children.push(props.children);\n }\n return children;\n }\n\n /**\n * Get root element rendered component type.\n *\n * @param props Current list properties.\n * @returns React component type.\n */\n protected _getComponent(props: RenderableProps

    ): ComponentType | keyof JSX.IntrinsicElements {\n return props.component || (this.constructor.TAG as keyof JSX.IntrinsicElements);\n }\n}\n","import {ComponentFromReact} from '@zui/core';\nimport {CommonList as CommonListReact} from '../component';\n\nimport type {CommonListProps} from '../types';\n\nexport class CommonList extends ComponentFromReact {\n static NAME = 'CommonList';\n\n static Component = CommonListReact;\n\n static replace = CommonListReact.TAG;\n}\n\nCommonList.register();\n","import {registerReactComponent} from '@zui/core';\nimport * as components from './index';\n\nregisterReactComponent(components);\n","export type RGBColor = [r: number, g: number, b: number];\n\nexport function hex2Rgb(hex: string): RGBColor {\n if (hex.indexOf('#') === 0) {\n hex = hex.slice(1);\n }\n // convert 3-digit hex to 6-digits.\n if (hex.length === 3) {\n hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];\n }\n if (hex.length !== 6) {\n throw new Error(`Invalid HEX color \"${hex}\".`);\n }\n return [\n parseInt(hex.slice(0, 2), 16), // r\n parseInt(hex.slice(2, 4), 16), // g\n parseInt(hex.slice(4, 6), 16), // b\n ];\n}\n\nexport function isLightColor(color: string | RGBColor): boolean {\n const [r, g, b] = typeof color === 'string' ? hex2Rgb(color) : color;\n return (r * 0.299 + g * 0.587 + b * 0.114) > 186;\n}\n\nexport function contrastColor(color: string | RGBColor, options?: {dark: string, light: string}) {\n return isLightColor(color) ? (options?.dark ?? '#333333') : (options?.light ?? '#ffffff');\n}\n\nfunction clamp(value: number, max = 255): number {\n return Math.min(Math.max(value, 0), max);\n}\n\nexport function hslToRgb(h: number, s: number, l: number): RGBColor {\n h = (h % 360) / 360;\n s = clamp(s);\n l = clamp(l);\n\n const m2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n const m1 = l * 2 - m2;\n\n const hue = (value: number): number => {\n value = value < 0 ? value + 1 : (value > 1 ? value - 1 : value);\n if (value * 6 < 1) {\n return m1 + (m2 - m1) * value * 6;\n } else if (value * 2 < 1) {\n return m2;\n } else if (value * 3 < 2) {\n return m1 + (m2 - m1) * (2 / 3 - value) * 6;\n } else {\n return m1;\n }\n };\n\n return [\n hue(h + 1 / 3) * 255,\n hue(h) * 255,\n hue(h - 1 / 3) * 255,\n ];\n}\n","export function getUniqueCode(str: string): number {\n let code = 0;\n if (typeof str !== 'string') str = String(str);\n if (str && str.length) {\n for (let i = 0; i < str.length; ++i) {\n code += (i + 1) * str.charCodeAt(i);\n }\n }\n return code;\n}\n","import {Component, ComponentChildren, JSX} from 'preact';\nimport {classes, Icon} from '@zui/core';\nimport {contrastColor, hslToRgb} from '@zui/helpers/src/color-helper';\nimport {getUniqueCode} from '@zui/helpers/src/string-code';\nimport {AvatarOptions} from '../types/';\n\nfunction getAvatarText(text: string, maxTextLength: number) {\n if (/^[\\u4e00-\\u9fa5\\s]+$/.test(text)) {\n return text.length <= maxTextLength ? text : text.substring(text.length - maxTextLength);\n }\n if (/^[A-Za-z\\d\\s]+$/.test(text)) {\n return text[0].toUpperCase();\n }\n return text.length <= maxTextLength ? text : text.substring(0, maxTextLength);\n}\n\nexport class Avatar extends Component {\n render() {\n const {\n className,\n style,\n size = '',\n circle,\n rounded,\n background,\n foreColor,\n icon,\n text,\n code,\n maxTextLength = 2,\n src,\n hueDistance = 43,\n saturation = 0.4,\n lightness = 0.6,\n children,\n ...others\n } = this.props;\n\n const finalClass = ['avatar', className];\n const finalStyle = {...style, background, color: foreColor};\n\n let actualSize = 32;\n if (size) {\n if (typeof size === 'number') {\n finalStyle.width = `${size}px`;\n finalStyle.height = `${size}px`;\n finalStyle.fontSize = `${Math.max(12, Math.round(size / 2))}px`;\n actualSize = size;\n } else {\n finalClass.push(`size-${size}`);\n actualSize = ({xs: 20, sm: 24, lg: 48, xl: 80})[size];\n }\n }\n if (circle) {\n finalClass.push('circle');\n } else if (rounded) {\n if (typeof rounded === 'number') {\n finalStyle.borderRadius = `${rounded}px`;\n } else {\n finalClass.push(`rounded-${rounded}`);\n }\n }\n\n let content: ComponentChildren | undefined;\n if (src) {\n finalClass.push('has-img');\n content = {text};\n } else if (icon) {\n finalClass.push('has-icon');\n content = ;\n } else if (text?.length) {\n const displayText = getAvatarText(text, maxTextLength);\n const displayTextLength = displayText.length;\n finalClass.push('has-text', `has-text-${displayTextLength}`);\n\n if (background === undefined) {\n const avatarCode = code ?? text;\n const hue = (typeof avatarCode === 'number' ? avatarCode : getUniqueCode(avatarCode)) * hueDistance % 360;\n finalStyle.background = `hsl(${hue},${saturation * 100}%,${lightness * 100}%)`;\n if (!foreColor) {\n const rgb = hslToRgb(hue, saturation, lightness);\n finalStyle.color = contrastColor(rgb);\n }\n } else if (!foreColor && background) {\n finalStyle.color = contrastColor(background);\n }\n let textStyle: JSX.CSSProperties | undefined;\n if (actualSize && actualSize < (16 * displayTextLength)) {\n textStyle = {transform: `scale(${actualSize / (16 * displayTextLength)})`, whiteSpace: 'nowrap'};\n }\n\n content =

    {displayText}
    ;\n }\n\n return (\n \n {content}\n {children}\n \n );\n }\n}\n","import {$, mergeProps, removeUndefinedProps} from '@zui/core';\nimport {Button} from '@zui/button/src/component';\nimport {CommonList} from '@zui/common-list/src/component';\n\nimport type {RenderableProps} from 'preact';\nimport type {ButtonProps} from '@zui/button';\nimport type {Item} from '@zui/common-list';\nimport type {BtnGroupOptions} from '../types';\n\nexport class BtnGroup extends CommonList {\n static NAME = 'btn-group';\n\n /**\n * Root element default tag name, used for DOM rendering.\n */\n static TAG = 'nav';\n\n static ItemComponents = {\n ...CommonList.ItemComponents,\n default: Button,\n };\n\n /**\n * Item default common props, used for rendering for all item types.\n */\n static defaultItemProps: Partial = {\n component: undefined,\n };\n\n protected _shareBtnProps?: Partial;\n\n protected _isBtnType({type}: Item): boolean {\n return type === 'item' || type === 'dropdown';\n }\n\n protected _getItem(props: RenderableProps, item: Item, index: number): false | Item {\n if (!item) {\n return false;\n }\n if (!item.type) {\n item = $.extend({type: (item.dropdown || item.items) ? 'dropdown' : 'item'}, item);\n }\n let itemProps = super._getItem(props, item, index);\n if (!itemProps) {\n return itemProps;\n }\n if (this._isBtnType(itemProps)) {\n itemProps = mergeProps({}, this._shareBtnProps, itemProps);\n }\n return itemProps;\n }\n\n protected _beforeRender(props: RenderableProps): void | RenderableProps | undefined {\n const {btnProps, btnType, size} = props;\n\n this._shareBtnProps = mergeProps({}, btnProps, removeUndefinedProps({btnType, size}));\n }\n}\n","import {classes, $, mergeProps} from '@zui/core';\nimport {BtnGroup} from '@zui/btn-group/src/component/btn-group';\n\nimport type {Item} from '@zui/common-list';\nimport type {ToolbarOptions, ToolbarSetting} from '../types';\nimport type {ClassNameLike} from '@zui/core/src/helpers';\nimport type {Attributes, RenderableProps} from 'preact';\n\nexport class Toolbar extends BtnGroup {\n static NAME = 'toolbar';\n\n static defaultProps: Partial = {\n btnProps: {\n btnType: 'ghost',\n },\n };\n\n static ItemComponents = {\n ...BtnGroup.ItemComponents,\n btnGroup: BtnGroup,\n 'btn-group': BtnGroup,\n };\n\n protected _getProps(props: RenderableProps): Record {\n const {gap} = props;\n const propsMap = super._getProps(props);\n if (gap) {\n if (typeof gap === 'number') {\n propsMap.className = classes(propsMap.className as ClassNameLike, `gap-${gap}`);\n } else {\n propsMap.style = $.extend(propsMap.style || {}, {gap: gap});\n }\n }\n return propsMap;\n }\n\n protected _getItem(props: RenderableProps, item: Item, index: number): false | Item {\n const itemProps = super._getItem(props, item, index);\n if (!itemProps) {\n return itemProps;\n }\n const {type} = itemProps;\n const isBtnGroup = type === 'btn-group' || type === 'btnGroup';\n if (isBtnGroup) {\n itemProps.btnProps = mergeProps({}, this._shareBtnProps, itemProps.btnProps);\n }\n if ((isBtnGroup || type === 'dropdown') && !itemProps.relativeTarget) {\n itemProps.relativeTarget = props.relativeTarget;\n }\n return itemProps;\n }\n\n static render(this: unknown, setting: ToolbarSetting | undefined, args: T, defaultProps?: Partial & Attributes, thisObject?: unknown) {\n let toolbarOptions = typeof setting === 'function' ? setting.call(thisObject ?? this, ...args) : setting;\n if (!toolbarOptions) {\n return;\n }\n if (Array.isArray(toolbarOptions)) {\n toolbarOptions = {\n items: toolbarOptions,\n };\n }\n if (defaultProps) {\n toolbarOptions = mergeProps(defaultProps as Record, toolbarOptions);\n }\n return ;\n }\n}\n","import {CustomContent, HElement} from '@zui/core';\n\nimport type {ClassNameLike} from '@zui/core';\nimport type {ComponentChildren, RenderableProps} from 'preact';\nimport type {CheckboxProps, CheckboxState} from '../types';\n\nexport class Checkbox

    extends HElement {\n protected _controlled: boolean;\n\n constructor(props: P) {\n super(props);\n this.state = {\n checked: props.checked ?? props.defaultChecked ?? false,\n };\n this._controlled = props.checked !== undefined;\n }\n\n get checked() {\n return this._controlled ? this.props.checked : this.state.checked;\n }\n\n protected _getClassName(props: RenderableProps

    ): ClassNameLike {\n const {disabled, type = 'checkbox'} = props;\n const {checked} = this;\n return [props.className, type === 'switch' ? type : `${type}-primary`, {\n disabled,\n checked: checked === true,\n indeterminate: checked === 'indeterminate',\n }];\n }\n\n protected _handleChange = (event: Event) => {\n const {onChange} = this.props;\n const checked = (event.target as HTMLInputElement).indeterminate ? 'indeterminate' : (event.target as HTMLInputElement).checked;\n if (onChange) {\n onChange.call(this, event, checked);\n }\n if (!this._controlled) {\n this.setState({checked});\n }\n };\n\n protected _getChildren(props: RenderableProps

    ): ComponentChildren {\n const {name, type, value, id, label} = props;\n const {checked} = this;\n return [\n name ? (\n \n ) : null,\n (),\n ];\n }\n}\n","import {RadioProps} from '../types';\nimport {Checkbox} from './checkbox';\n\nexport class Radio

    extends Checkbox

    {\n static defaultProps: Partial = {\n type: 'radio',\n };\n}\n","import {SwitchProps} from '../types';\nimport {Checkbox} from './checkbox';\n\nexport class Switch

    extends Checkbox

    {\n static defaultProps: Partial = {\n type: 'switch',\n };\n}\n","import {toChildArray} from 'preact';\nimport {CustomContent, HElement, Icon, classes, mergeProps} from '@zui/core';\nimport {Avatar} from '@zui/avatar/src/component';\nimport {Toolbar} from '@zui/toolbar/src/component';\nimport {Checkbox} from '@zui/checkbox/src/component';\n\nimport type {ComponentChild, ComponentChildren, ComponentType, JSX, RenderableProps} from 'preact';\nimport type {ListitemProps} from '../types';\n\nexport class Listitem

    extends HElement {\n protected _renderLeading(props: RenderableProps

    ): ComponentChild[] {\n const {\n icon,\n avatar,\n toggleIcon,\n leading,\n leadingClass,\n checked,\n checkbox,\n multiline,\n } = props;\n const contents: ComponentChild[] = [];\n if (toggleIcon) {\n contents.push();\n }\n if (checked !== undefined) {\n contents.push();\n }\n if (icon) {\n contents.push();\n }\n if (avatar) {\n const avatarProps = typeof avatar === 'function' ? avatar.call(this, props) : avatar;\n if (avatarProps) {\n avatarProps.className = classes('item-avatar', avatarProps.className);\n contents.push();\n }\n }\n const customLeading = leading ? : null;\n if (customLeading) {\n contents.push(customLeading);\n }\n if (multiline) {\n return contents.length ? [\n

    {contents}
    ,\n ] : [];\n }\n return contents;\n }\n\n protected _renderContent(props: RenderableProps

    , linkRendered?: boolean): ComponentChild[] {\n const {\n textClass,\n titleClass,\n titleAttrs,\n subtitle,\n subtitleClass,\n url,\n target,\n content,\n contentClass,\n contentAttrs,\n } = props;\n const titleAsLink = url && !linkRendered;\n const TitleComponent = titleAsLink ? 'a' : 'div';\n let {title, text} = props;\n if (title === undefined) {\n title = text;\n text = null;\n }\n return [\n

    \n {title ? : null}\n {subtitle ?
    : null}\n {text ?
    {text}
    : null}\n {content ? : null}\n
    ,\n ];\n }\n\n protected _renderTrailing(props: RenderableProps

    ): ComponentChild[] {\n const {\n multiline,\n trailing,\n trailingClass,\n trailingIcon,\n actions,\n } = props;\n const contents: ComponentChild[] = [];\n if (trailingIcon) {\n contents.push();\n }\n if (actions) {\n contents.push(Toolbar.render(actions, [props], {key: 'actions', relativeTarget: props, size: 'sm'}, this));\n }\n const customTrailing = trailing ? : null;\n if (customTrailing) {\n contents.push(customTrailing);\n }\n if (multiline) {\n return contents.length ? [\n

    {contents}{customTrailing}
    ,\n ] : [];\n }\n return contents;\n }\n\n protected _render(props: RenderableProps

    , extraAttrs?: Record): ComponentChild {\n const {\n innerComponent,\n innerClass,\n innerAttrs,\n url,\n actions,\n target,\n active,\n disabled,\n divider,\n checked,\n multiline,\n title,\n subtitle,\n hint,\n selected,\n } = props;\n const ComponentName = innerComponent || ((url && !actions) ? 'a' : 'div');\n const asLink = ComponentName === 'a';\n const attrs = mergeProps({\n key: 'item',\n title: hint,\n className: classes('listitem', innerClass, {\n active,\n disabled,\n 'has-divider': divider,\n selected,\n checked,\n multiline: multiline ?? !!(title && subtitle),\n state: asLink && !disabled,\n }),\n }, asLink ? {href: url || 'javascript:;', target} : null, extraAttrs, innerAttrs);\n return (\n \n {this._renderLeading(props)}\n {this._renderContent(props, asLink)}\n {this._renderTrailing(props)}\n \n );\n }\n\n protected _onRender(component: ComponentType | keyof JSX.IntrinsicElements, componentProps: Record, children: ComponentChildren, _props: RenderableProps

    ): void | [component: ComponentType | keyof JSX.IntrinsicElements, componentProps: Record, children: ComponentChildren] {\n const innerAttrs = Object.keys(componentProps).reduce>((attrs, key) => {\n if (key.startsWith('data-')) {\n attrs[key] = componentProps[key];\n delete componentProps[key];\n }\n return attrs;\n }, {});\n return [component, componentProps, [this._render(_props, innerAttrs), ...toChildArray(children)]];\n }\n}\n","import {$, Computed, HElement, classes, fetchData, mergeProps, removeUndefinedProps} from '@zui/core';\nimport {CommonList} from '@zui/common-list/src/component';\nimport {Listitem} from './listitem';\n\nimport type {ComponentChild, ComponentChildren, RenderableProps} from 'preact';\nimport type {ClassNameLike, CustomContentType} from '@zui/core';\nimport type {Item, ItemKey} from '@zui/common-list';\nimport type {CheckedType} from '@zui/checkbox';\nimport type {ListProps, ListState, ListItemsSetting, ListItemsFetcher} from '../types';\n\nexport class List

    extends CommonList {\n static ItemComponents: typeof CommonList.ItemComponents = {\n ...CommonList.ItemComponents,\n default: HElement,\n item: Listitem,\n heading: Listitem,\n };\n\n static NAME = 'list';\n\n protected _loadedSetting?: ListItemsSetting;\n\n protected declare _hasIcons: boolean;\n\n protected declare _hasCheckbox: boolean;\n\n protected _activeSet = new Computed>(() => {\n const map = new Set();\n const {active} = this.props;\n if (Array.isArray(active)) {\n active.forEach(x => map.add(x));\n } else if (typeof active === 'string') {\n map.add(active);\n } else if (active) {\n Object.keys(active).forEach(x => active[x] && map.add(x));\n }\n const {activeMap} = this.state;\n Object.keys(activeMap).forEach(x => activeMap[x] ? map.add(x) : map.delete(x));\n return map;\n }, () => [this.state.activeMap, this.props.active]);\n\n constructor(props: P) {\n super(props);\n this.state = {\n checked: {},\n activeMap: {},\n } as S;\n }\n\n get namespace() {\n return `.zui.${this.constructor.NAME}.list_${this.gid}`;\n }\n\n get isLazyItems() {\n const {items} = this.props;\n return items && !Array.isArray(items);\n }\n\n componentDidMount() {\n this._afterRender(true);\n this.tryLoad();\n\n if (this.props.activeOnHover && !this.props.multipleActive) {\n $(this.element).on(`mouseenter${this.namespace}`, '[z-item]', (event) => {\n const info = this._getItemFromEvent(event);\n if (info && info.renderedItem.type === 'item' && !info.renderedItem.disabled && !this.isActive(info.key)) {\n this.toggleActive(info.key, true);\n }\n });\n }\n }\n\n componentDidUpdate(): void {\n this._afterRender(false);\n this.tryLoad();\n }\n\n componentWillUnmount(): void {\n $(this.element).off(this.namespace);\n this.props.beforeDestroy?.call(this);\n }\n\n setItems(items?: Item[], error?: Error) {\n const {onLoadFail} = this.props;\n return this.changeState({\n loading: false,\n items: items || [],\n loadFailed: error ? (typeof onLoadFail === 'function' ? (onLoadFail as (error: Error) => CustomContentType | undefined).call(this, error as Error) : onLoadFail) || String(error) : undefined,\n } as S);\n }\n\n load(): void {\n const {items, onLoad} = this.props;\n this._loadedSetting = items;\n this.setState({loading: true, items: []}, async () => {\n try {\n const newItems = await fetchData(items as ListItemsFetcher, [this], {throws: true});\n this.setItems(onLoad?.call(this, newItems) || newItems);\n } catch (error) {\n this.setItems(undefined, error as Error);\n }\n });\n }\n\n tryLoad() {\n const {loading} = this.state;\n const {items} = this.props;\n if (loading || !items || Array.isArray(items) || items === this._loadedSetting) {\n return false;\n }\n this.load();\n return true;\n }\n\n isChecked(key: ItemKey, index?: number, defaultChecked: CheckedType = false): CheckedType {\n const item = (typeof index === 'number' ? this._items[index] : this.getItem(key)) || {};\n return this.state.checked[key] ?? item.checked ?? defaultChecked;\n }\n\n isAllChecked(): boolean {\n return this._renderedItems.every(({key}, index) => this.isChecked(key!, index) === true);\n }\n\n toggleAllChecked(checked?: boolean) {\n if (checked === undefined) {\n checked = !this.isAllChecked();\n }\n return this.toggleChecked(this._renderedItems.map(x => x.key!), checked);\n }\n\n async toggleChecked(keyOrChange: ItemKey | ItemKey[] | Record, checked?: boolean) {\n let change: Record;\n if (Array.isArray(keyOrChange)) {\n if (!keyOrChange.length) {\n return;\n }\n if (checked === undefined) {\n checked = !this.isChecked(keyOrChange[0]);\n }\n change = keyOrChange.reduce>((map, key) => {\n map[key] = checked!;\n return map;\n }, {});\n } else if (typeof keyOrChange === 'object') {\n change = keyOrChange;\n } else {\n const isChecked = this.isChecked(keyOrChange);\n if (checked === undefined) {\n checked = !isChecked;\n }\n change = {[keyOrChange]: checked!};\n }\n if (!Object.keys(change).length) {\n return;\n }\n\n await this.changeState(prevState => ({\n checked: {\n ...prevState.checked,\n ...change,\n },\n } as Partial), () => {\n const checkState = this.state.checked;\n this.props.onCheck?.call(this, change, Object.keys(checkState).filter(x => checkState[x] === true));\n });\n }\n\n getChecks() {\n return this._renderedItems.reduce((checks, {key}, index) => {\n if (key !== undefined && this.isChecked(key, index) === true) {\n checks.push(key);\n }\n return checks;\n }, []);\n }\n\n isActive(key: string | Item) {\n if (typeof key === 'object') {\n key = key.key!;\n }\n return this._activeSet.cache.has(key);\n }\n\n getActiveKeys() {\n return [...this._activeSet.value];\n }\n\n getActiveKey() {\n return this.getActiveKeys()[0];\n }\n\n async toggleActive(keys: string | string[], active?: boolean) {\n if (typeof keys === 'string') {\n keys = [keys];\n }\n if (!keys.length) {\n return;\n }\n active = active ?? !this.isActive(keys[0]);\n await this.changeState(prevState => {\n const activeMap = this.props.multipleActive ? (keys as string[]).reduce>((map, key) => {\n map[key] = active!;\n return map;\n }, {...prevState.activeMap}) : {[keys[0]]: active!};\n return {activeMap} as Partial;\n }, () => {\n this.props.onActive?.call(this, keys as string[], active!);\n });\n }\n\n getNextItem(key: string | undefined, condition?: (item: Item, index: number) => boolean, step = 1, items: Item[] | undefined = undefined): Item | undefined {\n items = items || this._renderedItems;\n const count = items.length;\n if (key === undefined) {\n return items[step ? 0 : count - 1];\n }\n let index = items.findIndex(x => x.key === key);\n if (index < 0 || count < 2) {\n return items[step ? 0 : count - 1];\n }\n let checkCount = 0;\n condition = condition || ((x) => x.type === 'item' && !x.disabled);\n while (checkCount < count) {\n index = (index + step + count) % count;\n const nextItem = items[index];\n if (nextItem && !nextItem.disabled && !nextItem.hidden && condition.call(this, nextItem, index)) {\n return nextItem;\n }\n checkCount++;\n }\n }\n\n getPrevItem(key: string | undefined, condition?: (item: Item, index: number) => boolean): Item | undefined {\n return this.getNextItem(key, condition, -1);\n }\n\n activeNext(condition?: (item: Item, index: number) => boolean, step = 1) {\n const nextItem = this.getNextItem(this.getActiveKey(), condition, step);\n if (nextItem) {\n this.toggleActive(nextItem.key!);\n }\n }\n\n activePrev(condition?: (item: Item, index: number) => boolean) {\n this.activeNext(condition, -1);\n }\n\n protected _afterRender(firstRender: boolean) {\n this.props.afterRender?.call(this, firstRender);\n }\n\n protected _getItems(props: RenderableProps

    ): Item[] {\n const {items} = props;\n const {items: stateItems} = this.state;\n return stateItems || (Array.isArray(items) ? items : []);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n protected _getRenderedItem(props: RenderableProps

    , renderedItem: Item, index: number): Item {\n const {divider, multiline} = props;\n renderedItem = mergeProps({}, removeUndefinedProps({\n divider,\n multiline,\n }), renderedItem);\n\n const {itemName, name} = this;\n renderedItem.innerClass = [itemName ? `${itemName}-inner${name ? ` ${name}-${renderedItem.type}-inner` : ''}` : '', renderedItem.innerClass];\n\n if (renderedItem.type === 'item') {\n const {checkbox} = props;\n if (renderedItem.checkbox === false) {\n renderedItem.checked = undefined;\n } else if (checkbox || renderedItem.checkbox) {\n renderedItem.checked = this.isChecked(renderedItem.key!, index, renderedItem.checked as CheckedType);\n if (typeof checkbox === 'object' && renderedItem.checkbox !== false) {\n renderedItem.checkbox = renderedItem.checkbox ? $.extend({}, checkbox, renderedItem.checkbox) : checkbox;\n }\n if (props.selectOnChecked && renderedItem.checked === true) {\n renderedItem.selected = true;\n }\n }\n if (renderedItem.active === undefined && this.isActive(renderedItem)) {\n renderedItem.active = true;\n }\n }\n\n if (renderedItem.icon) {\n this._hasIcons = true;\n }\n if (renderedItem.checked !== undefined) {\n this._hasCheckbox = true;\n }\n\n return renderedItem;\n }\n\n protected _getItem(props: RenderableProps

    , item: Item, index: number): Item | false {\n const renderedItem = super._getItem(props, item, index);\n if (!renderedItem) {\n return renderedItem;\n }\n return this._getRenderedItem(props, renderedItem, index);\n }\n\n protected _renderItem(props: RenderableProps

    , item: Item, index: number): ComponentChildren {\n if (item.type === 'item' && this._hasIcons && item.icon === undefined) {\n item.icon = 'EMPTY';\n }\n return super._renderItem(props, item, index);\n }\n\n protected _handleClick(event: MouseEvent) {\n const info = super._handleClick(event);\n let {checkOnClick} = this.props;\n if (checkOnClick === 'any') {\n checkOnClick = '.item-checkbox,.item-content,.item-icon';\n } else if (checkOnClick === true) {\n checkOnClick = '.item-checkbox';\n }\n if (!checkOnClick || !info || !info.renderedItem) {\n return info;\n }\n const renderedItem = info.renderedItem;\n const itemCheckbox = renderedItem.checkbox;\n const hasCheckbox = itemCheckbox !== false && (this.props.checkbox || itemCheckbox || renderedItem.checked !== undefined);\n if (hasCheckbox && !renderedItem.disabled && info && (event.target as HTMLElement).closest(checkOnClick)) {\n this.toggleChecked(info.key);\n event.stopPropagation();\n return;\n }\n return info;\n }\n\n protected _getClassName(props: RenderableProps

    ): ClassNameLike {\n const {loading, loadFailed} = this.state;\n return [super._getClassName(props), loading ? 'loading' : (loadFailed ? 'is-load-failed' : '')];\n }\n\n protected _getProps(props: RenderableProps

    ): Record {\n const {className, ...others} = super._getProps(props);\n return {\n ...others,\n className: classes(className as ClassNameLike, this._hasIcons ? 'has-icons' : '', this._hasCheckbox ? 'has-checkbox' : ''),\n };\n }\n\n protected _getChildren(props: RenderableProps

    ): ComponentChildren {\n this._hasIcons = false;\n this._hasCheckbox = false;\n this._activeSet.compute();\n const children = super._getChildren(props) as ComponentChild[];\n const {loadFailed} = this.state;\n if (loadFailed) {\n children.push(loadFailed);\n }\n return children;\n }\n}\n","/** Store type. */\nexport type StoreType = 'local' | 'session';\n\nconst STR_PREFIX = '```ZUI_STR\\n';\n\n/**\n * Store for using localStorage and sessionStorage.\n */\nexport class Store {\n protected _type: StoreType;\n\n protected _name: string;\n\n protected _id: string;\n\n protected _storage: Storage;\n\n protected _altStorage?: Store;\n\n /**\n * Create new store instance.\n * @param id Store profile ID.\n * @param type Store type.\n */\n constructor(id: string = '', type: StoreType = 'local') {\n this._type = type;\n this._id = id;\n this._name = `ZUI_STORE:${this._id}`;\n this._storage = type === 'local' ? localStorage : sessionStorage;\n }\n\n /**\n * Get store type.\n */\n get type(): StoreType {\n return this._type;\n }\n\n /**\n * Get session type store instance.\n */\n get session(): Store {\n if (this.type === 'session') {\n return this;\n }\n if (!this._altStorage) {\n this._altStorage = new Store(this._id, 'session');\n }\n return this._altStorage;\n }\n\n protected _getKey(key: string): string {\n return `${this._name}:${key}`;\n }\n\n /**\n * Switch store profile.\n *\n * @param id Store profile ID.\n */\n switch(id: string) {\n this._id = id;\n this._name = `ZUI_STORE:${this._id}`;\n }\n\n /**\n * Get value from store.\n *\n * @param key Key to get\n * @returns Value of key or undefined if key is not found\n */\n get(key: string): T | undefined;\n\n /**\n * Get value from store, if key is not found, return defaultValue.\n *\n * @param key Key to get.\n * @param defaultValue Default value to return if key is not found.\n */\n get(key: string, defaultValue: T): T;\n\n /**\n * Get value from store.\n *\n * @param key Key to get.\n * @param defaultValue Default value to return if key is not found.\n * @returns Value of key or defaultValue if key is not found.\n */\n get(key: string, defaultValue?: T): T | undefined {\n const value = this._storage.getItem(this._getKey(key));\n if (typeof value === 'string') {\n if (value.startsWith(STR_PREFIX)) {\n return value.substring(STR_PREFIX.length) as T;\n }\n try {\n return JSON.parse(value);\n // eslint-disable-next-line no-empty\n } catch (_error) {}\n }\n return (value as T) ?? defaultValue;\n }\n\n /**\n * Set key-value pair in store.\n *\n * @param key Key to set.\n * @param value Value to set.\n */\n set(key: string, value: unknown): void {\n if (value === undefined || value === null) {\n return this.remove(key);\n }\n this._storage.setItem(this._getKey(key), typeof value === 'string' ? `${STR_PREFIX}${value}` : JSON.stringify(value));\n }\n\n /**\n * Remove key-value pair from store.\n *\n * @param key Key to remove.\n */\n remove(key: string): void {\n this._storage.removeItem(this._getKey(key));\n }\n\n /**\n * Iterate all key-value pairs in store.\n *\n * @param callback Callback function to call for each key-value pair in the store.\n */\n each(callback: (name: string, value: unknown) => void): void {\n for (let i = 0; i < this._storage.length; i++) {\n const key = this._storage.key(i);\n if (key?.startsWith(this._name)) {\n const value = this._storage.getItem(key);\n if (typeof value === 'string') {\n callback(key.substring(this._name.length + 1), JSON.parse(value));\n }\n }\n }\n }\n\n /**\n * Get all key values in store.\n *\n * @returns All key-value pairs in the store.\n */\n getAll(): Record {\n const result: Record = {};\n this.each((key, value) => {\n result[key] = value;\n });\n return result;\n }\n}\n","import {Store, StoreType} from './store';\n\nexport type {Store} from './store';\n\nexport const store = new Store('DEFAULT');\n\nfunction createStore(name?: string, type: StoreType = 'local') {\n return new Store(name, type);\n}\n\nObject.assign(store, {create: createStore});\n","import {Icon, classes, mergeProps, $, isValidElement} from '@zui/core';\nimport {store} from '@zui/store';\nimport {List} from './list';\nimport '@zui/css-icons/src/icons/caret.css';\n\nimport type {ComponentChild, ComponentChildren, RenderableProps} from 'preact';\nimport type {ClassNameLike} from '@zui/core';\nimport type {Item, ItemKey} from '@zui/common-list';\nimport type {CheckedType} from '@zui/checkbox';\nimport type {ListItemsSetting, NestedItem, NestedListProps, NestedListState} from '../types';\n\nexport type MouseEventInfo = {\n index: number;\n item: NestedItem;\n renderedItem: NestedItem;\n element: HTMLElement;\n target: HTMLElement;\n event: MouseEvent;\n key: ItemKey;\n parentKey?: ItemKey;\n hover?: boolean;\n keyPath: string;\n};\n\nexport type ItemInfo = {\n key: string;\n level: number;\n keyPath: string;\n parentKey?: string;\n parent?: ItemInfo;\n children: ItemInfo[];\n data: Item;\n};\n\nfunction forEachChild(item: ItemInfo, callback: (child: ItemInfo) => void) {\n const {children} = item;\n if (!children.length) {\n return;\n }\n children.forEach(child => {\n callback(child);\n forEachChild(child, callback);\n });\n}\n\nfunction forEachParent(item: ItemInfo, callback: (parent: ItemInfo) => void) {\n let parent = item.parent;\n while (parent) {\n callback(parent);\n parent = parent.parent;\n }\n}\n\nfunction parentKeys(keyPath: string) {\n return keyPath.split(':').reduce((keys, item, index) => {\n keys.push(index ? keys[index - 1] + ':' + item : item);\n return keys;\n }, []);\n}\n\n\nfunction reduceNestedItems(items: Item[], itemKey: string | undefined, reducer: (previousValue: T, info: ItemInfo) => T, initialValue: T, level = 0, parent?: ItemInfo): T {\n return items.reduce((currentValue, item, index) => {\n if (!item) {\n return currentValue;\n }\n const key = String((itemKey ? item[itemKey] : item.key) ?? (item.key ?? index));\n const keyPath = parent ? `${parent.keyPath}:${key}` : key;\n const itemInfo = {\n key,\n level,\n keyPath,\n parentKey: parent?.keyPath,\n parent: parent,\n data: item,\n children: [],\n };\n if (parent) {\n parent.children.push(itemInfo);\n }\n currentValue = reducer(currentValue, itemInfo);\n if (Array.isArray(item.items)) {\n return reduceNestedItems(item.items as Item[], itemKey, reducer, currentValue, level + 1, itemInfo);\n }\n return currentValue;\n }, initialValue);\n}\n\nexport class NestedList

    extends List {\n static defaultProps: Partial = {\n ...List.defaultProps,\n defaultNestedShow: false,\n level: 0,\n indent: 20,\n } as Partial;\n\n static inheritNestedProps = ['component', 'name', 'itemName', 'itemKey', 'indent', 'hover', 'divider', 'multiline', 'toggleIcons', 'nestedToggle', 'accordion', 'itemRender', 'itemProps', 'beforeRenderItem', 'onToggle', 'checkbox', 'getItem', 'checkOnClick', 'selectOnChecked', 'checkedState', 'onClickItem', 'activeOnHover', 'multipleActive', 'onActive'];\n\n protected declare _hasNestedItems: boolean;\n\n protected declare _storeID: string;\n\n protected declare _renderedItemMap: Map;\n\n protected declare _itemMap?: Map;\n\n protected declare _itemMapCache: Map;\n\n protected declare _needInitChecks?: boolean;\n\n constructor(props: P) {\n super(props);\n const {defaultNestedShow, preserve, nestedShow} = props;\n $.extend(\n this.state,\n typeof defaultNestedShow === 'boolean' ? {defaultShow: defaultNestedShow, nestedShow: {}} : {nestedShow: defaultNestedShow || {}},\n nestedShow !== undefined ? {nestedShow} : null,\n );\n if (preserve && nestedShow === undefined) {\n this._storeID = `${this.constructor.NAME}:${preserve}:state`;\n const storeState = store.get(this._storeID) as NestedListState;\n if (storeState) {\n (this.state as NestedListState).nestedShow = storeState.nestedShow;\n }\n }\n\n if (!props.level) {\n const nestedState = this.state.nestedShow;\n if (nestedState) {\n Object.keys(nestedState).forEach(key => {\n if (!nestedState[key]) {\n return;\n }\n parentKeys(key).forEach(parentKey => {\n nestedState[parentKey] = true;\n });\n });\n }\n this._needInitChecks = true;\n }\n\n this._renderedItemMap = new Map();\n this._handleClick = this._handleClick.bind(this);\n this._beforeRenderNestedItem = this._beforeRenderNestedItem.bind(this);\n this._handleNestedToggle = this._handleNestedToggle.bind(this);\n this._handleNestedCheck = this._handleNestedCheck.bind(this);\n this._preserveState = this._preserveState.bind(this);\n }\n\n get isRoot() {\n return !this.props.level;\n }\n\n get nestedShow() {\n return this.props.nestedShow ?? this.state.nestedShow ?? false;\n }\n\n async setItems(items?: Item[] | undefined, error?: Error | undefined) {\n if (this.isRoot) {\n this._needInitChecks = true;\n }\n const state = await super.setItems(items, error);\n if (items && this.props.parent?.checked === true) {\n this.toggleChecked(this._renderedItems.map(x => x.key!), true);\n } else if (items?.some((x) => x.checked)) {\n this._needInitChecks = true;\n this.forceUpdate();\n }\n return state;\n }\n\n getItemMap(useCache?: boolean) {\n if (useCache && (this._itemMap || this._itemMapCache)) {\n return this._itemMap || this._itemMapCache;\n }\n if (!this._itemMap) {\n let needCheckRenderItems = false;\n const map: Map = reduceNestedItems(this._items, this.props.itemKey, (currentMap, info) => {\n currentMap.set(info.keyPath, info);\n if (info.data.items && !Array.isArray(info.data.items)) {\n needCheckRenderItems = true;\n }\n return currentMap;\n }, new Map());\n if (needCheckRenderItems) {\n this._renderedItemMap.forEach((item, keyPath) => {\n if (map.has(keyPath)) {\n return;\n }\n map.set(keyPath, {\n key: item.key,\n level: item._level,\n keyPath,\n parentKey: `${keyPath.split(':').slice(0, -1).join(':')}`,\n children: [],\n data: item,\n } as ItemInfo);\n });\n map.forEach((info) => {\n const {parentKey} = info;\n if (!parentKey) {\n return;\n }\n const parent = map.get(parentKey);\n if (parent) {\n parent.children.push(info);\n info.parent = parent;\n }\n });\n this._itemMapCache = map;\n return map;\n }\n this._itemMap = map;\n }\n return this._itemMap;\n }\n\n getRenderedItem(keyPath: string): Item | undefined {\n return this._renderedItemMap.get(keyPath);\n }\n\n getItem(keyPath: string) {\n const itemMap = this._itemMap || this._itemMapCache;\n if (itemMap) {\n return itemMap.get(keyPath)?.data;\n }\n const renderedItem = this.getRenderedItem(keyPath);\n return renderedItem ? (renderedItem._item as Item) : super.getItem(keyPath);\n }\n\n isExpanded(keyPath: string) {\n const {nestedShow} = this;\n if (typeof nestedShow === 'boolean') {\n return nestedShow;\n }\n return !!(nestedShow[keyPath] ?? this.state.defaultShow);\n }\n\n async toggle(keyPath: string, toggle?: boolean, reset?: boolean) {\n const isExpanded = this.isExpanded(keyPath);\n if (!reset && toggle === isExpanded) {\n return;\n }\n if (toggle === undefined) {\n toggle = !isExpanded;\n }\n const {nestedShow, onToggle, accordion} = this.props;\n if (onToggle && onToggle.call(this, keyPath, toggle, reset) === false) {\n return;\n }\n if (nestedShow !== undefined) {\n return;\n }\n await this.changeState(prevState => {\n let newNestedShow: Record = {\n ...(reset ? {} : prevState.nestedShow),\n [keyPath]: toggle!,\n };\n if (toggle && accordion) {\n let parentKey = `${keyPath.split(':').slice(0, -1).join(':')}`;\n if (parentKey.length) {\n parentKey += ':';\n }\n Object.keys(newNestedShow).forEach(key => {\n if (key !== keyPath && key.startsWith(parentKey)) {\n newNestedShow[key] = false;\n }\n });\n }\n newNestedShow = toggle ? parentKeys(keyPath).reduce>((map, key) => {\n map[key] = toggle!;\n return map;\n }, newNestedShow) : newNestedShow;\n return {\n nestedShow: newNestedShow,\n } as Partial;\n }, this._preserveState);\n }\n\n toggleAll(show: boolean) {\n if (this.props.nestedShow !== undefined) {\n return;\n }\n return this.setState({nestedShow: {}, defaultShow: show}, this._preserveState);\n }\n\n getChecks() {\n return Array.from(this.getItemMap(true).values()).reduce((checks, {keyPath, data}) => {\n const checkState = this.state.checked[keyPath];\n if ((checkState === true || (data.checked && checkState !== false)) === true) {\n checks.push(keyPath);\n }\n return checks;\n }, []);\n }\n\n isChecked(key: ItemKey, index?: number, defaultChecked: CheckedType = false): CheckedType {\n const item = (typeof index === 'number' ? this._items[index] : this.getItem(key)) || {};\n if (this.isRoot) {\n return this.state.checked[key] ?? (item.checked as CheckedType) ?? defaultChecked;\n }\n return this.props.checkedState![`${this.props.parentKey}:${key}`] ?? (item.checked as CheckedType) ?? defaultChecked;\n }\n\n async toggleChecked(keyOrChange: ItemKey | ItemKey[] | Record, checked?: CheckedType) {\n let change: Record;\n if (Array.isArray(keyOrChange)) {\n if (!keyOrChange.length) {\n return;\n }\n if (checked === undefined) {\n checked = !this.isChecked(keyOrChange[0]);\n }\n change = keyOrChange.reduce>((map, key) => {\n map[key] = checked!;\n return map;\n }, {});\n } else if (typeof keyOrChange === 'object') {\n change = keyOrChange;\n } else {\n if (checked === undefined) {\n checked = !this.isChecked(keyOrChange);\n }\n change = {[keyOrChange]: checked!};\n }\n if (!Object.keys(change).length) {\n return;\n }\n if (this.isRoot) {\n await this.changeState(({checked: prevChecked, nestedShow: preNestedShow}) => {\n const isChecked = (item: ItemInfo) => {\n return change[item.keyPath] ?? prevChecked[item.keyPath] ?? item.data.checked ?? false;\n };\n const map = this.getItemMap();\n const nestedShow: Record = {};\n const {expandChildrenOnCheck} = this.props;\n Object.keys(change).forEach(key => {\n checked = change[key];\n const item = map.get(key);\n if (!item) {\n return;\n }\n forEachChild(item, child => {\n if (isChecked(child) !== checked) {\n change[child.keyPath] = checked!;\n }\n });\n forEachParent(item, parent => {\n const {children} = parent;\n const checkedCount = children.reduce((count, child) => {\n if (isChecked(child)) {\n count++;\n }\n return count;\n }, 0);\n\n change[parent.keyPath] = checkedCount === children.length ? true : (checkedCount ? 'indeterminate' : false);\n });\n if (expandChildrenOnCheck && checked && item.data.items) {\n nestedShow[key] = true;\n }\n });\n return {\n checked: {\n ...prevChecked,\n ...change,\n },\n nestedShow: {\n ...preNestedShow,\n ...nestedShow,\n },\n } as Partial;\n }, () => {\n const checkState = this.state.checked;\n this.props.onCheck?.call(this, change, Object.keys(checkState).filter(x => checkState[x] === true));\n });\n return;\n }\n\n const {parentKey, onCheck} = this.props;\n const nestedChange = Object.keys(change).reduce>((map, key) => {\n map[`${parentKey !== undefined ? `${parentKey}:` : ''}${key}`] = change[key];\n return map;\n }, {});\n onCheck!.call(this, nestedChange, []);\n }\n\n getKeyPath(key: string) {\n if (this.isRoot) {\n return key;\n }\n const parentKey = this.props.parentKey!;\n if (!key.startsWith(parentKey + ':')) {\n return `${parentKey}:${key}`;\n }\n return key;\n }\n\n isActive(keyPath: string | Item) {\n if (typeof keyPath === 'object') {\n const keyOrKeyPath = (keyPath._keyPath ?? keyPath.key) as (string | undefined);\n if (keyOrKeyPath === undefined) {\n return false;\n }\n keyPath = keyOrKeyPath;\n }\n return this._activeSet.cache.has(this.getKeyPath(keyPath));\n }\n\n async toggleActive(keys: string | string[], active?: boolean) {\n if (typeof keys === 'string') {\n keys = [keys];\n }\n keys = keys.map(key => this.getKeyPath(key));\n if (this.isRoot) {\n await super.toggleActive(keys, active);\n if (this.props.toggleOnActive) {\n (keys as string[]).forEach(key => {\n if (this.isActive(key) && !this.isExpanded(key)) {\n this.toggle(key, true);\n }\n });\n }\n return;\n }\n\n this.props.onActive!.call(this, keys, active ?? !this.isActive(keys[0]));\n }\n\n activeNext(condition?: (item: Item, index: number) => boolean, step = 1) {\n const nextItem = this.getNextItem(this.getActiveKey(), condition, step);\n if (nextItem) {\n this.toggleActive(nextItem._keyPath as string);\n }\n }\n\n getNextItem(key: string | undefined, condition?: (item: Item, index: number) => boolean, step = 1, items: Item[] | undefined = undefined): Item | undefined {\n items = items || reduceNestedItems(this._items, this.props.itemKey, (list, info) => {\n if (info.data.disabled) {\n return list;\n }\n list.push({\n _keyPath: info.keyPath,\n type: 'item',\n ...info.data,\n ...this._renderedItemMap.get(info.keyPath),\n key: info.keyPath,\n });\n return list;\n }, []);\n return super.getNextItem(key, condition, step, items);\n }\n\n protected _afterRender(firstRender: boolean): void {\n super._afterRender(firstRender);\n if (this._needInitChecks) {\n const initChecks: Record = {};\n const itemMap = this.getItemMap();\n itemMap.forEach(item => {\n if (item.data.checked !== undefined) {\n initChecks[item.keyPath] = item.data.checked as CheckedType;\n }\n });\n this.toggleChecked(initChecks);\n this._needInitChecks = false;\n }\n }\n\n protected _preserveState() {\n if (this._storeID) {\n store.set(this._storeID, {nestedShow: this.state.nestedShow});\n }\n }\n\n protected _getClassName(props: RenderableProps

    ): ClassNameLike {\n return [super._getClassName(props), 'is-nested', props.level ? 'is-nested-sub' : 'is-nested-root'];\n }\n\n protected _getNestedProps(props: RenderableProps

    , items: ListItemsSetting, item: NestedItem, expanded: boolean): NestedListProps {\n const {\n parentKey,\n level = 0,\n } = props;\n const {isRoot} = this;\n return mergeProps(((this.constructor as typeof NestedList).inheritNestedProps.reduce>((propMap, key) => {\n propMap[key] = props[key as keyof P];\n return propMap;\n }, {})), {\n key: item.key,\n level: level + 1,\n className: `is-nested-${expanded ? 'expanded' : 'collapsed'}`,\n items,\n parent: item,\n parentKey: parentKey ? `${parentKey}:${item.key}` : item.key,\n nestedShow: this.nestedShow,\n defaultNestedShow: this.state.defaultShow,\n checkedState: props.checkedState || this.state.checked,\n onCheck: isRoot ? this._handleNestedCheck : props.onCheck,\n onToggle: isRoot ? this._handleNestedToggle : props.onToggle,\n beforeRenderItem: isRoot ? this._beforeRenderNestedItem : props.beforeRenderItem,\n active: isRoot ? this.getActiveKeys() : props.active,\n onActive: isRoot ? this.toggleActive.bind(this) : props.onActive,\n }, item.listProps);\n }\n\n protected _renderNestedList(props: RenderableProps

    , items: ListItemsSetting, item: NestedItem, expanded: boolean): ComponentChildren {\n if (!expanded && !props.renderCollapsedList) {\n return;\n }\n const nestedListProps = this._getNestedProps(props, items, item, expanded);\n const NestedListComponent = this.constructor as typeof NestedList;\n return ;\n }\n\n protected _renderNestedToggle(props: RenderableProps

    , isExpanded: boolean | undefined): ComponentChild {\n let toggleIcon: ComponentChild;\n let toggleClass = '';\n const {toggleIcons = {}} = props;\n if (typeof isExpanded === 'boolean') {\n toggleIcon = isExpanded ? (toggleIcons.expanded || ) : (toggleIcons.collapsed || );\n toggleClass = `state is-${isExpanded ? 'expanded' : 'collapsed'}`;\n if (!isValidElement(toggleIcon)) {\n toggleIcon = ;\n }\n } else {\n toggleIcon = ;\n toggleClass = 'is-empty';\n }\n return {toggleIcon};\n }\n\n protected _getItems(props: RenderableProps

    ): Item[] {\n const items = super._getItems(props);\n if (this.isRoot && items !== this._items) {\n this._itemMap = undefined;\n }\n return items;\n }\n\n protected _getItem(props: RenderableProps

    , item: NestedItem, index: number): NestedItem | false {\n const nestedItem = super._getItem(props, item, index) ?? item;\n if (!nestedItem) {\n return nestedItem;\n }\n const {parentKey} = props;\n const key = nestedItem.key!;\n const keyPath = `${parentKey !== undefined ? `${parentKey}:` : ''}${key}`;\n if (nestedItem.items) {\n const expanded = nestedItem.expanded ?? this.isExpanded(keyPath);\n mergeProps(nestedItem, {\n expanded: expanded,\n className: ['is-nested', `is-nested-${expanded ? 'show' : 'hide'}`],\n });\n this._hasNestedItems = true;\n }\n return mergeProps(nestedItem, {\n _level: props.level,\n _keyPath: keyPath,\n parentKey,\n });\n }\n\n protected _beforeRenderNestedItem(item: NestedItem): NestedItem | false {\n this._renderedItemMap.set(item._keyPath as string, item);\n return item;\n }\n\n protected _renderItem(props: RenderableProps

    , renderedItem: NestedItem, index: number): ComponentChildren {\n if ((this._hasNestedItems || !this.isRoot) && renderedItem.type === 'item' && renderedItem.toggleIcon === undefined) {\n renderedItem.toggleIcon = this._renderNestedToggle(props, renderedItem.expanded as boolean | undefined);\n }\n const nestedListContent = renderedItem.items ? this._renderNestedList(props, renderedItem.items, renderedItem, renderedItem.expanded as boolean) : null;\n renderedItem = mergeProps(renderedItem, {\n 'z-parent': renderedItem.parentKey,\n 'z-key-path': renderedItem._keyPath,\n }, nestedListContent ? {children: nestedListContent} : null);\n this._renderedItemMap.set(renderedItem._keyPath as string, renderedItem);\n return super._renderItem(props, renderedItem, index);\n }\n\n protected _getItemFromEvent(event: MouseEvent, target?: HTMLElement): MouseEventInfo | undefined {\n target = target || event.target as HTMLElement;\n let info = super._getItemFromEvent(event, target) as MouseEventInfo;\n if (!info) {\n const listEle = target.closest('[z-list]') as HTMLElement;\n if (listEle) {\n const listKey = listEle.getAttribute('z-list')!;\n const item = this.getItem(listKey);\n const renderedItem = this.getRenderedItem(listKey);\n if (!item || !renderedItem) {\n return;\n }\n info = {\n target,\n index: renderedItem._index as number,\n item,\n element: listEle,\n event,\n key: listKey,\n keyPath: listKey,\n renderedItem,\n };\n }\n return;\n }\n if (event.type === 'mouseenter' || event.type === 'mouseleave' || event.type === 'mouseover') {\n info.hover = event.type !== 'mouseleave';\n }\n const {parentKey} = this.props;\n return {...info, parentKey, keyPath: `${parentKey !== undefined ? `${parentKey}:` : ''}${info.key}`, target};\n }\n\n protected _handleNestedToggle(key: ItemKey, toggle: boolean, reset?: boolean) {\n this.toggle(key, toggle, reset);\n }\n\n protected _handleClick(event: MouseEvent) {\n const info = super._handleClick(event);\n if (info) {\n const {item, keyPath, target} = info as MouseEventInfo;\n const {nestedToggle} = this.props;\n if (!item.items || event.defaultPrevented || target.closest('.not-nested-toggle') || (nestedToggle && !item.disabled && !target.closest(nestedToggle)) || (!nestedToggle && !item.disabled && target.closest('a,.btn,.item-checkbox,.open-url,input,select,textarea') && !target.closest('.nested-toggle-icon,.item-icon'))) {\n return info;\n }\n this.toggle(keyPath);\n event.preventDefault();\n }\n return info;\n }\n\n protected _handleNestedCheck(change: Record) {\n this.toggleChecked(change);\n }\n\n protected _getProps(props: RenderableProps

    ): Record {\n const {level = 0, indent = 20, parentKey} = props;\n const finalProps = mergeProps(super._getProps(props), {\n 'z-level': level,\n 'z-list': parentKey,\n style: {'--list-nested-indent': `${level * indent}px`, '--list-indent': `${indent}px`},\n className: this._hasNestedItems ? 'has-nested-items' : 'no-nested-items',\n });\n finalProps.className = classes(finalProps.className as ClassNameLike);\n return finalProps;\n }\n\n protected _beforeRender(props: RenderableProps

    ): void | RenderableProps

    | undefined {\n this._renderedItemMap.clear();\n this._hasIcons = false;\n this._hasNestedItems = false;\n return super._beforeRender(props);\n }\n}\n","import {CustomContent, classes, mergeProps} from '@zui/core';\nimport {NestedList, Listitem} from '@zui/list/src/component';\n\nimport type {Attributes, ComponentChildren, RenderableProps} from 'preact';\nimport type {ClassNameLike} from '@zui/core';\nimport type {NestedListState} from '@zui/list';\nimport type {MenuOptions, MenuSetting} from '../types';\n\nexport class Menu extends NestedList {\n static NAME = 'menu';\n\n static TAG = 'menu';\n\n static inheritNestedProps = [...NestedList.inheritNestedProps, 'compact'];\n\n static ItemComponents: typeof NestedList.ItemComponents = {\n ...NestedList.ItemComponents,\n item: [Listitem, {innerComponent: 'a'}],\n };\n\n static defaultProps: Partial = {\n ...NestedList.defaultProps,\n scrollbarHover: true,\n };\n\n protected declare _hoverInfo?: {timer: number, keyPath?: string | null, shown?: boolean};\n\n constructor(props: T) {\n super(props);\n this._handleHover = this._handleHover.bind(this);\n }\n\n get isHoverTrigger() {\n return this.props.nestedTrigger === 'hover';\n }\n\n protected _getClassName(props: RenderableProps): ClassNameLike {\n return [super._getClassName(props), this._hasNestedItems ? 'menu-nested' : '', props.className, props.wrap ? {'scrollbar-thin': props.scrollbarThin, 'scrollbar-hover': props.scrollbarHover} : {popup: props.popup, compact: props.compact}];\n }\n\n protected _getWrapClass(props: RenderableProps): ClassNameLike {\n return ['menu-wrapper', props.wrapClass, {popup: props.popup, compact: props.compact}];\n }\n\n protected _getWrapperProps(props: RenderableProps): Record {\n const {wrapAttrs, height, maxHeight, parentKey} = props;\n const wrapProps = mergeProps(\n {'z-list-wrapper': parentKey},\n wrapAttrs,\n (height || maxHeight) ? {style: {height, maxHeight}} : null,\n this.isRoot && this.isHoverTrigger ? {\n onMouseEnter: this._handleHover,\n onMouseLeave: this._handleHover,\n onMouseOver: this._handleHover,\n } : null,\n );\n wrapProps.className = classes(this._getWrapClass(props), wrapProps.className as ClassNameLike);\n return wrapProps;\n }\n\n protected _renderWrapperHeader(props: RenderableProps): ComponentChildren {\n return ;\n }\n\n protected _renderWrapperFooter(props: RenderableProps): ComponentChildren {\n return ;\n }\n\n protected _handleHover(event: MouseEvent) {\n const target = event.target;\n if (!(target instanceof HTMLElement) || !this.isHoverTrigger) {\n return;\n }\n\n let keyPath: string | null | undefined;\n if (event.type !== 'mouseleave') {\n const itemEle = target.closest('[z-item]');\n if (itemEle) {\n keyPath = itemEle.getAttribute('z-key-path') as string;\n if (!itemEle.classList.contains('is-nested')) {\n keyPath = itemEle.getAttribute('z-parent') as string;\n }\n } else {\n const listEle = target.closest('[z-list-wrapper]');\n keyPath = listEle?.getAttribute('z-list-wrapper');\n }\n }\n\n const lastInfo = this._hoverInfo;\n const lastKeyPath = lastInfo?.keyPath;\n if (lastKeyPath === keyPath) {\n return;\n }\n if (lastInfo?.timer) {\n clearTimeout(lastInfo.timer);\n }\n const hasKey = typeof keyPath === 'string';\n const lastHasKey = typeof lastKeyPath === 'string';\n const delay = hasKey ? ((lastHasKey && lastInfo?.shown) ? 50 : 200) : (lastInfo?.shown ? 100 : 200);\n this._hoverInfo = {\n keyPath,\n timer: window.setTimeout(() => {\n if (hasKey) {\n this.toggle(keyPath!, true, true);\n this._hoverInfo!.shown = true;\n } else {\n this.toggleAll(false);\n this._hoverInfo = undefined;\n }\n }, delay),\n };\n }\n\n componentWillUnmount(): void {\n super.componentWillUnmount();\n const timer = this._hoverInfo?.timer;\n if (timer) {\n clearTimeout(timer);\n }\n }\n\n render(props: RenderableProps) {\n const menuView = super.render(props);\n if (props.wrap) {\n return (\n

    \n {this._renderWrapperHeader(props)}\n {menuView}\n {this._renderWrapperFooter(props)}\n \n );\n }\n return menuView;\n }\n\n static render(this: unknown, setting: MenuSetting | undefined, args: T, defaultProps?: Partial & Attributes, thisObject?: unknown) {\n let menuOptions = typeof setting === 'function' ? setting.call(thisObject ?? this, ...args) : setting;\n if (!menuOptions) {\n return;\n }\n if (Array.isArray(menuOptions)) {\n menuOptions = {\n items: menuOptions,\n };\n }\n if (defaultProps) {\n menuOptions = mergeProps(defaultProps as Record, menuOptions);\n }\n return ;\n }\n}\n","import {Component, createRef} from 'preact';\nimport {$, classes, getHotkeysMap, Icon, nextGid} from '@zui/core';\nimport '../style';\n\nimport type {ComponentChildren, RenderableProps} from 'preact';\nimport type {SearchBoxOptions, SearchBoxState} from '../types';\n\nexport class SearchBox extends Component {\n static defaultProps: Partial = {\n clearIcon: true,\n searchIcon: true,\n delay: 500,\n hotkeys: true,\n };\n\n protected _gid: string;\n\n protected _input = createRef();\n\n protected _timer = 0;\n\n protected _hotkeysScope?: string;\n\n constructor(props: SearchBoxOptions) {\n super(props);\n this.state = {focus: false, value: props.defaultValue || ''};\n this._gid = props.id || `search-box-${nextGid()}`;\n }\n\n componentDidMount(): void {\n const {hotkeys} = this.props;\n if (hotkeys) {\n const hotkeysMap = getHotkeysMap(hotkeys, {\n clear: {\n keys: 'Escape',\n handler: (event) => {\n this.clear(event);\n },\n },\n enter: {\n keys: 'Enter',\n handler: (event) => {\n this.props.onEnter?.(this.state.value, event);\n },\n },\n });\n if (hotkeysMap) {\n this._hotkeysScope = `SearchBox_${this._gid}`;\n $(this.input).hotkeys(hotkeysMap, {\n scope: this._hotkeysScope,\n event: 'keydown',\n });\n }\n }\n }\n\n componentWillUnmount(): void {\n if (this._hotkeysScope) {\n $(this.input).unbindHotkeys(this._hotkeysScope);\n }\n }\n\n get id() {\n return this._gid;\n }\n\n get input() {\n return this._input.current;\n }\n\n focus() {\n this.input?.focus();\n }\n\n blur() {\n this.input?.blur();\n }\n\n clear(event?: Event) {\n const oldValue = this.state.value;\n this.setState({value: ''}, () => {\n const {onChange, onClear} = this.props;\n onClear?.(event);\n this.focus();\n if (oldValue.trim() !== '') {\n onChange?.('', event);\n }\n });\n }\n\n _handleClearBtnClick = (event: MouseEvent) => {\n event.stopPropagation();\n this.clear(event);\n };\n\n _handleChange = (event: Event) => {\n const oldValue = this.state.value;\n const value = (event.target as HTMLInputElement).value;\n const {onChange, delay} = this.props;\n this.setState({value}, () => {\n if (!onChange || oldValue === value) {\n return;\n }\n if (delay) {\n this._clearTimer();\n this._timer = window.setTimeout(() => {\n onChange(value, event);\n this._timer = 0;\n }, delay);\n } else {\n onChange(value, event);\n }\n });\n };\n\n _handleFocus = (event: FocusEvent) => {\n const focus = event.type === 'focus';\n this.setState({focus}, () => {\n const callback = focus ? this.props.onFocus : this.props.onBlur;\n callback?.(event);\n });\n };\n\n _clearTimer() {\n if (this._timer) {\n clearTimeout(this._timer);\n }\n this._timer = 0;\n }\n\n render(props: RenderableProps, state: Readonly) {\n const {style, className, rootClass, rootStyle, readonly, disabled, circle, placeholder, mergeIcon, searchIcon, clearIcon, value: controlledValue, compact, prefixClass, suffixClass} = props;\n const {focus, value} = state;\n const {id} = this;\n const finalValue = controlledValue ?? value;\n const empty = typeof finalValue !== 'string' || !finalValue.trim().length;\n let prefixView: ComponentChildren;\n let suffixView: ComponentChildren;\n let searchIconView: ComponentChildren;\n if (searchIcon) {\n searchIconView = searchIcon === true ? : ;\n }\n if (!mergeIcon && searchIcon) {\n prefixView = ;\n }\n if (clearIcon && !empty) {\n suffixView = (\n \n {clearIcon === true ? : }\n \n );\n } else if (mergeIcon && searchIcon) {\n suffixView = searchIconView;\n }\n if (suffixView) {\n suffixView = (\n \n );\n }\n\n return (\n
    \n {prefixView}\n \n {suffixView}\n
    \n );\n }\n}\n","import {$, classes, mergeProps} from '@zui/core';\nimport {SearchBox} from '@zui/search-box/src/components';\nimport {Menu} from './menu';\n\nimport {type ComponentChild, type ComponentChildren, type RenderableProps} from 'preact';\nimport type {ClassNameLike} from '@zui/core';\nimport type {Item, ItemKey} from '@zui/common-list';\nimport type {ListItemsSetting, NestedItem, NestedListItem, NestedListProps} from '@zui/list';\nimport type {SearchBoxOptions} from '@zui/search-box';\nimport type {SearchMenuOptions, SearchMenuState} from '../types';\n\nexport class SearchMenu extends Menu {\n static inheritNestedProps = [...Menu.inheritNestedProps, 'isItemMatch', 'search', 'underlineKeys', 'nestedSearch'];\n\n static defaultProps: Partial = {\n ...Menu.defaultProps,\n defaultNestedShow: true,\n wrap: true,\n nestedSearch: true,\n underlineKeys: true,\n };\n\n protected declare _searchKeys: string[];\n\n protected declare _matchedParents: Set;\n\n protected declare _showCount: number;\n\n constructor(props: T) {\n super(props);\n (this.state as SearchMenuState).search = props.search ?? props.defaultSearch;\n this._searchKeys = (this.constructor as typeof SearchMenu).getSearchKeys(this.state.search);\n this._isNestedItemMatch = this._isNestedItemMatch.bind(this);\n }\n\n componentWillUpdate(nextProps: Readonly): void {\n if (this.isRoot) {\n if (nextProps.search !== undefined && nextProps.search !== this.props.search) {\n this._searchKeys = (this.constructor as typeof SearchMenu).getSearchKeys(nextProps.search);\n }\n }\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n this._updateMatchedParents();\n }\n\n componentDidUpdate(): void {\n super.componentDidUpdate();\n this._updateMatchedParents();\n }\n\n isExpanded(keyPath: string): boolean {\n if (this.props.expandOnSearch && this._searchKeys.length) {\n return true;\n }\n return super.isExpanded(keyPath);\n }\n\n protected _updateMatchedParents(): void {\n if (!this.isRoot) {\n return;\n }\n const $element = $(this.element);\n const $matchedChildren = $element.find('.item.is-nested.is-not-match').filter((_, element) => this._matchedParents.has(element.getAttribute('z-key-path') || '')).addClass('has-match-child');\n $element.parent().toggleClass('no-match-child', !!this._searchKeys?.length && !$matchedChildren.length && !$element.children('.item').not('.is-not-match').length);\n }\n\n protected _handleSearchChange = (search: string) => {\n const searchKeys = (this.constructor as typeof SearchMenu).getSearchKeys(search);\n this._searchKeys = searchKeys;\n this.setState({search: searchKeys.join(' ')});\n };\n\n protected _isItemMatch(props: RenderableProps, item: NestedItem, index: number, parentKey: ItemKey | undefined) {\n const {isItemMatch, nestedSearch} = props;\n const isMatch = isItemMatch ? isItemMatch.call(this, item, this._searchKeys, index, parentKey) : (this.constructor as typeof SearchMenu).isItemMatch(item, this._searchKeys, props.searchProps);\n if ((nestedSearch && this.isRoot) && isMatch && parentKey !== undefined) {\n let key = '';\n String(parentKey).split(':').forEach(x => {\n key += `${key.length ? ':' : ''}${x}`;\n this._matchedParents.add(key);\n });\n }\n return isMatch;\n }\n\n protected _isNestedItemMatch(item: NestedItem, _searchKeys: string[], index: number, parentKey: ItemKey | undefined): boolean {\n return this._isItemMatch(this.props, item, index, parentKey);\n }\n\n protected _getNestedProps(props: RenderableProps, items: ListItemsSetting, item: NestedItem, expanded: boolean): NestedListProps {\n const nestedProps = super._getNestedProps(props, items, item, expanded) as SearchMenuOptions;\n if (this.isRoot && props.nestedSearch) {\n nestedProps.isItemMatch = this._isNestedItemMatch;\n nestedProps.search = this._searchKeys.join(' ');\n } else if (!props.nestedSearch) {\n mergeProps(nestedProps as Record, {search: undefined, defaultSearch: undefined}, item.listProps);\n }\n return nestedProps;\n }\n\n protected _getItem(props: RenderableProps, item: NestedItem, index: number): NestedItem | false {\n const finalItem = super._getItem(props, item, index);\n if (!finalItem) {\n return finalItem;\n }\n if (this.isRoot && this.props.limit && this._showCount >= this.props.limit) {\n return false;\n }\n finalItem.hidden = !this._isItemMatch(props, item, index, props.parentKey);\n if (!finalItem.hidden) {\n this._showCount++;\n }\n return finalItem;\n }\n\n protected _renderItem(props: RenderableProps, item: Item, index: number): ComponentChildren {\n item.className = [item.className, item.hidden ? 'is-not-match' : ''];\n if (props.underlineKeys && this._searchKeys.length) {\n ['text', 'title', 'subtitle', 'content'].forEach(key => {\n if (typeof item[key] === 'string') {\n item[key] = (this.constructor as typeof SearchMenu).underlineKeys(this._searchKeys, [item[key] as string]);\n }\n });\n }\n return super._renderItem(props, item, index);\n }\n\n protected _getWrapClass(props: RenderableProps): ClassNameLike {\n const isSearchMode = this.isRoot && this._searchKeys.length;\n return classes(super._getWrapClass(props), 'search-menu', props.searchBox ? `search-menu-on-${props.searchPlacement || 'top'}` : '', isSearchMode ? 'is-search-mode' : '', isSearchMode && props.expandOnSearch ? 'no-toggle-on-search' : '');\n }\n\n protected _getSearchBoxProps(props: RenderableProps): SearchBoxOptions {\n const {searchBox} = props;\n const searchOptions: SearchBoxOptions = {\n compact: true,\n className: 'not-nested-toggle',\n onChange: this._handleSearchChange,\n };\n if (typeof searchBox === 'object') {\n mergeProps(searchOptions, searchBox);\n }\n if (props.search !== undefined) {\n searchOptions.value = this._searchKeys.join(' ');\n searchOptions.disabled = true;\n }\n return searchOptions;\n }\n\n protected _renderSearchBox(props: RenderableProps): ComponentChildren {\n const searchBoxOptions = this._getSearchBoxProps(props);\n return ;\n }\n\n protected _renderWrapperHeader(props: RenderableProps): ComponentChildren {\n const hasHeader = props.header;\n const {noMatchHint, searchBox, searchPlacement, nestedSearch, headerClass} = props;\n const hasTopSearchBox = (!nestedSearch || this.isRoot) && searchBox && searchPlacement !== 'bottom';\n if (!hasHeader && !hasTopSearchBox && !noMatchHint) {\n return null;\n }\n return [\n noMatchHint ?
    {noMatchHint}
    : null,\n (hasHeader || hasTopSearchBox) ? (
    \n {hasHeader ? super._renderWrapperHeader(props) : null}\n {hasTopSearchBox ? this._renderSearchBox(props) : null}\n
    ) : null,\n ];\n }\n\n protected _renderWrapperFooter(props: RenderableProps): ComponentChildren {\n const hasFooter = props.footer;\n const {searchBox, searchPlacement, nestedSearch, footerClass} = props;\n const hasBottomSearchBox = (!nestedSearch || this.isRoot) && searchBox && searchPlacement === 'bottom';\n if (!hasFooter && !hasBottomSearchBox) {\n return null;\n }\n return (\n
    \n {hasFooter ? super._renderWrapperFooter(props) : null}\n {hasBottomSearchBox ? this._renderSearchBox(props) : null}\n
    \n );\n }\n\n protected _beforeRender(props: RenderableProps): void | RenderableProps | undefined {\n if (this.isRoot) {\n this._matchedParents = new Set();\n this._showCount = 0;\n }\n return super._beforeRender(props);\n }\n\n /**\n * Check whether item is matched.\n *\n * @param item Item to match.\n * @param searchKeys Search keys.\n * @returns Whether item is matched.\n */\n static isItemMatch(item: Item, searchKeys: string[], searchProps = ['keys', 'text', 'title', 'subtitle']) {\n if (!searchKeys.length) {\n return true;\n }\n return searchKeys.every(searchKey => searchProps.some(propName => {\n const propValue = item[propName];\n return typeof propValue === 'string' && propValue.length && propValue.toLowerCase().includes(searchKey);\n }));\n }\n\n /**\n * Convert search string to search keys.\n *\n * @param search Search string.\n * @returns Search keys array.\n */\n static getSearchKeys(search: string = ''): string[] {\n return $.unique((search).toLowerCase().split(' ').filter(x => x.length)) as string[];\n }\n\n static underlineKeys(searchKeys: string[], text: string[], className = 'is-match-keys'): ComponentChild[] {\n return searchKeys.reduce((result, key) => {\n return [...result].reduce((list, span) => {\n if (typeof span !== 'string') {\n list.push(span);\n return list;\n }\n const parts = span.toLowerCase().split(key);\n if (parts.length === 1) {\n list.push(span);\n return list;\n }\n let start = 0;\n parts.forEach((part, index) => {\n if (index) {\n list.push({span.substring(start, start + key.length)});\n start += key.length;\n }\n list.push(span.substring(start, start + part.length));\n start += part.length;\n });\n return list;\n }, []);\n }, text);\n }\n}\n","import {ComponentFromReact} from '@zui/core';\nimport {Menu as MenuReact} from '../component';\n\nimport type {MenuOptions} from '../types';\n\nexport class Menu extends ComponentFromReact> {\n static NAME = 'Menu';\n\n static Component = MenuReact;\n\n static replace = MenuReact.TAG;\n}\n","import {ComponentFromReact} from '@zui/core';\nimport {SearchMenu as MenuReact} from '../component';\n\nimport type {SearchMenuOptions} from '../types';\n\nexport class SearchMenu extends ComponentFromReact {\n static NAME = 'SearchMenu';\n\n static Component = MenuReact;\n\n static replace = MenuReact.TAG;\n}\n","import {registerReactComponent} from '@zui/core';\nimport * as components from './index';\n\nregisterReactComponent(components);\n","import {isValidElement, ComponentChildren} from 'preact';\nimport {classes, CustomContent, Icon} from '@zui/core';\nimport {Button} from '@zui/button/src/component/button';\nimport type {ButtonProps} from '@zui/button';\nimport '@zui/css-icons/src/icons/close.css';\nimport {AlertOptions} from '../types';\nimport {Toolbar} from '@zui/toolbar/src/component';\n\nexport function Alert({\n className,\n style,\n actions,\n heading,\n content,\n contentClass,\n children,\n close,\n onClose,\n icon,\n iconClass,\n ...others\n}: AlertOptions) {\n let closeButton: ComponentChildren;\n if (close === true) {\n closeButton = ;\n } else if (isValidElement(close)) {\n closeButton = close;\n } else if (typeof close === 'object') {\n closeButton =
    ~ts%CY$1| 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

    -;UWKE_cZ`Wr%YQF^;x0({j+4rf_GWwlQ`e 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

    w7OV()ZH-% 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�t#yj;Jwsm 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%0D)=B5|O@B^h1Fiz9;fLv0cs4 zgzCF;(H_39X}sOKSg8T;#j6pXn5tR!#+C%PYNvn)BL~;fEU1WOwS{SO8p&Vkq;LeS zqxD&TTBKH7pL4lBPP4ac1%26>TKf2~^HwFha_34;^3KWuSQ@u8k9HQt5S)+bQ$hSE zcmTS^W)r^y!Gs{d7*^3yMq6KvXmJp~n9@J0*54vd+G-f^MYEv?0~lz&XcnrWfyyi$ zo4jmWZU{9)k(8w*;4?-^jEQhA?2ULgz|z@&M^f5V8}40JezO|uuvnlDtCs2EY5^4= zyYPjoqi*9N`Q<(c!=5Vz@agr5@iZ+yOfy9A)59OHAc7E*l+kQe@DB=q zVPtPCS?|L3My1m9{sr=4LQ8Zg@x&$$RFBs7trlf_tSSZS>YGhPvv$L#8`)Bq4I$zM zky+=32__wYW0PRj&d|5ylz^?yf=zAb?CX@Wq!b;w8C(_yObd$68RBFLr-ZV-v7g>z z=yyEtJDZka=ZI5b^Y5~7t+GGvDhW7$Hgz3onVo|LNyT?zD7SEYs+>fdg$w~ZQ?O^$ zP;p>^^c`G={HDzqGE`~1yTtlkWm4(zidfUT(ET|wpD}D2xh&pklV3RzKLPxTK;u(+ z)THM|EESW=a)4`=T1ME~XbqEzfqp17^@rUDi_N?n?7LCxZv2$S%(P`#j;30F(exmi z)=Fk!5aq*=pn4UzbWo{I_s#@9r}qii5kVW|8{k#voKVe%@Htd-a5@a7XYT&Hf%Z#u zkTKc^$s9!hECK`a9aP;13H$!NTy|6q#m})*8zG%0OJs^9C!o|ZMR5yG(E{5=-8Zcw zb*v#y{SdcFl@W9{L7a%t-s)jzfFQR7ztT3f955;dvJnE!c00n zlNOpl$XsILM&vt!I7p~}K5g4OA)08a_0ygiqa}0;&HZ+Dp=*<97 zn$9P3`J*h}ZP(y#+~97M8_V1ydRt(Sxj^0KKTY9je>~;|GxIg3^8OjAV#zL!Mfa?}bqVR>GQ9A$YX3ng4zO+Ug# zN$B88yQgOM`JtPLGC<<5HLAG{m%j8#wTD}+_bOSN5TdUxxV{qODitjsfJKE-!U;0u%7}596i|i zc8im9zWL<5aL5MAjAl-eh}5viYxZeo4_m3vR-x>FU9s;!o_;cMZ_->0`aMOLHZT|Qm9&Z$&lH6H~cZH}w&MfYrW|e^)?#6p{ ztP4#kl88-yF$$3Sr{SgCSZKvNucn~fTyxF{*v8Xe8Jd)qwJw}RjSV&{g^^}5QZIS- zy7Rg|DcjdIVd92~mSkSFu#|HcN=D8n9?Rr^jc5~}ed7Wz#cjA?_Xk&C({zC?7tXU` zvmv*DIf1|$kLQqNVk!nhlj#e>G=r93Y~Qu;tvdo5=+{Y7EF@R+#E7{)03|{|m=J)f z^57JW8F@lEQ-6#87$&6Eq3I=yb-IIs4+!wdZ?RQ^v|VDW6!ERHh;Nl->#f4TLTurG zvq>k+#u(3giV17&38bIRXY3LD$Q=u}gmRE@-qs@5=|-W`7AV`fr+$2>nmMmJgeb^JYf?^9L{DBFM z>f-7Ovg#QsHc*;xkf%&7bPBZ{m-rVaH3E}Ze}WkRt%}{IG3Dm;Guse$i*LVwmp0E+ zYq@;Xe{hF2@B3%(F)?hkIcyI;odyPf#RrB)&yIoNGuzPGftd<4F!M*}z_7Vt2#%8B zp?k9h-T5JF)18(XT`|Nm?*W?s0d5K64H3_?6*pi}6az4Y&fInqY=C==go&mA_0Gr* z0K9xJdPm=UmCi2o38>o`H@|j&+(mT2*4LzNj~|^q^hexr8o!Y@eutj@nb!81!<$hk zENsC#5)cdCBZ#sB_je_x==5x8cG|+wYi(T=8JP3H?rImjY6Z8}K3PNysYhK9@Ib5# z&+XC>PiNYOD#J57wx>n0NRu4h*l-iS%QkP~izI$|J{u9Fz6*$>{sAq2RuWiiqg2~O z%Y1h`KKH{K){NP$K32pWVveCRRWel4ZSguuArDs{50*)3M!au6W-uOCt7MuE4=$4F z^%W*0;BrF)ijvKP!vkjS{Me$8raKGNT_3k+MlJDG>_z1B3$R z!yOGC0`S~FtncSVq#p*Y+KIz}+}ndAwp}58D~CI7aIj~uahsZdzUmd`pD(_!4L5`L z5ALo3JmMNRxPuLU*J`8!BT@@-N@0`=!i)xS9XLf&`(^DNGuGR{8+)5p27ZQ<`JH=2ZhcK247*~sZ0m-bj9q&9*c zDn*<*F$+pH1LnRZR**^}SHUjOt#Tl^u(Z(UH9)Zdu@9R|DiHbOL^ zd1X-i0Ce+~=qBD@w2d!pMk?onsTx%-(-$(Q;4L`Yi%g)mP>S8C)^7i$l=?zYYMROj zslMn&J?y4`*#5x6>$iUPPau&Jq(?XZyP^CZ)RBiipqt-0a8FfAluYM9xo~+rE2o}t zZs4m{D$<3oVT(?}B348m>U^U!oo;j~e|{}AyJ;*1>3J*#>CH%FUoDBC>s@~1y+ zp|AcB;ZFx^fN6jXXn$qQ!&^I~PXHzjUFht2p*KPvmy(9Yl?ZpO_^_Iz!19BgSg4l> z-azkeJj?Rf%P^Zd^n|e)AXCNg;R&pR+>%SN%1e(T(3jaK%F~(KJnqud8wTXuTk=_R!1?d-bAMAXSf#!x33vgv8SVZa} zSK63ThrNH8v=Wl8Phd~!iwCs`fNP~V&LtLkjzU0FE|5@wxUKWvr}8jhwQR)d3TLx_ zvbhmC)&=xbqh8{8NEzxP)=&Ya>QB1R`DM9Q=@24#fljNlFoID(;7UiZe%1 zMd9*ET@Z@Qr~`V3M}xm;FEad-_Wp58KICpxkI5E5Lqk7tF<-HfX2D1)BB8%${u|@} z_4fAm@&7QQqxBd*q9Spmx6iqHcOP7d?!LyqCzsjE1U3Nxmk`SYJ%8x5JoA%NlESkfh39F3qPn4i2x67Nk7^j+ zgnBk#Cz>3Em@~2D_G=3WJLOhFfJ-sMS^V96?%p!p7x;R`? z*qLWAIgX-tW6lt_;Pj&vapP)+p1B$7q8yPUcZ89Nh~x$;ubX6%&5mTWVz>eA;(yS( z8Y){kB0%~(y=?DtF(|9ka_R%jtB0L;@AgWmsr=qhx$d#|lH+_h*=+`C8Z#bWHf#@` z)|LjrG8+z_+C8>8yeXk&zs#odJ}39#q}8&4yND;4IR7e$&rOO8T6aLZ#7V8n;;Kxm z$~Vi&K>I<`n6NjSIkk7+jykz>&3{s0D&*Zv%0tkcqaTL(@$`y+qIl(`TbS5?z!IBb z8Vdg2un$=|U8L-&06-|N>?x|^*|Py$dE5ir1+e-3i1xm3YjV9NtXDOd4rBbsy}e;S zOnEw2*t^bPVTAVF5xN*z4Bzf}6JNyl)EjI1lFje%3!UU4 zMwY>cok*nlBg<s(-}FIMHM#!Lft>UO;ZelvvJ$eqFm?6{b*pWa-n8SX9Ry z0u^;%3cLpbI_Z=Poo3tuIjYcQi?2;bSu;3z86zhOIx@a2F|jE^{Q$H9 zNomngjnYk)VKYkPn2~?ZIT&KpJ3_)z502+RWG@;cHoZhA6TFDOwSRX7+w%9@$%YsW zZlw7LxciV>%DZ`p@|0p`&&U!;Fk0(aj#R=kIHnvy_1R5ON@0NabAl6zEJtCMD1}U& zNtq6~JY(JrHZYx#U-5ZA4+dL*A*JJFR~~qA+i&F;^(R9dFd$wHAn$tSf4OfVIpP1m z#bTMoEJ2k%Ula*&>wo4G+Qr$>ZO~5vy8^l4@iq$GOAHTb9?{mtT(0Q#08Uxv<9By+ z%qmZ$iU7U`EnqHF;pweZuWEpg+`|~Nb`M`zo3hm}iZgpf$)oK%rhk?A5WDF{00%n} zRV2hYbL=4|0seL_G6Hv4;2(Qe9%^%63#Hy(S%Cu@Us`J2Pk&A8`58{vfa33^^;1|5 zZI<=K)S)EnU=0WPtj+dKaR&lYP;#bIYV1y>=@+6Iv)og1BJmA|DqDyc7@2OP@%(l} z8PjPB{MR=vQjHZ)8z9xY&H5qO3>uKNMBE)PH-Mb1$1-nQvVr$RLtZt7nV+MJbQo35 zRrgdJKW)VzPk)Nql4MU{e3CY#2+Y+ObSUc(NmNoJ3qUnt{ElH{Q_Gduw6)=!Q0B1U zu#6bI1l;ZjPlpk(6OXdNm=$o_EzNpnCwNxMjw5fm0i0+*>qJADObg|D0wmzz+mK@OxeV8??fe$a0;wa4HZTC~8!9QhlmmF}j9Yqm{KZJYx0 zW-qz{GYFG~Fw3W{-O`bBhXgxV2bu#?k#FbU|6UxYo;+F)?uz^Oj-As|UZ-X}7C7L} z>4+8Q{ePd68?z0|Y*p_cs6cR=Dl->wI|=@KM#c^mzJ1p-I|;T2xFS1Vl+^loJu^qT zBLy0~%)eu9^HY@Dd~UCL);xH;^8MaLN-ewy*nuemoc6a8LF5jTP?yw(^N?)I9NYV* zF@GJRp!He^OPXV-hJ1aVR%q0t5lLaF3vDd(ihn(QtHP%xf%H-Y;z)uZWzsbB6(Zxx zt5&Rl7h};6ci(Bc-a)#$yB-Qm`&M!y-%uy#jCv3BbA$}AH&$;y-f1B!;AjsNrjV#f zZgYu-(m@wG&mQnJEW(?6I%)E1o?X_1=kwDAY20Eg@Zv1U6wwF-OjG99Vin*5z%E+p zOn+ZOd9`wZUMrbv3$3n~6Us(9Xq;Mm*5c4+Edg{kBt!LT;^qiFkRq9|Mt%@?_acpt z=TY2SR>3F=(bn4+U&D6%U6!w!`V?;CM}61S*=Q29{<~4{ zn~@`%wwO?(}dMJ;8LX7I;7 z(Ff+2+1Dk`4V!j>s*D2!P_e3jROEIS+t2eFd>DMC@P9!aKD8$1_l$xHFSt~aoGgc8 zHtij^Z+I)3&8)Iy3YPn+D}90|%sqI(_A*E8_RVn~g-z4^y_?%XAbKi~;M4qkntK6& zM~>jSlFmDu&;RZJ2!xb6S*SPu@qhI0u#_rF z)0XM4{(rEszyI*R|LMQ{N7dhd{l_i)GZkfj>H3d5;T~jPS)DGc?%oIr&-O=^wLQ-I zfZwTuF$h&wF6=v4R-fM1s&Kafo^y}{t7JAa!qqX^gZt(#nGXK$_cGKC%;AQXtPCyZ zpgPc=fHS~L_!{pK02ha0DL_lP&x{BTIM}ujqkrlJ4Wfq*ANpZ{;%lelTcBS<3Z+A3 z$AMfnUMkdGYKMo2j+3wXkv(~|P*sQU&K@AG6uYNghU>ezl9X26FM%NmK^rg*E4TIp^GdXsj$N-RD+>}r9cBJwkJ*|kV zhvmiS=pdnWTLtTVXb?7_9yvvr)W%M=Ha7DNXk7G-$hc)pdZ{Gmh>UZ&PB(VvXq9z7 zPQ4RM;u8oIZ9{yk*Md|aOy2}?tAqt234f0@hFeZUsYbIFn{${iP!KEwj@VJvJix;g zE+U=E6@X}UtdxfqjhOux+aWYpJM&?aci1w(6MfaldmXF zK4N%@-(s`_e1@)Hv7Bl@C0<~4i?^794vVW_c zVxZn&v2)hG*EZ}jb)+r4aGks)DUPxz-dS*d;kNg=ACw{*iv1*IK@?f$MD~P>Iv*vY zi>9uNe3BRS*mL}#gISK@&Mb??Xku#ihik0rgH%onv<1dcccex4?Jf2laV{9V+%=K4 zcXs%Nm7U)}5Y^YA=R;kT>x3eFZhs?G;vNuCgPmQHw#dK@fWZBII(UEd7D@esJ33mk z`}aeeOTi5FCm!n8b3|<`drxAvuL1XNR<6mf^Wp<~|Mx+KH-(s*Rh0q^dEfoON9o5^ z0|5ABNhqWz`R3k=}rOJbvi)th+YhI6CnQ@MqN?cO^fm z4z$$@!dECU=p&E`InB>x7#^^}KIT>=Z9xZ&gI;#f)7%f-=PwmUnTdl}%K31sJ#HEvi&6CCDgbtuSqGdnn;$;- zF8g4}Rlh**vAxg}{m-E?GS?!%ZZsd-q(*vosV4s_4H;zA5-S+@2XekLwnZgq*bpVJ z)z>+!!pvD-yZiu7f+m zsB|yeO84?CRCOyi4aSgZyJ|31XLk*?ExdM~RI7s+j#2&^Um;CATB}x&lDND{=|Q(~ zIqS|DQaXBryBhBdOn-pV7X$3OWJp?1`O4lpf%YLFzi1!k4JI~MEigg|#Ui$^0_lPj z^Y+J{8qOPX046v7l(eRMK};PwC}A`mda-e0owIOkrSekqJ1AE>h;oA!mLR!ghXuRS znCbZ93!9Nf?kut4G8yX$V}E1)p#2LNM%{ZjY{edFdiJs%OMfV0PhjMWF`6Jtg|qbYebHgqUcBR-ZRc7EF~ft|m%I!8|;D5YJNLk}ZA z2WZ3x2j75OCaLXc@y|x(npNha?gQ$nA`6WO8TYX z8)z16iJuIwgnyr7=pAcD=wOYB?=(mAF9Bmo&yn6Z7_HNv=I9AjroS{N?ab;hDNLw!(`Y{5NO0YqI)gVKxVisZaw5WN`JE$n3Z(^pw8i^qzN<+z!4kd zk|N~Jq8-X0d10>r^LAHeymprR&`@S?{8}d30()whXv@<*bC{WB#3Nk^m)79=RNI>I z#of*>l|7v(LKW)nLhFrX&iF=Y+gfaSXlNmwUCqzm;(5`=mX=6GRl8*>u?u5JB8W9Q z;#y`etbea4j5r-uAI&7JvHCdbNQ&w|D~ruBD0==X4L*mK>E1UZ8R-_7zU~|Lw^N-; zoGp`!*K&|uI#s7AuzOkaF5!9Ck{od*S0Pst@Nvj~4BI&%LpciJS5cO9vnc`e+(*V( z8O)15u+A3ZAuYCj-ii|NySd}ViisD<8L=3HP=ApvHewxaxU?-jC|JR=<^KVmOb0D? zxh7@@-31;?H$p2J_ay*0%Eo&#Nu%>yL~q?G-oKq8CQ}VZ8C)=kMZi}KMbUUWhZY`k_6F%mr#_3jmP}T~Y7lzyN3s>ig9Es>jb1`P9h}+u zP=C7+f=oM?9)m*4RxWqp*bS1!5?kXsZ&7_3)zy|?f=$XI9!JgkJ_>Is_bglDu z#I}WYjFjyd!b*{06f(nSl4uM$AbXM>K&uk&kZ;NPgUuJ5=4$cJsCib zvDM>h*}F0{cf3ka5b;*pcLT_?0S4OMen;m=oBNfP@T8r)jzbx&ulGDW)^2e~OkXHc zv2fhJx2;(p$hNuAZpYV>libE=n17MoaEP0Jn{bc!5ANpGJ(0r)cMGKtMLj6wjDSqi zP>xuk>-@3fD@zc7`qk*n86{j0T4V;Vd>5WI?(Q9dCUXhx?bx1{s}&KZ)+SDvy^bYZ3%2aELo`cp!j{;F@i`Vz4?X$bf!Lc zwW`Y3_%srs2CqyRIn942dbw0W9f?v9;SG6Kn*dSzAFV55RZjPLz9Pp*F`90+DQ0us?dD!= ztQ*{!wMcoRTYIixIDLtHx8)5Ai$+4(cm^MTn>n0W?TQzMwj4>=)e~Yl|&RA=U_oR(Ps(dJj#iQb{rI`Z^KLHGX+}jUc{1yQjOO85!dh1|Eqe?+!&KEYyw3<)FElwqY`0 zyJ!dk2R|S{4TLDzd50+1;t?bVPXyNDv;~JT^*FSDQ!yn0_Us%f8&TV-uk)J(yuWkt zrQkZ~_HonWoIaj1S?~z-Vy+dlrkLQ+Tl3AC3P=#X zw#G4k4WA#`BspvR(_}@WW~^aX{*c-*Cf`{H96~tgB7euVV&*w5+KM=7qCOZ<-#e_BGU!vlF)`iOSV>mZH`yizZs8jF#Cz_gBXZ z1+_F{gcF|12`7F$mHc?B`SIA=Nz0@Yb3L4YDe8?{I?Fpft#qMeN?TS)Vp*MLe4#w* zl?NS`()++hLAvT<=%HR7_YyKFA}OFIF`^lGjkFQ&l;hgj1D#VH;)u zYCJ+v&*<8v8VggfAK~3zDI=iVy0}m&tK&rwss7qO^uClkr1m&46;3?B@U<@3vS%N= zaE%0Q8_F`S6w!(yN+66@s1OBW(qh=5GjzER6h0gqJOBr%2&^R*niEnKJd`)v2b%`j zl>0^w!b@!vTNEagw?xls%!&|_eHfm9DI2b^6N4hvZ6}qWsX;1jjy%KU0hu>|t-q5K zrsYKg8p?o*1BwMnAkiz!td^;8Vk&eK?J3vT6EP=wNflDKxT?%P22%X%zBSNWGD~id`jW4PK0T0eXf|h7uKjoogO) zA<$Ti^d9w8aqm)grxj&)dVl!fZh3$F;BJ2ZURz}=3qZ3^ z;i1j&B248_{(;h_edvAFyEXrR_*5hG-y!6AS)9%c_4{z<37RC3uBj7h>clj4Vg3o5 zva|Ert{t?A>u3Hrk!uM5y++RXoWRu#wHUk}9z>yd{a@tZdOiy9d-!18N_xuE?2^#`1pNv4JC!YqXnF_=bXA za_TW0&aC*554P+TF9^W9g&VK4W~3AN=J>ZQm&eKF%Og@+B)M7cCwaC^;EsG=npqpP zs;UpQuL}gmpd6fN)2a?y9Rvpw-%OWTeTeW`&tPT;e!Z$?QPlH)zV-KVE)cCnP@g_4 zrVV5vKi@D1vtKa@v)C-mx~5_F+ss4zL!uKB_=W~vkHIcM55R|e+w8nY=Dg-+pTbRG zcVBeiYxn+v$6U+hP!Wkcp;J3=q*bhG1TxOysP|#iI~hTKI-x@4bXl)pVw6Lr3nBdF64e1;UfWF)~)|9F?-~)z_*>%F^M|D=* zx#?-eJ>7IXMsg$$XFP={D#I7~a8*dqOr!axG6J+?4hboq~736vE42_K%=oe?|;}W6FpXgTZmFTUpC222`T8z*_v|ff?YlA*Od{S~1vtf{YQX zWZ?^M%*3FA*FLhH;WPC8vNH~3*|h+@;-lNJ0XGnTeCS%h<#6FdG+!4^Gk1ebHJM;8 zCO%zXpluNkzUVCs<9mZSY1{9<#T>ouSD~EVymbI}_+W4$qF-jA<*%s=sul#f93^LM zE~x9Kkr$`eLzBO`B%%a$1$t6>m8hmCmL#J#@gp`tpz-VPJ=@5D zRc`rz$no#yjw+LV^bGk@X4eTcYCbHR z>3}U-PDFf{i6IlKYal4tf--JaHe+ZN6EgYfS4db&y>a>37<1T7%}H2T+W>OxppK>N zWBRqJd81V`ZRxuZM!frzP=S@`#PB*z>C}FIWy3k$@MH*C9*gvs(XpZ@^j$!hr>#$+ zdO((^(ZMSwg3e#*e0&`5i7bQWFY;L2hJeY1NxK1Tpns6U6WwlmlRx@0W8jj)C>vE5>)$B>&apq9ztLztVI)Jx8Kz4Z#h91;xr269=&DqI ze6)I^_)*tP(@ZV^$DBiTLE@$-!(d%nY@c71&mNckILYY>e5H5!5-_09&(2Dl+jQlm z+Dn#dXWrnpiugioKn}E3*5hPwrSP(VL2y*01$we#emov)$0>!r18Zs(T1%iKv(=uL zz=cI0y(zk0dRufnIKh2Qj{-Z)262CXtE3NM5)}7w8zp?vlZ)8x#DqEFHQ02U!pL4E z`D{VStqphOFeX{g(+$A3D-dPeH`gH+OuT1#1HLKnpz-afdf*^wbjXZ=F?6+FM($T` zMYm5`AUqDU_vVEOJOQfJ5xK0>j^x8(;I9)7tV_|LqurUIiO@h^Pxut%UM_Ke(}UN~ ze6pzQ2m?Dm&T^ zvv+7Y3Fm8_gdGPFJmK?;q(twdGz{UeXvXbfJ9<)#B&kS7nm#O~r#cpTy65@ls%BVCoTszSaC z{bAf5Fryqlls{$e^QX94_L zMFsvb?pT?*uP5Tv4Grt~_a4?N)U7!tf#|tY`VGP~H8SHt7Yd4s`D4&`ml;8?#+o~I z)6Kf!eqDddI?Y~&DYL|#ug3?c!(W=C@L47s!@L(hFFAKG*z8*ni%5bE^(>z$NcL&R zUK;h*=s5$;ae(30Qg-sF|ESy)e_A3%=S`vb$I|Pd3!o{QK2qRqPS^C0xl~JG5yow28DS0ThzVyI=mMH=8QDMYKGJ98K$6@ zjU1i!NHY79u#9bix%qCgD!ahY67nn%B6Fcc=EM(%$cYHgOxH6Rq&--$e{~Kowgubc zz>^Ai70$}bEAbbU`$1(ux1C!dEGLOuai4Rmd7GmQZvI%=l9efGTAGtof{x2e4sK4= zxWctUnXI1RnSDY!fJc-{<_Rka5>Sz9HgdULXXh9a0i4?i6~0Sz>ytSh{&-Bk9oa-p z?F}R<2sqiBp{R60ju&79f0%(j*$wg!y)VIAneTY?S4NH?2sggPLx+lbjhJHbVLFuU zg7BGp`__zLIK*$+eW+3(sr%%7v=h5VE?UKKd)&54>C!liWgyhun>_H*u6rd+DxkrjhJmx1cD*iN+f6p?_Ub+;xV+&5J zBgSc8ky}Ii^VMq9tvrKwng%KDErE-qj44C7&F~S(o*}#trL&ocCYWso0!|5ToDTz} zH6G+D9!kjM;B3DJ@>!w^MZc^Xsr{8Hk)aGkhN62Ptj%{uuCiuB5%mS;dMbd&$+3#( z2Xl=$53ZW@mB4vMf7ycx$&TnjnPTn7;DKxYKv;o<$!^q+fc77@!DN-4%`p(SzVr-1 ztjk!meksSS;*+`A_Ye{{UX_ONEpL0GkGjymDCZygzmcc!pPbJx1vo>*i;{RKzml!& zpcEd*zQ_tmC_2z9Uv;)mBvv;6m2cjEnrxrtw1`W}R6x}Qe_k>z9~t(LaS7Ii6VEh~ z7VL_(fh+KFSvHYS5yq~%EYtK;I_P*hOU-qeLdaigBo7?j`T43W>f-#IIByt_i-%>E z-xGvDvO!}h#yna_BQsq3?Xl8-LGK=$W$;J*bw$3-CDv8$&IuM-47Km)q;G^%edJQW zpCs*43MP9df1W(YlxH&lpVS}e2;qHWLU(z4>ioVow2k;iN=*S36`=R8knxe>c7t$ga}T+ z5gU<}e|L(JWE6S*sBfmQfA%}W++e+AT4y&f7@DDDKSP(bkFhQr^jxs>gOf4<)T8nW zWv8g6fr&)Zo$~geLM+e-hqo10R7u=ugb5jt!wPEyTv$%W~*0 zi41#U&d$}9nZtfHFFu$(b6T9))dYVlS6&2b9Cf>+XRY1PsW*@#f-&mR-p^IQQGH63cZA(8yI& zf2IRW!a3pNklNwlXv*{|t6(3S()8mB;zyy|%U)9T9>9>kF5%B7KPMmI*V_Vr;Z1|4 zss?^PefRR)BfOaK@zXkY(OfSUSkj1TX=SS*V2O*Xxzpt@fwDqJp${9ADTh3;!E zBMJpYPgMzUi^r+?B6xITTUa%WeRzZge|W(i5&#c!*o7}9z7#V*;oC$R;rD|Kf16v( zkMW5sg9Z2Hh8=@)b6tZ$2}+K!=JRZkTBj>0{T>Qmuo;1veJp`X&X2FguYPG39KQiu zdbv!lR8uo7ewEU_^s=E}Rb{H-^Jn-u<_1cTRrn!wKc6NQe&8ox^p>_fn&J{De|??Y zAm5HZ-q<#uW1sNZ@asqSi=KYKX?+7XBzC!^=VftKnsFUw<&-A&M<~WcQw#euRzESv zc{+bu;4ZrqMfOX-$BlGSn{H8#eTrZ4_T{T*=SNR|!l}nEhl7UmfNi{0%QeN%dRr8W z3);Ru6xeMCmcy^{q zg^a{o`~g%Z#fK*i6_{^3g2)u$L2%q=)o)VBFkVx|74|bl*h-ux|I-fT!NQjTA7vX% zroP-S%TK=WIK70DZ}4c((scE8ic9fvAqw6k8y)q|7ZV?c^MpeM{~}m5OOf7Hwp8xjCgV~+d~wJZ z1wZATVt7wvrKeonJ`0!jf6==<`=v<%um#Uw%Ef=RpT5Me#PzwxkDL3=_#OO)Tvy1~ z;~26$tG`|p7m)ahyQAHh{&o?-nQmq*_ z`SpSx&_$}&^SOFND*!tRfZ*`x*YbILKV;k|a8>VeI)gL!Ez6Xi+MDcI?tix~zj7Kr zJWi`-fzK-3@|D@3IG5A z2msU?8(AtkRjf{Q1ONmix4!cP|J{GS7!hsNXw#v}F@fQrw-r2*Jn__%p$=1%u1kr` zOw>*8=^dsoM$p~Ns%BJ=XB(PfYyc5#pe^EGplt^l1a45G&GBU8dJM3-8?Q0)YkCTiZ=MX|8ylm8oPr%BzGp9dAs?Ou+wzlo^ zGU48O<6Lv&=@H8{8L({9M9Vu+n8z2qwvzb&wgR76OzO~ljle>R}r6=C+F)-zM;e6avW7xMz7GE)&o)UW|OX_E1qlgo` z$RL-N>!7jE&UX0CN!z{m0zzfxK$50J@24J1SWH>=>?*V|75FAJ%Mwr=n7|n7TyQvL>9Wq_r{5p^b*FW}^n8VV6{oBPQ*Bfa zUK%{Lr(iy$LDd8kb+iW3)keAV&@mduzsU*x1`(ahYPm6D3j0H zydvyw3uN96VHUNt;pGsekBG+x^ub#Ihx(+Um@zsNLHHd0-e}T5v`s!kdD|h;$T`;V zEZCx`wq`cD0^U-dW0a?EzO}saHlFa0ibAQ)I|^nMwdlNc=yrdHpbdFpOtZk5PCp_P zqAMMt5}OTpv2liP(C4m`AGde66=nVV)lk+MIHrq4v<#}c(f20eW-fNtYXeFTwu`;Y z2DocF`lJ#|7&?_@Lo}8G-0J*eAvQ*GRcOy6iA8c6c9ld{^nxk8anA9k%kM>wgB!TN zZ;7P8fZ~k-6eWKXwgjq{ZueNicK2kREA%be{Pfdoe>Ry`=(*9uU_9EL1ceLyrY)4z z;u@5rjuPlPimaNN_O_!jb#4FP`HSzLKmO{;UqRB7lat^4@Z^Phd32`jR%skQEF;D_BZNHLXvu$fVvK8p7OWWRXV~_&p+-?1 z<+)fxIhyIOd%7)R{G^A|3a+@o5u?HG)MJV=Xagf@!>Td+LW$iXujU;kSTC%t+Yy&scHw5Ew?&mZ@-efSGz zckhzxQTBgu|26UL`Sj8cs3lUfu>t>DZN^P&ecCu=IbD3(v$Y!}8dg64uOnt&1dqp`8MG z1Y&QJy@1O>u>6}%fYRJo8p9_0ODsrRY5-%ls+F4F)lD{@%oNjBUt-eTKG+SW>mUfM zxm^1Tsk*|yoIpcBA z46!^3G{s(nXe=6}h@la29^yXXeUe+5SwC4-S&b$o`^@e=j+hZqU6u8hRh5;M`KA5O zbvfEBIkD_(9mI~8>8J}Of4~^EecwMBtSPhA+UPA~5MJK29#>Oovyg$@n2kH9JE^Ai zO;(q?J}2U=n6;%*;^A@olWoE&L09n~M{j-@sX1;+YGru8YkN?d*TeE^v05iQ2;LhP zg4VD_R4w*nz^uP@2i$%)io3|I3kIlI5PH;G`ROOU1^#HinuW;?gRYczzE&R&{7j0+Z*391VoNbmG8Ho_1=-F-9x zLgO0s&$D3Iv^i2%ef3r1Nsufo{ZcBeUr9#Q>cb)51f8rhXo=O{zEKN$tNU-!wn9Cq z1SMj3UDr+nBbRTg3m-qrli93)AAQrZY!ERaRbbzD{vi)eU|2H3p>YyS2Z^pRfV^Rw zf8@4mUtpj_3e@C?1V4M@a=;-t5+1+>VP}`kstYK8lx1phQA7rW%>VOTTd5c7qV!?j z*P`wnRXgU@FVUNwPUlXLI!W!l>bv@V7=F0~;DJL9cA`nVEmoII z5x0p(1?c$W!2}IWXQtXX3q~lW9kx*Tpxgb*J&-tfE%U*udjZdil5NB7UZe3nZ~-u@ zJt&`NOjbbh?wb=2OlPg74>iMt(ll&9Pk>r~Q!JSCd#^zoze^T`1QS9G8FTdFN50*A zU7OH~H@U6sX7|K!MBd^!w+#u+MBA8vj6}KgXpHEWu3VcBQ`$i6l>WwgW$Do$KE+Mg z8OuiKj>7pYJTUa7nY;@~|!m<{ySz=r@bbUwrsGFe8GZ6yJJ zDcb7)(Q|klMOAmLX&hV(nJZ$?Sl_65Zts9Fw0+MWpPKrolo>G*Si)2;%bQB=8%9Nv zwU}CgQ-jNf3mT;0JYJZnO7I7{VxC$3{^WWIMgF2gd!RG{;UAR~G%`bF+xh8Y)J%KW?kL63c6lxyTAFVc2)$ohmasB6b ze+Ol36@_C_1D{8^pqe1nE`hO`qETB$lPko2#XU4Y^z!#z4`X8!sC|S*?&=)*Z)j#5 zQjkt;ve9Y*xme()kVfq4OeQvH9h|mT3RW2_1iF`CrP)=LXMTfdrF><4W?K4xm*(k> zzXI*1;624TafYGJ1wxM+wnz**5;7b2&>-c&1FI8p=;TmZL8S)~_#DE{@v<@K9ML$s ztUt!kFIv8M%;D(Nf(5RAY7#x~tgt~L6kRpHESHt8(+u57&p|EbSr0B4@UJmOHh(K_ zz(278@E6Kf@P|RtRexF|YWU%QVhuG&7;8PoMEG4y;OYo(JGurE*3B<$9{eB}pLf;{ z4ASbkqhkeU^|w|B*ko=0(!+-&&jQtEQG>t2Se-x>a~ldCdX?>+_5Y(1`tQ>%xO;5H zb%N@{`_rqhTi%LoRxW%axS9Gtdm)F!gSOHYl{$=z!J6(;^d-2+KA`x2yi{#g>z^E< z4?kb5U*k>?E-;9!R5s=E22AyBs$|4&t)iu1q6nrLd>|E5RAUqc(lmW+gl(qO5D-uLQ%!55HVV;6Lfj+ChV>oa7*nBHK-$AC49rQgH8dxxwEahFf% zRW;oh)*x9SxrW(NVlO$Y0ncl1W++%5q|~F>c2*9xbxCDv5;~>DZ@?4u$o1Z~&8D}s zkgWl1pe=Kn_7sTpi^;@|#P0rXw#7<5_6UA$QB&1l{efU=X6=!Gtqz=}jn37%?19_4 zqWt`H$B?BWe{Lg4_5Q$)^PoxmQ&&PbZXzB0(niMYA>K0aQ{&sAEA;Qe9&n)t*(aL)Q2!Gfc?Zr8w`-aQf?ptu zM!(g%fsrSE+8skw@UzN_I+#qBCXp!NWXHWG$>C5!+4Yo)hfKIJ3c`*BD7e21^ zoZ9JZp^xtZMyZyk^Xc0>=6o+HytXU95{j@hRK$h)-bM)qW&bfc+>idVuI8A$IcuSr z(0)ZBFjCroGY`4zm7o`D6|}BAerQ>E?2>0kVWVAy_F80CoB6Zz3$?~7^PwkjLva+MAaN2W-(-B9ID?hye2f}dL^?FtV?@}0&_g^!?%`x-fJmfK6m2h9>BGRm z82e&20`MItNiY~J0RZls+l3PU36O5fc;5MXoWLlZS^vxvI+@gHiudc78+Ug4F6W7E z?`a^~Go4Q>s%qHZT&Fv!4%G4LSW1X_2JF&|pMx?8M^tciR%B7~*7rFzMy}YsklI}2 z`fX}|B6D@zaW%C@y_hpSnNa`(beL8nw>sgP{Ln}9cK}I72mMNu#Ss~_09I@pgOm>L zez14*1n#NP04*UZ3em1Jjtq&3L>02 zDPz#C5MwPc7IxCL>ONAzCR99ss2T2_P>KGefI6HfB!Cg)D!7K; zqY(0c8oI9w%&NeO^|psSv&kFY*(Ie8ciNM4$U%?uMuM zXTaV49}#6>n@V$g6oP)$g65PAOVF}l7-ocikJvdePhwoh371%7Qu7Hd`Mm)9y~g}s z(Ek4m+W*-=`+tM^82tT0@ps+15?6tL{+&hR2RU8$-8UpqADm3G*%B0u#YzawW!uzo z_OLL$U z;3zJc=eM@PZc(3LNyl%kd*YU!Y*K?48=2=;8Qj`Q!OXr@Q5(pq<mCLJY4t9c>w$mK!-IGawV1&gT!(ItA%$MB`tK?%^eDkyy;TG$bj#~coMVDyLxVGNAf-%WSwuzC$%Phr`HVIZ$EGE7q`Z~nEYPVQ@L$Tw-^Sh3VmveGchpo(WcfXGd04V*KjdZ5Pvt>9xjM{TUswJ#tr7p@=w+m##A(VZ)hAIT2CuvIEbMd`z9rv;2G(y zx12;=Nnu-et~H~!w$QN{+hyx*j9xUOUYjmT z^UhWkm3uQ!1i(gnrZ#(W<%&^3J;HrMBf&FoT^N>u7?0lj91fn2v}5{M8~I=n17AMKJ~tT@GEeqJBSgii5?X zMPJwa!6)E+8+AFZ4bZU7P>V?%#K}-aIIYEoeA3U(kw^Z z!S3@4$~A!;-@(E)M#qQlr$JmXZHgVj-Jsc?8N%B(;dmo|CQ(yc!2aDCHQw7JHW-vQ z=zrBF+db$w)3iuh=i1)q?G$<%sBk(%iw%d>5a!&IGMWH(ybeZ^WMAzksT@&!&hmq2#hI z+GlhitIoQ5c~#5=@&N;>Awlfm_Fz!qB;1+cBgT-5!Xs*PQ!OvhFN734%Xz(n%>f?* zJ%hhhbWo$U@B@$ukyrwqqj?K#@Lt9g8VSEscTtoACJNzrSRm?83eLt4k}%L1JAa&$ zf!gNWDSdmGHe)gpK1Db(?M@x(P;HV=nJnlN@|L5AzQipkS`U75+LN3LUOAj6S?N$Z z4-i(uNzaE}97FKA%-vV!Y?g(+#z_$7FF}FC;A2s$KCk@1idV z5O-RA*5jL5OHbeHiwnCG2Muz1ynikDWqDhud$tT^QMVs1y{&6aR{NpjvaB%9Q)qrw zdr-%2(Fs$Kp$~{v*cayk)sbdVehEpoSrTqqL8rrg%zfyNZ-6tLMR9gJ%4Z$nxuy|G_wN`F9@=J3So5P zV3@f^;XU+Vcn9MU894DOqvH_nn?KaTYY9*oTqpdfn{r!C`|x?)Z&N4(&~uJ>Cc^dl z8-l7qYBo?}@8oZY)O^|-q<`CLYS2_#aOxok8BplFs90F3Nk50^Z#}B4H`qzql~(@S zAg=V#F~HNzS$bSbE_?=6bM?x0rfd3Pdzu_aS*r`qtA$%E$x<)D4Iqn zu#nVxl2X}jV(d^)zo~~borPq9_H5pY-fr@|xt~$FUX1p%yMh&@l7GO_#;sNVv)amU z%JgRhM2!71;AId|A=Ol~aytRp?!vcdEN09T^-E{YL@GDn4-vS{%jV|H>^PgP@rAup z-S?bYX>DjH-|g7O!t+D^KNIKJJc1{7)H@He#g3T<;%MEhBd=~6!B*ROyG4!c`#&+6 z1z5$Oq_qk6_|d#x4SzkoKo6bA`n-D7V^(3<-JO6IFF_t?=I+@>C2UZUkIq-~JdE;O zFUtAwdO6Fh`Qmz&6KH9^DsNT!vgi$@2K7d!#rHCE5J%5g|uPq6)`B##-UxQTmotM|ms=m_qCo$AaYg`$3L(TCS3+CD@0Gx)= zVjP5Z94E#K-_7qIBPJ1z#Wp@F@VcB|zgd8}lWHye(64r_aa;&09dbWAwqWLrlA2PF z?t{S584~-k0Fe%ezM#-oV)b<|1Rg(r{>S7u8I)W}cYm%z!3F~0yVYF66rF|?fsO4% zt3?;R=Z*Xv5pH`jXYLy#jXqXtL-<&YgjG$ozht*R?1YaIUdiGRq9LJ>3?5gz7FoZYnHb{}`a z?dH}3-+$?AM3lA_$rW=QFRKq9R2`krSaoK)-w>+(-lth$9e=U~R_ZW>6=c-rcyBTG zS@!rc2_Kim0u)+3%M?RJblx+{YnyzmQUM>|W}_j9^5MWDBKe|TTrbRb`~g;)xEQS! z3jN${F$VilH4;1jX(LI)0zFC+eXo%+Ft3 zBJH2Q05*l>{X1G}l)h0r_8j7>*02XP`}mUI$tp%S{aeL6zg5#Okapa3N`FYx84Gn% z)L6Yb*QSRG@4n7esS?F}0%8u=;qzB8zP37l*<|^e`q;@1xIPHPp3pmn8o-pTygKEQ zDth>M+LK(WbTLuM;hx}iu1Fhi-;4(Cai&c{4m5B@q96v`QK-T1v*+xzH`Vsm=qIoC zwuCnGqLt1)UOvo;5D%~4Xiex)e9^GS%AjKi4Bfb*F>xpLPHSY*Jt?bm#xwnh6jaIpXL;|zjLJw_Y3;Jf<#rY%i9rdbQ&N z;Y5X7!e6TLqkaBZ3OX#)Mt6runUnS7>39ZJ;M0^R+4=W{!RA1o`a7=I6U4KBK>|hP z&U9?koi3N1B)ZRbfoRas!4?xLYDLIzTH`_0GX<5t5uJbsit*XB5$kgZbOMU6G1r2r zdG(!A)q&Pv=uWN?IZP;2{vqS4K&Xx|CJt?_5t7}Nr$o~`u5KCawkCinpcd*6&OMpv z8-u$Xv^daWM8l@Mp+Ltfy!TOmVxkdF@?5T=-<^Va5hJ`D~hZR-q?Sv zrfphc(C6aad24+02k5Gg)P6d-d{N&z#ji=(9vhr=%C>-AwYF8ywvq3D7DO|o66ihg zP$0hqrp-jESWx_gXW&=~FWhbKlICZtR`mUcYT6Qa@jbrG!X4gl$TPTcy@FJI?KZYT;e9eaAJC@8JEL-u-` zNWfFWWE4`P3Lo9iXiA2E=k@LI(Vgc0zJuS6C6KSH>FbpEp_OBLU|P}Lb)Lkv^3pC$ zMZ;UDrl4rijGQ-axyq@r>wVKqibdH=81~SWA3{=-ZN(NGHu6QnSG>p;V=E4okXDkC zY)cQ&66iB_z&N@g;lmLNsYp=GdG^Vj+em5vH_a{ahxjrByL`J?ir#BS5@2f)FaDAC z&46`27->4J(qxRF2I?9M^|#rasfkhfz)wkkR}$zXd(hG0=MAwKay)h)&F`$z}0m*K(-9DhK32_;`Wo0`bq;W~--Z411vw`#R1 zC*bAu)(L*PgeeA*ja746?W=SiwPMBfsYBNB@!_mvIxeshZ&Z zN~~?u<{e?J)>Ly}tmY;vrleK%$A(mr&8kKfdGVoulQXuM5Vl|^D45C(Or5D!tnfaQ zOqYDa3nmWyHYqLA+qP8=Ec@xWRF|;B3tfN8H%yriIx454D^E@lJ|Sl@t>?4#v*0Er zg}%aTW1g{xe}G@n58m+S5oK6vnu;&AJ*p~HEhq48F)JqJrCQ8j>4A4~y1BZ$Rqk$J z_KpCL9$*wu(jH)6(lNmLMRlv&&|F`bA1#n6$Q_#W2BT{Gk-Lqp@l-%nVTO`sgAIS$ z2C5f%pG2=?r_*6Xc9;?!AJE)4eY$DP;J}xKIu9B!;oULFOJmb9ubqtT`7y@1%^xEa zd8A;pZGsC~a>(7S_kaH4s`xOkE-HKt-91oimiv4=0)emhCQ@u^?t+(wmL|GU1n=@$ zabC{!lPrBvjku_n`^XT~LhB6PLxF#6s99i0`FkE$g6p?G2%BfSSV>FU?FvBaYh;{w zWbK5){wwHH&#zajI)PjbJg7RTvwV>NUe?obzM5wrE^7$1T>Y&aHdk5mU)Ny9wX8ug zIvrkI&t@qiHAzeRcYX+QCP)do;FP-BjZ2bu@TpPa8(S9GM$|vkXtZgdU0i>PuFU1l zlFtX}>34L5H4AtDC6FPUVw%t?zlq zk=f;O?XdF#jk{@ilCQ#;t$+QQI%YnzZVonNqrQJF3xKHGE&r~>)5+ETY*($)gV+`=dh2*}e{*~*lzO?`4&Z-V;y1h~yu{e& zhFxa|ZocE)!xwDwOi0965KR9~&GyN+TDuqp*{`nZ`B1dokCC=Gu7NY(4u8iZFOma#qa|)D03e1|NTAIPGSYFLWui&BvxCtnwvvKmWZ7tPG+=-qPr!*RSq|{xmRu zV#w?#r)~MKU_{k0qg5I{I<54B>_KZas*@N##kdiCvTp!;MF3@3z(Io%b7N*R zioIu1vFIhsjS7Y(Oe4a%Y6oBgcVx@)M-HME8$?yimLECQMFD>gzqB|x`0D({6!bCh z()QM<8ngo8_@GV4pFp)YXyb4BAo||ZO1>6zFg=bQfV4L6GmLlGhKD?ev^_oswofi= zG_BV-2d}+_(jTUpgT+fP19(N^5AoZ%dCZU^(|jL> zHN%~WOJcJ%0|VNicV0zdq*(OkCGx}F%-z0EZG z^fUo;BqjJ~*o{(KzDL^qNGsNDd))$~DCSvjAZWX}Rf>~<(l(J>5&LqEf9&GJ%Gg&H z^V-&&dqPWE>034C0Az);L;j10_#pqva7cC2S(6FKv)csn@k-I>$JtxSMzqhn%iNeO z;F#&C`ZIq4M-pvH+SeikSB3wMkc(No_ffN$RV$2fZ&Ckm6Hi^gQ1JRQ1Qv8b?^IcX ze{w6@J&5~{+EAomlAA4%4>TGrt2mN``Z2?bLhOC{SUmlFGXlmS?nv~YC^_qWGU)yB zX9vB1=HECEQplU;isk%KJA*9yvbeq-wL_YEVd;NmNs%>+uhX==yq7L-F9wn1VmDS< zrM%Ojp%G~0cH>pM#WN#j?{>nzB$2`8<;9xta9G#l&j#y?s=3anuAv>YEu9iAZH7+a zldc2FOuGEb0g%m0ecTDawL7@vb6nD1N-X^ss2k2`pgS zAuoS0>qf>gdG)Dyo{nc8g5Zfk?wN1wiJzj^fF4L4fW(T1cy^tNt{a|;5f!cbw;TCL>vGkRqDa0r`FUeSp9$T?8hF|=8?tiS+R4rdGztZg^*twBXOh!^i~?g$Lhr`aN@luMX-XzHUIZhN>*0*Z@U6uS;6+Fr@6XNsNW zhr94|?(x{g`rk>cEZ`2#QgWcsAHBr3GNP#Bp9=R$pi5N`v9mAEFK8o>aCLO67wDK z+1SwAtc-`!cfD0(7<3jqvHQ)P}n|`}Xjg2f;_uAG=?EsY`!J@UGd%%W`$8CKMsc zt0vQp9GPr3`@gHZb8$ua?0=|*Sk+W&6y{}GdQh^`!oq;zE+=)N$$s3@j$Pl9p$Qe4 zbU~Iim`u?O*I;k}Lz9K{ZS*uUao_ojPjik^c~dUeeVYK6UDnu9Q)_?ZI=aCpJOUtt zvC_tis40<%G^u54R*c(a>q`$=WxJOpm$s_EuRp47qG-xK1ks$#uBT<=I^jDKw6kD6 zR|8g`9P>v{EG*Ja;4 zTLnX<-xMgKdA$Cl>0!Cz(W-EFW*L=E(b`5=Dz7N+VJWu_^OrEV&XC&LP2(m-jg^V^T_IRQtPy_bPyq-% zjdNqo!~-;U^4@7-mKW&3<7FYI9^X)0Cq{P5R6I70ji<{f1&%)NPXeW zdOlOaTnhu5e8+VSxW``ID@v0v=QYE9VN0P~z>SZHm74iyuQuLODzcr&*4 zvMU#YNdF?I8l7aU;!QoO!}@RV^>V*3Dv0}&(@?@r4Y!&`aqc+d!($IbICzmZO-kAc zk^JRUM(ckQ=GzQ88sOfi|Ki%T0;(Sp3FhiXE^cr*47COL&tI5S>(r)uyg3k^&`hY_ zXS-Cb)!@2E{~*9F796y60Dr|~w8-biL3|RB#{$&NdIZ%bz}CQE6L-{8Lpvc)bChOa zMO^=70PhUPvC}tJ)i`&rKq-SW)bsp^e3v2Y195*;sGs33fEDf^$r{MxD|g&F*hIcC zcV?tDcCY8Udl(}7S}5O%3FwDziIU%5Yu|_F2{`vwWDBkzwNfwbuC3JBO)E`lb;}K! zXBLgl0cvMcmQ>CuN3R4O@;43*YY4LP}ZvLF2rLk_{QrNFVQ0=i4T8yKCR}gzbcj=Ds$GtH0nQXd(F9Trqaj+ zm-WY778d|$!X4HHJE8H&7MN?m=UVSSyxiz=bu~+yqIg*+Hm2+ylp4o`_`CSDRKh|T z=h>4+m!CJdrV=mtYzw~9o$Yzp7dXytNV!LPhgAcbdp8|86KH%f*VYo@o)Sy~`@Daf z+*Tgt*}bo?Zd&QO<$kwbyFvodhJ%Vdd#7uPeCaUKZ5gKwxnG zTo@~sdK_UeQq&l5%bT}=ib2^>*I8Vw0OYt59f+`4J@5A>Ah9W4O(W=ObndFTs+vZ} z5Cngd5CO^pKe@nvOjyoOrp2llYBGNS+o8wj=PzW~{2i~x)N4Uk6sN5b0K4ID*`b4Y z?|m8U$MQsJ)?dG-f7#(Dp<>q7I)t90VgiC;NH88C*@}3$4LNpNZV5gkv(TfL$;Fb| z;JSgB06wQh`N-*{yaMe#6zWCa{(#X$2^~qqZgS0+q0Ymag|A!d5L!C#r2~H(V>~Jg zVpc~c<{_?lI~07}I>v1|p0oEhh|B>7KjKazDf^@02;VaX$2}&H1{NC7OTXC)Vg7!j z879-+Uc0kMp8az?hP);N1UA;FW3b`Ugkea{#|gAAyXkj9{BoJwP`~&&(h+OUG`{5x z{aC=1+xQ&m01(;M0X89b7uA2V(XqajILLpx_-tXjV2oHs*&2X0pVo-YB<{AXPz30~ zOmZF084%nIDW^Ix&mI}li`z2^NK}%rH0UrBwK_>y9khX5+~7zSl#1bLTI44IK0By8 z9Zyk|MU09zGTNrNPss=g^( zFh*_v+JdsU;cUsck&gmhs!BRG`A&-Mt~+e_Q&7*dX)+p^*X7nDfa#L7J45<3fR}_v zI&7BX6yH_;Y-D!520SOMcI+(jhjNrs7Z|UuNBuK~V&?8hO(uU=h>r%KD?A&Fz;tjv zJ+Av+gA->X_R=y7YbEvX5BA*9u;Yk29`}wYB)jG+Nc3w+Iez{E5Xe|Et5xixYp~3v zu44M@I|?XZyxu+Om^INlL$F zrgD%24jq8No#=o6VK0_#<~{EAX%y>YleTGHUADcsd#Qs37OySlc*z`RNHz8gxI&*9 z4tVdyXW)eQLJ83kLxkX%3r8f|cvRtp~<)bIZ^-3rdx^mSbRl7=@ z)oQuGmFojSBZ82DQL9aWT5Lh?p3k{1S-)b&cKP?f#a!rC%kQLuj6w|(L=$Ro{Gm4- zno5S}A9{ad*4u5li{%hU2w@>%q~iSG^u%lw>@t#~;!&&u}b# zWTv2>8tU{8Y{3d$R^*V65KGeFXU%I=?X+mD<#lT1MU$32yx z(d^;RztTTHx$QgcL`5&wpz?=mceAI#RpgFp{t>n((7uhHNVL$ZiDi5ym_GZ2u(~gK zVw-=kvn-|+MQ*@yLtbtWv^sGJH8&rk=TbCFrjup=4k&N*aiV`o+b`9eO>Pwp9J@_6 zS-ZcN`*+k>ILnsxFXd2^XDv3LOyY|VYE4zM8Gsxwi+Mxv7KjS|`!oRgD$xc_1e_Hn z#X^0?6V!c}7R@DkW9;9(E>@SLx3AQ+>iK{AGJCq=`Ra>{rd-Jx)&KesE_Z0;B$!u~ z;A8@97a%*oSyrfdGe#K@s#bqeiRyX}SYg9|dps>a40@Z5j1UYf1dNODUp1DvZ~zh0 z4CI>9euA{VUM64pY_1q@poErbeWir!`AQw>O$h@9SIKHRodL2tn&cJp$z{Fd$+~}2 zcIASoes`e+_anu4ClMTB_Z>8+26B0M;fXZWraqG&dLk25Pi*u5HZsqNd2_m{TyTTggKH9X|$ zQ}Ueu?-u^{hiNiE`i4X z$I)M-__=v@3C(za*}?hY(RS4Mx7Fkq1oBjyrTX(&9pfK#%USO)iw5H@*k@;Ee)UVW(DZfuKc;^5O|=A+@VA}g+uEQu6csQ^i@~*dQEEN_ zw(UIXpZ&q$Hlcdn_j~h#Qks8)Ehc0p%T^FuY^4;;Fuqw4q|w`Y0oNs%KUDQR|dTFq#2_6H7A=copjBOq(vh`gQYSP2v4EKLRTfK#%hjw~x zW_Wh8`?y-tu9n;5Ek+G0atvS7-hge?y?3Agx>kgl-L1Nc8jCC25Bh7c)@97u@NQ?0|#vqBYWT2%SrVx6k1DGc)P5yWdc zO9RVU`vwmfFfa)f6zHqs{1w4t4xhwGbg-|C<0C7NY*4XZZB~Dy5hjv8dRvFO0~*qu zdogJ!bWCz=O-@uWu$Z?FKVq=8)rjTs$!(tNXB~{Od1vtOFn+SMFHo#WNe2jo#Hbnm z5ijnZBu7FLf;x7V z4!J3W+>+vT`OzKQcK#556zYDFH==l-k@&&~vYz+PCMZpglvqB3E|2hA)~x3fLW1!> zoaKJV<{Tw+C5ocNoeF+zqJ)AFPp|x#z4u^y`A?4a%&bR4!8+T|lDSEor6KboKl3;9 zql0$K`>rwN?>Uzj7m3L{>k>}|d=DxmEr*eC-X65IOm7Q$MoS}q(M+@U31W!V!((}) zUnl$BvQflSwykV9SS!7q_h`U+IlDg&+F38nH3>-Tj$w@hQA}?H?=SmdfL9o|Rq+8u z9I)V+RyUz^VUJgi+9~D{PPev<>_8dhEh=BafBI5m9%PHUsX&f}+v>8sC>60uY2vhu zFz3HFWtm;BR%&Q}c6Tpkbpg=*L&e96S9hoNq}jcxmaFSxHq^x$D7Fh@t5Hm=X-UXm zXt}FIFL5_|En_S%5WMjYKH2?OK8s&OvKH(4hX`&9ZRryjSO`+E}&?9ot zRHD}n&iq>ap{Colt6tzVmq)5AuZx9wbA>S<+u4AWC7HC)Y+wq_5I4G3e~j(SscNEH zo|_S3RpA7Gj%ogoiuz-m>3Jn0*7Z~!^;Zjnlm_L%4XrFHHnu0w#`j-_v5mZiHGSvMt1-xiy#bjF21M-8 z-HXx_fzlf@8Mjr_FVz3}bRdO#dJA3bt?_zu+Y_39q;h_bSLaqTYa~ODut*CZFMIMh zVWSc~w3~$Huv6y*9gp&0OWVzGwpADomfXfc3w6lO@`A)YSwXD&)l63f2c-IiLxm@{ z^XkE5c0l3L6l{VjLxMT>gxt?@Qrh~@N*U0zaH@Gp$`8u5tD>5F-BtyIdM!_})~ht^ z{vmCD0GVC+IDbpaGq~-5$Ff&c=Y_1ACo;Vs?b)$~0Uz1(>x6oBnjO$ojLfNJKG@Nh zI>Z>lc~nOk2X3|u=SF$*uC#;&Yy!vGVle~z+b+Yxm8%Wr-?W~Q z3JltIshB_p{HmC1_e0Lv=RiDvl}>Dq(}BE0L2Mx{9aPN`oilDZ>!q_q z*@VtY!^Wp8y?GWzQPPnOoFVGq4`)r=%7A{H3p5TP(^p>DpjYGEfFbRn<}AOb=-iCygM@pHg%sl4v8y9%eNC0(r*wZF+}u*1ZRJY?wt_xy?s z^DFV`uZn+R8JiIZq}LNjkJc@P2zgt7OaWZy4T4fBkqv+OEzpC5QmnDu)?%;uX=GmW zo8;uj4yQyD#<7V9qeCMM1TcLg+$4%B1jk%!U&dY!bh6(MKhgBYPo+M!bOd<#xPCdS z)MUMb7C?fxbaXpzHO005m)m=jJc#5K9|DEFcq-xoIqTutYw)e#(_6J7cyZHz*R@Lb zNZCfRuG%-}J9eqd>H3j-_pIDrB64YRa=NeO-UgCK0$3gkjkzy&9MkCOcBg0hM)I(G43_%7^JT_0%QZoaET09tvyn- zw}rG^YD5f2kP|#%19ln^ioRJ1Xo3uL5BW3GMSL^=+p!rgrm0+yz3xW+GC7?i-?`eN zf7xpjbRSxIJl0)m52W5i<*n@DH%T)>m%6zO-l^)42Om&#D7SB~H96vbMH|jw38_5b zIg+x2rkr>y|1=x!d&}W}OVUbUIAgoW53}JDC1gDrvgCY;{>?XSZjWI(@RU^%-Ta<^_E#R!Tye&1gr*yk_2wmLI8s(=0@OD6$XLO*v1z z1z^_WOSJ*&Lugv7O6E1#iQSZ{1?%igRkQ+&{Rxh!EhC;Sh`2h#_x`F0?Yuf$iSBlCC&|r0GKXu@U z*co#&Qq63Gz5!r=-q*aWBV+5!YGtEh zGCxP(jKsj*Zc$TaN!t7%*$@YSh|%=72mrx2VXs{scak)YgOZd-v@SIeNGwHsTD-WP zaqXAQ>-3g(M87Upg>kPp{cg&YALs`du@B!WOj7?m3#Z9{m`rBXS6{iUh;vbfFRymT zyOWQm`Ch}t5ck~<~`&Tuu;A#A= z!`BJnJU#H8XuNGEGvzkHA9U7Am{3L<`OGGmH^j03QU9+3sBK`{a2JP78 zK)=pVXNd45uP)_dWyHoRkM9F0baKAynTpL$)0GE<)1%K_6F_J`?taDw3w zVLbZ`oDZ4K$9-ZUl9{Ck(MV!<+iFHK@@*!rxS&MZG?g+U3j}1%_QP^;_o!~WQX9Vr zyOisa+pU~&2q-#TW8^;h72kSv*W7}(%N`f6E!^vWoOoa>hJ9)HB&DNEC}ujW;$RK? z3~N;*6m|Fild-LuGtP>UqfQXOmRQeI|&*mrfU z1U+@~BSF0ZKoBxR01ka4m`rBXVgU)~pkgSN>kPDi1;n3HwUEWaP@6T}z-h{ffOKKY zov*2XEu?sZ1~01Ha@J@P^Acb@kp#98gd56$x~Po8y=9e_uS_+%^kdY!s$sd9T{o9B zIK1|bmK88glhqqWTM0ZQ*x1XwpQo?QernHc`KDNA?{N)1GHd8j)u<(8HPRgFC3vD_ z056;HjWW$^d|T&xzS-aUUcr8Nd#*7fQI%Xm|jA3;p* z`Bftz{Vhs&X3$NJV#W#JtE}mf*3~M3z%Tmaos%R6^?@n`D2tBcBXLJkJZHSM*UKk!_Rl#OpLRC zeqUruQMCQWbfi_hH8Cy>j+MG8y2D+rY^>vX9NMw6<3JeUx8}3~v#x&FGS$bg>&Z2I z@6yCLyJ@R?s8+4cea079T$HuFI|9woHXdqIkFs#Bzxim{lr@h|1d7Kg zOgLyoy&Uah%JWJC8dZFx?%-&n`l+0M#``fqn-qyfbam~Wz)TTAa52|&G|r55y}AoL zF=O2FHQor?*RO5Ogn~ozVSQK5@JM`zh5n*z#I@^hVMUajs*9d~#iY)l zkRtU4KZLbFVpvD;*d}xbzsS9zPhmBf8r9=H${E4(?XteX=OefjfojT_s)CSN%>gCN z?AA(jlN4K7QOk&X*c0E=a#fg(@?h2_gXBMRw&bFH>5ZSJ7=6ZN9URzekWmr zqpfR+Zcf5mN}nKI-{Z@A$NP1E;+pQ%2iy^CcQ-q#V1Uka@iP$5!56Mtf{V$=GMm=( z-pU%;P|MBc#lN#_ zp6K?Dwap^$*7@}^Ui-RI6dEm_$Fi6E+z)U)&Fj`r`kAc=pS3JrVTECTx&XUXXFjAS z9&54ZXD@E!?96VD9!dNW#a$yVMd{x;n^H>n(O8x`3gvwIb#-x}&ojvq@T=%cK~Dl! zf3JVa27_L0_|~B76H5n`#IyG1HG^dst-Rnlb@X*Pk zPON#I&FVP-h@O|0o;lL;?5dtt7i*8YI|iX5lhxapvG!*5wr-k#3jAK|cFe|(x)kg> zc7f5?C(+hnDS?^3x8t7Zo#ix7R6mF|mNsIv@3a!L!}YrOrOW_wl?^RCWx)|lG@yq_Vw+E_2N&7^6o|s7Jb`VXysJNYB8K4bfiAr}v%AuVVi8 zsM6|2s^G7I{m6BH8MJE|2n_E;Ej3upRiTzPXL&mtYODNQZU=)sW4p*RR*jtgRS z2^rzlM(sxU5UYec_F_~_|MR*b>blh=Fx{5@v$N*1x>)rGXBfw@ znqR}ZR0|6@i9-10mRym+gXOH$%68S&h2kl-XQ^g=yetWSI0KSF?ci}kb6H={rq8F- zH)eEqeEDod%=!=ikaQO@$_|x9Pdu0x>VD(ffqX&|M;O4gXPPk&`63=O4jXJ?pJz7U zM_|@tdlvT9Ah@x*b;3|5j9G$O7h_vR==4tK?$|$_zY5#ny`p)KHKu&+=gV~cRGhU& zkM1y81HSHm^ur#j+3?;Eg3{bm)jk3EuYKci6uAJp(N182d8%O*G+-{AMIB%kGXp!d zHtUbvoGq}M4!$0#D||V9v3|}Bs-1E5VRnL{<$^-yeVe_wA0!zYgi~k!oM)d*aK|Hf zijF58>4n~2&^Fn>V*5aeb+90Zg<#q3e3!Nl73nO0`Q%dUz;2EgJG^IVh&+fEKjxv0 ztF_VA+2$$_uw7T`)FDacrc&o}HLF(ZnzUtiS8jAkcDvQ{O^3CKwWQe5D6xa6nCD0>dGGN(5nRpJb+ z?9V!Xs|HjH-ttyE6#@SOj|^sQ_WdWD2R+L88=+A;@EXlahac=Mp@7g2NB$A?27-W3~Z0pOnqCe-ps$*bLLW>A|TXPB+UjSRfnM7a0(8)V@9AhQ4=OhB`fNCFn{y$ z_GB+DSkv6-g!jc?b^Bo?B6#ul9`9`IQ`hu=)<-6$%dpj>H0c&UtY3zO^{do)zQh~a z91^Dl5Foty?WcvXod%7zqPDpL%TJl&7=;6%0ag)%29)}Jkv%=@Dw3!8;uuI5PLa?E z@%&H~^;m9+Xpy95=Y+TP)HBhDOGXN3THRD_CV$FQ6Iwn#IXyky3uk=hRSvRdVgWq;Y%AdD$h5G* zWpDy$2y(=>h}~G|QbS`L4Wk|Hu)AP?q19=1DUlz2;~5(sU#e>l8kJsw^#Sm1R2;NDpuI85F^Wt1D{Qg74v&Bwb%6fvh*SnS6?eR>j=fHeXoV+ zOgIhDg|_%sPDhdMoBMsT&)k_8F0}TbK4g)pce9r;aVl%AX#HSF5FU z&vZk~$asV8^MD!#cq)IY_LqNu9E?ge8tXoyncRR)Ar`EuWqsF;6tv37smV#Ul?p#&yb*6 z=Sr?9m#~-rQkDzUc+WF112cNJQo8H))d}Vq@mXWU$l5Tz7JA2L=ldal^uxOrLc;HI z8-$8J$0ZPSfAJ*{sHZPl(iJXw-wQ8>p{4p~zXqCZdrbS=YjcQ1_cpuJ>6|aw{V~XT zp#vnlJJ49`9;$NsZS+wndBj{!&dUb2rk;=us)r5kYll9N_2%`w^fGgxfX{v(W&8fC zi>%Pv@AEZ#Wcdi-=%CPlpJvl*Tt7x*uMIg+FM3`wyMEB8Pp8_-K%YT?@rK?;=vbtV zB(O0?`vmAADCt2xRLlVQaSf&kV5iH^rH}Q}33}?cS*sta)#dd$E>rG9%m1#L=DKWl zpZ@bd{o5b#Z}9U{jUPVw*C+q>FOQ%6%Rl`iKMnfg!V#o!NcOaU_hP|Opd-HD)v(>+ zm6-+5Qah5}cEg1jm2O@XO^8Q>6-Fg-FAGz{ga4B}ol=&7EUaX-3Sp~AuTj*ehJA#0 zY=3nfdeAyfw;GKBD4u1&pD1hCbj9W0wygj3-av>Guse97%T8Oj6-&0&=W${@rlZAm zbJT-;E>~b@6s)?`O7+QP@#-HS?w;fU}L@>ZSWxHziL1jvEAG z_LLXjR?B98g>iW@`Z+Cyy= z#7Or$96DiYaD?!Z5C?B0Tnv407>BGRfHC7~^0akcgjUcXbe1>b zHfd!^LWE6dAO&3dh>jCjZQ8HD$|OKDh%i#>GIU-QjWIX}lm=WuXmqPDLYMWj`WplQ zpCyUGbq16X7GbVY+;dZ7sG$#7(UQD&Mv0LT`r^!e{r@&nV))P>6d5>Wu&>1BN>)Ab zPMkV_aH7=#EJ#oDYCbUqtle`|=F?V<>AlwKQ?AGJ*)Zh_?QPU)1cI#t%MnJ>!1}n7 zL*X@E(otiQ*Q<2(o1_D`{}k7{N6ANMheIu`c5FY@?x%$eAwTIp-Si!MF~mE;fym_3 zUPF+1RhI5U_l*QEEcnBf_6IU5_nx0H4-?17vz17 z%33m4hUbQggoFlg^{qx$J7yYd^9MWeKwCXc>?J8letS(URCG^GtZY4V4;?25u(3mb z_8mr9>3wd?6blh12`3sdD`SC?4bRM^yzBnTWAb?}TSPzN6YL^c+&os~= zXOee2LA;ayD);eL*?-zv3Y>VoLd7jsRou1|A|KYE*iT!FX+K`cA^CQUopi3-(0Jbq zA6qu$*^Ki&R*qkON&pfgM9z!#_tm@xqT_hpJq zxU54cA?;vp<7G*pTCDCCKrIbpz%o0;EW9e)>a_b7Hq#`k9|!J-!^mW(5p{udh$le6 z>IlQIWt8(o7tpSn!|cf^6?Puymhah6So~uy5@=E(yLdkN(i#~IQbJgDwNQV;`!fV59|0TTX?SyF{ol$4y8+8oXRI3$Wt>X&S?}A=rC4M^8h4G`XNyRONJ( zJ!iy>qgH*PDpa$6g?bK(@@PDrnro-eiwDuV^*v<+;(>)ez#^JVG+a-CE1oZx#d-wx zrhN&b!^_<6bIY>2Cq^gH4U9=-XdCP`C)k^#7N=e+CESj1kBEsy24weif6p@M&}L2W zX7j0keaKRbG^enpBsXlG z#)EzD;59iDaiO$+av)z8aH{mt>T`uC#Lo&bx6sHTSq;Y|s^%Cm3K9-rE+$b}aD~Ne zgJFWie0rkxZDaKu$sGcg+1HIaWYqD)*wKLBA_d|mi3ELNG%!IVLI~#jnNe>gYty3F zerDBM@i3$=N-Af6boU`LQ8LsYB`%o?&HWbwU(C8u zZXdGE5PECcGUnSKe$c&@YNmC?>xVNTWUF9pdD;07Po5Wl7M{24bbEyiOE)*~qE*vz z&2(Kc@_LC^i?~(3m%-s~dQx z7y;n`bXCLJVbonEhvVf-hF+DS=%e-pF$T9(nq@(uu zUSwQ+G}8(PKh8P^AaK{1%F zV!By>V*~Z2&#EyNXDX+om99^OM0^d{PL=kTaWC;;VZSWq&5WK}#dlZh8;69fnQvCy zmRe!=+yG$%Ov!Qu`Ww_5o|(3v!L?6u{Hg#AN1kc89YsI~wYXm5TQ2DjNvm*GtU(>M zD4K?D`CSx)wLvm*ia`rD^vR0B$6NG*RMTgFaF9VlxopLsexLQUUip1IXSO{8E7rNN zVZ-SN>2iogejPsVRgHU^*Sa0;>Y?2{1pf|34=n{PdZZ2ulT9vBrA&Gkr^9A}Z4&O` z7-_gK&O~gzT5AW24)&{-BMgcH{W60rM3T+vzhQ932&=5vnShs zFJcp&O&BriGrImE02iX=t+=Nj(i6S?LTG-nZjC(pI_^qXy|*c0%J1@6fi->VTgBF` z<@a`#3!zqKiY3T|*JHqo`55B~3YMZwx=Kai2qJNq{@DP9+jURd=_PIFejBV8G0vL! zTJl@st+0vYvVDAi2uof$W(j;ddC-lg|1CA3TGxm>;?#<5dWRhGpkBDO(8^_h0ETvL zjDrbedEAN^2dxrxSMlzss`c8}E=GWIkmtq_ltI9xFbkM*th)*qMznZwUCmZQHQ8r+ zw9Z%*#0E6R4$4y{7uiIKz~Fv@Pkeq*L8Nf>+aL4(k^Wf@^Smp<+C5HvdkcG<{{~+3 zzvoGqI=zw}(SJXOmep2SAXPViSOhwn8Y_g}a>%kyw`7t;FLtpY=Y${Bq@qA$a=fWAHQ@1OUDc+mPx!4p^`(gRMTfE~6u%ePIUKlPfbp zcFWR?rN7T5VYcgu0?#6UkmC?kw87ZWzN)YRT>F&%=>PrS{|^!*J6O_T=V+WuaPI^{ z8ODkff=w<}Z&xf_B|V_l7oX;Y1a0?qOBAi*cTg>Qm_M z-$=poIrSu6A$PhytxB? z>QeO8-P@-eao`C~Eps(Q4}$&v=ftlCxc~ubQ7(YDMohv3U(hpzt^$5TgFblulV3Hh zK17dCN=I;2+*ViDS0>8lcgAK&8*mImN7cZ~bgz}#kJ?a)cDZ5XcuJtoh63C?8J8djE>Oy{KBYk@R>nCQuQW6IiiFBT;wCJ@-b zEQF^@6zO9>!K&*qOayj>ejU;fd_`$vX(aroeC&BY|)$gW0xlxT2PQW2%~$)+e~L;)IV{v!W^ z`>p&?Ps<;a=&Lq{Y00GNs(~+*YDZ0X2~$UNT@uE<*BdBC{J#EJE?*W+*&jG58?f%{ z$uA`!C8ImuJX@6wT}I|N)v}(G&mEY?0Jy<T>0MqgxpZqJkDD-TFz1XSrM-2AIM-lZi@cU8y zab7M>jBD=iirK9=1~`gB0dN|HG4K-Q8+%-Mq#c$asxaQyDJWsw{xAf0*b(zSY+6n) z&_17ksJ6r{RqevWscpG!1xu59qiV1@bh9EP53C$+F{O{&fk~E;G#f$9(FZqoL}mmz zqk7D+bg7EPM&Djrs$<_BzyAI{m9qTZDrN~%qF5$>MjdO^fvxVFWgzs1R}bBp+}uz1UvQB<&U~*Hq;>Wykx8#fV-KW ze+_;cPxWclsAFzzOjp54Qme&|R_j^m2cXqG#W+d7Hj`yNoBav|6@gzb5tHIqP`>Pr zVDEHbQSQC=C-(PW(I9K*#5(n6Jw%65+bmbj>IM#?F*$~VT^IHOZST6vLCF_l^>S-}k6%if}dRW&>W(TucuA`V> zM)QPfDln7Q#hgp~1Ql5QGL9$a*wGx{aW4QErKsRUdNEVyoX9{Q%ky6<@+|wYJpWU* z>T|pBNz-iMkKhEGmN(^04a#zKRsXGjn$3z)z5K9S&WC?KBK4W7WcTIK(XMOT`*UdA zAC$B(UsV@tNLgK$?w!)npUE)3d_H2sAd3pC_ci%@N)@K>{1R+AN5uyPH0AXDVy z)4iQZ@x_&}@bH+_zR%{jzf*m@tY#&g`}~ArrD^Y}n(vEdb-XOp`bD1rB*e1~cuYUG z8Hjl-S6cWCD`->ku!HSX*w-L`ka5c>aFWpxrQ79i4Q8!7sahY1YHfxmA#$rqAL%nx z-D0CnNGI@I{oasRd}tQLP_t&PnL6IFq?uvjp51>hS64G2b6!u^@UIhp6I(r979{SI z_BF3IcVwH-qqYq(r~q1UgokE8otPs$%0j8bvIiZ!-y^1+IX7Hd?q@rH2Gl!0*RgTz zOTIFsYcOI&l6VTvhOuaHhl{Uw$aFZb;TX)#TG%ibpt4a{hiqRTKSwJtDxPc5&IV;F zjDB95=-o>)YKMTovwF4CcRmyc@sFZuFpSR83?(;B7f2YJ81N7O2zliu){}R}7y&3f zV2ofq%3u;)qsO@_Y?nz)bFogvcvI==LY68lED<@J4(@J+Ir^cc_ zjuO%PAHiBw{om-OYOaeJXf#lRhQKnpz| zBx5OocPDN~E)$o3GD3Spjvg5IIICFr?J@ExE4+$z{nU*GeFP0djBG&V!3>&TgQ&71oT3w7Sw`7y=80idew^@>3o?G0Io? zMt?z?ALtl7t9b(CAP1VFp+6u6V_T>M_!o1478f$8f8jTOVzUAQnfe#&K%Xn14Szt2 zh7c%uDufZKraz#^q z3*(|M@c7DWV;MX1jySJ*SF)LHBqD2A>`P7F@NjQ`Uh_QZiXPe<0M9X|W=G}St74LX z&N9}$;b;dKNbFk%s0NF-uSWt@B)kcLkAdG!?_CD=_Kb!u9$kC9n}KIU_c)AaCXf?u zQ`}(3gJ5|y4tnJIk6Sjso_|~xi&jnNPJDf2!>U2Ijl^KDY*9^Mk~Arz+pl&-uCEM* z{Y0C8?11k0+~kTzA~xT5`%eb(UsxxoWllz?)tCj$#8AL=oPb%#kz5@f@2ad~fXEx{-$-J@IdU1UqZ7(ApJR`-K81Tmz2aF|e`6d1HZ? zcfb6@`}c4E{O+6g@4wvjW*)61I3NB6#b*QAEUK#mxm{vHtJ^{?Yb2G&_fK76vZG@` zw%6MhQ@*TQvT5y0s3M`seLkIv9fz~`+v*nLDVl?ka?nBU>5(v>bf>eQ!UrrIEQv0E z44WyX?ipeh*i_?5==Nl$X-oT%u*Th3kXjG7DmyYJn2r%^}`NbnBlK ztR$Fxh6UHI;Ce5V3|U!9itDfv3(IR^wK-jwXWn5C)H~dB!viyv73Wq&(z^v};6x^( zf!B2XFJq6!o{6bqpM$8LkJib8eR}mRs2!l&Hmj!t(IxbAkzYu)HEg@<7i@cfj%H+M zUtuLjAvb#!M5f_b#-N?@oUK~}a~71ZI<1u&JW^Y?;ak6$2ATYxz6G}n4N&_%LQO(M zZ`b+JZBQS9KeFnG*~Qw9@snKHF$4h!>RQ{nZnH1<6U|tMpIj+gJIRuIxg?9H|%xNJSRS7OgXY08gDK&L%ue4I~zHGjc-9KYE; zb|7!tWQ8!8igf&0XG_+-=W{p8{%tTGV3IB5(jd8~zR?@LKSbe^qJNa^knhTL-6PpH z)W!$%!9^Q8#QsyRB;I(B{>iRKhX#FpXMx>?EngO%AzJe+{S;*xNIBJ3jyoTUMYI z2aT`^HVG(!8o`UU>zokXQ1gg@8|S4arY;Hf5_K@3%6xbH{m6fR0u?w^*ir4J(8w0D zF$9}2i=nui{jt=MXTc_H={t4 z_ZjR7>Ie3fVr#(ib>Tf{YgXGxwo2x=R8Lg_HOYsKpl40&GeXXDdOWq-)98)dd*#$V zR>f@}nxh9>I}l-i3awq80>%A2n8Nb#me|`xK;HNSG5RKnRp2G@T>j;17%%LvTGs?? z;5sUA_9%T`_#!jD5sz%dRuU(cD`t>_!k+DIJal}Z)PCYrgZEJo%X&3mO=cu6t{@3w z_jS;hJ%CSx2kw1AY zUla|BoPn{d)}~2$!3bPPRzi#r;WLqL$o29 zGZN&p=K5T9X@bvbwA{|sEe?ie0lrJ}5m9$^`1-=W!ELH+| zaOTNU!S1@^LekzR@|Y}3eXGPJ<2`C^itG$ef-e!%P(b>Ld-e-U5LXzfh#Mao4%@Qb z(gx4qJ;VyEfvQk}CrY%5Qejn2s}@!|5UNS7x0W$~Ep|jE+><>-0;-3Jh3A<>{H|_H)=%Yg_^9}hfo7mn?*Yz5#Flg) zUNP%06jRzQt4=c+xA*n|h|w$h`{&jk&pWpkf;_kQJa2|F!gP`$?GK5^;Lip;qx=zY$gD)1~K%qux`|X0c1l45VaUL zV{|`;^%&w)y}IbMXi6rEYNwAqPpEN!{vN(YO#`x^%8X#zP|r5AK_U?1e+D4`5o za34E4RZG3oArETQ(fbKm*Bd)}Q?KVyE41%KNyDk;=iX49GD;W%@?~_{h-)x^VK)5+ zxB#1e?$NTGUQfz?znDzOsyw<|Ft=vUVDIzX+w=m_)sJ-Gz~Z)Vf~e;FTbO;xaI0K+ z!rcEJ7IFaxO(_H9PafH3Yzqm7NhQ@P9bU9Dd8BjQ<0hl?KY3w$2EVH zbkpO#U(1TChrg75hIj1FujR{oDAufbVqEK|Jx_Oee*Pc*d@MHoQ=g7IOxypd2V|w>t^twpuy&yWB@++UC}0Epvm~ zodd5<_qTtp?($tvtc77DD^F&1Qv%|vk**eYv@MP7yJ9|_l}!d<7+E>}P@*Fb*f@bx z(DmdJ9Muq$#!1Wg{){kx%h@@>7G>wxA3`Cz)1Y^>ix&jkaNLY7TrC7;gOA%I<(9`Y5eAGL{m6yfHdd#Zl|8>P+cYWMH+p7omK~K5N+@@1QqAI zy#zt60aMbCMcfB)bZ_AX%lund#(0?wKIrB|Y-y=DvDc&FlKIt9+bRn1mjNYgaDaK~ zpKL5zce|{Nlx*(Y)#vv=s4+)8`H_{VP2e3H;QNj}8$IT4Lhgq?Y~x;!d{}LB_zD?0 z-gbbN$&O@(Pu=x@6c)@)e4a9Rq(+W@kUefLgNc}AuB|a?Z$gXQfVo-OFv*RZNg=Nt z!a?D6fpronF(7jrZ1Y=diRHW|7k)ggE!!s_W=9r9~I$7{5FqOZ0`y){aH! z-HCvBY4u8fZw=L)Y;0ic04$)-R8cI)JFShPJiuU{mBujZ>stu9lL{1G7}Zon;yZ)T z+@~9fZoNR`ds0&o1+JBHeE+&wen1g&XnXcm_VX8uTlIhHuOaJAoUYp#f6(T7ko@x( zzORrAdtnFLHY1N1jDV#dBRoU@31@RWh@bGceZAy=)g^b?tp2=E$4AMLY}nGdM9KXP zZ6SR%q|2&oqFXkq{DJxC`^jT?dszXz2~v3npFJ#SDgau8cr{wC^V&BEk)E{cDT1i*xL;_s7nzA7J+!BeI7d8E*nJmk4uHy|Eixk~0w>jZ| z)13DHN8s_B`j;(DK#I%qN}Y65f>d!0$q1^~C3~&d8ubVOfoPHF*hjXV?n|Eu_l8KW zr^4~TCqzZ^gb1TcIWj6%7Q@nfdsphkcr zCH|L-7xU^0pO1}eA8t10@j`dmQ^o6l;rwP6d4Ah(T*+UsH^pFh)FBxR${{{G_IV`< z2r-sLqle|N-H3VZz3mipV&mK!vAV~6Q%o+s*Lrz6)rH=qjEd>>8#sEtubNesz$}I8%0HzGs>ZVcSm6v zEolHX89rg(d^U9@VMTeo%@iJC8MSTu{N9hEwnJqn_~`hJl6%&tVIX#> z&V5Fp2>WZaQevErQW}hm-xg1BQHRxAEo0EYpm@>Hj(6RdKyPP2;EV+e9C;+}A4=iL zzy8x>t^wo?99_@N5f#V%09y=y)v?)gZ(aBO>Eqd>iCvcerCP8G2nZsQj&s19=E+C> z_t7MWBh7D_K_}a~xDg^=)AYE@6u)={^S$G5dfweiYy;nHLak|sMq6DfiaYvx55GZt zeOF%S$Fg86K1{rxxm}j8QRrr(TUhJ&ifwtA5qng!ufF{RSQoj*ZEFjE8*Sbz01{_} zMiiolF_$8rk{emcC8wJ4IB`{d?^l zPbGC#`jBc}Jc<2O&-);MidDqLe>G_J?53pPA8<#l&;Jt`NeO5+A_c}VG)4s|UIRMj z@(MsGFV**}YZfe&3HChHXrT?mg>a+utW->bwUAUj)K`z2k_C!0$Cxd5zNWTV1G{Wd z-KwjtCNVER6q*FK5p3}&19|40mx?<}2#bmrO;e37{TQRhmVnZKdEHz(J9<-lN9o^3 z5%r><29Trs5#p#9B=&VZtu88aF|&xHFa{9OU`96@@p@CtYWjqPAm9N|nr6ivaYREWXBT8Awyki zO~e%-fHw>E-GxTOTbsQu=Qd={ye!dmdR6NYUS|bTT;TDuRO4-H8fDMH^mb0{30Rf@ z1$%a%8|7QxYCBXu8tr}vM*GPFhY+@qR)Kz0aRI1yRyERp`=taRc}xeFFcLn)#U%$E z?i@fEs`n!Z>l>xU*8SuTUYMq#ylf}z3< zvkJs(;J(5DUaN{{q#GZ>i&L%2E^Wn)5}PJy5@%Yh#EcSovzShyo-5$MkEJRdxJGIf z)$3y60byR1%Ma!BP55#cgsXQCA)!67$@rsx5_VqddhTo?kNPMe`hGH|ra7ACIU+=$ zm!~#SPwsbN9JkS-vULf~>Xh-HF-)r+3n^f$fx(9bR?o2!_Rp8#f~$ri&;H}+uerLT zUA#e|8vdLs5d=;fwb?DyhV&Qm7A8Y)mC-=LtAn?gtT^6&)Gg{p5L1>9gdHCdXI>+J z%p3BLz&8bi{l>KBtx7Luxmxcpo90M$-IDp65L&?6w|rf$&_NgMt^Yy~KvBWnW;t;X z_nHK}D`aLU}|`F zbfB}blsr2+et!H7zQ-KcVs@gRz110itX>3k#bY<)&%loK>*_|2%|Z5SX5))l`+k)> z%-1&|1{Fn8s{e?w5|@W#t;d0fBbUd9@l)UZD56Z=w!EI8mpb%qoW1pdY_HXUNT0YC zl-#@MRa5P`2tyyGjn1q2v=7OH@C6yP;j3l!;e#SR82b@X*+~3KYL?g_^-=$S><3_fTyy5qggrs0O(MG1q3w%L?2jk#RrtX`@Ru`8vt2AroTed zPh;qChqTAp*`qsM4KxRQM0?Przd%xNusPd658oEcRaMN?s%|kXNpx^pHCI*B?Em}) z(Ea%f)y-6oh)bjoQr2A`Q-qXKxRr`N#c_!lY2N_zYTEE-49PbpU6`e@t-) zpkg})eP}(V#Z!r&tR{0=y8l&hJFm^IYw!IzEZo|ISAI#4j)gC-_~jx zG`_*$Ieywzar+&I4Pxm(dX|DZf4Q2=*{gY&JT` zl}+uP7_h{vuHSn$t!@s~cB?K=G@re&t`X=h=F{W4AGR)R#>W2{jG)&&C0^{v$HcwQ z^Ciw~>pbH%KoA;&T^Gh8yHl4b%i?Uy8f*^Y(Y!M}43)xZq_YNecVUpb?UMniM2Dig zkkC2Jg*wAlf#~acVnon>f9Z=v`_i_H=h;}FZ#nF{*@Fb7?Lrb6b(MsZ-viM>-LVMk zB$OwtIIFg>{13sFW@HK|X$lgiR6i+hbdWRlYFRxzmlS+lIYl4muNwrb^!s%;UeA8=ZW(H6Vc55PdQ!$?R?;f3IuJHe`wK&MSA& zxl?%y`{;(4=wU&-JVZ|GaX?0O8rsmaqKo>0Q#LXvi1=?`un-2ajNX&SkN?*;TD;*c z1h-K!3Im-xEp3}Y-rho&Gug<1w4SvNq;1ZQq}fdr)kd%8M`%+D%htW^f?3Lr^pWO=vU}=up%!7#E%C9MV7Jw)X>~u`-VR7wdUqYFSzoR| zAK}_3Y+2T}cbuI_6cs_x`uB}lrdIp+2j(51|737#py6KBH5k2xH{Z=*1OX8G{kz*d zTj#t_#bk9|%-pkqG|UkIfzkJy5gcd~8m;@c$;oZ;f01(vo~Y~H-Lz^{o7Q8s4XGPM zZzFNF$W{p^7V5CqCz62^4Vxii&uuP$T>*B_TKKrh!+{(m7bZy&_56Ee|HDxT8zERD zyD8Wz+->jqpyh_ViEe=tbE*5fn!X0FAAcW3+Gc}gbRSuWnt|$SAAsm4zw~lXdtxqk z(c=S+e^7CuIGQe+YLM>GnPDy#cF#bB||Zn{=$iv-St%4ll>k zQq5(K#v6ZB!`SkQ>z-iEJH7WHnrFf5>@n@_$roDF0+!ci+r@d-r$d+-RWx2kcxrH& zpca($67Rscn_I_mAo{NyTC)Zq9$;pur@`S&D3P-0 zREVTL4JFwb%_YIX84f}WfB+bhBMA3XayM)H#*UNCI#2K2oA2``&fR3=yUEQuekA|P zt|-|*`CqtQRsE>$u0H2rNGXZ4`fLu)Io;LW)z#hA^|wJ!1|@fY$hjmmt<^}Ixez0c%@6YM>_P^LT9}#gP;zZobl+@F+UZK14^4|D35pm+g ziSy}E_5)IuM0SzlF9;gGn@wMP9M<8>?Z3m~MI(pPw%3wRLvkY>TwT`}JzKSbbpLWS zzT#Lb?{d<4?1&mPyr;NN8G1RZ_wkku;UmS}ia(vxFc6)8O^N6gsaw0n(~y=0pfC`9 zf!;#pp*62P`5bAhuXK~%NRkC|h78GzX~}!>9c`ZRm6jbi zN%5ZAEIr$Q9>-O`{|GgW`zUn#{-e(ATR@vS?yflj1NTT4{LS(uC&u z^u=;DWk$U;el}A}zvbAn3x$%v*bW>tPxb?zLP|Njh9%9#I~zdtp9 ze`@}J{+apvXFr3)GEn9KbI!mo`bobJ>`mX!EL^U)q7y0o7bPJ*g-}w%z1|ogUj(%Z#6xC42EMbr>c7dUobWXbU&#bUuoM$CmYX$ z{byL{p=c{M5;S`U-J(Tr&l0;ousD#7psdP&fjY>xe!ZHze6C_z)0o!cBVUxjyIbs% zp2RMku)aoy?3T7_ZZkSCOh&iU04ol|ReVe*G!?fwGVxaoDZK5uq4#4j;dAAurXTe) z;EUWwU@4g;`g3yFVfxbxN{oCE!K%~69?+|u?@wFdG8NQ2w1Fnc`^ryRWE0d0@%Pc8vb7o}7 zEwpP%try^2`E4ZVFI)fx?R~ype2X8~d3s#?ph0Y6S&2Ol&JsLQ_${vf?r{6A8=w~j4}FN@e* zD8&@NW6CTS524AUjinpgjyukOT(5i@Vz+1>M5mxwgsr8gM;p0=x3VdUftouh%NEf$ zGE+uW0($EXsoOODu)aw_m?Jn+;=nUuH&94T>Wz!t@@ zEV>*vSY64X@f2TPE*JZe^%wi(MaO-6t8FYU45Var@EH(4y-5_WZfXyIWxeQd9ugP2 z(4sK0h{_lq$^#%ctRrh__|C5MrY#deMc<$gW zmspOY&OsGiG0puyYnu|S0bmIH7@&`%vw6=! zd0UjgK&IQ937m3T%O*_`;SjJH7=w*Y#XcJtnn{PR>3n0OUyrYU5-p}w{BWa*uad2N zgSa39tAVniQ=x+1Hj{u~&CDK4V~yZ}m0E`lh}!ln?3K8(Y!%mpuu_aQ?#VHi@-K=D{HXFH zx_e?;JVdl`SNNy5|bmY{uCO=9_`5-q(*M3I-c?u+x4(3!8YT>KJ%o5VOMvnS*Any zA(f-O)qD1nD+3j#o(e3MWdudn)(g-WYSBo=Dp_aG(SS=Qo^lX9Q)z_yg$uU%u0=G3 zIN2}{JvR$xxIwNK?y>0PSN0Y3FekhWFL#zR#dM#4R3>9nb>X%>#Bq{jz*emE@J431 z!<^ABR5LU2d3`>=ZMQ2c`>%as!%a@KL<%HKq&=W|Eh=U=ZDGjO-c% z1h$Tnn9qIsczM+=Hoik(Z{^*TtRNfa911m0`BanYCLN;K(i|ACFe54M>*DMw^FpBm zKSQN|UAM7rd4bwa6sZWmL1kijwmyUSI}a2$(A|+#8M}w0`+kP>*epe>A^qa&0}cqF zc&7nvH3Lddi1I0dg5wRMo6FPd>8%a(ExrEsnF5|oeyAJ_{Q_U4LPs0T|m`(T(Zx9 zebR?Ev0RSb(h+#cPO;fN;KSf>$s5HC3|B)gSC)NhwZcj_N%{71*mKnnl+9zOqes)6 z096H^qSNOFo6k{I_|t;}HO;7JDeCp|3N9Ptml(^g*H2W^7O`NS1YYGsyOtZyFc{mz zDD!DX-kDsIjw`&XPod~|0@)YtrZ>lb#3ou3J;Oc!VmY5oQCn+?wH^h=B0LCAp@*cv z#kfAP+e_n;JIBFFgH3}uF;`dsi~WQodJC=6s_NXM8B+lmtlXtUUWkE5t};oUtfcRISOTe>&p%* zf>6K9YFTNwiU_S5Bg0{X=_=6(`7YZfH4nQm&a@XNZt*?k{Bl!8yQXY^7EH)3<~P6x zp);%Z=@wJ?0TToJJakK}&L+}7|+I7H_*C<*j$1GPzv8xR%qieDyk4~%O(S6 z!&nJ%WYxKUZK(C-ea`Nax{s8D%rw~OwGuv}1ArAgHkXDS8kI&VsEg|G`FEdx^X=2e z5AXjx45Mqxgr*X8Do6$W*S&E)JNGh3xHyMm$(%S`lgSEG2Dx3jIVtIX*XD9RqfP@k zIgjqH06_sUFD4DdoD#r{kdyHF!IT6C6r=U1eQfvT!d7)hG^Z~>MNmVWwO4GD*4nj^ z=XSzCX@$#xi88f8#m9&LqvLUecxCH=+Zu#iN zsrz?QEzNmlZ<7roXvJ?nmeIT2risn1*;|w*Ep&v}{c&hYdAowZ9u92A?8VX&j@YH! zkrhPa;Me{o5R;BPv}N^vqX*oH-4TR!{KL+Kqm>yN0H-}N$+qHu;f`#L<5O`Q`>q|s z)qyXtCn$77-BQZCqfKI~&s&x)^<|z;l^II-HR4;2?*?b34TgKf19hHj%Hb_t{y0tc z#0BG_*DJokK(b0m)L@{@O@}0NVERNn@0+^J^9Hnh+wo*EoyazfF>oDiS&_p6hT+|| z)ef__FL#`<*nu8@zMKL3A~Z3Xcuq0O$+J*NAd9TC@_u5NRI3fs#1s*$r<4gabOlb< z3IM{@JjoYF!mX92TaOa-S+d@KHkFb*y+=;t6&AUDybE=)5xZ`-`1Y(u2R{f43K9AU zeJx5()yJ3VKms?~=AXSt*f1xYl7vM#Ibdi6h+~H08sT1|`L=It3 z^Z@4W2`>_HE<6?}3!(HyTZXELQ6v5Hp2+<|=4{(!i=5f7=wiz?WUOm3wSEYR%qq06 ziu=wnSfb~^SlzAb276~93`WUy1|hF_!?U_=knwSMNQf!?gdbHTme7wXQ|fpFt+4n+ zmzT%|Oosh`N=gyh0l~+Ezykn7UaGy+p-Ga#-S^&Y4wN%dpg6cg+Tg4K-_hS{75!Ej zb;4@?FtPcL)FY~FI(M2*K%A%6h6Ifo7fXbfTH%?%zwP-cYBmQVK(~aQ$RwsWb{8*u zokE)k%YK0AD{&lE2QpHM%`&~bTEAsqi1Zvqgf;Dd>$C)Oag6JSSq0K9%*BZ|B*1N? zccrraUtAD@ZpIthV1#>RFyPb=O= zK(O@=(FBMDB7SGI&$oCZ9KDa(O0{(L53?(O<^@@U*#s6Vl>sPk6+yy|u9W|^(%_}t zALY!~^H$V8NOTKJ&q(CjCbEPO0q!Ey+(ACuR%#g+-&s8RK?K3N#iE~=r6MYRd zxuIZC-7c@pP&kr&P$A+!g#gj@*j^s-Dr?JxgsDMew9{p}+?^CYU5;mqjARh$d!R~t zKT0zaIi%((EIUZ`V$C*Gir}*_upLC6S*K*HSi84gSQ|A*S4b=`w(lr8h1ht1jXeE8xRjEoV9w)oLp2!098%l-c=$S zEofW``qd?|;Whted9QX0PqJf{tev8n_;}H!yjN8A+tqaHyno?GTkl^eD?GPFI|eO+ zR!@RL)}hord%s`G5oIdme0wo}@^U6}NE9_hK#=B+DrJoVS8cde-1+pqger-8d#FTc z#FQS6lYlIFvsc}n6Gi1yL_ws5&*)@@NFX+*_e0Do4jH88^YK;fUo7CToa3*v!w;HZ zBA+m#@(~cGHQaSz>G$y$8MdCik2o4KuzD_@J$N@1vRDBT^1bJSAjKctE3M*^RrsHncW5oPilGK_j?UNqS8KVDw#pe1XqV#*LA znOwFVVG?;vD?vZBgtt+QM2=2Kt^zh}d86j-`-KZKY@=L4WC_lHGUG=A^0({Sv^>5V z4Ljz)cS#5!Q|ZD+%zUv3EsiR%Yn@!5Pw!@`9QS&c;NwlKMymb#Y_%G{9n5O{+w-S> zD#VHh#@vC+5@p9{x@(av0~%;y^KTjhXV0D}Z#uNcBJjV^tFE;sWab%QkMFpxfn z3DsRiAZ)l)YZ|nF*HoGgPc((*C8m6J6ydJN#$&1FRP~xJr|ZSIzJD=2|KT~L)@_jk zmg(62F=UH7|6$k>*nisPujRb89F#WSij1_EZSJX+qMS_EkaJ_rIC@Nxf#Hp=(Zw8d zB}aw%Sk20?`(xw2VZ+0))8njI_`G7QMT5Y_?hjc&$ky~Pk@s}PIhCapp} ztyLMWrA50Wg1Z!{m@dQQOYTYs?{Dl_Pu&pYrX$2)gQ^7P&!=yDnnsz6?={|%IAAz1 zM!s#@zeK%%xhXBeguRqy;}69Mfokz*ct*szd6AYsHLo62f=w0N30z7IP*RmWf^4} zSDSWU)_$=mBpPnb;MaMsBtk&rhh1Q(W3BO4?Rt z+samoX_;lgLCxntG2oa!@ybNC4?EUo&0EA8gZZYkhQaWg$%?>yXd?{c4C86H3)pb0Ty4M|(85R4WxI%!Ef+J)0WSD!P1Wc>2z_Iv<~2$*Ksbn@i^Su3 zQX7lcc6@G^F3f`mg2ZG_Mu;zv+)=|ONb+c)Tu)b*W*yfUW5JAj_p@|=LCKpGnuJk*C=&J_j9?>nGwv|1;W8HQ zH3*eih3*CqxRP`+nL@}1U!b%jR@3@=zK-day;O{(U4oRiKuFE#>_G;Ln#-M5^ff<3 z`kpuRBpAh|WiXyhY^}mhO>dq7BqHEXd~LeHQ65}#(tBEVN^{YNu(Gw8-EbaSO#d=} z>}(`#Rsd6V5<@_n#e@bR2eZ|^m#xo?MgtS&w@Yzc2v=~ZAhUD@_Pf~caG+b1t;UBs zfQl%nss?F-&B`^|-7PgvQP$!%8%cD`AXjh6rZmMzI5*xTsJI(2Y>#C9ZK}?4L5WYl zW81LB35S+&>~ST+FBE+uY@-Ej6pcB5%l2H_7_BYDP1=bbc`$*%AH+!XqSrq&cau3} z-^B^ud&3O_@ohcZ-s$H}i7LpU8)lypNJXgD4f1mn@_~TgabVrX*spP5j9TS$imaDi z@lpeAEw%z=%DA63Nh(5k;_A_*O}9grZY75;Y>D+?XkND0w?e4*YhrAzg(+=+NIUyb z)1rfG2k;X?xMDy`X%RsM;Jl;Gnais>7t=A?iBjt4sCV#_Z>jLs={|Z1aeFZoV!k}@Cuf)RopG{Em^DyS{T#!}qFX~)Vm`Z^nWHWkp3dvd zB1TWxH51J`xmdnd`yj!~qs5nh#E~i`oDT?@=*GJRk8e78r9qlI*`o>zk?h(`l6ug& zbFiyj1OOj22wBH@3Q=HDc?#?y{sk*YOp zl6q&z``uAzZ_l+dun3S;iFkV!Gg2k~mefi4*PvR=E{pm}+wmPkEvxX~RH@JtO6d!U z#tK2+jS_8~?f&hg{a;*X+#LP-uH`RX_*OsR$< zD=%pXl^9Gxt(>V;$_YwlhGel<^Vu2`PIRkoket!5eYl7Z7qHC}uFP^|(QEIKk4`-T zma(A_NpW@*3*ILt$cFuJ6Ng8Iw|T|UoA25U2a)bRbjyhs`I_X^>Ffz4eq)uEIaXX-s_{M;aaiK+4#{Jl>ujdN6)Cq*g$ZYi;kGe7Xt7+VgMviv+MW%WtptJ~Df z!S4ZtiAU*K!V}Hv&mCB{ntYd54J;0vGOXwBlBZ`m!5-1n?_3p;7$&$A2R$I)=;0|? zM+EchWFvzGYT+~TIN24aNg-czoZ?Z+8$UYMd=&Wt80UP`T{k(tO5Iiq+4S=#7LY3;@4{DgIUNCF@ z5Uuqy%8M84oFIu8CMJ0x)BWq~*$S*dtXQv{UI05WnESaQIz7@}srt==B^ZgkyLnBe zD6brQEd*D8{lm`f+nq0FZ%DsJZJjT#=abI!sku@vn2{Nz^2>OJ`VA43zE(w#{eSexMR^$|L-z6FEu_LaHx6zJd}i7Dludr z9z9q4*svG7D`^@)iA>kv{wl&R%P1q&Q#WP-jdu{z9fZ#~&&eri6O z&y}=?u94F-Jyl{h98QAof@g1Di-Ja!r=~QoP1CB-3Uf^aHJGOabiA8a?$=pIMDH}D z_OJmT%k!R@b;$ubP9o0nf&@?FV{V}1ES*!BKA%u>P#k^61q}=E8YqJTXlkqU^;17c<&3V&z z!)o@m8No%xBwu3F$Q zLzbfQ`1N?UCKW(W01R02voI%F=wd*B^8zfPz7Vn0v`lhv$$vF|<0nu;osVD>)M<() z6Lt^;l@XtW0l;)|zMM>d@#LXT^v-$RnnF>}*pioK*J)N{Kd{+ik-s6aWNAg+oB=Ge zmy7Xy$cRn9wtt9a(K*kVu(MW{XPZdI+y>IrjtV56XA*hYoKFCKt@jj$UJG=w@UFp{Tu+)PV_Ou<$>;SsWx9k@Y6HkHwj z@L@Dc(7`gHk#bOQql`BB+{a$7kjg&#MYDg;se*dS%s|iMs14RhQOzh_M1MEi{k-|T z%G2h#VLOc>M{G$;!Y&cRLpq9{S(5WWD3b}R$bRqHi!*9{98(l(WN^NJw%RS^Bq5$h zVM(>QBkC4QS^3#0=!lm_iNs*oWpbaGOF78!}w3D!Z! z6{M{?IgVEnxC$u$FgT5|O=3k4Q=z>r>z)I7f`Z6zz!2V4puc8&^;(;8@}cl%7m@Xw zSYG|6wXizi6oP%KSf%EF`p;Z_nmu3?Po88mJ6dHCO!wD`ju^3686q4f-u8$WM0lyy za*j8b_^iiwlnrA9I;>$MQF2Th+QdgZG%OdNSq>m2{9^#S##BXe$Y_7I3?(nh1|>_k zU9&6?RVE+~mdq)%g#12|Fj-fX07(<2B@_#1&O*>*prBk0+W6ILJw%NrQUb9+AI!VIbw>^U#Nt*qQUoQ+E|&}?h~#XIh%VpGHUIpNbFp7(NNAzNbjHfip_=W{MZPG&YLcBX0Qf+REmGbc?NtK zWm`}NX4g%TWO9Po>%``JA~@)zgz#Ber>2ocMTJ5P~ z3zpdqk121=O}BzG3EzDqggs|A0U6cO=-?uEz4&3Ve7*2@x_HxIG%VgQspl3rS=i6$ zgQj~PxmcsRCsNCu*7A%v3?%b49=dxUNuAcFhK zutU8rzlWk-kVyCB*l-KMCv>e3>O}>*{r>;Ic3G5aL$PBOUR~faayRzlKtuL)gVFqR zLCPQz8)hUfGo7K5UaKGNu4ZVO^NU!#j1{??wRQa|_<8Sfp`4;U3Su9J0i?^5be)k&Y?F%(pa42Xb6X+CZ*z;yc5^;noKNSp3~hS~>Li_=745!w zT?VvDcB(4WPj4V?0Sx`JTj@TI9d>>j+JIdpgA{fg?dNQCZO{-_)cWZwTIX`B-mspl z>6Z0Lb!YY9EbIdtk-Tqv3URm$y8tZ=$94yQTW67WzCL6ka2Z@xT?|xnv7sdzky)Ns3{v;k7f;U@-C-bqx3-Lg z;oE-un}7HFfAzPaTc~GIpuqq1KmYFk{_jkg-~F3^-%Y$t-3`r@{N4ZZcfb7~{_*#} z`5#T;-~atT2EMEQ8VCjdkN@qr|Lec|?SKDw|M5Tk2Xn)BsRAkw^7?fdQ2m34f6+yg>P-@5hNcOt-mUw8oAK6`5t95tH(gEESHfP*! z6#Bqm zZRjnhU!e-^*On{D^eaIVkbxz5aa=-zuxJ&)fA`zt91d`?A_mB&4&(Fek7Ai0FRvh0 zQ`O;z$K%CxuH~1wqVGz6kLJWZFb(V3)ou%HD)@*B)cM`8p?GC%R>NS4Oz~ui9(?}A zXTSLBTaoiEYB!0^K>ZJYxS}AO9Prx^O$?zbX(}4F55bf@h~%)Wr}x&2)H~Zu@by*t zdO=Yi);tvPWo#xHv#^`bFUFH;*tfYHEZ;s_d^wv;5e5kaL>PaxzL>7kNMZ2lo9Sy? zQ9_f8K1WhUo;&ohNKr|P9EA~UL>ya;rZwy=&5X_#-@=c|CPKA;Z#h4zQeW>BBLxoA+WeX7>Vj=NC3#0?&&VLfQ`Kofiu{RIb^h|?uS9mE zY?vfNTI+Lg&jB%irpxZbl*+J5)76Xd`Ly$Bae}4b#xq@*>i{ofk19W2);0nz&951{ z*&b#Negvwq`gNC0WukaBzJn7B1VxUqR1e>tpdgi+KeR5NGc!u%19U!0dOx%-rW9Dh z!aRy9U(Ocy#w%zw{!-_v)JkE8TB9gW7bC-xC)0e6=apN3m``7ss zlzYBhua}qc+j{*LJ=YCd4DO$tz$}{?nmI|$>x=1h4m4tHcCZ&Yni=%@a6|;(V_EIw zYKn28R6RRpJhJAr?)8ozir34-DL1c(1*xinBbSe{?Q%os4lJegl86g;v@mTWwn5Q<%b z0(+PwK4}$;S26l%S`Uy$ZRHd#|;AZrukb?VAt0cC z$8SzN)E0#_#{oxxDnWCyVlxKn>+$*mbkDtmN|3OB&c0|ujS2Leh))qB--K+tLPBJ~ zy7Orz$e4NYQ^Qi%yTFVOtEHL0p6|;vB7WQ!J@;jQZR|7Um?pewKsJN1$t@l1buS@a z`K4j9x>XP-72}wHy$o~TG_`YmrM2>ltG?!P8j`}IW;HCThp6{N!i(|4dU4_hI~v14 zgavJXj;wq*b){EjPVieaBfo@qRcCW$$mQ&n<%_o^^J(3lR9)W{F6Db!;(Sx>R@vEg z`zdN#IK9v8ESBbsHcrYm^_^xQp!|-c9R);%o@WcWSzXyagCvPuKUN%wmTlY_-@xt; z`EF7@xy~eP7{4(5z)3UVs1RbA!u4Yhakd`Fi|UV1t(b{4e{41(1z< z&L7a=PS$5$*(18vnN|-xL4aK#KDF1ZuuD>;xYI)*n@@g{!8phB7Q>ggQhGoyJT&l@ zpsPtymGPMsX??MRl+3bHS-&ny8W_QUa@Sx{)LO5cr3~PI0IL~>9?Id#fLOl2GK{Mm z`2Z~qg75z_`2JQ?)JlTqi!#!FBH;QsW$2mX6z@|mIzLYbO-_-GXjjCuUtDQ%r#$lG z{U(n#ji*}SE|!d@2kD!!UKXX3p^9JG@vDyEhrg7zno=B)Z z?gTVLClp0Y@_52Fof>BqOPk$)Tt*uNraF?!xLbNgVjY(Uv0WVe*34tv)AA~MLsGyv z(+0>3r8p;E?=;7ZxI+kDIU7TvaF8a+=FG+F1cs*wB~x+M`x~^?Iz%&@26sRSU>?4$ zVq__{L%PB3cn23#00}(54K^I+O1+*<*5DWK(JLxy;d3SBj>(mUd9;^*NxC<>yJTjq zk?|A4pZ%!gzS(HORkQIfmyWSG5pKGgXTlY2GZkwL)&72Ff;uivg%aL2N;r11NBXuGhR9=i%(+Sn7eW)oHk4mz0E`1xvkAu9 z2*!6=--uAd3S zKokx7gsb-gDFgw3-WQNZfb(Rdk7zjY-jO*4KPriq<5((EdB+Pyol`Yo>XcxYneybF zL7036#*SkZ0q%Zl>K^Zc219knP&;-WVx)__zzP^>XNkFNZXH-`HvSmqwkAQKUg4Gz z2FKoR5`*;!;H)cjRKPGzOR%VUY@=u;ZDdV6d_6tq-XlAIPDre!^~+{enkv#w9!=YT zXFmeZW`DGk8?8vVq=y-FB{cxAGFdG-&zwlwYfZs}eMq^O-Okv?*_R|lSnAR0v4X!q zf+Lia(H1QT!t+PAm5<~}>+a?+g#9Jc5Zg>5QDxGi$tRb<>WxU^D zkKcbpw9WQ^u>Jm{XJwguu)^CGqxMlD4SnnK5!EqYgOMo`d-;8^bGMr8R%tkFF_^fn zow$dKSL6B2&Y5BV;x!48YPOiIc?BOrs#>N^b%;ISpu!&jw^D5L1>zJx{kSDNM$w*2 zGZM~BO0%-7&@6|KaJRIX+G1`~3IaDFc&5{@L3%cSwr`3N%bda)XP(?@+Qk_}zfY#? z%m%uWC-qe_Eq-W_Q(X?tUF4mdF4&88j&uspdkv_@9#hP2+#}Wk18{=(aSq?mqco~w zHhILEC=)9Y^?FfX%wDW}=Ew;v_S4&eu253?Xv<<5H9Z#)GM_mwzG#rjRLr6WO?H>X6JC;qVN4eZYHsgnY%@BDaBTQ^1mm1#gxR)fv;EE|sd`fC5mUlvZcGrktv9YZ&vEYKsTvb8-0SQo zpPmoGdEDlyq`AJwWYT9pb5_t1M;Y*I^Eh4EWV{|nugt~r=NKGeHj&~R6up_ZW}E(h ziF{9zEc0P}yvle!=RQ5h%`ly$Ux4sj!H1}u)wI4c zYwXRfs@U}B`FN#62+}xjG75$u-R1Rvx}JF-iES3i&gbLHt6nXPr_qLQBz}$GjD#gi zXpD&FL!eWM`L|1jiDHF^+oG3noYav&yJr3O~Ys2OzJ2dwj3^CtdJ^?ja0c%$MVTHGlvj zWV0nfPZoX1-ZugegD}S!L0W*fC%^spV`o->GyVn}?<>#-?W)wwluKN`#FSQqX+F_2 zcYT;-c%DO)%c^4@T$%`CV9cBPtMOZd+Vaf_1!WIEsM5+pzGNvf&3b1>S1In;L)9Z1 zoCWR0>X)qYI0$fmXb;*M%rk69aDDI@e<1uYwr`dh>myCKxk%!ZBKRt| zQu479<@;K%ZWw@Hduihk4mo*w>_*=Y0S>-20Bs9uP^IO=ZZIf%%W3K;MH2<#^v!xT z{$)}e?7ZQ}dbu9YCA7|7Y|ky5XyO=90>Vyd9|3kHOCG`TVm^hVw6;)x!0)euU>Ct_ zLs}fRsX&9W z3&?sZ=HqVX09>vNI-r}CLF4XO&wpp0@O(O(i?^V@i{J#qB0Ji?8lMx&uco|^G{d~i zpLhrlTbSioRK;*Tq=h|ya5pl$`R&{Qm~g&LrVq8Nmn9hGSk=iL#Mm9jB^*X=l~_>{B5x&3kH zq3IeX^!n1=M_j6}P&RKF=t}b0m1M2?2>Qwl-JLxA?g`9-dkF&l(AU&v#h9Oe0mW@e znp)=DEejI#;Wh1s6km9+b++^Dk`OpKktr zI0o2md@O~o=6-M=6xtATdl8PRAR}S;V}sf6Qypj^$SKS)`$M+|!3}nSmuPiFE4n1R zc~Coq#C5Tui5blM_rAh$FGSCbG%p;{X+L!ap$SE0(Uh*`Z zmE@6o$)sX`?X#>%GE+WIy;zV%W?JC9SNyWyf=BaCF*KKoQ%r<`)Q2mtuzmI&pRI#) z$pZJTYutkJ;+19i!m@*l*<>^q+PS*cek@IT}Oo*?qd2n*h0Lu zeBC&IlcoJ4xnFtuz?H_9$>f>{`pgn#J`=zf_~k;ZY8AppuIB8!F=&gDKx9u;<0-%%}F=EZ5RD+Vyal(s# z6AZl)3onTN_{J3LGgxW(O!kjsceYlY=OI(y8#CymQD;101BLxg@40{doL?U*n1%{o z-&sErW_eU76!bT!#-i>*RV*pe!FTwQpU$DGhVU0QvXTj|IcD=q`HvM+dzkDSr=|O| zgFvF>>?G8_-5rzohoCzLh@YxRqHp_ucC(%VuLy!~zAyZ@VtqMX*DVSJs_3hsr7=}- z?YE>O(WzQ>*9F|`pBf4~tG@%oJof#|#@i}J6ioDDB5_2vMJ_AjOf`oqbWPvCn9V1v z=>h|WHT5x_&)N7lGWG|pcv}3rUPAy%aHD%Nt<51yA*bWI%gf8sZFc}=1%x5$HLFgmLR|DE%+_#ZOnFfY48eva0AQJBhQiy(YKsC>}5u7PzRixJsL2s9<~)u%dZTk z&0f5{ZzCyU&!7dMhfoVpgJTk?0pwTKE11s)Ti_#p>jOKb8JnO$&<-mk7;R>T%$Dfh z!Xr*G;=Z4uU~`iot4kc!KJL5_0mW93QyaL4bs@wd0kDrVGh}c)18bOnVeyLQuhLtf z*=uZqirFbS(-yb=pk0_nfmUacz|f|ig`EJFQKP{ra*jdI%-|D+GTo|F3wlpCKI|cv z_r2Q<+g&v^C`psSJo&R10A*GVX&Dka%G1ud%qw&B^gF|F46)P{QNxk1g!1cxQCf}N zYGF^Gt=Aw&1wsbC@bGhg_S}4^F?`^I*()1CP>MW*UUzQ63z4}1T0o`0g>T0%0dYXa zHJQEY3YGxoXXNfHkZ>TcqoS|Eejjx5_!69>!tkv zkyeDS#xVA%GS7JUc1=TcFLSm5wl21zsA16;}*4u{w-Re-CcL73mfN z&X%g zQIFuo`GnoM*~V$Pn(?c@JtqIlM0TvYH3t)gfVUK{qzgl5+%P!uc&4b~_UY)O>CHi; z0O1I*Ko8drt#j1)u23<~f8Vgijr{6+#jsXzWtX z6vS_(=sWNNhJTnJkuR|#f3C7~e#Dp7rVtZ$o51dg%+@80$x9rue{ViTN6 z;-hqe?ST{G7Z6Smi!_Deqlm z2>umYj0G>h#RwMmf89JRvJO7J7FRqMB_lBYk3-M^yfV=P-k_~C$KK;?Kx=WyHtR!| z^;)~F!@!yU4HHAb2e606nHhFY;cv)ZV*afs%hxn&+tBI3*=WEw-h;!qD@^<S!8N$|o=fywYdjKS+~N&(yfI@bt5=ZQfC-L9a;w6FB9-v%py4Ke>|QPeUeEsC0*Py7o|#{FR1H&-U& zg!SnpYEefX0fzGuzZxpvJ}yjTE{p3n_d%q3)L3#%e?_@1huC>P+(sR;8>!>Tz4`L| zhXMl;vkzF_vJYOY8;EFQ)&Y=SFc`zmh7KW8msF%;*(Q8O%wuF2gm@>&h-wi>ATM*o zAo$@s2EiJ}e>a=H_6Za0WeL7y9b`ncIHndZhMF(h9I8-Hi}Iu#yr>A@&sBh##tl<% zbD^ofe}ygS9(6M|(}o+TQUaL=E`rZn6_PJo>|eKdhWOY=HR@K&ZGBr0Qso45h;jPL z(zoo|232=jU8=eBaw&^X%eJ3y&~F~Q#_;^ExFBXmDKp33ipanS!|nX@LK!4ZI>z9q zytkaFxD&o$#hu7Ow#NIT2Y#$AP{45b4QtI9e?hJO^FWCAa#wo}=S`ctnhOm|y4%K! z+Qyzeu{6Wet@w*W(4@+)vJa8(>wGmGucuF@FAU6Nlh9~`P<3uq9Y~E^v66~KHDKiT zX8jklNfjus%BfGSFM3eQIkDfaSLfcf*1wlcxBzOEjEGVNQMUxIbTOS@O;`183RAVu ze^&Fd!6cZ1Qkykr`!->$s2=)$DRt-gK~_Po#&dpzbWM^bSnwT;J1Rw^Sar(A76n5P zYgJL9%!c9wsyMxRt!AlB%?VP@sm~IRp zXzBT#N!WQi#fLP+W+CQfQ0EC;MC}Cee-C_kFkX-8&4Z*ZxR<6`L#cZuiJ9sHA0{y4 z%%E%*H`d6uni;(Ogw;| zE~7AwkDRZf&5vRb*}7f2G^wHgr7xUu(DWfiu@ndheo?y^c*A_SQXkG#4x0#se*>9t z+JD9XtXUe}cXK_Ss=B>7HZYz@b501Mnw>kVmnT`Mp(o_eg6R zV=d&1)pYvnX)lPFhVU`c_LE5XqM5b^~G{xNW}z+5DrN79dkh+sDi4Qj9kcU zQQ<*GugDIGp3h2>Tw#VmrJLM@^V(cW^Ry8VoDI2Ap9iX+l_+hs5Y~r{f4W_m)zVZ6 z;08}=3E;nEEsqej=mZz7Z7($)uawoJRX1B@zx)Ky(#57q5b>%l7IFZu<>Ee`A0rP@ z9Hcmy@gQB|G7ga??g<1A6JQ%Z7E>(Y2k}A+x#gn6J_cSnecA8lDx>WImm#f5|Wb?+TURvsP`&mQUH5hCi_RQPlZE6S}6Po>$J$4qtMo zBYq!dS_zuRg9tdS!qBkHVJWMjIsc|J!}$O#J5kItOGFTQ6g>8JGxHL?M52$F%sM*Q@Y zT>r!j7+AC#FA(SI9oub-tsx~ z*kRYSDX($65z)=29D7P_nEz&b+0Z;HxSY}}y*8HY{ZSuvA+ya*QrNm{tf&bBa zVjL;iudtGc>Q$wFzgN zwn?)^q=x=3?S#W+6;elosnpXI?&EF?(6*%m@#*=+^!x|DTv4XGVv=inGAB$z_7HCB z=3SU;f@UJPf9o<=-JH?ck-E`fGOG<)Ti85v$;mynu5jwf?Jzx#8)4{4kK^lMHd1pO zP^Tm=85qvOuwwn3^|eg{I9{ze&L$&7Hy;(5N~l?$skznkYCbmm-L+M9x(@C6i2o&i zq6~r>@_SO0f@qUlmw+rLz>dK5?J0mh;Ex4Ri^Pjpe=ZM4*j>JxUAEy3aG%h(jQ#H- zNO3(qnAV0;z1^iBxKzbSu)h8-Hz8kUZo`+!A|eDgbZupF?#8ZXq%;g0!aMBPC`*ChTbp!lkDauaMfKaKOZh)^1)L(t+J-WGPpix>a7Z;!o({m~ptZN@=y zqn(7WAH7gF6D6vFYR57PcxF$6wB&qB6{;|g#kM$@BAK)^!wJcz8fv`5X8mA{^!wSb ze;<^AZo6gQg?ldS+UezNO|~Fd^X`3TD_}SAx5su{--qZ{>+uZqvEM2;Rslhe3L1Pj zGrl+nmIdE;M%+Yah|)9Jwe6^aaK%t&YvwUPH3zl1N&>}jT&n5LaEWGLeR^<^las$s z7C2oVG`B!U7|4LtT`c#&_R%_ZOniwf{Jda0)O&yVI4G3KFv#1CN0NtTe`e^LZ| z|DqCx_twzfM%mr?0AK9f4q)5a$3Qr zfz#R*#tq(1#r;{B0BGEgpHQQ5_z^a>M4wnVQtu!cVLPB+&islLDXc?ZF37Muu+OPu z!HUCbdrZsHG9F=8H)YK-)X#M0 z`20z>lMNVE+d`F%-MxQ@BLN(2ix`65qDbl>3}(k{vnSxc)COlFe=r-+1-dwORmw=h z;E3WdEezY>1=w%C0Ydf$taqVvS5Pw<1Q!QPX9vuxL>gzw{`>3)VT{v?>BY~2fXrd2=bV~VdDz#0teh! zmWB+d}|*R9c=xE9=v7ZoOYb)uvR%u3(<--Fu4|-Qx}IaIk^sNn1zSy#v~MDw!n{ ziJnVowVBLT>$ecB2`=*19|mvi|VHL48MFie_V%&oI2A*41JtJC|;bxP=0W0QiAI<#&`FsHVVlxm>uh+Fv*t&f! zn*+zcODceKVZX@Mk}WBx=*4+-hqQrVFPFc!X&`B^e{t&|%?mjsV8Qw@T;VFoC-P02 zGzOuI6UmV0W165QqUbJLTu)0X#P(d^pQli|g@M_Lr@vSkz=8^e{pei&AR)U!p{SL- zK%9>uPaKDi-fdO8>%h4%HEnZ3QSfo={Q#NJttNzhe{E`Kdfgv}VHDG9X5PUxrWf;s zr-n7ne>%)jnd5iu)V23PdRLeSgoM3E*h#R0a0vvF4>}n(U4>GF`502ofN$Lf8X4Z& zm=?B9r5lh}v?F0t6bc0GfRrAWZFnAM=_76l3#1%J)@VnDEp=dM#+WJjj+{fGrJ8NX zPo`Gw6cw_@i#In)!caI$&x4C`&9!ihx(ZaSf5}Qe*KE*CAMs7RAl z6qRag5oJqvtO=cFjaM+3j+_`7MB&4TZ-`&>CN2%u_>Pq*nSxu}Wu=3b9w<9{D`pHC zzb+a~O3p0AYB2s0=#%x}3y&TZ8Np~fnJcxVT^HKXg)CckFJ*uS>yRAMQ`J!mYtr%r zfAJR6x+&(0mMVBS!6n04A?xCacr*u`BB`l$Sg%S@T>)kt#!l!1=M|LZAq3_;OIAgNj3=D@={5-)`Gb|op@@& z=d0=Xhi0>l!)T?2?MuAg$pR-f8f2C{#>fQ|JiXEal^b&RtpgjDOMF(TGMf2N2J zHWdvW@1(i$Qyi{Fxp=0}bqSy_td-mt#n_j}n+Qek-bSQ|!b&w{Nj&FpKS12-B$l#8 z?h$VXh^I_XXQ{F*36Ulu3FRWC<&n-~Xg64;uBHa1h+96}kiZiyDj9+V=qv}X6nqIB zlHuAvGdGl@%_$LpvwXqj>RYpVf3${CDP^_f{FDNgF`c`&oV?wU$_c9?XJN!STAx@Q zjWjn3DWFhfKR10BNnr*BGE|Dz9vW>KBrjJK_f-Q~5J70`Y$4j-Vs368%4ar8sbWTe+$|U4@P5#dt&b5rre!RP2J_{*Dl24?ot7mFdJ=GE?JJ5pFzqM zQKwYeT4IIA1-;8uq3Ey??&(FzZ1rfY z%Pet9CQ2&@mLZDS5`a>*#YSaad(R?aBfx~YUgY(wdze`ES|ha6w5v1aM#5t0rkXgq zB*bz*up{GO&J+*wT&!GC)xMMRkUq8=S~$FX#rHO{rg#8y&+WK4O;ta{>R1z2o0V4; zzZ2aD5Q*|Ve?m_Z;YUX%5Xh&3@f{w8{Y=(c+5lKK;{`xoe~Jej^}B89_8+z*+~u@p zG9#y$f?nZ(G4fQc1MBgGVU;H|i9J@LtrGQaV4Soe+Z$(?BaM1c#qC=^OgJepYbx1o zTPxJhGr^D)e+*B`aQ;S#7OX;Be}Z*tjgKVId9`J0e?pRIjz0`kr9itSM>JuAEo@(f zn2=0D&@lU0o*lSkni{cbkz(oufoK^=n7h7Di&NHBlRe>=E*fy+GZwQ` zNsUw8E)_t3LYS@Fp%ObgC(h)sG?f$>Rr4^7s z#{q(wYa%@*7DU&YCOdT+&~iSJXHyV^+5%{sHG~G3y7aZEyH&>AR#ACLdf>TnqS3E|$gIP^|(Z=AQ6bwuFO*vXc$13Fy zJ9{SS!l}#E{ryLfuE905{r;n~XMG6W(FTfbknyp{MXOP?}=@>=*;WMm8#QumnUU9Vy8r0AS?2IcJL=!r;>l&F?y{zp*^+Xd;9aLsmzlyYQST`kCcv~@HAbD zW7JpNmUnqbE@C9Gbc3xw3R~^=$DPmXH8`71DP+x{^YQHvHSzTcN$NdeAH<=KTv7Bb z>)gKGq2znis%jV&wp=!ke~O@xKQn=(!!Fal?i?KaNjGCXPdogi^eCKH8E(@>Im z*|`Zy4oGGC%V;k161$AzE{X)x)_Zsxp~6E$#NcLleQ6drKm_MYTI1bPruq!GgGIfX z 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

    $tl938 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

    O&yS8zQIk5DBJ5Z{uEGkLR@7?FWt`%WscdM?V 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

    qg!=4w{LeotHpN+Ck9>` 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

    \n * \n * Create multiple components\n *\n *
    Deprecated usage
    \n * ```\n */\nfunction initCreators(element: HTMLElement, options: ZUIInitOptions = {}): void {\n const $element = $(element);\n let createNames = $element.attr('zui-create');\n const {update: $update, onCreate} = options;\n const createInstance = (name: string, createOptions?: Record) => {\n createOptions = {\n $update,\n $optionsFromDataset: false,\n ...createOptions,\n };\n if (onCreate) {\n const newCreateOptions = onCreate(name, createOptions);\n if (newCreateOptions === false) {\n return;\n }\n if (newCreateOptions) {\n createOptions = newCreateOptions;\n }\n }\n const $lib = createOptions.$lib as (GetLibOptions | undefined);\n if ($lib) {\n delete createOptions.$lib;\n $.getLib($lib).then(() => create(name, element, createOptions));\n return;\n }\n createInAnimationFrame(name, element, createOptions);\n };\n if (typeof createNames === 'string') {\n createNames = createNames.trim();\n const names = createNames.length ? createNames.split(',').map((name) => name.trim()) : [];\n const createOptionsMap = getZData(element, {prefix: 'zui-create-', evalValue: true})!;\n const createOptionsNames = Object.keys(createOptionsMap);\n if (!createOptionsNames.length && names.length === 1) {\n createInstance(names[0], $element.dataset());\n } else {\n const initedNames = new Set();\n [...names, ...createOptionsNames].forEach(name => {\n if (initedNames.has(name)) {\n return;\n }\n const createOptions = createOptionsMap[name] as ComponentCreateOptions | undefined;\n createInstance(name, createOptions);\n delete createOptionsMap[name];\n initedNames.add(name);\n });\n }\n } else {\n const initOptions = $element.dataset();\n const name = initOptions?.zui as string;\n if (!name) {\n return;\n }\n console.warn('[ZUI] create component instance with [data-zui] is deprecated, use [zui-create] instead.', {element, options});\n delete initOptions!.zui;\n createInstance(name, initOptions);\n }\n}\n\n/**\n * Bind toggle events.\n */\nfunction bindToggleEvents() {\n $(document).on('click.zui.toggle mouseenter.zui.toggle', '[data-toggle],[zui-toggle]', function (this: HTMLElement, event) {\n const $this = $(this);\n const toggleName = ($this.dataset('toggle') || $this.attr('zui-toggle')) as string;\n if (!toggleName) {\n return;\n }\n const TheComponentClass = Component.toggleMap.get(toggleName) || getComponent(toggleName);\n const toggleConfig = TheComponentClass?.toggle;\n if (!toggleConfig) {\n return;\n }\n\n const {trigger = 'click', skip = '[disabled],.disabled', check} = toggleConfig;\n const eventTriggerType = event.type === 'mouseover' ? 'hover' : 'click';\n if (!trigger.includes(eventTriggerType) || (check && !check.call(TheComponentClass, this, eventTriggerType, event)) || (skip && $this.is(skip))) {\n return;\n }\n\n const {onGet, onCreate, setOptions = true, getOptions, prevent = true, handler, onToggle, convertHref} = toggleConfig;\n let options = $this.dataset() as Record;\n const toggleOptions = $this.attr(`zui-toggle-${toggleName}`);\n if (toggleOptions) {\n options = $.extend(options, evalValue(toggleOptions));\n }\n if (convertHref && $this.is('a')) {\n const href = $this.attr('href');\n if (href) {\n const hrefMap = convertHref === true ? {selector: 'target', url: 'url'} : convertHref;\n if ('#.'.includes(href[0])) {\n if (hrefMap.selector && options[hrefMap.selector] === undefined) {\n options[hrefMap.selector] = href;\n }\n } else if (hrefMap.url && options[hrefMap.url] === undefined) {\n options[hrefMap.url] = href;\n }\n }\n }\n if (getOptions) {\n options = getOptions.call(TheComponentClass, this, options, event);\n }\n\n if (handler) {\n handler.call(TheComponentClass, this, options, eventTriggerType, event);\n if (prevent) {\n event.preventDefault();\n }\n return;\n }\n\n let component = onGet ? onGet.call(TheComponentClass, this) : TheComponentClass.get(this);\n if (!component) {\n const newComponent = onCreate ? onCreate.call(TheComponentClass, this, event, options) : (new TheComponentClass(this, options));\n if (!newComponent) {\n return;\n }\n component = newComponent;\n } else if (setOptions) {\n component.setOptions(options);\n }\n\n if (onToggle) {\n if (onToggle.call(TheComponentClass, component, this, event) === false) {\n return;\n }\n } else {\n const {shown, show, hide, toggle: toggleFunc} = component as unknown as {\n shown?: boolean,\n show?: () => void,\n hide?: () => void,\n toggle?: () => void,\n };\n\n let func: (() => void) | undefined;\n if (toggleFunc) {\n func = toggleFunc;\n } else if (show && hide) {\n if (shown) {\n func = hide;\n } else {\n func = show;\n }\n } else if (show) {\n func = show;\n }\n if (func) {\n func.call(component);\n } else {\n return;\n }\n }\n\n if (prevent) {\n event.preventDefault();\n }\n });\n}\n\nfunction getComponentsOnElement(element: HTMLElement, forEach?: (component: Component, dataKey: string) => void | boolean): Component[] {\n const data = takeData(element) as Record;\n const components: Component[] = [];\n Object.keys(data).forEach((dataKey) => {\n if (!dataKey.startsWith('zui.')) {\n return;\n }\n const component = data[dataKey] as Component;\n if (forEach?.(component, dataKey) === false) {\n return;\n }\n components.push(data[dataKey] as Component);\n });\n return components;\n}\n\nlet checkComponentsTimer = 0;\n\nfunction checkComponents(delay = 100) {\n if (checkComponentsTimer) {\n clearTimeout(checkComponentsTimer);\n }\n if (delay) {\n checkComponentsTimer = window.setTimeout(() => checkComponents(0), delay);\n return;\n }\n checkComponentsTimer = 0;\n Component.ALL.forEach((components) => {\n components.forEach((component) => component.autoDestroy());\n });\n}\n\nfunction autoDestroyComponents() {\n if (!document.body || takeData(document.body, '_autoDestoryMob')) {\n return;\n }\n const mob = new MutationObserver((mutations) => {\n let hasRemovedNodes = false;\n for (const mutation of mutations) {\n if (mutation.removedNodes.length) {\n hasRemovedNodes = true;\n break;\n }\n }\n\n if (hasRemovedNodes) {\n checkComponents();\n }\n });\n mob.observe(document.body, {childList: true, subtree: true});\n storeData(document.body, '_autoDestoryMob', mob);\n}\n\n/** Define the $.fn.zuiInit method. */\n$.fn.zuiInit = function (this: Cash, options?: ZUIInitOptions) {\n this.find('[zui-create],[data-zui]').each(function () {\n if (options?.beforeCreate?.(this) === false) {\n return;\n }\n initCreators(this, options);\n });\n this.find('[zui-init]').each(function () {\n if (this.hasAttribute('z-zui-inited')) {\n return;\n }\n this.setAttribute('z-zui-inited', '');\n $.runJS(this.getAttribute('zui-init')!, ['$element', $(this)]);\n });\n this.find('.hide-before-init').removeClass('invisible hidden opacity-0');\n this.find('.scroll-into-view').scrollIntoView();\n this.find('[data-on=\"inited\"],[zui-on-inited]').each((_, ele) => {\n const $ele = $(ele);\n if (!$ele.zui()) {\n $ele.trigger('inited');\n }\n });\n return this;\n};\n\n/** Define the $.fn.zui method. */\n$.fn.zui = function (this: Cash, name?: string | true, key?: string | number | true) {\n const element = this[0];\n if (!element) {\n return;\n }\n if (typeof name !== 'string') {\n const result: Record = {};\n let lastComponent: Component | undefined;\n getComponentsOnElement(element, (component, dataKey) => {\n result[dataKey] = component;\n if (!lastComponent || lastComponent.gid < component.gid) {\n lastComponent = result[dataKey];\n }\n });\n return name === true ? result : lastComponent;\n }\n const TheComponentClass = getComponent(name);\n if (!TheComponentClass) {\n return $(element).data(`zui.${name}`);\n }\n if (key === true) {\n return TheComponentClass.getAll(element);\n }\n return TheComponentClass.query(element, key);\n};\n\n$.fn.zuiCall = function (this: Cash, componentMethod: string, args: unknown[] = []) {\n this.each(function () {\n const parts = componentMethod.split('.');\n const name = parts.length > 1 ? parts[0] : undefined;\n const method = parts[parts.length > 1 ? 1 : 0];\n const component = $(this).zui(name) as (Component | undefined);\n const methodFunc = component?.[method as keyof Component];\n if (typeof methodFunc === 'function') {\n (methodFunc as ((...args: unknown[]) => void)).apply(component, args);\n }\n });\n return this;\n};\n\n$(() => {\n // Init zui creators and call [zui-init] code.\n $('body').zuiInit({update: true});\n\n // Bind toggle events.\n bindToggleEvents();\n\n // Auto destroy components when detached.\n autoDestroyComponents();\n});\n","import {Component} from '../component';\n\nexport type StickyOptions = {\n side?: 'top' | 'bottom';\n offset?: number;\n zIndex?: number;\n pinnedClass?: string;\n targets?: string;\n scrollContainer?: string;\n};\n\nexport class Sticky extends Component {\n static NAME = 'Sticky';\n\n protected declare _ob: IntersectionObserver;\n\n protected declare _container: HTMLElement;\n\n protected declare _scrollListener: () => void;\n\n protected declare _raf: number;\n\n init() {\n const {offset = 1, side, zIndex, pinnedClass = 'is-pinned', targets, scrollContainer} = this.options;\n const {$element} = this;\n const $targets = targets ? $element.find(targets) : $element;\n $targets.css({position: 'sticky', zIndex});\n if (side) $targets.css(side, -offset);\n\n if (scrollContainer) {\n const container = $element.closest(scrollContainer)[0] as HTMLElement;\n if (container) {\n const listener = () => {\n if (this._raf) {\n cancelAnimationFrame(this._raf);\n }\n this._raf = requestAnimationFrame(() => {\n this._raf = 0;\n if (container.scrollTop === 0 && (!side || side === 'top')) {\n $targets.toggleClass(pinnedClass, false);\n return;\n }\n const containerRect = container.getBoundingClientRect();\n $targets.each((_, target) => {\n const rect = target.getBoundingClientRect();\n const pinned = rect[side || 'top'] === containerRect[side || 'top'];\n target.classList.toggle(pinnedClass, pinned);\n });\n });\n };\n this._scrollListener = listener;\n container.addEventListener('scroll', listener);\n }\n this._container = container;\n } else {\n this._ob = new IntersectionObserver(\n (entries) => {\n entries.forEach(e => {\n e.target.classList.toggle(pinnedClass, e.intersectionRatio < offset);\n });\n },\n {threshold: [1]},\n );\n\n $targets.each((_, e) => this._ob.observe(e));\n }\n }\n\n destroy() {\n this._ob?.disconnect();\n if (this._container) {\n this._container.removeEventListener('scroll', this._scrollListener);\n if (this._raf) {\n cancelAnimationFrame(this._raf);\n }\n }\n }\n}\n","import {$, Cash, Selector, Comparator} from '../cash';\n\n/**\n * Options for {@link isVisible}.\n */\ntype ISVisibleOptions = {\n /** Whether to check if the element is fully visible. */\n fullyCheck?: boolean;\n viewport?: {left: number, top: number, width: number, height: number} | DOMRectReadOnly;\n container?: Comparator;\n checkZeroSize?: boolean;\n};\n\n/**\n * Check an element whethear is visible in the current viewport.\n *\n * @param selector Element selector to check.\n * @param options Options.\n * @returns True if the element is visible.\n * @see https://stackoverflow.com/a/26039199\n */\nexport function isVisible(selector: Selector, options: ISVisibleOptions = {}): boolean {\n const element = $(selector)[0];\n if (!element) {\n return false;\n }\n\n let {viewport} = options;\n const {left, top, width, height} = element.getBoundingClientRect();\n if (options.checkZeroSize && !(width * height)) {\n return false;\n }\n if (!viewport) {\n if (options.container) {\n viewport = $(element).closest(options.container)[0]!.getBoundingClientRect();\n } else {\n const {innerHeight, innerWidth} = window;\n const {clientHeight, clientWidth} = document.documentElement;\n viewport = {left: 0, top: 0, width: innerWidth || clientWidth, height: innerHeight || clientHeight};\n }\n }\n const {left: viewportLeft, top: viewportTop, width: viewportWidth, height: viewportHeight} = viewport;\n if (options.fullyCheck) {\n return (\n (left >= viewportLeft)\n && (top >= viewportTop)\n && ((left + width) <= (viewportWidth + viewportLeft))\n && ((top + height) <= (viewportHeight + viewportTop))\n );\n }\n // http://stackoverflow.com/questions/325933/determine-whether-two-date-ranges-overlap\n const horInView = (left <= (viewportLeft + viewportWidth)) && ((left + width) >= viewportLeft);\n const vertInView = (top <= (viewportTop + viewportHeight)) && ((top + height) >= viewportTop);\n\n return vertInView && horInView;\n}\n\n/* Declare types. */\ndeclare module 'cash-dom' {\n interface Cash {\n isVisible(options?: ISVisibleOptions): boolean;\n }\n}\n\n/* Extend as $.fn.isVisible() */\n$.fn.isVisible = function (this: Cash, options?: ISVisibleOptions) {\n return isVisible(this, options);\n};\n","import {$, Cash} from '../cash';\nimport {nextGid} from '../helpers';\n\nimport type {Selector} from '../cash';\n\n/**\n * Run javascript in an element.\n *\n * @param selector Element selector to run.\n * @param jsCode If not set, run all scripts in the element.\n */\nexport function runJS(selector: Selector, jsCode?: string | null, removeAfterRun = false) {\n const $element = $(selector);\n if (jsCode !== undefined) {\n if (typeof jsCode === 'string' && jsCode.length) {\n const id = `zui-runjs-${nextGid()}`;\n $element.append(``);\n if (removeAfterRun) {\n $element.find(`#${id}`).remove();\n }\n }\n return;\n }\n if ($element.is('script')) {\n const code = $element[0]?.textContent;\n if (code) {\n runJS($element.parent(), code);\n }\n return;\n }\n $element.find('script').each((_, script) => {\n runJS($element, (script as HTMLScriptElement).textContent);\n script.remove();\n });\n}\n\n/* Declare types. */\ndeclare module 'cash-dom' {\n interface Cash {\n runJS(jsCode?: string): this;\n }\n\n interface CashStatic {\n runJS(jsCode: string, ...args: [name: string, value: unknown][]): T;\n }\n}\n\n/* Extend as $.runJS() */\n$.runJS = (jsCode: string, ...args: [name: string, value: unknown][]): T => {\n jsCode = jsCode.trim();\n if (!jsCode.startsWith('return ') && !jsCode.endsWith(';')) {\n jsCode = `return ${jsCode}`;\n }\n // eslint-disable-next-line @typescript-eslint/no-implied-eval\n const func = new Function(...args.map(([name]) => name), jsCode);\n return func(...args.map(([, value]) => value));\n};\n\n/* Extend as $.fn.runJS() */\n$.fn.runJS = function (this: Cash, jsCode?: string) {\n return this.each((_, ele) => {\n runJS(ele, jsCode);\n });\n};\n","import {$, Cash, Selector, Comparator} from '../cash';\nimport {isVisible} from './is-visible';\n\n/**\n * Options for {@link scrollIntoView}.\n */\ntype CashScrollIntoViewOptions = ScrollIntoViewOptions & {\n ifNeeded?: boolean;\n container?: Comparator;\n};\n\nfunction hasScrollbar(element: HTMLElement, direction: 'vert' | 'horz' | 'both' = 'both') {\n if (direction === 'vert' || direction === 'both') {\n if (element.clientHeight < element.scrollHeight) {\n return true;\n }\n }\n\n if (direction === 'horz' || direction === 'both') {\n if (element.clientWidth < element.scrollWidth) {\n return true;\n }\n }\n\n return false;\n}\n\n/**\n * Scroll into view.\n *\n * @param selector Element selector to scroll into view.\n * @param options Options.\n * @returns True if the element is visible.\n * @see https://stackoverflow.com/a/26039199\n */\nexport function scrollIntoView(selector: Selector, options?: CashScrollIntoViewOptions): Cash {\n const $element = $(selector);\n const {ifNeeded = true, container, ...other} = options || {};\n $element.each((_, ele) => {\n if (container) {\n const $container = $(ele).closest(container);\n if (!$container.length || !hasScrollbar($container[0] as HTMLElement)) {\n return;\n }\n }\n if (ifNeeded) {\n if ((ele as unknown as {scrollIntoViewIfNeeded?: (options: ScrollIntoViewOptions) => void}).scrollIntoViewIfNeeded) {\n return (ele as unknown as {scrollIntoViewIfNeeded: (options: ScrollIntoViewOptions) => void}).scrollIntoViewIfNeeded(other);\n }\n if (isVisible(ele, {viewport: ele.getBoundingClientRect()})) {\n return;\n }\n }\n ele.scrollIntoView(other);\n });\n return $element;\n}\n\n/* Declare types. */\ndeclare module 'cash-dom' {\n interface Cash {\n scrollIntoView(options?: CashScrollIntoViewOptions): this;\n }\n}\n\n/* Extend as $.fn.scrollIntoView() */\n$.fn.scrollIntoView = function (this: Cash, options?: CashScrollIntoViewOptions) {\n return this.each((_, ele) => {\n scrollIntoView(ele, options);\n });\n};\n","import {$} from '../cash';\n\nexport type GetLibCallback = () => void;\n\nexport interface LoadJSOptions {\n src: string;\n id?: string;\n async?: boolean;\n defer?: boolean;\n noModule?: boolean;\n type?: string;\n integrity?: string;\n}\n\nexport interface LoadCSSOptions {\n src: string;\n id?: string;\n type?: 'css';\n}\n\nexport type GetLibOptions = {\n src: string | (string | LoadJSOptions | LoadCSSOptions)[];\n id?: string;\n async?: boolean;\n defer?: boolean;\n noModule?: boolean;\n type?: string;\n integrity?: string;\n name?: string;\n root?: string;\n css?: string;\n check?: string | boolean | (() => boolean | Promise);\n success?: GetLibCallback;\n};\n\n/* Declare types. */\ndeclare module 'cash-dom' {\n interface CashStatic {\n libRoot?: string;\n\n libMap?: Record;\n\n setLibRoot(root: string): void;\n\n registerLib(name: string, options: GetLibOptions): void;\n\n getLib(options: GetLibOptions): Promise;\n getLib(src: string | string[]): Promise;\n getLib(src: string | string[], options: Omit): Promise;\n getLib(src: string | string[], callback: GetLibCallback): Promise;\n getLib(src: string | string[], options: GetLibCallback, callback?: GetLibCallback): Promise;\n getLib(optionsOrSrc: string | string[] | GetLibOptions, optionsOrCallback?: Omit | GetLibCallback, callback?: GetLibCallback): Promise;\n\n /**\n * @deprecated Use $.getLib instead.\n */\n getScript(optionsOrSrc: string | (GetLibOptions & {src: string}), optionsOrCallback?: Omit | GetLibCallback, callback?: GetLibCallback): Promise;\n }\n}\n\n/** Define the $.libRoot property. */\n$.setLibRoot = function (root: string): void {\n $.libRoot = root;\n};\n\n/** Define the $.libMap property. */\n$.registerLib = function (name: string, options: GetLibOptions): void {\n if (!$.libMap) {\n $.libMap = {};\n }\n if (!options.name && options.id) {\n options.id = `zui-lib-${name}`;\n }\n $.libMap[name] = options;\n};\n\n/**\n * Load a CSS file by append a link tag to the head.\n */\nfunction loadCSS(options: string | LoadCSSOptions): Promise {\n return new Promise((resolve, reject) => {\n if (typeof options === 'string') {\n options = {src: options};\n }\n const {src, id} = options;\n const $oldLinks = $(id ? `#${id}` : `link[href=\"${src}\"]`);\n if ($oldLinks.length) {\n resolve();\n return;\n }\n const link = document.createElement('link');\n link.onload = () => {\n resolve();\n };\n link.onerror = () => {\n reject(new Error(`[ZUI] Failed to load CSS from: ${src}`));\n };\n link.rel = 'stylesheet';\n link.href = src;\n if (id) {\n link.id = id;\n }\n $('head').append(link);\n });\n}\n\nfunction loadJS(options: string | LoadJSOptions): Promise {\n return new Promise((resolve, reject) => {\n if (typeof options === 'string') {\n options = {src: options};\n }\n const {src, id} = options;\n const $oldScripts = $(id ? `#${id}` : `script[src=\"${src}\"]`);\n if ($oldScripts.length) {\n if ($oldScripts.dataset('loaded')) {\n resolve();\n } else {\n const callbacks = $oldScripts.data('loadCalls') || [];\n callbacks.push(resolve);\n $oldScripts.data('loadCalls', callbacks);\n }\n return;\n }\n const {async = true, defer = false, noModule = false, type, integrity} = options;\n const script = document.createElement('script');\n script.async = async;\n script.defer = defer;\n script.noModule = noModule;\n if (type) {\n script.type = type;\n }\n if (integrity) {\n script.integrity = integrity;\n }\n\n script.onload = () => {\n resolve();\n const callbacks: GetLibCallback[] = $(script).dataset('loaded', true).data('loadCalls') || [];\n callbacks.forEach(x => x());\n $(script).removeData('loadCalls');\n };\n script.onerror = () => {\n reject(new Error(`[ZUI] Failed to load JS from: ${src}`));\n };\n $('head').append(script);\n script.src = src;\n });\n}\n\n/** Define the $.getLib method. */\n$.getLib = async function (optionsOrSrc: string | string[] | GetLibOptions, optionsOrCallback?: Omit | GetLibCallback, callback?: GetLibCallback): Promise {\n if (typeof optionsOrSrc === 'string') {\n optionsOrSrc = ($.libMap?.[optionsOrSrc] || {src: optionsOrSrc}) as GetLibOptions;\n }\n let options: GetLibOptions = Array.isArray(optionsOrSrc) ? {src: optionsOrSrc} : $.extend({}, optionsOrSrc);\n if (typeof optionsOrCallback === 'function') {\n options.success = optionsOrCallback;\n } else if (optionsOrCallback) {\n $.extend(options, optionsOrCallback);\n }\n if (callback) {\n options.success = callback;\n }\n\n let {src: srcList} = options;\n const {name, success} = options;\n const lib = ($.libMap && name) ? $.libMap[name] : null;\n if (lib) {\n options = $.extend({}, lib, options);\n srcList = lib.src || options.src;\n }\n if (typeof srcList === 'string') {\n srcList = [srcList];\n }\n if (!srcList || !srcList.length) {\n throw new Error('[ZUI] No src provided for $.getLib.');\n }\n\n let {check = true} = options;\n if (check === true && name) {\n check = name;\n }\n const libVarName = typeof check === 'string' ? check : name;\n const getLibVar = (): T | undefined => {\n return libVarName ? ((window as unknown as Record)[libVarName] as T) : undefined;\n };\n if (typeof check === 'string') {\n check = () => !!getLibVar();\n }\n const onSuccess = () => {\n success?.();\n return getLibVar();\n };\n if (typeof check === 'function') {\n const checkResult = await check();\n if (checkResult) {\n return onSuccess();\n }\n }\n\n const {root = $.libRoot} = options;\n for (let srcOptions of srcList) {\n if (typeof srcOptions === 'string') {\n srcOptions = {src: srcOptions};\n }\n let {src} = srcOptions;\n if (root && !/https?:\\/\\//.test(src)) {\n src = `${root}${(root.endsWith('/') || src.startsWith('/')) ? '' : '/'}${src}`;\n }\n const loadOptions = {\n ...options,\n ...srcOptions,\n src,\n };\n if (srcOptions.type === 'css' || (!srcOptions.type && src.endsWith('.css'))) {\n await loadCSS(loadOptions as LoadCSSOptions);\n continue;\n }\n await loadJS(loadOptions as LoadJSOptions);\n }\n return onSuccess();\n};\n\n/** Define the $.getScript method. */\n$.getScript = $.getLib;\n","import {$, Cash, Selector} from '../cash';\n\n/**\n * Listen element resize with ResizeObserver.\n *\n * @param selector Element selector to check.\n * @returns True if the element is disabled.\n */\nexport function listenResize(selector: Selector, callback: ResizeObserverCallback): ResizeObserver {\n const $elements = $(selector);\n const observer = new ResizeObserver(callback);\n\n $elements.each((_, ele) => {\n observer.observe(ele);\n });\n\n return observer;\n}\n\n/* Declare types. */\ndeclare module 'cash-dom' {\n interface Cash {\n resize(callback: ResizeObserverCallback): ResizeObserver;\n }\n}\n\n/* Extend as $.fn.resize() */\n$.fn.resize = function (this: Cash, callback: ResizeObserverCallback) {\n return listenResize(this, callback);\n};\n","import type {ComponentType} from 'preact';\n\nexport const reactComponents: Record = {};\n\nexport function registerReactComponent

    (name: string, component?: ComponentType

    ): void;\n\nexport function registerReactComponent(componentMap: Record): void;\n\nexport function registerReactComponent(nameOrMap: string | Record, component?: ComponentType): void {\n if (typeof nameOrMap === 'object') {\n Object.keys(nameOrMap).forEach(name => {\n registerReactComponent(name, nameOrMap[name] as ComponentType);\n });\n } else if (component) {\n reactComponents[nameOrMap.toLowerCase()] = component;\n }\n}\n\nexport function getReactComponent

    (name: string): ComponentType

    | undefined {\n return reactComponents[name.toLowerCase()] as (ComponentType

    | undefined);\n}\n","import {h, Component} from 'preact';\nimport {nextGid} from '../../helpers/gid';\nimport {classes} from '../../helpers/classes';\nimport {getReactComponent} from './components';\nimport {i18n} from '../../i18n';\n\nimport type {JSX, ComponentType, RenderableProps, ComponentChildren} from 'preact';\nimport type {ClassNameLike} from '../../helpers/classes';\nimport type {HElementProps} from '../types';\nimport type {I18nLangMap} from '../../i18n';\n\n/**\n * The base HTML element.\n */\nexport class HElement

    extends Component {\n static HElement = true;\n\n static customProps: string[] = [];\n\n /**\n * The component name.\n * It usually equals to the class name.\n * The name must be provided in subclass.\n */\n static NAME: string;\n\n /**\n * The component i18n data.\n * It will be merged with global i18n data.\n */\n static i18n: I18nLangMap | undefined;\n\n /**\n * Access to static properties via this.constructor.\n *\n * @see https://github.com/Microsoft/TypeScript/issues/3841#issuecomment-337560146\n */\n declare ['constructor']: typeof HElement;\n\n protected _gid = nextGid();\n\n constructor(props: P) {\n super(props);\n\n this.state = this.getDefaultState(props);\n }\n\n get gid() {\n return this._gid;\n }\n\n get element() {\n return document.querySelector(`[z-gid-${this._gid}]`);\n }\n\n /**\n * Get the component i18n data.\n */\n get i18nData(): (I18nLangMap | undefined)[] {\n return [this.props.i18n, this.constructor.i18n];\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n getDefaultState(_props?: RenderableProps

    ): S {\n return {} as S;\n }\n\n resetState(props?: RenderableProps

    , init?: boolean) {\n const defaultState = this.getDefaultState(props);\n if (init) {\n this.state = defaultState;\n } else {\n this.changeState(defaultState);\n }\n }\n\n /**\n * Get the i18n text.\n *\n * @param key The i18n key.\n * @param defaultValue The default value if the key is not found.\n */\n i18n(key: string, defaultValue?: string): string;\n\n /**\n * Get the i18n text.\n *\n * @param key The i18n key.\n * @param args The i18n arguments.\n * @param defaultValue The default value if the key is not found.\n */\n i18n(key: string, args?: (string | number)[], defaultValue?: string): string;\n\n /**\n * Get the i18n text.\n *\n * @param key The i18n key.\n * @param args The i18n arguments.\n * @param defaultValue The default value if the key is not found.\n */\n i18n(key: string, args?: Record, defaultValue?: string): string;\n\n /**\n * Get the i18n text.\n *\n * @param key The i18n key.\n * @param args The i18n arguments or the default value.\n * @param defaultValue The default value if the key is not found.\n * @returns The i18n text.\n */\n i18n(key: string, args?: string | (string | number)[] | Record, defaultValue?: string): string {\n const {i18nData} = this;\n return i18n(i18nData, key, args, defaultValue, this.props.lang, this.constructor.NAME)\n ?? i18n(i18nData, key, args, defaultValue, this.props.lang)\n ?? `{i18n:${key}}`;\n }\n\n changeState(state: Partial | ((prevState: Readonly) => Partial), callback?: () => void): Promise {\n return new Promise(resolve => {\n this.setState(state, () => {\n callback?.();\n resolve(this.state);\n });\n });\n }\n\n protected _getClassName(props: RenderableProps

    ): ClassNameLike {\n return props.className;\n }\n\n protected _getProps(props: RenderableProps

    ): Record {\n const {className, attrs, props: componentProps, data, forwardRef, children, component, style, class: classNameAlt, ...others} = props;\n const customProps = new Set((this.constructor as typeof HElement).customProps);\n const strDangerouslySetInnerHTML = 'dangerouslySetInnerHTML';\n const other = Object.keys(others).reduce>((map, key) => {\n if (!customProps.has(key) && (key === strDangerouslySetInnerHTML || /^(on[A-Z]|data-|zui-|z-)[a-zA-Z-]+/.test(key))) {\n const val = others[key as keyof typeof others];\n map[key] = (key !== strDangerouslySetInnerHTML && val && typeof val === 'object') ? JSON.stringify(val) : val;\n }\n return map;\n }, {});\n return {ref: forwardRef, className: classes(this._getClassName(props), classNameAlt) || undefined, style, [`z-gid-${this._gid}`]: '', ...other, ...attrs, ...componentProps};\n }\n\n protected _getComponent(props: RenderableProps

    ): ComponentType | keyof JSX.IntrinsicElements {\n const {component = 'div'} = props;\n return (typeof component === 'string' ? getReactComponent(component as string) : component) || component;\n }\n\n protected _getChildren(props: RenderableProps

    ): ComponentChildren {\n return props.children;\n }\n\n protected _beforeRender(props: RenderableProps

    ): RenderableProps

    | undefined | void {\n return props;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n protected _onRender(component: ComponentType | keyof JSX.IntrinsicElements, componentProps: Record, children: ComponentChildren, _props: RenderableProps

    ): [component: ComponentType | keyof JSX.IntrinsicElements, componentProps: Record, children: ComponentChildren] | void {\n return [component, componentProps, children];\n }\n\n render(props: RenderableProps

    ) {\n props = this._beforeRender(props) || props;\n let component = this._getComponent(props);\n let children = this._getChildren(props);\n let componentProps = this._getProps(props);\n const renderResult = this._onRender(component, componentProps, children, props);\n if (renderResult) {\n [component, componentProps, children] = renderResult;\n }\n return h(component as ComponentType, componentProps, children);\n }\n}\n","import{options as r,Fragment as e}from\"preact\";export{Fragment}from\"preact\";var t=/[\"&<]/;function n(r){if(0===r.length||!1===t.test(r))return r;for(var e=0,n=0,o=\"\",f=\"\";n

    Hello world

    \n * Hello world

    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 Tf7pS{e9sDE!ir!7{jL8GG=`=H diff --git a/dev/zui/zui.esm.js b/dev/zui/zui.esm.js index a3d6a90141..693e130197 100644 --- a/dev/zui/zui.esm.js +++ b/dev/zui/zui.esm.js @@ -8,7 +8,7 @@ var it = (n, t, e) => (an(n, t, "read from private field"), e ? e.call(n) : t.ge t instanceof WeakSet ? t.add(n) : t.set(n, e); }, pt = (n, t, e, s) => (an(n, t, "write to private field"), s ? s.call(n, e) : t.set(n, e), e); var ln = (n, t, e) => (an(n, t, "access private method"), e); -const bu = "3.0.0", wu = 1724728947902, Dt = document, ms = window, Er = Dt.documentElement, ae = Dt.createElement.bind(Dt), $r = ae("div"), cn = ae("table"), za = ae("tbody"), Gi = ae("tr"), { isArray: Fs, prototype: Ar } = Array, { concat: Oa, filter: Kn, indexOf: Mr, map: Pr, push: Fa, slice: Ir, some: qn, splice: Ha } = Ar, Wa = /^#(?:[\w-]|\\.|[^\x00-\xa0])*$/, ja = /^\.(?:[\w-]|\\.|[^\x00-\xa0])*$/, Ba = /<.+>/, Va = /^\w+$/; +const bu = "3.0.0", wu = 1724732176903, Dt = document, ms = window, Er = Dt.documentElement, ae = Dt.createElement.bind(Dt), $r = ae("div"), cn = ae("table"), za = ae("tbody"), Gi = ae("tr"), { isArray: Fs, prototype: Ar } = Array, { concat: Oa, filter: Kn, indexOf: Mr, map: Pr, push: Fa, slice: Ir, some: qn, splice: Ha } = Ar, Wa = /^#(?:[\w-]|\\.|[^\x00-\xa0])*$/, ja = /^\.(?:[\w-]|\\.|[^\x00-\xa0])*$/, Ba = /<.+>/, Va = /^\w+$/; function Gn(n, t) { const e = Ua(t); return !n || !e && !ne(t) && !Z(t) ? [] : !e && ja.test(n) ? t.getElementsByClassName(n.slice(1).replace(/\\/g, "")) : !e && Va.test(n) ? t.getElementsByTagName(n) : t.querySelectorAll(n); @@ -3635,6 +3635,10 @@ class Xe extends st { var e; (e = this.props.afterRender) == null || e.call(this, t); } + _beforeRender(t) { + var e; + return (e = this.props.beforeRender) == null ? void 0 : e.call(this, t); + } _getItems(t) { const { items: e } = t, { items: s } = this.state; return s || (Array.isArray(e) ? e : []); @@ -4089,7 +4093,12 @@ class Se extends Xe { parentKey: r }); } - _beforeRenderNestedItem(t) { + _beforeRenderNestedItem(t, e) { + const { beforeRenderItem: s } = this.props; + if (s) { + const i = s.call(this, t, e); + i !== void 0 && (t = i); + } return this._renderedItemMap.set(t._keyPath, t), t; } _renderItem(t, e, s) { @@ -4161,7 +4170,7 @@ Se.defaultProps = { level: 0, indent: 20 }; -Se.inheritNestedProps = ["component", "name", "itemName", "itemKey", "indent", "hover", "divider", "multiline", "toggleIcons", "nestedToggle", "accordion", "itemRender", "itemProps", "beforeRenderItem", "onToggle", "checkbox", "getItem", "checkOnClick", "selectOnChecked", "checkedState", "onClickItem", "activeOnHover", "multipleActive", "onActive"]; +Se.inheritNestedProps = ["component", "name", "itemName", "itemKey", "indent", "hover", "divider", "multiline", "toggleIcons", "nestedToggle", "accordion", "itemRender", "itemProps", "onToggle", "checkbox", "getItem", "checkOnClick", "selectOnChecked", "checkedState", "onClickItem", "activeOnHover", "multipleActive", "onActive"]; const xe = class xo extends Se { constructor(t) { super(t), this._handleHover = this._handleHover.bind(this); diff --git a/dev/zui/zui.esm.js.map b/dev/zui/zui.esm.js.map index 3af77f18ce..edc98816ea 100644 --- a/dev/zui/zui.esm.js.map +++ b/dev/zui/zui.esm.js.map @@ -1 +1 @@ -{"version":3,"file":"zui.esm.js","sources":["../../../../lib/core/src/config/index.ts","../../../../node_modules/cash-dom/dist/cash.esm.js","../../../../lib/core/src/cash/cash.ts","../../../../lib/helpers/src/object/deep-get.ts","../../../../lib/helpers/src/format-string.ts","../../../../lib/core/src/i18n/i18n.ts","../../../../lib/core/src/i18n/common.ts","../../../../lib/core/src/ajax/ajax.ts","../../../../lib/core/src/ajax/helper.ts","../../../../lib/core/src/ajax/fetcher.ts","../../../../lib/core/src/helpers/gid.ts","../../../../lib/core/src/helpers/is-diff.ts","../../../../lib/core/src/helpers/computed.ts","../../../../lib/core/src/helpers/classes.ts","../../../../lib/core/src/helpers/data.ts","../../../../lib/core/src/helpers/raw-data.ts","../../../../lib/core/src/helpers/z.ts","../../../../lib/core/src/helpers/attr.ts","../../../../lib/core/src/helpers/event.ts","../../../../lib/core/src/helpers/delay.ts","../../../../lib/core/src/helpers/share-data.ts","../../../../node_modules/preact/dist/preact.module.js","../../../../lib/core/src/helpers/merge-props.ts","../../../../lib/core/src/helpers/scroll.ts","../../../../lib/core/src/helpers/global-event.ts","../../../../lib/core/src/helpers/size.ts","../../../../lib/core/src/helpers/download-file.ts","../../../../lib/core/src/helpers/bus.ts","../../../../node_modules/tinykeys/dist/tinykeys.module.js","../../../../lib/core/src/helpers/hotkeys.ts","../../../../lib/core/src/helpers/fullscreen.ts","../../../../lib/core/src/dom/is-detached.ts","../../../../lib/core/src/component/component.ts","../../../../lib/core/src/component/creator.ts","../../../../lib/core/src/helpers/sticky.ts","../../../../lib/core/src/dom/is-visible.ts","../../../../lib/core/src/dom/run-js.ts","../../../../lib/core/src/dom/scroll-into-view.ts","../../../../lib/core/src/dom/get-lib.ts","../../../../lib/core/src/dom/resize.ts","../../../../lib/core/src/react/components/components.ts","../../../../lib/core/src/react/components/h-element.ts","../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js","../../../../lib/core/src/react/components/html-content.tsx","../../../../lib/core/src/react/components/custom-render.tsx","../../../../lib/core/src/react/components/custom-content.tsx","../../../../lib/core/src/react/components/icon.tsx","../../../../lib/core/src/react/components/portals.ts","../../../../lib/core/src/react/components/share.ts","../../../../lib/core/src/react/component-from-react.ts","../../../../lib/button/src/component/button.tsx","../../../../lib/button/src/component/share.ts","../../../../lib/common-list/src/component/common-list.tsx","../../../../lib/common-list/src/vanilla/common-list.ts","../../../../lib/common-list/src/component/share.ts","../../../../lib/helpers/src/color-helper.ts","../../../../lib/helpers/src/string-code.ts","../../../../lib/avatar/src/component/avatar.tsx","../../../../lib/btn-group/src/component/btn-group.tsx","../../../../lib/toolbar/src/component/toolbar.tsx","../../../../lib/checkbox/src/component/checkbox.tsx","../../../../lib/checkbox/src/component/radio.tsx","../../../../lib/checkbox/src/component/switch.tsx","../../../../lib/list/src/component/listitem.tsx","../../../../lib/list/src/component/list.tsx","../../../../lib/store/src/store.ts","../../../../lib/store/src/main.ts","../../../../lib/list/src/component/nested-list.tsx","../../../../lib/menu/src/component/menu.tsx","../../../../lib/search-box/src/components/search-box.tsx","../../../../lib/menu/src/component/search-menu.tsx","../../../../lib/menu/src/vanilla/menu.ts","../../../../lib/menu/src/vanilla/search-menu.ts","../../../../lib/menu/src/component/share.ts","../../../../lib/alert/src/component/alert.tsx","../../../../lib/messager/src/component/messager-item.tsx","../../../../lib/messager/src/vanilla/messager-item.ts","../../../../lib/messager/src/vanilla/messager.ts","../../../../lib/progress/src/components/progress-bar.tsx","../../../../lib/progress/src/components/share.ts","../../../../lib/progress/src/vanilla/index.ts","../../../../lib/progress-circle/src/component/progress-circle.tsx","../../../../lib/progress-circle/src/vanilla/index.ts","../../../../lib/progress-circle/src/component/share.ts","../../../../lib/avatar/src/vanilla/index.ts","../../../../lib/avatar/src/component/share.ts","../../../../lib/btn-group/src/vanilla/index.ts","../../../../lib/btn-group/src/component/share.ts","../../../../lib/pick/src/components/pick-trigger.tsx","../../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../../../lib/pick/src/components/pick-pop.tsx","../../../../lib/pick/src/components/pick.tsx","../../../../lib/color-picker/src/components/color-picker.tsx","../../../../lib/color-picker/src/vanilla/color-picker.ts","../../../../lib/helpers/src/date-helper.ts","../../../../lib/datetime-picker/src/component/time-picker-menu.tsx","../../../../lib/datetime-picker/src/component/time-picker.tsx","../../../../lib/datetime-picker/src/helpers/date-helper.ts","../../../../lib/datetime-picker/src/i18n/index.ts","../../../../lib/datetime-picker/src/component/mini-calendar.tsx","../../../../lib/datetime-picker/src/component/value-selector.tsx","../../../../lib/datetime-picker/src/component/date-picker-menu.tsx","../../../../lib/datetime-picker/src/component/date-picker.tsx","../../../../lib/datetime-picker/src/component/datetime-picker.tsx","../../../../lib/datetime-picker/src/vanilla/time-picker.ts","../../../../lib/datetime-picker/src/vanilla/date-picker.ts","../../../../lib/datetime-picker/src/vanilla/datetime-picker.ts","../../../../lib/modal/src/vanilla/modal-base.ts","../../../../lib/modal/src/component/modal-dialog.tsx","../../../../lib/modal/src/component/modal-iframe-content.tsx","../../../../lib/modal/src/vanilla/modal.tsx","../../../../lib/modal/src/vanilla/modal-trigger.ts","../../../../lib/file-selector/src/i18n/index.ts","../../../../lib/file-selector/src/components/file-selector.tsx","../../../../lib/file-selector/src/components/image-selector.tsx","../../../../lib/file-selector/src/vanilla/file-selector.ts","../../../../lib/file-selector/src/vanilla/image-selector.ts","../../../../lib/file-selector/src/components/share.ts","../../../../lib/nav/src/component/nav.tsx","../../../../lib/nav/src/vanilla/nav.ts","../../../../lib/nav/src/component/share.ts","../../../../lib/pager/src/helpers/update-pager-info.ts","../../../../lib/pager/src/component/pager-link.tsx","../../../../lib/pager/src/component/pager-info.tsx","../../../../lib/pager/src/component/pager-nav.tsx","../../../../lib/popover/src/component/popover-panel.tsx","../../../../lib/popover/src/vanilla/popover-panel.ts","../../../../lib/popover/src/vanilla/popover.ts","../../../../lib/dropdown/src/vanilla/dropdown.ts","../../../../lib/dropdown/src/component/dropdown-button.tsx","../../../../lib/dropdown/src/component/dropdown-menu.tsx","../../../../lib/pager/src/component/pager-size-menu.tsx","../../../../lib/pager/src/component/pager-goto.tsx","../../../../lib/pager/src/component/pager.tsx","../../../../lib/pager/src/vanilla/index.ts","../../../../lib/pager/src/component/share.ts","../../../../lib/pick/src/vanilla/pick.ts","../../../../lib/picker/src/component/picker-search.tsx","../../../../lib/picker/src/component/picker-multi-select.tsx","../../../../lib/picker/src/component/picker-single-select.tsx","../../../../lib/tree/src/components/tree.tsx","../../../../lib/tree/src/components/search-tree.tsx","../../../../lib/picker/src/component/picker-menu.tsx","../../../../lib/picker/src/component/picker.tsx","../../../../lib/picker/src/vanilla/picker.ts","../../../../lib/picker/src/i18n/index.ts","../../../../lib/search-box/src/vanilla/search-box.ts","../../../../lib/search-box/src/components/share.ts","../../../../lib/toolbar/src/vanilla/index.ts","../../../../lib/toolbar/src/component/share.ts","../../../../lib/tooltip/src/vanilla/tooltip.ts","../../../../lib/scrollbar/src/component/scrollbar.tsx","../../../../lib/dtable/src/helpers/shared-plugins.ts","../../../../lib/dtable/src/helpers/default-options.ts","../../../../lib/dtable/src/helpers/number.ts","../../../../lib/dtable/src/helpers/layout.ts","../../../../lib/dtable/src/components/cell.tsx","../../../../lib/dtable/src/components/cells.tsx","../../../../lib/dtable/src/components/block.tsx","../../../../lib/dtable/src/components/dtable.tsx","../../../../lib/dtable/src/plugins/rich/index.tsx","../../../../lib/dtable/src/plugins/sort/index.tsx","../../../../lib/dtable/src/plugins/custom/index.tsx","../../../../lib/dtable/src/plugins/checkable/index.tsx","../../../../lib/dtable/src/plugins/store/index.ts","../../../../lib/dtable/src/plugins/nested/index.tsx","../../../../lib/dtable/src/plugins/avatar/index.tsx","../../../../lib/dtable/src/plugins/sort-type/index.tsx","../../../../lib/dtable/src/plugins/group/index.tsx","../../../../lib/dtable/src/plugins/header-group/index.tsx","../../../../lib/dtable/src/plugins/cellspan/index.ts","../../../../lib/dtable/src/plugins/mousemove/index.ts","../../../../lib/dtable/src/plugins/autoscroll/index.ts","../../../../lib/dtable/src/plugins/sortable/index.tsx","../../../../lib/dtable/src/vanilla/index.ts","../../../../lib/tabs/src/vanilla/tabs.ts"],"sourcesContent":["\n// eslint-disable-next-line @typescript-eslint/naming-convention\ndeclare const __APP_VERSION__: string;\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\ndeclare const __BUILD_TIME__: number;\n\nexport const VERSION = __APP_VERSION__;\nexport const BUILD = __BUILD_TIME__;\n","const doc = document;\nconst win = window;\nconst docEle = doc.documentElement;\nconst createElement = doc.createElement.bind(doc);\nconst div = createElement('div');\nconst table = createElement('table');\nconst tbody = createElement('tbody');\nconst tr = createElement('tr');\nconst { isArray, prototype: ArrayPrototype } = Array;\nconst { concat, filter, indexOf, map, push, slice, some, splice } = ArrayPrototype;\nconst idRe = /^#(?:[\\w-]|\\\\.|[^\\x00-\\xa0])*$/;\nconst classRe = /^\\.(?:[\\w-]|\\\\.|[^\\x00-\\xa0])*$/;\nconst htmlRe = /<.+>/;\nconst tagRe = /^\\w+$/;\n// @require ./variables.ts\nfunction find(selector, context) {\n const isFragment = isDocumentFragment(context);\n return !selector || (!isFragment && !isDocument(context) && !isElement(context))\n ? []\n : !isFragment && classRe.test(selector)\n ? context.getElementsByClassName(selector.slice(1).replace(/\\\\/g, ''))\n : !isFragment && tagRe.test(selector)\n ? context.getElementsByTagName(selector)\n : context.querySelectorAll(selector);\n}\n// @require ./find.ts\n// @require ./variables.ts\nclass Cash {\n constructor(selector, context) {\n if (!selector)\n return;\n if (isCash(selector))\n return selector;\n let eles = selector;\n if (isString(selector)) {\n const ctx = context || doc;\n eles = idRe.test(selector) && isDocument(ctx)\n ? ctx.getElementById(selector.slice(1).replace(/\\\\/g, ''))\n : htmlRe.test(selector)\n ? parseHTML(selector)\n : isCash(ctx)\n ? ctx.find(selector)\n : isString(ctx)\n ? cash(ctx).find(selector)\n : find(selector, ctx);\n if (!eles)\n return;\n }\n else if (isFunction(selector)) {\n return this.ready(selector); //FIXME: `fn.ready` is not included in `core`, but it's actually a core functionality\n }\n if (eles.nodeType || eles === win)\n eles = [eles];\n this.length = eles.length;\n for (let i = 0, l = this.length; i < l; i++) {\n this[i] = eles[i];\n }\n }\n init(selector, context) {\n return new Cash(selector, context);\n }\n}\nconst fn = Cash.prototype;\nconst cash = fn.init;\ncash.fn = cash.prototype = fn; // Ensuring that `cash () instanceof cash`\nfn.length = 0;\nfn.splice = splice; // Ensuring a cash collection gets printed as array-like in Chrome's devtools\nif (typeof Symbol === 'function') { // Ensuring a cash collection is iterable\n fn[Symbol['iterator']] = ArrayPrototype[Symbol['iterator']];\n}\nfunction isCash(value) {\n return value instanceof Cash;\n}\nfunction isWindow(value) {\n return !!value && value === value.window;\n}\nfunction isDocument(value) {\n return !!value && value.nodeType === 9;\n}\nfunction isDocumentFragment(value) {\n return !!value && value.nodeType === 11;\n}\nfunction isElement(value) {\n return !!value && value.nodeType === 1;\n}\nfunction isText(value) {\n return !!value && value.nodeType === 3;\n}\nfunction isBoolean(value) {\n return typeof value === 'boolean';\n}\nfunction isFunction(value) {\n return typeof value === 'function';\n}\nfunction isString(value) {\n return typeof value === 'string';\n}\nfunction isUndefined(value) {\n return value === undefined;\n}\nfunction isNull(value) {\n return value === null;\n}\nfunction isNumeric(value) {\n return !isNaN(parseFloat(value)) && isFinite(value);\n}\nfunction isPlainObject(value) {\n if (typeof value !== 'object' || value === null)\n return false;\n const proto = Object.getPrototypeOf(value);\n return proto === null || proto === Object.prototype;\n}\ncash.isWindow = isWindow;\ncash.isFunction = isFunction;\ncash.isArray = isArray;\ncash.isNumeric = isNumeric;\ncash.isPlainObject = isPlainObject;\nfunction each(arr, callback, _reverse) {\n if (_reverse) {\n let i = arr.length;\n while (i--) {\n if (callback.call(arr[i], i, arr[i]) === false)\n return arr;\n }\n }\n else if (isPlainObject(arr)) {\n const keys = Object.keys(arr);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n if (callback.call(arr[key], key, arr[key]) === false)\n return arr;\n }\n }\n else {\n for (let i = 0, l = arr.length; i < l; i++) {\n if (callback.call(arr[i], i, arr[i]) === false)\n return arr;\n }\n }\n return arr;\n}\ncash.each = each;\nfn.each = function (callback) {\n return each(this, callback);\n};\nfn.empty = function () {\n return this.each((i, ele) => {\n while (ele.firstChild) {\n ele.removeChild(ele.firstChild);\n }\n });\n};\nfunction extend(...sources) {\n const deep = isBoolean(sources[0]) ? sources.shift() : false;\n const target = sources.shift();\n const length = sources.length;\n if (!target)\n return {};\n if (!length)\n return extend(deep, cash, target);\n for (let i = 0; i < length; i++) {\n const source = sources[i];\n for (const key in source) {\n if (deep && (isArray(source[key]) || isPlainObject(source[key]))) {\n if (!target[key] || target[key].constructor !== source[key].constructor)\n target[key] = new source[key].constructor();\n extend(deep, target[key], source[key]);\n }\n else {\n target[key] = source[key];\n }\n }\n }\n return target;\n}\ncash.extend = extend;\nfn.extend = function (plugins) {\n return extend(fn, plugins);\n};\n// @require ./type_checking.ts\nconst splitValuesRe = /\\S+/g;\nfunction getSplitValues(str) {\n return isString(str) ? str.match(splitValuesRe) || [] : [];\n}\nfn.toggleClass = function (cls, force) {\n const classes = getSplitValues(cls);\n const isForce = !isUndefined(force);\n return this.each((i, ele) => {\n if (!isElement(ele))\n return;\n each(classes, (i, c) => {\n if (isForce) {\n force ? ele.classList.add(c) : ele.classList.remove(c);\n }\n else {\n ele.classList.toggle(c);\n }\n });\n });\n};\nfn.addClass = function (cls) {\n return this.toggleClass(cls, true);\n};\nfn.removeAttr = function (attr) {\n const attrs = getSplitValues(attr);\n return this.each((i, ele) => {\n if (!isElement(ele))\n return;\n each(attrs, (i, a) => {\n ele.removeAttribute(a);\n });\n });\n};\nfunction attr(attr, value) {\n if (!attr)\n return;\n if (isString(attr)) {\n if (arguments.length < 2) {\n if (!this[0] || !isElement(this[0]))\n return;\n const value = this[0].getAttribute(attr);\n return isNull(value) ? undefined : value;\n }\n if (isUndefined(value))\n return this;\n if (isNull(value))\n return this.removeAttr(attr);\n return this.each((i, ele) => {\n if (!isElement(ele))\n return;\n ele.setAttribute(attr, value);\n });\n }\n for (const key in attr) {\n this.attr(key, attr[key]);\n }\n return this;\n}\nfn.attr = attr;\nfn.removeClass = function (cls) {\n if (arguments.length)\n return this.toggleClass(cls, false);\n return this.attr('class', '');\n};\nfn.hasClass = function (cls) {\n return !!cls && some.call(this, (ele) => isElement(ele) && ele.classList.contains(cls));\n};\nfn.get = function (index) {\n if (isUndefined(index))\n return slice.call(this);\n index = Number(index);\n return this[index < 0 ? index + this.length : index];\n};\nfn.eq = function (index) {\n return cash(this.get(index));\n};\nfn.first = function () {\n return this.eq(0);\n};\nfn.last = function () {\n return this.eq(-1);\n};\nfunction text(text) {\n if (isUndefined(text)) {\n return this.get().map(ele => isElement(ele) || isText(ele) ? ele.textContent : '').join('');\n }\n return this.each((i, ele) => {\n if (!isElement(ele))\n return;\n ele.textContent = text;\n });\n}\nfn.text = text;\n// @require core/type_checking.ts\n// @require core/variables.ts\nfunction computeStyle(ele, prop, isVariable) {\n if (!isElement(ele))\n return;\n const style = win.getComputedStyle(ele, null);\n return isVariable ? style.getPropertyValue(prop) || undefined : style[prop] || ele.style[prop];\n}\n// @require ./compute_style.ts\nfunction computeStyleInt(ele, prop) {\n return parseInt(computeStyle(ele, prop), 10) || 0;\n}\n// @require css/helpers/compute_style_int.ts\nfunction getExtraSpace(ele, xAxis) {\n return computeStyleInt(ele, `border${xAxis ? 'Left' : 'Top'}Width`) + computeStyleInt(ele, `padding${xAxis ? 'Left' : 'Top'}`) + computeStyleInt(ele, `padding${xAxis ? 'Right' : 'Bottom'}`) + computeStyleInt(ele, `border${xAxis ? 'Right' : 'Bottom'}Width`);\n}\n// @require css/helpers/compute_style.ts\nconst defaultDisplay = {};\nfunction getDefaultDisplay(tagName) {\n if (defaultDisplay[tagName])\n return defaultDisplay[tagName];\n const ele = createElement(tagName);\n doc.body.insertBefore(ele, null);\n const display = computeStyle(ele, 'display');\n doc.body.removeChild(ele);\n return defaultDisplay[tagName] = display !== 'none' ? display : 'block';\n}\n// @require css/helpers/compute_style.ts\nfunction isHidden(ele) {\n return computeStyle(ele, 'display') === 'none';\n}\n// @require ./cash.ts\nfunction matches(ele, selector) {\n const matches = ele && (ele['matches'] || ele['webkitMatchesSelector'] || ele['msMatchesSelector']);\n return !!matches && !!selector && matches.call(ele, selector);\n}\n// @require ./matches.ts\n// @require ./type_checking.ts\nfunction getCompareFunction(comparator) {\n return isString(comparator)\n ? (i, ele) => matches(ele, comparator)\n : isFunction(comparator)\n ? comparator\n : isCash(comparator)\n ? (i, ele) => comparator.is(ele)\n : !comparator\n ? () => false\n : (i, ele) => ele === comparator;\n}\nfn.filter = function (comparator) {\n const compare = getCompareFunction(comparator);\n return cash(filter.call(this, (ele, i) => compare.call(ele, i, ele)));\n};\n// @require collection/filter.ts\nfunction filtered(collection, comparator) {\n return !comparator ? collection : collection.filter(comparator);\n}\nfn.detach = function (comparator) {\n filtered(this, comparator).each((i, ele) => {\n if (ele.parentNode) {\n ele.parentNode.removeChild(ele);\n }\n });\n return this;\n};\nconst fragmentRe = /^\\s*<(\\w+)[^>]*>/;\nconst singleTagRe = /^<(\\w+)\\s*\\/?>(?:<\\/\\1>)?$/;\nconst containers = {\n '*': div,\n tr: tbody,\n td: tr,\n th: tr,\n thead: table,\n tbody: table,\n tfoot: table\n};\n//TODO: Create elements inside a document fragment, in order to prevent inline event handlers from firing\n//TODO: Ensure the created elements have the fragment as their parent instead of null, this also ensures we can deal with detatched nodes more reliably\nfunction parseHTML(html) {\n if (!isString(html))\n return [];\n if (singleTagRe.test(html))\n return [createElement(RegExp.$1)];\n const fragment = fragmentRe.test(html) && RegExp.$1;\n const container = containers[fragment] || containers['*'];\n container.innerHTML = html;\n return cash(container.childNodes).detach().get();\n}\ncash.parseHTML = parseHTML;\nfn.has = function (selector) {\n const comparator = isString(selector)\n ? (i, ele) => find(selector, ele).length\n : (i, ele) => ele.contains(selector);\n return this.filter(comparator);\n};\nfn.not = function (comparator) {\n const compare = getCompareFunction(comparator);\n return this.filter((i, ele) => (!isString(comparator) || isElement(ele)) && !compare.call(ele, i, ele));\n};\nfunction pluck(arr, prop, deep, until) {\n const plucked = [];\n const isCallback = isFunction(prop);\n const compare = until && getCompareFunction(until);\n for (let i = 0, l = arr.length; i < l; i++) {\n if (isCallback) {\n const val = prop(arr[i]);\n if (val.length)\n push.apply(plucked, val);\n }\n else {\n let val = arr[i][prop];\n while (val != null) {\n if (until && compare(-1, val))\n break;\n plucked.push(val);\n val = deep ? val[prop] : null;\n }\n }\n }\n return plucked;\n}\n// @require core/pluck.ts\n// @require core/variables.ts\nfunction getValue(ele) {\n if (ele.multiple && ele.options)\n return pluck(filter.call(ele.options, option => option.selected && !option.disabled && !option.parentNode.disabled), 'value');\n return ele.value || '';\n}\nfunction val(value) {\n if (!arguments.length)\n return this[0] && getValue(this[0]);\n return this.each((i, ele) => {\n const isSelect = ele.multiple && ele.options;\n if (isSelect || checkableRe.test(ele.type)) {\n const eleValue = isArray(value) ? map.call(value, String) : (isNull(value) ? [] : [String(value)]);\n if (isSelect) {\n each(ele.options, (i, option) => {\n option.selected = eleValue.indexOf(option.value) >= 0;\n }, true);\n }\n else {\n ele.checked = eleValue.indexOf(ele.value) >= 0;\n }\n }\n else {\n ele.value = isUndefined(value) || isNull(value) ? '' : value;\n }\n });\n}\nfn.val = val;\nfn.is = function (comparator) {\n const compare = getCompareFunction(comparator);\n return some.call(this, (ele, i) => compare.call(ele, i, ele));\n};\ncash.guid = 1;\nfunction unique(arr) {\n return arr.length > 1 ? filter.call(arr, (item, index, self) => indexOf.call(self, item) === index) : arr;\n}\ncash.unique = unique;\nfn.add = function (selector, context) {\n return cash(unique(this.get().concat(cash(selector, context).get())));\n};\nfn.children = function (comparator) {\n return filtered(cash(unique(pluck(this, ele => ele.children))), comparator);\n};\nfn.parent = function (comparator) {\n return filtered(cash(unique(pluck(this, 'parentNode'))), comparator);\n};\nfn.index = function (selector) {\n const child = selector ? cash(selector)[0] : this[0];\n const collection = selector ? this : cash(child).parent().children();\n return indexOf.call(collection, child);\n};\nfn.closest = function (comparator) {\n const filtered = this.filter(comparator);\n if (filtered.length)\n return filtered;\n const $parent = this.parent();\n if (!$parent.length)\n return filtered;\n return $parent.closest(comparator);\n};\nfn.siblings = function (comparator) {\n return filtered(cash(unique(pluck(this, ele => cash(ele).parent().children().not(ele)))), comparator);\n};\nfn.find = function (selector) {\n return cash(unique(pluck(this, ele => find(selector, ele))));\n};\n// @require core/variables.ts\n// @require collection/filter.ts\n// @require traversal/find.ts\nconst HTMLCDATARe = /^\\s*\\s*$/g;\nconst scriptTypeRe = /^$|^module$|\\/(java|ecma)script/i;\nconst scriptAttributes = ['type', 'src', 'nonce', 'noModule'];\nfunction evalScripts(node, doc) {\n const collection = cash(node);\n collection.filter('script').add(collection.find('script')).each((i, ele) => {\n if (scriptTypeRe.test(ele.type) && docEle.contains(ele)) { // The script type is supported // The element is attached to the DOM // Using `documentElement` for broader browser support\n const script = createElement('script');\n script.text = ele.textContent.replace(HTMLCDATARe, '');\n each(scriptAttributes, (i, attr) => {\n if (ele[attr])\n script[attr] = ele[attr];\n });\n doc.head.insertBefore(script, null);\n doc.head.removeChild(script);\n }\n });\n}\n// @require ./eval_scripts.ts\nfunction insertElement(anchor, target, left, inside, evaluate) {\n if (inside) { // prepend/append\n anchor.insertBefore(target, left ? anchor.firstChild : null);\n }\n else { // before/after\n if (anchor.nodeName === 'HTML') {\n anchor.parentNode.replaceChild(target, anchor);\n }\n else {\n anchor.parentNode.insertBefore(target, left ? anchor : anchor.nextSibling);\n }\n }\n if (evaluate) {\n evalScripts(target, anchor.ownerDocument);\n }\n}\n// @require ./insert_element.ts\nfunction insertSelectors(selectors, anchors, inverse, left, inside, reverseLoop1, reverseLoop2, reverseLoop3) {\n each(selectors, (si, selector) => {\n each(cash(selector), (ti, target) => {\n each(cash(anchors), (ai, anchor) => {\n const anchorFinal = inverse ? target : anchor;\n const targetFinal = inverse ? anchor : target;\n const indexFinal = inverse ? ti : ai;\n insertElement(anchorFinal, !indexFinal ? targetFinal : targetFinal.cloneNode(true), left, inside, !indexFinal);\n }, reverseLoop3);\n }, reverseLoop2);\n }, reverseLoop1);\n return anchors;\n}\nfn.after = function () {\n return insertSelectors(arguments, this, false, false, false, true, true);\n};\nfn.append = function () {\n return insertSelectors(arguments, this, false, false, true);\n};\nfunction html(html) {\n if (!arguments.length)\n return this[0] && this[0].innerHTML;\n if (isUndefined(html))\n return this;\n const hasScript = /]/.test(html);\n return this.each((i, ele) => {\n if (!isElement(ele))\n return;\n if (hasScript) {\n cash(ele).empty().append(html);\n }\n else {\n ele.innerHTML = html;\n }\n });\n}\nfn.html = html;\nfn.appendTo = function (selector) {\n return insertSelectors(arguments, this, true, false, true);\n};\nfn.wrapInner = function (selector) {\n return this.each((i, ele) => {\n const $ele = cash(ele);\n const contents = $ele.contents();\n contents.length ? contents.wrapAll(selector) : $ele.append(selector);\n });\n};\nfn.before = function () {\n return insertSelectors(arguments, this, false, true);\n};\nfn.wrapAll = function (selector) {\n let structure = cash(selector);\n let wrapper = structure[0];\n while (wrapper.children.length)\n wrapper = wrapper.firstElementChild;\n this.first().before(structure);\n return this.appendTo(wrapper);\n};\nfn.wrap = function (selector) {\n return this.each((i, ele) => {\n const wrapper = cash(selector)[0];\n cash(ele).wrapAll(!i ? wrapper : wrapper.cloneNode(true));\n });\n};\nfn.insertAfter = function (selector) {\n return insertSelectors(arguments, this, true, false, false, false, false, true);\n};\nfn.insertBefore = function (selector) {\n return insertSelectors(arguments, this, true, true);\n};\nfn.prepend = function () {\n return insertSelectors(arguments, this, false, true, true, true, true);\n};\nfn.prependTo = function (selector) {\n return insertSelectors(arguments, this, true, true, true, false, false, true);\n};\nfn.contents = function () {\n return cash(unique(pluck(this, ele => ele.tagName === 'IFRAME' ? [ele.contentDocument] : (ele.tagName === 'TEMPLATE' ? ele.content.childNodes : ele.childNodes))));\n};\nfn.next = function (comparator, _all, _until) {\n return filtered(cash(unique(pluck(this, 'nextElementSibling', _all, _until))), comparator);\n};\nfn.nextAll = function (comparator) {\n return this.next(comparator, true);\n};\nfn.nextUntil = function (until, comparator) {\n return this.next(comparator, true, until);\n};\nfn.parents = function (comparator, _until) {\n return filtered(cash(unique(pluck(this, 'parentElement', true, _until))), comparator);\n};\nfn.parentsUntil = function (until, comparator) {\n return this.parents(comparator, until);\n};\nfn.prev = function (comparator, _all, _until) {\n return filtered(cash(unique(pluck(this, 'previousElementSibling', _all, _until))), comparator);\n};\nfn.prevAll = function (comparator) {\n return this.prev(comparator, true);\n};\nfn.prevUntil = function (until, comparator) {\n return this.prev(comparator, true, until);\n};\nfn.map = function (callback) {\n return cash(concat.apply([], map.call(this, (ele, i) => callback.call(ele, i, ele))));\n};\nfn.clone = function () {\n return this.map((i, ele) => ele.cloneNode(true));\n};\nfn.offsetParent = function () {\n return this.map((i, ele) => {\n let offsetParent = ele.offsetParent;\n while (offsetParent && computeStyle(offsetParent, 'position') === 'static') {\n offsetParent = offsetParent.offsetParent;\n }\n return offsetParent || docEle;\n });\n};\nfn.slice = function (start, end) {\n return cash(slice.call(this, start, end));\n};\n// @require ./cash.ts\nconst dashAlphaRe = /-([a-z])/g;\nfunction camelCase(str) {\n return str.replace(dashAlphaRe, (match, letter) => letter.toUpperCase());\n}\nfn.ready = function (callback) {\n const cb = () => setTimeout(callback, 0, cash);\n if (doc.readyState !== 'loading') {\n cb();\n }\n else {\n doc.addEventListener('DOMContentLoaded', cb);\n }\n return this;\n};\nfn.unwrap = function () {\n this.parent().each((i, ele) => {\n if (ele.tagName === 'BODY')\n return;\n const $ele = cash(ele);\n $ele.replaceWith($ele.children());\n });\n return this;\n};\nfn.offset = function () {\n const ele = this[0];\n if (!ele)\n return;\n const rect = ele.getBoundingClientRect();\n return {\n top: rect.top + win.pageYOffset,\n left: rect.left + win.pageXOffset\n };\n};\nfn.position = function () {\n const ele = this[0];\n if (!ele)\n return;\n const isFixed = (computeStyle(ele, 'position') === 'fixed');\n const offset = isFixed ? ele.getBoundingClientRect() : this.offset();\n if (!isFixed) {\n const doc = ele.ownerDocument;\n let offsetParent = ele.offsetParent || doc.documentElement;\n while ((offsetParent === doc.body || offsetParent === doc.documentElement) && computeStyle(offsetParent, 'position') === 'static') {\n offsetParent = offsetParent.parentNode;\n }\n if (offsetParent !== ele && isElement(offsetParent)) {\n const parentOffset = cash(offsetParent).offset();\n offset.top -= parentOffset.top + computeStyleInt(offsetParent, 'borderTopWidth');\n offset.left -= parentOffset.left + computeStyleInt(offsetParent, 'borderLeftWidth');\n }\n }\n return {\n top: offset.top - computeStyleInt(ele, 'marginTop'),\n left: offset.left - computeStyleInt(ele, 'marginLeft')\n };\n};\nconst propMap = {\n /* GENERAL */\n class: 'className',\n contenteditable: 'contentEditable',\n /* LABEL */\n for: 'htmlFor',\n /* INPUT */\n readonly: 'readOnly',\n maxlength: 'maxLength',\n tabindex: 'tabIndex',\n /* TABLE */\n colspan: 'colSpan',\n rowspan: 'rowSpan',\n /* IMAGE */\n usemap: 'useMap'\n};\nfn.prop = function (prop, value) {\n if (!prop)\n return;\n if (isString(prop)) {\n prop = propMap[prop] || prop;\n if (arguments.length < 2)\n return this[0] && this[0][prop];\n return this.each((i, ele) => { ele[prop] = value; });\n }\n for (const key in prop) {\n this.prop(key, prop[key]);\n }\n return this;\n};\nfn.removeProp = function (prop) {\n return this.each((i, ele) => { delete ele[propMap[prop] || prop]; });\n};\nconst cssVariableRe = /^--/;\n// @require ./variables.ts\nfunction isCSSVariable(prop) {\n return cssVariableRe.test(prop);\n}\n// @require core/camel_case.ts\n// @require core/cash.ts\n// @require core/each.ts\n// @require core/variables.ts\n// @require ./is_css_variable.ts\nconst prefixedProps = {};\nconst { style } = div;\nconst vendorsPrefixes = ['webkit', 'moz', 'ms'];\nfunction getPrefixedProp(prop, isVariable = isCSSVariable(prop)) {\n if (isVariable)\n return prop;\n if (!prefixedProps[prop]) {\n const propCC = camelCase(prop);\n const propUC = `${propCC[0].toUpperCase()}${propCC.slice(1)}`;\n const props = (`${propCC} ${vendorsPrefixes.join(`${propUC} `)}${propUC}`).split(' ');\n each(props, (i, p) => {\n if (p in style) {\n prefixedProps[prop] = p;\n return false;\n }\n });\n }\n return prefixedProps[prop];\n}\n// @require core/type_checking.ts\n// @require ./is_css_variable.ts\nconst numericProps = {\n animationIterationCount: true,\n columnCount: true,\n flexGrow: true,\n flexShrink: true,\n fontWeight: true,\n gridArea: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnStart: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowStart: true,\n lineHeight: true,\n opacity: true,\n order: true,\n orphans: true,\n widows: true,\n zIndex: true\n};\nfunction getSuffixedValue(prop, value, isVariable = isCSSVariable(prop)) {\n return !isVariable && !numericProps[prop] && isNumeric(value) ? `${value}px` : value;\n}\nfunction css(prop, value) {\n if (isString(prop)) {\n const isVariable = isCSSVariable(prop);\n prop = getPrefixedProp(prop, isVariable);\n if (arguments.length < 2)\n return this[0] && computeStyle(this[0], prop, isVariable);\n if (!prop)\n return this;\n value = getSuffixedValue(prop, value, isVariable);\n return this.each((i, ele) => {\n if (!isElement(ele))\n return;\n if (isVariable) {\n ele.style.setProperty(prop, value);\n }\n else {\n ele.style[prop] = value;\n }\n });\n }\n for (const key in prop) {\n this.css(key, prop[key]);\n }\n return this;\n}\n;\nfn.css = css;\nfunction attempt(fn, arg) {\n try {\n return fn(arg);\n }\n catch (_a) {\n return arg;\n }\n}\n// @require core/attempt.ts\n// @require core/camel_case.ts\nconst JSONStringRe = /^\\s+|\\s+$/;\nfunction getData(ele, key) {\n const value = ele.dataset[key] || ele.dataset[camelCase(key)];\n if (JSONStringRe.test(value))\n return value;\n return attempt(JSON.parse, value);\n}\n// @require core/attempt.ts\n// @require core/camel_case.ts\nfunction setData(ele, key, value) {\n value = attempt(JSON.stringify, value);\n ele.dataset[camelCase(key)] = value;\n}\nfunction data(name, value) {\n if (!name) {\n if (!this[0])\n return;\n const datas = {};\n for (const key in this[0].dataset) {\n datas[key] = getData(this[0], key);\n }\n return datas;\n }\n if (isString(name)) {\n if (arguments.length < 2)\n return this[0] && getData(this[0], name);\n if (isUndefined(value))\n return this;\n return this.each((i, ele) => { setData(ele, name, value); });\n }\n for (const key in name) {\n this.data(key, name[key]);\n }\n return this;\n}\nfn.data = data;\nfunction getDocumentDimension(doc, dimension) {\n const docEle = doc.documentElement;\n return Math.max(doc.body[`scroll${dimension}`], docEle[`scroll${dimension}`], doc.body[`offset${dimension}`], docEle[`offset${dimension}`], docEle[`client${dimension}`]);\n}\neach([true, false], (i, outer) => {\n each(['Width', 'Height'], (i, prop) => {\n const name = `${outer ? 'outer' : 'inner'}${prop}`;\n fn[name] = function (includeMargins) {\n if (!this[0])\n return;\n if (isWindow(this[0]))\n return outer ? this[0][`inner${prop}`] : this[0].document.documentElement[`client${prop}`];\n if (isDocument(this[0]))\n return getDocumentDimension(this[0], prop);\n return this[0][`${outer ? 'offset' : 'client'}${prop}`] + (includeMargins && outer ? computeStyleInt(this[0], `margin${i ? 'Top' : 'Left'}`) + computeStyleInt(this[0], `margin${i ? 'Bottom' : 'Right'}`) : 0);\n };\n });\n});\neach(['Width', 'Height'], (index, prop) => {\n const propLC = prop.toLowerCase();\n fn[propLC] = function (value) {\n if (!this[0])\n return isUndefined(value) ? undefined : this;\n if (!arguments.length) {\n if (isWindow(this[0]))\n return this[0].document.documentElement[`client${prop}`];\n if (isDocument(this[0]))\n return getDocumentDimension(this[0], prop);\n return this[0].getBoundingClientRect()[propLC] - getExtraSpace(this[0], !index);\n }\n const valueNumber = parseInt(value, 10);\n return this.each((i, ele) => {\n if (!isElement(ele))\n return;\n const boxSizing = computeStyle(ele, 'boxSizing');\n ele.style[propLC] = getSuffixedValue(propLC, valueNumber + (boxSizing === 'border-box' ? getExtraSpace(ele, !index) : 0));\n });\n };\n});\nconst displayProperty = '___cd';\nfn.toggle = function (force) {\n return this.each((i, ele) => {\n if (!isElement(ele))\n return;\n const hidden = isHidden(ele);\n const show = isUndefined(force) ? hidden : force;\n if (show) {\n ele.style.display = ele[displayProperty] || '';\n if (isHidden(ele)) {\n ele.style.display = getDefaultDisplay(ele.tagName);\n }\n }\n else if (!hidden) {\n ele[displayProperty] = computeStyle(ele, 'display');\n ele.style.display = 'none';\n }\n });\n};\nfn.hide = function () {\n return this.toggle(false);\n};\nfn.show = function () {\n return this.toggle(true);\n};\nconst eventsNamespace = '___ce';\nconst eventsNamespacesSeparator = '.';\nconst eventsFocus = { focus: 'focusin', blur: 'focusout' };\nconst eventsHover = { mouseenter: 'mouseover', mouseleave: 'mouseout' };\nconst eventsMouseRe = /^(mouse|pointer|contextmenu|drag|drop|click|dblclick)/i;\n// @require ./variables.ts\nfunction getEventNameBubbling(name) {\n return eventsHover[name] || eventsFocus[name] || name;\n}\n// @require ./variables.ts\nfunction parseEventName(eventName) {\n const parts = eventName.split(eventsNamespacesSeparator);\n return [parts[0], parts.slice(1).sort()]; // [name, namespace[]]\n}\nfn.trigger = function (event, data) {\n if (isString(event)) {\n const [nameOriginal, namespaces] = parseEventName(event);\n const name = getEventNameBubbling(nameOriginal);\n if (!name)\n return this;\n const type = eventsMouseRe.test(name) ? 'MouseEvents' : 'HTMLEvents';\n event = doc.createEvent(type);\n event.initEvent(name, true, true);\n event.namespace = namespaces.join(eventsNamespacesSeparator);\n event.___ot = nameOriginal;\n }\n event.___td = data;\n const isEventFocus = (event.___ot in eventsFocus);\n return this.each((i, ele) => {\n if (isEventFocus && isFunction(ele[event.___ot])) {\n ele[`___i${event.type}`] = true; // Ensuring the native event is ignored\n ele[event.___ot]();\n ele[`___i${event.type}`] = false; // Ensuring the custom event is not ignored\n }\n ele.dispatchEvent(event);\n });\n};\n// @require ./variables.ts\nfunction getEventsCache(ele) {\n return ele[eventsNamespace] = (ele[eventsNamespace] || {});\n}\n// @require core/guid.ts\n// @require events/helpers/get_events_cache.ts\nfunction addEvent(ele, name, namespaces, selector, callback) {\n const eventCache = getEventsCache(ele);\n eventCache[name] = (eventCache[name] || []);\n eventCache[name].push([namespaces, selector, callback]);\n ele.addEventListener(name, callback);\n}\nfunction hasNamespaces(ns1, ns2) {\n return !ns2 || !some.call(ns2, (ns) => ns1.indexOf(ns) < 0);\n}\n// @require ./get_events_cache.ts\n// @require ./has_namespaces.ts\n// @require ./parse_event_name.ts\nfunction removeEvent(ele, name, namespaces, selector, callback) {\n const cache = getEventsCache(ele);\n if (!name) {\n for (name in cache) {\n removeEvent(ele, name, namespaces, selector, callback);\n }\n }\n else if (cache[name]) {\n cache[name] = cache[name].filter(([ns, sel, cb]) => {\n if ((callback && cb.guid !== callback.guid) || !hasNamespaces(ns, namespaces) || (selector && selector !== sel))\n return true;\n ele.removeEventListener(name, cb);\n });\n }\n}\nfn.off = function (eventFullName, selector, callback) {\n if (isUndefined(eventFullName)) {\n this.each((i, ele) => {\n if (!isElement(ele) && !isDocument(ele) && !isWindow(ele))\n return;\n removeEvent(ele);\n });\n }\n else if (!isString(eventFullName)) {\n for (const key in eventFullName) {\n this.off(key, eventFullName[key]);\n }\n }\n else {\n if (isFunction(selector)) {\n callback = selector;\n selector = '';\n }\n each(getSplitValues(eventFullName), (i, eventFullName) => {\n const [nameOriginal, namespaces] = parseEventName(eventFullName);\n const name = getEventNameBubbling(nameOriginal);\n this.each((i, ele) => {\n if (!isElement(ele) && !isDocument(ele) && !isWindow(ele))\n return;\n removeEvent(ele, name, namespaces, selector, callback);\n });\n });\n }\n return this;\n};\nfn.remove = function (comparator) {\n filtered(this, comparator).detach().off();\n return this;\n};\nfn.replaceWith = function (selector) {\n return this.before(selector).remove();\n};\nfn.replaceAll = function (selector) {\n cash(selector).replaceWith(this);\n return this;\n};\nfunction on(eventFullName, selector, data, callback, _one) {\n if (!isString(eventFullName)) {\n for (const key in eventFullName) {\n this.on(key, selector, data, eventFullName[key], _one);\n }\n return this;\n }\n if (!isString(selector)) {\n if (isUndefined(selector) || isNull(selector)) {\n selector = '';\n }\n else if (isUndefined(data)) {\n data = selector;\n selector = '';\n }\n else {\n callback = data;\n data = selector;\n selector = '';\n }\n }\n if (!isFunction(callback)) {\n callback = data;\n data = undefined;\n }\n if (!callback)\n return this;\n each(getSplitValues(eventFullName), (i, eventFullName) => {\n const [nameOriginal, namespaces] = parseEventName(eventFullName);\n const name = getEventNameBubbling(nameOriginal);\n const isEventHover = (nameOriginal in eventsHover);\n const isEventFocus = (nameOriginal in eventsFocus);\n if (!name)\n return;\n this.each((i, ele) => {\n if (!isElement(ele) && !isDocument(ele) && !isWindow(ele))\n return;\n const finalCallback = function (event) {\n if (event.target[`___i${event.type}`])\n return event.stopImmediatePropagation(); // Ignoring native event in favor of the upcoming custom one\n if (event.namespace && !hasNamespaces(namespaces, event.namespace.split(eventsNamespacesSeparator)))\n return;\n if (!selector && ((isEventFocus && (event.target !== ele || event.___ot === name)) || (isEventHover && event.relatedTarget && ele.contains(event.relatedTarget))))\n return;\n let thisArg = ele;\n if (selector) {\n let target = event.target;\n while (!matches(target, selector)) {\n if (target === ele)\n return;\n target = target.parentNode;\n if (!target)\n return;\n }\n thisArg = target;\n }\n Object.defineProperty(event, 'currentTarget', {\n configurable: true,\n get() {\n return thisArg;\n }\n });\n Object.defineProperty(event, 'delegateTarget', {\n configurable: true,\n get() {\n return ele;\n }\n });\n Object.defineProperty(event, 'data', {\n configurable: true,\n get() {\n return data;\n }\n });\n const returnValue = callback.call(thisArg, event, event.___td);\n if (_one) {\n removeEvent(ele, name, namespaces, selector, finalCallback);\n }\n if (returnValue === false) {\n event.preventDefault();\n event.stopPropagation();\n }\n };\n finalCallback.guid = callback.guid = (callback.guid || cash.guid++);\n addEvent(ele, name, namespaces, selector, finalCallback);\n });\n });\n return this;\n}\nfn.on = on;\nfunction one(eventFullName, selector, data, callback) {\n return this.on(eventFullName, selector, data, callback, true);\n}\n;\nfn.one = one;\nconst queryEncodeCRLFRe = /\\r?\\n/g;\nfunction queryEncode(prop, value) {\n return `&${encodeURIComponent(prop)}=${encodeURIComponent(value.replace(queryEncodeCRLFRe, '\\r\\n'))}`;\n}\nconst skippableRe = /file|reset|submit|button|image/i;\nconst checkableRe = /radio|checkbox/i;\nfn.serialize = function () {\n let query = '';\n this.each((i, ele) => {\n each(ele.elements || [ele], (i, ele) => {\n if (ele.disabled || !ele.name || ele.tagName === 'FIELDSET' || skippableRe.test(ele.type) || (checkableRe.test(ele.type) && !ele.checked))\n return;\n const value = getValue(ele);\n if (!isUndefined(value)) {\n const values = isArray(value) ? value : [value];\n each(values, (i, value) => {\n query += queryEncode(ele.name, value);\n });\n }\n });\n });\n return query.slice(1);\n};\n// @require core/types.ts\n// @require core/cash.ts\n// @require core/type_checking.ts\n// @require core/variables.ts\n// @require core/each.ts\n// @require core/extend.ts\n// @require core/find.ts\n// @require core/get_compare_function.ts\n// @require core/get_split_values.ts\n// @require core/guid.ts\n// @require core/parse_html.ts\n// @require core/unique.ts\n// @require attributes/add_class.ts\n// @require attributes/attr.ts\n// @require attributes/has_class.ts\n// @require attributes/prop.ts\n// @require attributes/remove_attr.ts\n// @require attributes/remove_class.ts\n// @require attributes/remove_prop.ts\n// @require attributes/toggle_class.ts\n// @require collection/add.ts\n// @require collection/each.ts\n// @require collection/eq.ts\n// @require collection/filter.ts\n// @require collection/first.ts\n// @require collection/get.ts\n// @require collection/index.ts\n// @require collection/last.ts\n// @require collection/map.ts\n// @require collection/slice.ts\n// @require css/css.ts\n// @require data/data.ts\n// @require dimensions/inner_outer.ts\n// @require dimensions/normal.ts\n// @require effects/hide.ts\n// @require effects/show.ts\n// @require effects/toggle.ts\n// @require events/off.ts\n// @require events/on.ts\n// @require events/one.ts\n// @require events/ready.ts\n// @require events/trigger.ts\n// @require forms/serialize.ts\n// @require forms/val.ts\n// @require manipulation/after.ts\n// @require manipulation/append.ts\n// @require manipulation/append_to.ts\n// @require manipulation/before.ts\n// @require manipulation/clone.ts\n// @require manipulation/detach.ts\n// @require manipulation/empty.ts\n// @require manipulation/html.ts\n// @require manipulation/insert_after.ts\n// @require manipulation/insert_before.ts\n// @require manipulation/prepend.ts\n// @require manipulation/prepend_to.ts\n// @require manipulation/remove.ts\n// @require manipulation/replace_all.ts\n// @require manipulation/replace_with.ts\n// @require manipulation/text.ts\n// @require manipulation/unwrap.ts\n// @require manipulation/wrap.ts\n// @require manipulation/wrap_all.ts\n// @require manipulation/wrap_inner.ts\n// @require offset/offset.ts\n// @require offset/offset_parent.ts\n// @require offset/position.ts\n// @require traversal/children.ts\n// @require traversal/closest.ts\n// @require traversal/contents.ts\n// @require traversal/find.ts\n// @require traversal/has.ts\n// @require traversal/is.ts\n// @require traversal/next.ts\n// @require traversal/next_all.ts\n// @require traversal/next_until.ts\n// @require traversal/not.ts\n// @require traversal/parent.ts\n// @require traversal/parents.ts\n// @require traversal/parents_until.ts\n// @require traversal/prev.ts\n// @require traversal/prev_all.ts\n// @require traversal/prev_until.ts\n// @require traversal/siblings.ts\n// @no-require extras/get_script.ts\n// @no-require extras/shorthands.ts\n// @require methods.ts\nexport default cash;\nexport { Cash };\n","import $ from 'cash-dom';\nexport type * from 'cash-dom';\n\ndeclare global {\n interface Window {\n $: typeof $\n }\n}\n\nwindow.$ = $;\n\nexport {$, $ as cash};\n","/**\n * Get all values in path from an object\n * @param object The object to access\n * @param pathName Access path\n * @returns All values in path\n * @example\n * const object = {\n * a: [{b: {c: 1}, d: 2}]\n * };\n *\n * deepGetPath(object, 'a[0].b.c'); // Output [[{b: {c: 1}, d: 2}], {b: {c: 1}, {c: 1}, 1]\n */\nexport function deepGetPath(object: object, pathName: string | string[]): (object | undefined)[] {\n if (object === null || object === undefined) {\n return [object, undefined];\n }\n\n if (typeof pathName === 'string') {\n pathName = pathName.split('.');\n }\n\n const fullPath = pathName.join('.');\n let context = object;\n const way = [context];\n while (typeof context === 'object' && context !== null && pathName.length) {\n let name = pathName.shift()!;\n let subName: string | undefined;\n const bracketIndex = name.indexOf('[');\n if (bracketIndex > 0 && bracketIndex < (name.length - 1) && name.endsWith(']')) {\n subName = name.substring(bracketIndex + 1, name.length - 1);\n name = name.substring(0, bracketIndex);\n }\n\n context = (context as Record)[name];\n way.push(context);\n if (subName !== undefined) {\n if (typeof context === 'object' && context !== null) {\n if (context instanceof Map) {\n context = context.get(subName);\n } else {\n context = (context as Record)[subName];\n }\n way.push(context);\n } else {\n throw new Error(`Cannot access property \"${name}[${subName}]\", the full path is \"${fullPath}\".`);\n }\n }\n }\n\n if (pathName.length) {\n throw new Error(`Cannot access property with rest path \"${pathName.join('.')}\", the full path is \"${fullPath}\".`);\n }\n\n return way;\n}\n\n/**\n * Get object inner value with dot-strings\n * @param object The object to access\n * @param pathName Access path\n * @param defaultValue Default value\n * @returns Final value\n * @example\n * const object = {\n * a: [{b: {c: 1}, d: 2}]\n * };\n *\n * deepGetPath(object, 'a[0].b.c'); // Output 1\n * deepGetPath(object, 'a[0].d'); // Output 2\n * deepGetPath(object, 'a'); // Output [{b: {c: 1}, d: 2}]\n */\nexport function deepGet(object: object, pathName: string | string[], defaultValue?: T): T | undefined {\n try {\n const way = deepGetPath(object, pathName);\n const lastValue = way[way.length - 1] as T | undefined;\n return lastValue === undefined ? defaultValue : lastValue;\n } catch (_) {\n return defaultValue;\n }\n}\n","\n/**\n * 格式化字符串\n * @param str 要格式化的字符串\n * @param args 格式化参数\n * @returns 格式化后的字符串\n * @example 通过参数序号格式化\n * const hello = formatString('{0} {1}!', 'Hello', 'world');\n * // hello 值为 'Hello world!'\n */\nexport function formatString(str: string, ...args: unknown[]): string;\n\n/**\n * 格式化字符串\n * @param str 要格式化的字符串\n * @param obj 格式化参数\n * @returns 格式化后的字符串\n * @example 通过对象名称格式化\n * const say = formatString('Say {what} to {who}', {what: 'hello', who: 'you'});\n * // say 值为 'Say hello to you'\n */\nexport function formatString(str: string, obj: Record): string;\n\nexport function formatString(str: string, ...args: [Record] | unknown[]): string {\n if (args.length === 0) {\n return str;\n }\n if (args.length === 1 && typeof args[0] === 'object' && args[0]) {\n const obj = args[0];\n Object.keys(obj).forEach(key => {\n const value = (obj as Record)[key] ?? '';\n str = str.replace(new RegExp(`\\\\{${key}\\\\}`, 'g'), `${value}`);\n });\n return str;\n }\n\n for (let i = 0; i < args.length; i++) {\n const arg = args[i] ?? '';\n str = str.replace(new RegExp(`\\\\{${i}\\\\}`, 'g'), `${arg}`);\n }\n return str;\n}\n\n/**\n * 字节单位表\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nenum BYTE_UNITS {\n B = 1,\n KB = 1024,\n MB = 1024 * 1024,\n GB = 1024 * 1024 * 1024,\n TB = 1024 * 1024 * 1024 * 1024,\n}\n\n/**\n * 格式化字节值为包含单位的字符串\n * @param size 字节大小\n * @param fixed 保留的小数点位数\n * @param unit 单位,如果留空,则自动使用最合适的单位\n * @returns 格式化后的字符串\n */\nexport function formatBytes(size: number, fixed = 2, unit?: keyof typeof BYTE_UNITS) {\n if (Number.isNaN(size)) {\n return '?KB';\n }\n if (!unit) {\n if (size < BYTE_UNITS.KB) {\n unit = 'B';\n } else if (size < BYTE_UNITS.MB) {\n unit = 'KB';\n } else if (size < BYTE_UNITS.GB) {\n unit = 'MB';\n } else if (size < BYTE_UNITS.TB) {\n unit = 'GB';\n } else {\n unit = 'TB';\n }\n }\n\n return (size / BYTE_UNITS[unit]).toFixed(fixed) + unit;\n}\n\n/**\n * 转换带单位的字节字符串为字节数\n * @param str 带单位的字节字符串\n * @returns 字节数\n */\nexport const convertBytes = (str: string) => {\n const pattern = /^[0-9]*(B|KB|MB|GB|TB)$/;\n str = str.toUpperCase();\n const matchRes = str.match(pattern);\n if (!matchRes) {\n return 0;\n }\n const unit = matchRes[1] as keyof typeof BYTE_UNITS;\n str = str.replace(unit, '');\n return Number.parseInt(str, 10) * BYTE_UNITS[unit];\n};\n","import {$} from '../cash';\nimport {deepGet} from '@zui/helpers/src/object/deep-get';\nimport {formatString} from '@zui/helpers/src/format-string';\nimport {I18nLangMap, I18nLangCode, I18nValuesMap} from './types';\n\nlet globalLangCode = (document.documentElement.getAttribute('lang') || 'zh_cn').toLowerCase().replace('-', '_');\n\nlet globalLangMap: I18nLangMap | undefined;\n\nexport function getLangCode() {\n return globalLangCode;\n}\n\nexport function setLangCode(langCode: I18nLangCode) {\n globalLangCode = langCode.toLowerCase().replace('-', '_');\n}\n\nexport function addI18nMap(map: I18nLangMap): void;\nexport function addI18nMap(code: I18nLangCode, values: I18nValuesMap): void;\nexport function addI18nMap(codeOrMap: I18nLangCode | I18nLangMap, values?: I18nValuesMap): void {\n if (!globalLangMap) {\n globalLangMap = {};\n }\n if (typeof codeOrMap === 'string') {\n codeOrMap = {[codeOrMap]: values ?? {}};\n }\n $.extend(true, globalLangMap, codeOrMap);\n}\n\nexport function i18n(maps: I18nLangMap | (I18nLangMap | undefined)[] | undefined, key: string, defaultValue?: T, langCode?: I18nLangCode, globalPrefix?: string): T | undefined;\nexport function i18n(maps: I18nLangMap | (I18nLangMap | undefined)[] | undefined, key: string, args?: string | (string | number)[] | Record, defaultValue?: T, langCode?: I18nLangCode, globalPrefix?: string): T | undefined;\nexport function i18n(maps: I18nLangMap | (I18nLangMap | undefined)[] | undefined, key: string, args?: string | (string | number)[] | Record, defaultValue?: T | I18nLangCode, langCode?: I18nLangCode, globalPrefix?: string): T | undefined {\n if (!Array.isArray(maps)) {\n maps = globalLangMap ? [globalLangMap, maps] : [maps];\n } else if (globalLangMap) {\n maps.unshift(globalLangMap);\n }\n if (typeof args === 'string') {\n globalPrefix = langCode;\n langCode = defaultValue as I18nLangCode;\n defaultValue = args;\n args = undefined;\n }\n const lang = langCode || globalLangCode;\n let value: T | undefined;\n for (const map of maps) {\n if (!map) {\n continue;\n }\n const mapValues = map[lang] || map.default;\n if (!mapValues) {\n continue;\n }\n const mapKey = (globalPrefix && map === globalLangMap) ? `${globalPrefix}.${key}` : key;\n value = deepGet(mapValues, mapKey);\n if (value !== undefined) {\n break;\n }\n }\n if (value === undefined) {\n return defaultValue as T;\n }\n if (args) {\n return formatString(value as string, ...(Array.isArray(args) ? args : [args])) as T;\n }\n return value;\n}\n\nexport function getLang(key: string, args?: string | (string | number)[] | Record, defaultValue?: T, langCode?: I18nLangCode): T | undefined {\n return i18n(undefined, key, args, defaultValue, langCode);\n}\n\ni18n.addLang = addI18nMap;\ni18n.getLang = getLang;\ni18n.getCode = getLangCode;\ni18n.setCode = setLangCode;\ni18n.map = globalLangMap;\n","import {addI18nMap} from './i18n';\n\naddI18nMap({\n 'zh_cn': {\n confirm: '确定',\n save: '保存',\n cancel: '取消',\n delete: '删除',\n reset: '重置',\n add: '添加',\n copy: '复制',\n close: '关闭',\n },\n 'zh_tw': {\n confirm: '確定',\n save: '儲存',\n cancel: '取消',\n delete: '刪除',\n reset: '重置',\n add: '添加',\n Copy: '複製',\n close: '關閉',\n },\n en: {\n confirm: 'Confirm',\n save: 'Save',\n cancel: 'Cancel',\n delete: 'Delete',\n reset: 'Reset',\n add: 'Add',\n copy: 'Copy',\n close: 'Close',\n },\n});\n","import {$} from '@zui/core';\n\nimport type {AjaxCallbackMap, AjaxCompleteCallback, AjaxErrorCallback, AjaxFormItemValue, AjaxSetting, AjaxSuccessCallback} from './types';\n\nfunction setHeader(headers: HeadersInit, name: string, value: string) {\n if (headers instanceof Headers) {\n headers.set(name, value);\n } else if (Array.isArray(headers)) {\n headers.push([name, value]);\n } else {\n headers[name] = value;\n }\n}\n\nfunction setFormItem(formData: FormData, name: string, value: AjaxFormItemValue | AjaxFormItemValue[] | Record) {\n if (value === undefined || value === null) {\n return;\n }\n if (Array.isArray(value)) {\n value.forEach((v) => setFormItem(formData, name, v));\n } else if (!(value instanceof Blob) && $.isPlainObject(value)) {\n Object.entries(value).forEach(([key, v]) => {\n setFormItem(formData, `${name}[${key}]`, v);\n });\n } else {\n formData.append(name, value instanceof Blob ? value : String(value));\n }\n}\n\nfunction getDataType(contentType: string | undefined | null, accepts: Record | undefined) {\n if (contentType) {\n const map = {\n text: 'text/plain',\n html: 'text/html',\n json: 'application/json',\n ...accepts,\n };\n for (const [key, value] of Object.entries(map)) {\n if (value.split(',').map(x => x.trim()).includes(contentType)) {\n return key;\n }\n }\n }\n\n return 'text';\n}\n\nexport function createFormData(data: string | FormData | URLSearchParams | Record | [name: string, value: AjaxFormItemValue][], existingFormData?: FormData): FormData {\n const formData = existingFormData || new FormData();\n if (data) {\n if (typeof data === 'string') {\n data = new URLSearchParams(data);\n }\n if (data instanceof URLSearchParams) {\n data.forEach((value, name) => {\n setFormItem(formData, name, value);\n });\n } else if (Array.isArray(data)) {\n data.forEach(([name, value]) => {\n setFormItem(formData, name, value);\n });\n } else if (data instanceof FormData) {\n data.forEach((value, name) => {\n setFormItem(formData, name, value);\n });\n } else if ($.isPlainObject(data)) {\n Object.entries(data).forEach(([name, value]) => {\n setFormItem(formData, name, value);\n });\n }\n }\n return formData;\n}\n\nexport class Ajax {\n private declare _timeoutID: number;\n\n private _controller: AbortController;\n\n private _callbacks: {[P in keyof AjaxCallbackMap]: AjaxCallbackMap[P][];};\n\n private declare _abortError?: Error;\n\n setting: AjaxSetting;\n\n declare data: T;\n\n declare error: Error;\n\n declare response: Response;\n\n declare url: string;\n\n declare request: RequestInit;\n\n get completed() {\n return this.data !== undefined || this.error !== undefined;\n }\n\n get [Symbol.toStringTag]() {\n return 'Ajax';\n }\n\n constructor(setting: AjaxSetting) {\n this.setting = setting;\n this._controller = new AbortController();\n this._callbacks = {success: [], error: [], complete: []};\n }\n\n on(name: N, callback: AjaxCallbackMap[N]) {\n (this._callbacks[name]).push(callback);\n return this;\n }\n\n success(calback: AjaxSuccessCallback) {\n return this.on('success', calback);\n }\n\n done(calback: AjaxSuccessCallback) {\n return this.success(calback);\n }\n\n fail(calback: AjaxErrorCallback) {\n return this.on('error', calback);\n }\n\n complete(calback: AjaxCompleteCallback) {\n return this.on('complete', calback);\n }\n\n always(calback: AjaxCompleteCallback) {\n return this.complete(calback);\n }\n\n then(resolve: (data: T) => void, reject?: (error: Error) => void) {\n if (this.completed) {\n if (reject && this.error) {\n reject(this.error);\n } else {\n resolve(this.data);\n }\n } else {\n this.success((data) => resolve(data as T));\n if (reject) {\n this.fail(reject);\n }\n }\n return this;\n }\n\n catch(calback: (error: Error) => void) {\n if (this.error) {\n calback(this.error);\n return this;\n }\n return this.on('error', (error) => calback(error));\n }\n\n finally(onFinally: () => void) {\n if (this.completed) {\n onFinally();\n return this;\n }\n return this.complete(() => onFinally());\n }\n\n abort(abortError?: Error) {\n if (this.completed) {\n return false;\n }\n this._abortError = abortError;\n this._controller.abort();\n return true;\n }\n\n getResponseHeader(name: string) {\n return this.response?.headers.get(name);\n }\n\n private _init() {\n if (this.completed) {\n return;\n }\n const {\n url,\n type,\n data,\n processData = true,\n contentType,\n crossDomain,\n accepts,\n dataType,\n timeout,\n dataFilter,\n beforeSend,\n success,\n error,\n complete,\n ...initOptions\n } = this.setting;\n\n if (beforeSend?.(initOptions) === false) {\n return;\n }\n if (type) {\n initOptions.method = type;\n }\n let dataSetting = data;\n if (dataSetting) {\n if (processData) {\n dataSetting = createFormData(dataSetting);\n }\n initOptions.body = dataSetting as BodyInit;\n }\n if (crossDomain) {\n initOptions.mode = 'cors';\n }\n const headers = initOptions.headers || {};\n setHeader(headers, 'X-Requested-With', 'XMLHttpRequest');\n if (contentType) {\n setHeader(headers, 'Content-Type', contentType);\n }\n initOptions.headers = headers;\n\n if (initOptions.signal) {\n initOptions.signal.addEventListener('abort', () => {\n this.abort();\n });\n }\n if (success) {\n this.success(success);\n }\n if (error) {\n this.fail(error);\n }\n if (complete) {\n this.complete(complete);\n }\n initOptions.signal = this._controller.signal;\n this.url = url;\n this.request = initOptions;\n }\n\n private _emit(name: N, ...args: Parameters) {\n this._callbacks[name].forEach((callback) => {\n callback.call(this, ...(args as [arg0: Error & Response, statusText: string, arg2: string & Response]));\n });\n }\n\n async send(): Promise<[data?: D | undefined, error?: Error | undefined, response?: Response | undefined]> {\n if (this.completed) {\n return [];\n }\n this._init();\n\n const {timeout, dataType: dataTypeSetting, accepts, dataFilter, throws, jsonParser} = this.setting;\n if (timeout) {\n this._timeoutID = window.setTimeout(() => {\n this.abort(new Error('timeout'));\n }, timeout);\n }\n\n let response: Response | undefined;\n let error: Error | undefined;\n let data: unknown | undefined;\n try {\n response = await fetch(this.url, this.request);\n this.response = response;\n const {statusText} = response;\n if (response.ok) {\n const isAttachment = response.headers.get('Content-Disposition')?.startsWith('attachment');\n const dataType = isAttachment ? 'blob' : (dataTypeSetting || getDataType(response.headers.get('Content-Type'), accepts));\n if (isAttachment || dataType === 'blob' || dataType === 'file') {\n data = await response.blob();\n } else if (dataType === 'json') {\n if (typeof jsonParser === 'function') {\n data = await response.text();\n data = jsonParser(data as string);\n } else {\n data = await response.json();\n }\n } else {\n data = await response.text();\n }\n this.data = data as T;\n const filteredData = dataFilter?.(data, dataType) ?? data;\n this._emit('success', filteredData, statusText, response);\n } else {\n this.data = await response.text() as T;\n throw new Error(statusText);\n }\n } catch (err) {\n if (this.data === undefined && data !== undefined) {\n this.data = data as T;\n }\n error = err as Error;\n let skipTriggerError = false;\n if (error.name === 'AbortError') {\n if (this._abortError) {\n error = this._abortError;\n } else {\n skipTriggerError = true;\n }\n }\n this.error = error;\n if (!skipTriggerError) {\n this._emit('error', error, response?.statusText, error.message);\n }\n }\n\n if (this._timeoutID) {\n clearTimeout(this._timeoutID);\n }\n\n this._emit('complete', response, response?.statusText);\n if (error && throws) {\n throw error;\n }\n return [data as D, error, response];\n }\n}\n","import {$, Cash} from '@zui/core';\nimport {Ajax} from './ajax';\nimport type {AjaxFormData, AjaxSetting, AjaxSuccessCallback} from './types';\n\n/* Declare types. */\ndeclare module 'cash-dom' {\n interface CashStatic {\n ajax(urlOrSetting: string | AjaxSetting, setting?: Partial): Ajax;\n\n getJSON(url: string, dataOrSuccess?: AjaxFormData | AjaxSuccessCallback, success?: AjaxSuccessCallback): Ajax;\n\n get(url: string, dataOrSuccess?: AjaxFormData | AjaxSuccessCallback, successOrDataType?: AjaxSuccessCallback | string, dataType?: string, method?: string): Ajax;\n\n post(url: string, dataOrSuccess?: AjaxFormData | AjaxSuccessCallback, successOrDataType?: AjaxSuccessCallback | string, dataType?: string): Ajax;\n }\n\n interface Cash {\n load(this: Cash, url: string, dataOrSuccess?: AjaxFormData | AjaxSuccessCallback, success?: AjaxSuccessCallback): Cash;\n }\n}\n\n/* Extend as $.ajax() to create ajax for cash. */\n$.ajax = (urlOrSetting: string | AjaxSetting, setting?: Partial) => {\n setting = setting || {};\n if (typeof urlOrSetting === 'string') {\n setting.url = urlOrSetting;\n } else {\n $.extend(setting, urlOrSetting);\n }\n const ajax = new Ajax(setting as AjaxSetting);\n ajax.send();\n return ajax;\n};\n\n/* Extend as $.getJSON() to create getJSON for cash. */\n$.getJSON = (url: string, dataOrSuccess?: AjaxFormData | AjaxSuccessCallback, success?: AjaxSuccessCallback) => {\n if (typeof dataOrSuccess === 'function') {\n success = dataOrSuccess;\n dataOrSuccess = undefined;\n }\n return $.ajax({\n url,\n data: dataOrSuccess,\n success,\n dataType: 'json',\n });\n};\n\n/* Extend as $.get() to create get for cash. */\n$.get = (url: string, dataOrSuccess?: AjaxFormData | AjaxSuccessCallback, successOrDataType?: AjaxSuccessCallback | string, dataType?: string, method = 'GET') => {\n let success: AjaxSuccessCallback | undefined;\n let data: AjaxFormData | undefined;\n if (typeof dataOrSuccess === 'function') {\n success = dataOrSuccess;\n data = undefined;\n } else {\n data = dataOrSuccess;\n }\n if (typeof successOrDataType === 'function') {\n success = successOrDataType;\n dataType = undefined;\n } else {\n dataType = successOrDataType;\n }\n return $.ajax({\n method,\n url,\n data,\n success,\n dataType,\n });\n};\n\n/* Extend as $.post() to create post for cash. */\n$.post = (url: string, dataOrSuccess?: AjaxFormData | AjaxSuccessCallback, successOrDataType?: AjaxSuccessCallback | string, dataType?: string) => {\n return $.get(url, dataOrSuccess, successOrDataType, dataType, 'POST');\n};\n\n/* Extend as $.load() to create load for cash. */\n$.fn.load = function (this: Cash, url: string, dataOrSuccess?: AjaxFormData | AjaxSuccessCallback, success?: AjaxSuccessCallback): Cash {\n if (typeof dataOrSuccess === 'function') {\n success = dataOrSuccess;\n dataOrSuccess = undefined;\n }\n const [realUrl, selector] = url.split(' ');\n $.get(realUrl, dataOrSuccess, (data, statusText, response) => {\n if (selector) {\n data = $(data as string).find(selector).html();\n }\n $(this).html(data as string).zuiInit();\n success?.call(this, data, statusText, response);\n }, 'html');\n return this;\n};\n","import {$} from '../cash';\nimport {Ajax} from './ajax';\nimport type {AjaxSetting, FetcherSetting} from './types';\n\nexport async function fetchData(setting: FetcherSetting, args: A = ([] as unknown as A), extraAjaxSetting?: Partial | ((ajaxSetting: AjaxSetting) => Partial)): Promise {\n const ajaxSetting = {throws: true, dataType: 'json'} as AjaxSetting;\n if (typeof setting === 'string') {\n ajaxSetting.url = setting;\n } else if (typeof setting === 'object') {\n $.extend(ajaxSetting, setting);\n } else if (typeof setting === 'function') {\n const result = setting(...args);\n if (result instanceof Promise) {\n const data = await result;\n return data;\n }\n return result;\n }\n if (extraAjaxSetting) {\n $.extend(ajaxSetting, typeof extraAjaxSetting === 'function' ? extraAjaxSetting(ajaxSetting) : extraAjaxSetting);\n }\n const ajax = new Ajax(ajaxSetting);\n const [data] = await ajax.send();\n return data as T;\n}\n\nexport function isFetchSetting(setting: FetcherSetting | unknown): setting is FetcherSetting {\n return !!(setting && (typeof setting === 'string' || (typeof setting === 'object' && (setting as AjaxSetting).url) || typeof setting === 'function'));\n}\n\ndeclare module 'cash-dom' {\n interface CashStatic {\n fetch(setting: FetcherSetting, args?: A, extraAjaxSetting?: Partial | ((ajaxSetting: AjaxSetting) => Partial)): Promise\n }\n}\n\n$.fetch = fetchData;\n","import {$} from '../cash';\n\nexport function nextGid() {\n return $.guid++;\n}\n","export function isDiff(value1: unknown, value2: unknown) {\n if (value1 === value2) {\n return false;\n }\n if (value1 && value2) {\n const typeOfValue1 = typeof value1;\n const typeOfValue2 = typeof value2;\n if (typeOfValue1 !== typeOfValue2) {\n return true;\n }\n if (typeOfValue1 === 'object' && typeOfValue2 === 'object') {\n const isArray1 = Array.isArray(value1);\n const isArray2 = Array.isArray(value2);\n if (isArray1 !== isArray2) {\n return true;\n }\n if (isArray1 && isArray2) {\n if (value1.length !== value2.length) {\n return true;\n }\n for (let i = 0; i < value1.length; i++) {\n if (isDiff(value1[i], value2[i])) {\n return true;\n }\n }\n return true;\n }\n\n const keys1 = Object.keys(value1);\n const keys2 = Object.keys(value2);\n if (keys1.length !== keys2.length) {\n return true;\n }\n for (const key of keys1) {\n if (isDiff((value1 as Record)[key], (value2 as Record)[key])) {\n return true;\n }\n }\n return true;\n }\n if (typeOfValue1 === 'function' && typeOfValue2 === 'function') {\n return value1.toString() !== value2.toString();\n }\n }\n return true;\n}\n","import {isDiff} from './is-diff';\n\n/**\n * A class representing a computed value that can be cached and recomputed when its dependencies change.\n * @template T The type of the computed value.\n * @template D The type of the dependencies array.\n */\nexport class Computed {\n /**\n * The dependencies of the computed value.\n */\n protected _dependencies: D | (() => D);\n\n /**\n * The function that computes the value.\n */\n protected _compute: () => T;\n\n /**\n * The cached value of the computed value.\n */\n protected _value?: T;\n\n /**\n * The last dependencies array used to compute the value.\n */\n protected _lastDependencies: D | undefined;\n\n /**\n * Creates a new Computed instance.\n * @param compute The function that computes the value.\n * @param dependencies The dependencies of the computed value.\n */\n constructor(compute: () => T, dependencies: D | (() => D)) {\n this._compute = compute;\n this._dependencies = dependencies;\n }\n\n /**\n * Gets the computed value.\n */\n get value(): T {\n return this.compute();\n }\n\n /**\n * Gets the cached value of the computed value.\n */\n get cache(): T {\n return this._lastDependencies ? this._value as T : this.compute();\n }\n\n /**\n * Forces the computed value to be recomputed.\n * @param dependencies The new dependencies to use for recomputing the value.\n * @returns The recomputed value.\n */\n forceCompute(dependencies?: D | (() => D)) {\n this._lastDependencies = undefined;\n return this.compute(dependencies);\n }\n\n /**\n * Computes the value of the computed value.\n * @param dependencies The dependencies to use for computing the value.\n * @returns The computed value.\n */\n compute(dependencies?: D | (() => D)): T {\n if (dependencies !== undefined) {\n this._dependencies = dependencies;\n }\n\n dependencies = this._dependencies;\n if (typeof dependencies === 'function') {\n dependencies = dependencies();\n }\n\n // Check if dependencies changed.\n const lastDependencies = this._lastDependencies;\n if (!lastDependencies || dependencies.some((dept, index) => {\n return isDiff(dept instanceof Computed ? dept.value : dept, lastDependencies[index]);\n })) {\n this._value = this._compute();\n this._lastDependencies = dependencies.map(x => x instanceof Computed ? x.cache : x) as D;\n }\n\n return this._value as T;\n }\n}\n","import {$, Cash} from '../cash';\n\n/**\n * Classname like.\n */\nexport type ClassNameLike = string | null | undefined | boolean | {[key: string]: unknown} | (() => ClassNameLike) | ClassNameLike[];\n\n/**\n * Classname setting.\n */\nexport type ClassNameSetting = [name: string, toggle: boolean];\n\n/**\n * Get class name setting list from arguments.\n *\n * @param args Classname like arguments.\n * @returns Classname setting list.\n */\nexport function getClassList(...args: ClassNameLike[]): ClassNameSetting[] {\n const settings: ClassNameSetting[] = [];\n\n /* Indexes map to keep classname's order. */\n const indexes = new Map();\n\n const setSetting = (name: string | [name: string, toggle?: unknown], toggle?: unknown) => {\n if (Array.isArray(name)) {\n toggle = name[1];\n name = name[0];\n }\n if (!name.length) {\n return;\n }\n const index = indexes.get(name);\n if (typeof index === 'number') {\n settings[index][1] = !!toggle;\n } else {\n indexes.set(name, settings.length);\n settings.push([name, !!toggle]);\n }\n };\n\n args.forEach((arg) => {\n if (typeof arg === 'function') {\n arg = arg();\n }\n\n if (Array.isArray(arg)) {\n getClassList(...arg).forEach(setSetting);\n } else if (arg && typeof arg === 'object') {\n Object.entries(arg).forEach(setSetting);\n } else if (typeof arg === 'string') {\n arg.split(' ').forEach(name => setSetting(name, true));\n }\n });\n\n return settings.sort((a, b) => (indexes.get(a[0]) || 0) - (indexes.get(b[0]) || 0));\n}\n\n/**\n * Get classname string from arguments.\n *\n * @param args Classname like arguments.\n * @returns Classname string.\n */\nexport const classes = (...args: ClassNameLike[]): string => {\n return getClassList(...args).reduce((classList, [name, toggle]) => {\n if (toggle) {\n classList.push(name);\n }\n return classList;\n }, []).join(' ');\n};\n\n/* Declare types. */\ndeclare module 'cash-dom' {\n interface CashStatic {\n classes(...args: ClassNameLike[]): string;\n }\n\n interface Cash {\n setClass(merge: ClassNameLike | boolean, ...args: ClassNameLike[]): Cash;\n }\n}\n\n/* Extend as $.classes() */\n$.classes = classes;\n\n/* Extend as $.fn.setClass() */\n$.fn.setClass = function (this: Cash, merge: ClassNameLike | boolean, ...args: ClassNameLike[]): Cash {\n return this.each((_, ele) => {\n const $ele = $(ele);\n if (merge === true) {\n $ele.attr('class', classes($ele.attr('class'), ...args));\n } else {\n $ele.addClass(classes(merge, ...args));\n }\n });\n};\n","import {$, Cash} from '../cash';\n\n/**\n * Cache for data associated with the target object.\n */\nconst cache = new WeakMap>();\n\n/**\n * Store data associated with the target object with key value in the cache.\n *\n * @param target Target object to store data.\n * @param key Key to store.\n * @param value Value to store.\n */\nexport function storeData(target: object, key: string | null, value?: unknown): void;\n\n/**\n * Store data associated with the target object in the cache.\n *\n * @param target Target object to store data.\n * @param data Data to store.\n */\nexport function storeData(target: object, data: Record): void;\n\n/**\n * Store data associated with the target object in the cache.\n *\n * @param target Target object to store data.\n * @param keyOrData Key or data to store.\n * @param value Value to store.\n */\nexport function storeData(target: object, keyOrData: string | Record | null, value?: unknown): void {\n const hasCache = cache.has(target);\n const data = hasCache ? cache.get(target)! : {};\n if (typeof keyOrData === 'string') {\n data[keyOrData] = value;\n } else if (keyOrData === null) {\n Object.keys(data).forEach((key) => {\n delete data[key];\n });\n } else {\n Object.assign(data, keyOrData);\n }\n\n Object.keys(data).forEach((key) => {\n if (data[key] === undefined) {\n delete data[key];\n }\n });\n\n if (Object.keys(data).length) {\n if (!hasCache && target instanceof Element) {\n Object.assign(data, $(target).dataset(), data);\n }\n cache.set(target, data);\n } else {\n cache.delete(target);\n }\n}\n\n/**\n * Take data associated with the target object from the cache.\n *\n * @param target Target object to take data.\n */\nexport function takeData(target: object): Record;\n\n/**\n * Take data associated by key with the target object from the cache.\n *\n * @param target Target object to take data.\n * @param key Key to take.\n */\nexport function takeData(target: object, key: string): unknown;\n\n/**\n * Take data associated by key with the target object from the cache.\n *\n * @param target Target object to take data.\n * @param key Key to take.\n * @param mergeElementData Whether to merge element dataset.\n */\nexport function takeData(target: object, key: string | undefined, mergeElementData: boolean): unknown;\n\n/**\n * Take data associated with the target object from the cache.\n *\n * @param target Target object to take data.\n * @param key Key to take.\n * @param mergeElementData Whether to merge element dataset.\n * @returns Data associated with the target object.\n */\nexport function takeData(target: object, key?: string, mergeElementData?: boolean): unknown {\n let data = cache.get(target) || {};\n if (mergeElementData && target instanceof Element) {\n data = Object.assign({}, $(target).dataset(), data);\n }\n if (key === undefined) {\n return data;\n }\n return data[key];\n}\n\n/**\n * Clear data associated with the target object from the cache.\n */\nexport function clearData(target: object): void {\n cache.delete(target);\n}\n\n/* Declare types. */\ndeclare module 'cash-dom' {\n interface Cash {\n dataset(): Record | undefined;\n dataset(name: string): unknown | undefined;\n dataset(name: string, value: unknown): Cash;\n dataset(dataset: Record): Cash;\n\n removeData(name?: string): Cash;\n }\n}\n\n/* Backup the origin $.fn.data method. */\n$.fn.dataset = $.fn.data;\n\n/* Extend as $.fn.data() */\n$.fn.data = function (this: Cash, ...args: (string | Record | unknown)[]) {\n const [data, value] = args;\n if (!args.length || (args.length === 1 && typeof data === 'string')) {\n if (!this.length) {\n return;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return takeData(this[0]!, data as string, true) as any;\n }\n return this.each((_, ele) => {\n return storeData(ele, data as string, value);\n });\n};\n\n/* Extend as $.fn.removeData() */\n$.fn.removeData = function (this: Cash, name: string | null = null) {\n return this.each((_, ele) => {\n return storeData(ele, name);\n });\n};\n","export function evalValue(value: string, ...args: unknown[]): T {\n if (value.includes('RAWJS')) {\n value = value.split('\"RAWJS<').join('').split('>RAWJS\"').join('').split('').join('\"').split('').join('\\n');\n }\n // eslint-disable-next-line @typescript-eslint/no-implied-eval\n const func = new Function(`return ${value}`);\n return func(...args);\n}\n\nexport function parseRawData(data: string, ...args: unknown[]): T {\n if (data.includes('RAWJS')) {\n return evalValue(data, ...args);\n }\n\n return JSON.parse(data);\n}\n","import {$, Cash, Selector} from '../cash';\nimport {evalValue} from './raw-data';\n\n/* Declare types. */\ndeclare module 'cash-dom' {\n interface Cash {\n z(): Record | undefined;\n z(name: string): unknown | undefined;\n z(name: string, value: unknown): Cash;\n z(data: Record): Cash;\n }\n}\n\ntype ZDataGetterOptions = {\n prefix?: string;\n evalValue?: boolean | string[];\n evalArgs?: unknown[];\n json?: boolean;\n getter?: (name: string, value: unknown) => unknown;\n};\n\nexport function getZData(selector: Selector, prefixOrOptions?: ZDataGetterOptions | string): Record | undefined {\n const element = $(selector)[0];\n if (!element) {\n return;\n }\n const {prefix, getter, evalValue: evalValueSetting, json = true, evalArgs = []} = {\n prefix: 'z-',\n ...(typeof prefixOrOptions === 'string' ? {prefix: prefixOrOptions} : prefixOrOptions),\n };\n const evalValueSet = Array.isArray(evalValueSetting) ? new Set(evalValueSetting) : undefined;\n return Array.from(element.attributes).reduce>((data, attribute) => {\n let {name} = attribute;\n const {value} = attribute;\n let finalValue: unknown = value;\n if (name.startsWith(prefix)) {\n name = name.slice(prefix.length).replace(/-([a-z])/g, (g) => g[1].toUpperCase());\n if (getter) {\n finalValue = getter(name, value);\n } else {\n try {\n if ((evalValueSetting && (!evalValueSet || evalValueSet.has(name))) || (evalValueSetting === undefined && value.includes('RAWJS'))) {\n finalValue = evalValue(value, ...evalArgs);\n } else if (json) {\n finalValue = JSON.parse(value);\n }\n } catch (error) {\n // Ignore.\n }\n }\n data[name] = finalValue;\n }\n return data;\n }, {});\n}\n\nexport function setZData(selector: Selector, data: Record, prefix = 'z-') {\n const $element = $(selector);\n Object.keys(data).forEach((name) => {\n let value = data[name];\n if (typeof value === 'function') {\n value = `RAWJS<${value}>RAWJS`;\n }\n if (typeof value !== 'string') {\n value = JSON.stringify(value);\n }\n name = name.replace(/[A-Z]/g, (g) => `-${g.toLowerCase()}`);\n $element.attr(`${prefix}${name}`, value as string);\n });\n}\n\nfunction z(): Record | undefined;\nfunction z(name: string): unknown | undefined;\nfunction z(name: string, value: unknown): Cash;\nfunction z(data: Record): Cash;\nfunction z(this: Cash, ...args: unknown[]): Record | unknown | Cash | undefined {\n const argsLength = args.length;\n if (!argsLength) {\n return getZData(this);\n }\n if (argsLength === 1) {\n const [nameOrData] = args;\n if (typeof nameOrData === 'string') {\n return getZData(this)?.[nameOrData];\n }\n if ($.isPlainObject(nameOrData)) {\n setZData(this, nameOrData);\n }\n return this;\n }\n setZData(this, {[args[0] as string]: args[1]});\n return this;\n}\n\n/* Extend as $.fn.z() */\n$.fn.z = z;\n","import {$, Cash} from '../cash';\n\n/* Declare types. */\ndeclare module 'cash-dom' {\n interface Cash {\n _attr(): undefined;\n _attr(attrs: string): string | null;\n _attr(attrs: string, value: string): this;\n _attr(attrs: Record): this;\n\n attr(attrs: string, value: string | null): Cash;\n attr(attrs: Record): Cash;\n }\n}\n\n/* Backup the origin $.fn.attr() method. */\n$.fn._attr = $.fn.attr;\n\n/* Extend the attr method. */\n$.fn.extend({\n attr(this: Cash, ...args: (string | Record | null)[]): Cash | string | null | undefined {\n const [attrs, value] = args;\n if (!args.length || (args.length === 1 && typeof attrs === 'string')) {\n // eslint-disable-next-line prefer-spread\n return this._attr.apply(this, args as [attrs: Record]);\n }\n if (typeof attrs === 'object') {\n if (attrs) {\n Object.keys(attrs).forEach((key) => {\n const val = attrs[key];\n if (val === null) {\n this.removeAttr(key);\n } else {\n this._attr(key, val);\n }\n });\n }\n return this;\n }\n if (value === null) {\n return this.removeAttr(attrs as string);\n }\n return this._attr(attrs as string, value as string);\n },\n});\n","import {$} from '../cash';\n\n/**\n * Cash event.\n */\ntype CashEvent = Exclude[0], string>;\n\n/* Declare types. */\ndeclare module 'cash-dom' {\n interface CashStatic {\n Event(event: string, data?: unknown): CashEvent;\n }\n}\n\n/* Extend as $.Event() to create custom event for cash. */\nif (!$.Event) {\n $.Event = (event: string, data?: unknown): CashEvent => {\n const [name, ...namespaces] = event.split('.');\n const eventObject = new Event(name, {\n bubbles: true,\n cancelable: true,\n });\n (eventObject as Event & {namespace: string}).namespace = namespaces.join('.');\n (eventObject as Event & {___ot: string}).___ot = name;\n (eventObject as Event & {___td: unknown}).___td = data;\n return eventObject as unknown as CashEvent;\n };\n}\n","export const delay = (ms: number, setTimerID?: (timerID: number) => void) => new Promise(resolve => {\n const id = window.setTimeout(resolve, ms);\n if (setTimerID) {\n setTimerID(id);\n }\n});\n","import {$} from '../cash';\n\nexport const shareData: Record = {};\n\n/* Declare types. */\ndeclare module 'cash-dom' {\n interface CashStatic {\n share: Record;\n }\n}\n\n/** Define $.share helper. */\n$.share = shareData;\n","var n,l,u,t,i,o,r,f,e,c,s,a,h={},p=[],v=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,y=Array.isArray;function d(n,l){for(var u in l)n[u]=l[u];return n}function w(n){var l=n.parentNode;l&&l.removeChild(n)}function _(l,u,t){var i,o,r,f={};for(r in u)\"key\"==r?i=u[r]:\"ref\"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),\"function\"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return g(l,f,i,o,null)}function g(n,t,i,o,r){var f={type:n,props:t,key:i,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==r?++u:r,__i:-1,__u:0};return null==r&&null!=l.vnode&&l.vnode(f),f}function m(){return{current:null}}function k(n){return n.children}function b(n,l){this.props=n,this.context=l}function x(n,l){if(null==l)return n.__?x(n.__,n.__i+1):null;for(var u;lu&&i.sort(f));P.__r=0}function S(n,l,u,t,i,o,r,f,e,c,s){var a,v,y,d,w,_=t&&t.__k||p,g=l.length;for(u.__d=e,$(u,l,_),e=u.__d,a=0;a0?g(i.type,i.props,i.key,i.ref?i.ref:null,i.__v):i)?(i.__=n,i.__b=n.__b+1,f=L(i,u,r,s),i.__i=f,o=null,-1!==f&&(s--,(o=u[f])&&(o.__u|=131072)),null==o||null===o.__v?(-1==f&&a--,\"function\"!=typeof i.type&&(i.__u|=65536)):f!==r&&(f==r-1?a=f-r:f==r+1?a++:f>r?s>e-r?a+=f-r:a--:f(null!=e&&0==(131072&e.__u)?1:0))for(;r>=0||f=0){if((e=l[r])&&0==(131072&e.__u)&&i==e.key&&o===e.type)return r;r--}if(f2&&(e.children=arguments.length>3?n.call(arguments,2):t),g(l.type,e,i||l.key,o||l.ref,null)}function G(n,l){var u={__c:l=\"__cC\"+a++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,t;return this.getChildContext||(u=[],(t={})[l]=this,this.getChildContext=function(){return t},this.componentWillUnmount=function(){u=null},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(function(n){n.__e=!0,M(n)})},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u&&u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=p.slice,l={__e:function(n,l,u,t){for(var i,o,r;l=l.__;)if((i=l.__c)&&!i.__)try{if((o=i.constructor)&&null!=o.getDerivedStateFromError&&(i.setState(o.getDerivedStateFromError(n)),r=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),r=i.__d),r)return i.__E=i}catch(l){n=l}throw n}},u=0,t=function(n){return null!=n&&null==n.constructor},b.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=d({},this.state),\"function\"==typeof n&&(n=n(d({},u),this.props)),n&&d(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),M(this))},b.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),M(this))},b.prototype.render=k,i=[],r=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,f=function(n,l){return n.__v.__b-l.__v.__b},P.__r=0,e=0,c=F(!1),s=F(!0),a=0;export{b as Component,k as Fragment,E as cloneElement,G as createContext,_ as createElement,m as createRef,_ as h,D as hydrate,t as isValidElement,l as options,B as render,H as toChildArray};\n//# sourceMappingURL=preact.module.js.map\n","import {ComponentChildren, toChildArray} from 'preact';\nimport {$} from '../cash';\n\nexport function mergeProps = Record>(props: Record, ...args: unknown[]) {\n args.forEach(arg => {\n if (!arg || typeof arg !== 'object') {\n return;\n }\n Object.keys(arg as Partial).forEach(key => {\n let value = (arg as Record)[key];\n const oldValue = props[key];\n if (value === oldValue) {\n return;\n }\n if (oldValue !== undefined) {\n if (key === 'className' || key.endsWith('Class')) {\n value = [oldValue, value];\n } else if (key === 'children') {\n value = [...toChildArray(oldValue), ...toChildArray(value as ComponentChildren)];\n } else if (typeof oldValue == 'object' && (key === 'style' || key.endsWith('Style') || key === 'attrs' || key.endsWith('Attrs') || key === 'props')) {\n value = $.extend(oldValue, value);\n }\n }\n props[key] = value;\n });\n });\n return props;\n}\n\nexport function removeUndefinedProps(props: Record) {\n Object.keys(props).forEach(key => {\n if (props[key] === undefined) {\n delete props[key];\n }\n });\n return props;\n}\n","import {$, Cash, Selector} from '../cash';\n\n/* Declare types. */\ndeclare module 'cash-dom' {\n interface Cash {\n disableScroll(disable?: boolean): Cash;\n enableScroll(enable?: boolean): Cash;\n }\n}\n\nexport function disableScroll(selector: Selector, disable = true): void {\n const $element = $(selector);\n const element = $element[0] as HTMLElement;\n const dataName = 'zui-disable-scroll';\n if (disable) {\n if ($element.data(dataName)) {\n return;\n }\n if (($element.css('scrollbar-gutter') || '').includes('stable')) {\n $element.data(dataName, {overflow: $element.css('overflow')}).css('overflow', 'hidden');\n return;\n }\n const scrollbarWidth = (element === document.body || $element.is('html')) ? (window.innerWidth - document.body.clientWidth) : (element.offsetWidth - element.clientWidth);\n if (!scrollbarWidth) {\n return;\n }\n const paddingRight = $element.css('paddingRight') || '0';\n $element.data(dataName, {\n paddingRight: paddingRight,\n overflow: $element.css('overflow'),\n }).css({\n paddingRight: `${scrollbarWidth + Number.parseInt(paddingRight, 10)}px`,\n overflow: 'hidden',\n });\n } else {\n const oldStyle = $element.data(dataName);\n if (!oldStyle) {\n return;\n }\n $element.css(oldStyle).removeData(dataName);\n }\n}\n\n/* Extend as $.fn.disableScroll() */\n$.fn.disableScroll = function (this: Cash, disable = true): Cash {\n return this.each((_, ele) => {\n disableScroll(ele, disable);\n });\n};\n\n$.fn.enableScroll = function (this: Cash, enable = true): Cash {\n return this.disableScroll(!enable);\n};\n","import {$, Cash} from '../cash';\nimport {evalValue} from './raw-data';\nimport {deepGet} from '@zui/helpers/src/object/deep-get';\nimport {getZData} from './z';\n\nexport type GlobalEventOptions = {\n on: string;\n selector?: string;\n prevent?: boolean;\n stop?: boolean;\n call?: string | ((...args: unknown[]) => void);\n self?: boolean;\n params?: unknown[] | string;\n once?: boolean;\n if?: string | ((...args: unknown[]) => boolean);\n do?: string | ((...args: unknown[]) => void);\n [option: string]: unknown;\n};\n\nfunction processGlobalEvent($element: Cash, event: Event, options: GlobalEventOptions) {\n if (!(options.on as string || 'click').split(' ').includes(event.type)) {\n return;\n }\n const $target = options.selector ? $(event.target as HTMLElement).closest(options.selector as string) : $element;\n if (!$target.length) {\n return;\n }\n const parseBool = (value: unknown) => {\n return value === '' ? true : value;\n };\n const parseVal = (value: unknown) => {\n if (typeof value === 'string') {\n try {\n value = JSON.parse(value);\n // eslint-disable-next-line no-empty\n } catch (_) {}\n }\n return value;\n };\n if (parseBool(options.once)) {\n if (options.onceCalled) {\n return;\n }\n $element.dataset('once-called', true);\n }\n if (parseBool(options.prevent)) {\n event.preventDefault();\n }\n if (parseBool(options.stop)) {\n event.stopPropagation();\n }\n if (parseBool(options.self) && event.currentTarget !== event.target) {\n return;\n }\n\n const runParams: [string, unknown][] = [['$element', $element], ['event', event], ['options', options], ['$target', $target]];\n const runCode = (code: string | ((...args: unknown[]) => boolean)) => {\n if (typeof code === 'function') {\n return code(...runParams);\n }\n return $.runJS(code as string, ...runParams);\n };\n if (options.if !== undefined && !runCode(options.if)) {\n return;\n }\n\n const call = options.call;\n if (call) {\n let callback: unknown;\n if (typeof call === 'string') {\n const isFuncName = /^[$A-Z_][0-9A-Z_$.]*$/i.test(call);\n callback = isFuncName ? deepGet(window, call) : runCode(call);\n } else {\n callback = call;\n }\n if (typeof callback === 'function') {\n const params: unknown[] = [];\n const paramsOption = options.params;\n options.params = params;\n if (typeof paramsOption === 'string' && paramsOption.length) {\n if (paramsOption[0] === '[') {\n params.push(...(parseVal(paramsOption) as unknown[]));\n } else {\n params.push(...paramsOption.split(', ').map(x => {\n x = x.trim();\n if (x === '$element') return $element;\n if (x === 'event') return event;\n if (x === 'options') return options;\n if (x.startsWith('$element.') || x.startsWith('event.') || x.startsWith('options.')) return runCode(x);\n return parseVal(x);\n }));\n }\n } else if (Array.isArray(paramsOption)) {\n params.push(...paramsOption);\n } else {\n params.push(paramsOption);\n }\n callback(...params);\n }\n }\n\n if (options.do) {\n runCode(options.do as string);\n }\n}\n\n/**\n * Handle global event.\n * @param event The event object\n * @example\n * ```html\n * Click or changed\n * console.log('clicked or changed'), if: () => confirm('continue?')}\">Click or changed\n * Click\n * Click or changed\n * console.log('clicked')}\">Click or changed\n *\n * [data-on] is deprecated\n * ```\n */\nfunction handleGlobalEvent(this: Cash, event: Event) {\n const $element = $(this);\n const type = event.type;\n const zuiOn = $element.attr('zui-on');\n if (zuiOn) {\n const [events, code] = zuiOn.split('~').map(x => x.trim());\n if (events) {\n processGlobalEvent($element, event, $.extend({\n on: events,\n }, code ? (code.startsWith('{') ? evalValue(code) : {do: code}) : getZData($element, {prefix: 'data-', evalValue: ['call', 'if', 'do']})));\n }\n }\n const zuiOnEvent = $element.attr(`zui-on-${type}`);\n if (zuiOnEvent) {\n processGlobalEvent($element, event, $.extend({\n on: type,\n }, zuiOnEvent.startsWith('{') ? evalValue(zuiOnEvent) : {do: zuiOnEvent}));\n }\n\n const dataOn = $element.attr('data-on');\n if (dataOn) {\n processGlobalEvent($element, event, getZData($element, {prefix: 'data-', evalValue: ['call', 'if', 'do']}) as GlobalEventOptions);\n }\n}\n\nexport function registerGlobalListener(events: string[]) {\n $(document).off('.zui.global').on(events.map(event => `${event}.zui.global`).join(' '), `[zui-on],${events.map(x => `[zui-on-${x}]`)},[data-on]`, handleGlobalEvent);\n}\n\nregisterGlobalListener(['click', 'change', 'inited']);\n","export type SizeSetting = number | `${number}%` | `${number}px` | `${number}/${number}` | (string & {}) | ((...args: unknown[]) => SizeSetting);\n\nexport function parseSize(size: SizeSetting, callbackArgs: unknown[] = []): [value: number, type?: 'px' | '%'] {\n if (typeof size === 'function') {\n return parseSize(size(...callbackArgs));\n }\n if (typeof size === 'number') {\n return [size];\n }\n let match = size.match(/(\\d+)(%|px)?/);\n if (match) {\n return [parseInt(match[1]), match[2] as 'px' | '%'];\n }\n match = size.match(/(\\d+)\\/(\\d+)/);\n if (match) {\n return [100 * parseInt(match[1]) / parseInt(match[2]), '%'];\n }\n return [NaN];\n}\n\nexport function toCssSize(size: SizeSetting | undefined | null, callbackArgs?: unknown[]): string | null {\n if (size === undefined || size === null) {\n return null;\n }\n const [val, unit = 'px'] = parseSize(size, callbackArgs);\n if (Number.isNaN(val)) {\n return typeof size === 'string' ? size : null;\n }\n return `${val}${unit}`;\n}\n","export async function downloadFile(file: Blob | Response | string, fileName?: string): Promise {\n if (file instanceof Blob) {\n const link = document.createElement('a');\n link.href = window.URL.createObjectURL(file);\n if (fileName) {\n link.download = decodeURIComponent(fileName);\n }\n link.click();\n link.remove();\n return file;\n }\n if (file instanceof Response) {\n const blob = await file.blob();\n fileName = fileName || file.headers.get('Content-Disposition')?.split(';')[1]?.split('=')[1]?.replace(/\"/g, '');\n return downloadFile(blob, fileName);\n }\n const response = await fetch(file);\n return downloadFile(response);\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {$, type Cash, type Selector} from '../cash';\n\ntype EventCallback = {\n (event: any, data?: any): any;\n guid?: number;\n};\n\nexport class Bus {\n protected _$target: Cash;\n\n constructor(target: Selector) {\n this._$target = $(target);\n }\n\n on(events: Record): this;\n on(events: Record, selector: string): this;\n on(events: Record, data: any): this;\n on(events: Record, selector: string | null | undefined, data: any): this;\n on(events: string, callback: EventCallback): this;\n on(events: string, selector: string, callback: EventCallback): this;\n on(events: string, data: any, callback: EventCallback): this;\n on(events: string, selector: string | null | undefined, data: any, callback: EventCallback, _one?: boolean): this;\n on(...args: any[]): this {\n this._$target.on(...(args as Parameters));\n return this;\n }\n\n one(events: Record): this;\n one(events: Record, selector: string): this;\n one(events: Record, data: any): this;\n one(events: Record, selector: string | null | undefined, data: any): this;\n one(events: string, callback: EventCallback): this;\n one(events: string, selector: string, callback: EventCallback): this;\n one(events: string, data: any, callback: EventCallback): this;\n one(events: string, selector: string | null | undefined, data: any, callback: EventCallback): this;\n one(...args: any[]): this {\n this._$target.one(...(args as Parameters));\n return this;\n }\n\n off(): this;\n off(events: string): this;\n off(events: Record): this;\n off(events: string, callback: EventCallback): this;\n off(events: string, selector: string, callback: EventCallback): this;\n off(...args: any[]): this {\n this._$target.off(...(args as Parameters));\n return this;\n }\n\n trigger(event: Event | string, data?: any): this;\n trigger(...args: any[]): this {\n this._$target.trigger(...(args as Parameters));\n return this;\n }\n}\n\nexport const bus = new Bus(document);\n\n/* Declare types. */\ndeclare module 'cash-dom' {\n interface CashStatic {\n bus: Bus;\n\n on(events: Record): Bus;\n on(events: Record, selector: string): Bus;\n on(events: Record, data: any): Bus;\n on(events: Record, selector: string | null | undefined, data: any): Bus;\n on(events: string, callback: EventCallback): Bus;\n on(events: string, selector: string, callback: EventCallback): Bus;\n on(events: string, data: any, callback: EventCallback): Bus;\n on(events: string, selector: string | null | undefined, data: any, callback: EventCallback, _one?: boolean): Bus;\n\n one(events: Record): Bus;\n one(events: Record, selector: string): Bus;\n one(events: Record, data: any): Bus;\n one(events: Record, selector: string | null | undefined, data: any): Bus;\n one(events: string, callback: EventCallback): Bus;\n one(events: string, selector: string, callback: EventCallback): Bus;\n one(events: string, data: any, callback: EventCallback): Bus;\n one(events: string, selector: string | null | undefined, data: any, callback: EventCallback): Bus;\n\n off(): Bus;\n off(events: string): Bus;\n off(events: Record): Bus;\n off(events: string, callback: EventCallback): Bus;\n off(events: string, selector: string, callback: EventCallback): Bus;\n\n trigger(event: Event | string, data?: any): Bus;\n }\n}\n\n$.bus = bus;\n$.on = bus.on.bind(bus);\n$.one = bus.one.bind(bus);\n$.off = bus.off.bind(bus);\n$.trigger = bus.trigger.bind(bus);\n","var t=[\"Shift\",\"Meta\",\"Alt\",\"Control\"],e=\"object\"==typeof navigator?navigator.platform:\"\",n=/Mac|iPod|iPhone|iPad/.test(e),r=n?\"Meta\":\"Control\",o=\"Win32\"===e?[\"Control\",\"Alt\"]:n?[\"Alt\"]:[];function i(t,e){return\"function\"==typeof t.getModifierState&&(t.getModifierState(e)||o.includes(e)&&t.getModifierState(\"AltGraph\"))}function a(t){return t.trim().split(\" \").map(function(t){var e=t.split(/\\b\\+/),n=e.pop();return[e=e.map(function(t){return\"$mod\"===t?r:t}),n]})}function u(e,n){var r;void 0===n&&(n={});var o=null!=(r=n.timeout)?r:1e3,u=Object.keys(e).map(function(t){return[a(t),e[t]]}),c=new Map,f=null;return function(e){e instanceof KeyboardEvent&&(u.forEach(function(n){var r=n[0],o=n[1],a=c.get(r)||r;!function(e,n){return!(n[1].toUpperCase()!==e.key.toUpperCase()&&n[1]!==e.code||n[0].find(function(t){return!i(e,t)})||t.find(function(t){return!n[0].includes(t)&&n[1]!==t&&i(e,t)}))}(e,a[0])?i(e,e.key)||c.delete(r):a.length>1?c.set(r,a.slice(1)):(c.delete(r),o(e))}),f&&clearTimeout(f),f=setTimeout(c.clear.bind(c),o))}}function c(t,e,n){var r;void 0===n&&(n={});var o=null!=(r=n.event)?r:\"keydown\",i=u(e,n);return t.addEventListener(o,i),function(){t.removeEventListener(o,i)}}export{u as createKeybindingsHandler,a as parseKeybinding,c as tinykeys};\n//# sourceMappingURL=tinykeys.module.js.map\n","import {tinykeys, createKeybindingsHandler, type KeyBindingMap, type KeyBindingHandlerOptions} from 'tinykeys';\nimport {$, type Selector, Cash} from '../cash';\n\nexport type HotkeysBindingOptions = KeyBindingHandlerOptions & {\n scope?: string;\n event?: 'keydown' | 'keyup' | 'keypress';\n when?: (event: KeyboardEvent) => boolean;\n};\n\nexport type HotkeysBindingMap = KeyBindingMap;\n\nexport type HotkeyBindingCallback = (event: KeyboardEvent) => void;\n\nexport type HotkeySetting = {\n keys: string | string[];\n handler: HotkeyBindingCallback;\n optional?: boolean;\n};\n\nexport type HotkeyName = string;\n\nexport type HotkeysMap = Record;\n\nexport type HotkeysSettings = boolean | Record;\n\nexport function getHotkeysMap(settings: HotkeysSettings, defaultMap: HotkeysMap = {}): HotkeysBindingMap | undefined {\n if (!settings) {\n return;\n }\n\n const map = Object.keys(defaultMap).reduce((currentMap, name) => {\n if (!defaultMap[name].optional) {\n currentMap[name] = {\n ...defaultMap[name],\n };\n }\n return currentMap;\n }, {});\n Object.keys(settings).forEach((name) => {\n const setting = (settings as Record)[name];\n if (!setting) {\n delete map[name];\n } else if (setting === true) {\n if (defaultMap[name]) {\n map[name] = {\n ...defaultMap[name],\n };\n }\n } else {\n map[name] = setting;\n }\n });\n\n return Object.keys(map).reduce((bindingMap, name) => {\n const {keys, handler} = map[name];\n if (typeof keys === 'string') {\n bindingMap[keys] = handler;\n } else {\n keys.forEach((key) => {\n bindingMap[key] = handler;\n });\n }\n return bindingMap;\n }, {});\n}\n\nexport function bindHotkeys(selector: Selector, bindingMap: HotkeysBindingMap, options?: HotkeysBindingOptions) {\n const {timeout, event = 'keydown', scope, when} = options || {};\n const handler = createKeybindingsHandler(bindingMap, {timeout});\n const namespace = `.zui.hotkeys${scope ? `.${scope}` : ''}`;\n const composingDataKey = 'zui-hotkeys-composing';\n return $(selector).on(`${event}${namespace}`, function (e: KeyboardEvent) {\n if (when && when(e) === false) {\n return;\n }\n if ($(e.target as HTMLElement).data(composingDataKey)) {\n return;\n }\n handler(e);\n }).on(`compositionstart${namespace}`, (e: Event) => {\n $(e.target as HTMLElement).data(composingDataKey, true);\n }).on(`compositionend${namespace}`, (e: Event) => {\n $(e.target as HTMLElement).removeData(composingDataKey);\n });\n}\n\nexport function unbindHotkeys(selector: Selector, scope?: string) {\n return $(selector).off(`.zui.hotkeys${scope ? `.${scope}` : ''}`);\n}\n\nexport const hotkeys = tinykeys;\n\n/* Declare types. */\ndeclare module 'cash-dom' {\n interface CashStatic {\n hotkeys(bindingMap: HotkeysBindingMap, options?: HotkeysBindingOptions): void;\n\n unbindHotkeys(scope?: string): void;\n }\n\n interface Cash {\n hotkeys(bindingMap: HotkeysBindingMap, options?: HotkeysBindingOptions): Cash;\n\n unbindHotkeys(scope?: string): Cash;\n }\n}\n\n/* Extend $.fn.hotkeys(). */\n$.fn.hotkeys = function (this: Cash, bindingMap: HotkeysBindingMap, options?: HotkeysBindingOptions): Cash {\n return bindHotkeys(this, bindingMap, options);\n};\n\n/* Extend $.fn.unbindHotkeys. */\n$.fn.unbindHotkeys = function (this: Cash, scope?: string): Cash {\n return unbindHotkeys(this, scope);\n};\n\n/* Extend $.hotkeys(). */\n$.hotkeys = function (bindingMap: HotkeysBindingMap, options?: HotkeysBindingOptions): void {\n bindHotkeys(window, bindingMap, options);\n};\n\n/* Extend $.unbindHotkeys. */\n$.unbindHotkeys = function (scope?: string): void {\n unbindHotkeys(window, scope);\n};\n","import {$, Cash, type Selector} from '../cash';\n\nexport type EnterFullscreenOptions = {\n target: Selector;\n onError?: (error: Error) => void;\n onSuccess?: () => void;\n afterEnter?: (event: Event) => void;\n afterExit?: (event: Event) => void;\n};\n\nexport function getFullscreenElement() {\n return document.fullscreenElement || (document as {webkitFullscreenElement?: typeof document.fullscreenElement}).webkitFullscreenElement || (document as {mozFullScreenElement?: typeof document.fullscreenElement}).mozFullScreenElement;\n}\n\nexport async function enterFullscreen(options: Selector | EnterFullscreenOptions) {\n if (typeof options === 'string' || options instanceof Element || options instanceof $) {\n options = {target: options as Selector};\n }\n const {target, onError, onSuccess, afterExit, afterEnter} = options as EnterFullscreenOptions;\n const $target = $(target);\n const element = $target[0] as Element;\n if (!element) {\n return;\n }\n const requestMethod = element.requestFullscreen || (element as {webkitRequestFullscreen?: typeof element.requestFullscreen}).webkitRequestFullscreen || (element as {mozRequestFullScreen?: typeof element.requestFullscreen}).mozRequestFullScreen;\n if (!requestMethod) {\n onError?.call(element, new Error('[ZUI] The browser does not support full screen feature.'));\n return;\n }\n\n try {\n await requestMethod.call(element);\n onSuccess?.call(element);\n $(element).off('.zui.fullscreen');\n if (afterExit) {\n $target.on('exitFullscreen.zui.fullscreen', afterExit);\n }\n if (afterEnter) {\n $target.on('enterFullscreen.zui.fullscreen', afterEnter);\n }\n } catch (error) {\n onError?.call(element, error as Error);\n }\n\n if (!(document as {zuiBindFullscreenChange?: boolean}).zuiBindFullscreenChange) {\n (document as {zuiBindFullscreenChange?: boolean}).zuiBindFullscreenChange = true;\n $(document).on('fullscreenchange.zui webkitfullscreenchange.zui mozfullscreenchange.zui', (event) => {\n const fullscreenElement = getFullscreenElement();\n let triggerElement: Element | Document | null | undefined = fullscreenElement;\n if (fullscreenElement) {\n $(fullscreenElement).addClass('is-in-fullscreen');\n } else {\n triggerElement = $(document).find('.is-in-fullscreen')[0] || document;\n $(triggerElement).removeClass('is-in-fullscreen');\n }\n $('body').toggleClass('has-in-fullscreen', !!fullscreenElement);\n const data = {event, target: triggerElement, fullscreenElement};\n $(triggerElement).trigger(fullscreenElement ? 'enterFullscreen' : 'exitFullscreen', data).trigger('toggleFullscreen', data);\n });\n }\n}\n\nexport async function toggleFullscreen(options?: Selector | EnterFullscreenOptions | false) {\n const fullscreenElement = getFullscreenElement();\n if (options === false) {\n if (!!fullscreenElement === options) {\n return options;\n }\n }\n\n if (fullscreenElement) {\n document.exitFullscreen();\n return false;\n }\n await enterFullscreen(options);\n return true;\n}\n\n/* Declare types. */\ndeclare module 'cash-dom' {\n interface Cash {\n fullscreen(this: Cash, options?: EnterFullscreenOptions | false): Promise;\n }\n\n interface CashStatic {\n getFullscreenElement: typeof getFullscreenElement;\n toggleFullscreen: typeof toggleFullscreen;\n }\n}\n\n/** Extend the $.fn.fullscreen. */\n$.fn.fullscreen = function (this: Cash, options?: EnterFullscreenOptions | false) {\n return toggleFullscreen({\n target: this,\n ...options,\n });\n};\n\n/** Extend the $.getFullscreenElement. */\n$.getFullscreenElement = getFullscreenElement;\n\n/** Extend the $.toggleFullscreen. */\n$.toggleFullscreen = toggleFullscreen;\n","import {$, Cash} from '../cash';\n\n/**\n * Check whether the element is detached from document.\n * @param element The element to check.\n * @returns Whether the element is detached from document.\n */\nexport function isElementDetached(element?: Node): boolean {\n if (!element || element.parentNode === document) {\n return false;\n }\n if (!element.parentNode) {\n return true;\n }\n return isElementDetached(element.parentNode);\n}\n\n/* Declare types. */\ndeclare module 'cash-dom' {\n interface CashStatic {\n isDetached(element: Node): boolean;\n }\n\n interface Cash {\n isDetached(): boolean;\n }\n}\n\n/* Extend $.isDetached. */\n$.isDetached = isElementDetached;\n\n/* Extend as $.fn.isDisabled(). */\n$.fn.isDetached = function (this: Cash) {\n const element = this[0];\n return !element || isElementDetached(element);\n};\n","import {I18nLangMap, i18n} from '../i18n';\nimport {$} from '../cash';\nimport {nextGid} from '../helpers';\nimport {isElementDetached} from '../dom/is-detached';\n\nimport type {Cash, Element, Selector} from '../cash';\nimport type {ComponentEventArgs, ComponentEventName, ComponentOptions, ComponentEvents, ComponentEventsDefnition, ComponentToggleConfig} from './types';\n\n/**\n * The event callback for component.\n */\nexport type ComponentEventCallback> = (event: N extends keyof HTMLElementEventMap ? HTMLElementEventMap[N] : Event, args: [Component, ComponentEventArgs]) => void | false;\n\n/**\n * The component base class.\n */\nexport class Component {\n /**\n * The default options.\n */\n static DEFAULT = {};\n\n /**\n * The component name.\n * It usually equals to the class name.\n * The name must be provided in subclass.\n */\n static NAME: string;\n\n /**\n * Whether the component supports multiple instances.\n */\n static MULTI_INSTANCE = false;\n\n /**\n * The component i18n data.\n * It will be merged with global i18n data.\n */\n static i18n: I18nLangMap | undefined;\n\n /**\n * The component toggle config.\n */\n static toggle: ComponentToggleConfig | undefined;\n\n /**\n * ZUI name\n */\n static get ZUI() {\n return this.NAME.replace(/(^[A-Z]+)/, (match) => match.toLowerCase());\n }\n\n /**\n * Component data key, like \"zui.menu\"\n */\n static get KEY(): `zui.${string}` {\n return `zui.${this.NAME}`;\n }\n\n /**\n * Component namespace, like \".zui.menu\"\n */\n static get NAMESPACE(): `.zui.${string}` {\n return `.zui.${this.ZUI}`;\n }\n\n /**\n * @deprecated Use ATTR_KEY instead.\n */\n static get DATA_KEY(): `data-zui-${string}` {\n return `data-zui-${this.NAME}`;\n }\n\n /**\n * Component attribute key, like \"z-use-menu\"\n */\n static get ATTR_KEY(): `z-use-${string}` {\n return `z-use-${this.NAME}`;\n }\n\n /**\n * The component default selector.\n */\n static get SELECTOR() {\n return `[${this.DATA_KEY}]`;\n }\n\n /**\n * Access to static properties via this.constructor.\n *\n * @see https://github.com/Microsoft/TypeScript/issues/3841#issuecomment-337560146\n */\n declare ['constructor']: typeof Component;\n\n /**\n * Store the component options.\n */\n private _options?: ComponentOptions;\n\n /**\n * Store the component element.\n */\n private _element?: U;\n\n /**\n * The component global ID.\n */\n private _gid: number;\n\n /**\n * The component key.\n */\n protected _key: string | number;\n\n /**\n * The component initialized flag.\n */\n private _inited = false;\n\n /**\n * Auto destroy flag.\n */\n private _autoDestory = 0;\n\n /**\n * The component destroyed flag.\n */\n protected _destroyed = false;\n\n /**\n * The component constructor.\n *\n * @param options The component initial options.\n */\n constructor(selector: Selector, options?: Partial>) {\n const {KEY, DATA_KEY, DEFAULT, MULTI_INSTANCE, NAME, ATTR_KEY, ALL, TYPED_ALL} = this.constructor;\n\n if (!NAME) {\n throw new Error('[ZUI] The component must have a \"NAME\" static property.');\n }\n\n const $element = $(selector);\n if ($element.data(KEY) && !MULTI_INSTANCE) {\n throw new Error(`[ZUI] The component \"${NAME}\" has been initialized on element.`);\n }\n\n const element = $element[0] as U;\n const gid = nextGid();\n this._gid = gid;\n this._element = element;\n\n this._options = {...DEFAULT, ...(options?.$optionsFromDataset !== false ? $element.dataset() : {})} as ComponentOptions;\n this.setOptions(options);\n this._key = this.options.key ?? `__${gid}`;\n\n if (ALL.has(element)) {\n ALL.get(element)!.add(this);\n } else {\n ALL.set(element, new Set([this]));\n }\n\n if (TYPED_ALL.has(NAME)) {\n TYPED_ALL.get(NAME)!.add(this);\n } else {\n TYPED_ALL.set(NAME, new Set([this]));\n }\n\n $element.data(KEY, this).attr(ATTR_KEY, '').attr(DATA_KEY, `${gid}`);\n if (MULTI_INSTANCE) {\n const dataName = `${KEY}:ALL`;\n let instanceMap: Map | undefined = $element.data(dataName);\n if (!instanceMap) {\n instanceMap = new Map();\n $element.data(dataName, instanceMap);\n }\n instanceMap.set(this._key, this);\n }\n\n this.init();\n requestAnimationFrame(async () => {\n this._inited = true;\n await this.afterInit();\n this.emit('inited', this.options);\n });\n }\n\n /**\n * Get the component initialized flag.\n */\n get inited() {\n return this._inited;\n }\n\n /**\n * Get the component destroyed flag.\n */\n get destroyed() {\n return this._destroyed;\n }\n\n /**\n * Get the component element.\n */\n get element() {\n return this._element!;\n }\n\n get key() {\n return this._key;\n }\n\n /**\n * Get the component options.\n */\n get options() {\n return this._options!;\n }\n\n /**\n * Get the component global id.\n */\n get gid() {\n return this._gid;\n }\n\n /**\n * Get the component element as a jQuery like object.\n */\n get $element() {\n return $(this.element);\n }\n\n /**\n * Get the component event emitter.\n */\n get $emitter() {\n return this.$element;\n }\n\n /**\n * Get the component i18n data.\n */\n get i18nData(): (I18nLangMap | undefined)[] {\n return [this.options.i18n, this.constructor.i18n];\n }\n\n /**\n * Initialize the component.\n */\n init() {}\n\n /**\n * Do something after the component initialized.\n */\n afterInit(): void | Promise {}\n\n /**\n * Render the component.\n *\n * @param options The component options to override before render.\n */\n render(options?: Partial>, reset?: boolean) {\n this.setOptions(options, reset);\n }\n\n /**\n * Destroy the component.\n */\n destroy() {\n const {KEY, DATA_KEY, ALL, TYPED_ALL, NAME, MULTI_INSTANCE, ATTR_KEY} = this.constructor;\n const {$element, element} = this;\n\n (this.emit as ((event: string, ...args: unknown[]) => void))('destroyed');\n\n this._destroyed = true;\n\n $element\n .off(this.namespace)\n .removeData(KEY)\n .removeAttr(ATTR_KEY)\n .removeAttr(DATA_KEY);\n\n if (MULTI_INSTANCE) {\n const map = this.$element.data(`${KEY}:ALL`) as Map>;\n if (map) {\n map.delete(this._key);\n if (map.size === 0) {\n this.$element.removeData(`${KEY}:ALL`);\n } else {\n const nextInstance = map.values().next().value;\n $element.data(KEY, nextInstance).attr(DATA_KEY, nextInstance.gid);\n }\n }\n }\n\n const map = ALL.get(element);\n if (map) {\n map.delete(this);\n if (map.size === 0) {\n ALL.delete(element);\n }\n }\n\n const typedMap = TYPED_ALL.get(NAME);\n if (typedMap) {\n typedMap.delete(this);\n if (typedMap.size === 0) {\n TYPED_ALL.delete(NAME);\n }\n }\n }\n\n /**\n * Auto destroy the component when detached.\n */\n autoDestroy(delay = 100) {\n if (this._autoDestory) {\n clearTimeout(this._autoDestory);\n }\n this._autoDestory = window.setTimeout(() => {\n this._autoDestory = 0;\n if (isElementDetached(this.element)) {\n this.destroy();\n }\n }, delay);\n }\n\n /**\n * Set the component options.\n *\n * @param options The component options to set.\n * @returns The component options.\n */\n setOptions(options?: Partial>, reset?: boolean): ComponentOptions {\n if (reset) {\n this._options = {\n ...this.constructor.DEFAULT,\n ...(options?.$optionsFromDataset !== false ? this.$element.dataset() : {}),\n ...options,\n } as ComponentOptions;\n } else if (options) {\n $.extend(this._options, options);\n }\n return this._options!;\n }\n\n /**\n * Emit a component event.\n * @param event The event name.\n * @param args The event arguments.\n */\n emit>(event: N, ...args: ComponentEventArgs): Event {\n const eventObject = $.Event(event);\n (eventObject as unknown as {__src?: unknown}).__src = this;\n this.$emitter.trigger(eventObject, [this, ...args]);\n return eventObject as unknown as Event;\n }\n\n /**\n * Listen to a component event.\n *\n * @param event The event name.\n * @param callback The event callback.\n */\n on>(event: N | (string & {}), callback: ComponentEventCallback, options?: {once?: boolean}) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const component = this;\n this.$element[options?.once ? 'one' : 'on'](this._wrapEvent(event), function (this: Component, e: N extends keyof HTMLElementEventMap ? HTMLElementEventMap[N] : Event, info: [Component, ComponentEventArgs]) {\n if (!(e as {__src?: unknown}).__src || (e as {__src?: unknown}).__src === component) {\n callback.call(this, e, info);\n }\n });\n }\n\n /**\n * Listen to a component event.\n *\n * @param event The event name.\n * @param callback The event callback.\n */\n one>(event: N, callback: ComponentEventCallback) {\n this.on(event, callback, {once: true});\n }\n\n /**\n * Stop listening to a component event.\n * @param event The event name.\n * @param callback The event callback.\n */\n off>(event: N | (string & {})) {\n this.$element.off(this._wrapEvent(event));\n }\n\n /**\n * Get the i18n text.\n *\n * @param key The i18n key.\n * @param defaultValue The default value if the key is not found.\n */\n i18n(key: string, defaultValue?: string): string;\n\n /**\n * Get the i18n text.\n *\n * @param key The i18n key.\n * @param args The i18n arguments.\n * @param defaultValue The default value if the key is not found.\n */\n i18n(key: string, args?: (string | number)[], defaultValue?: string): string;\n\n /**\n * Get the i18n text.\n *\n * @param key The i18n key.\n * @param args The i18n arguments.\n * @param defaultValue The default value if the key is not found.\n */\n i18n(key: string, args?: Record, defaultValue?: string): string;\n\n /**\n * Get the i18n text.\n *\n * @param key The i18n key.\n * @param args The i18n arguments or the default value.\n * @param defaultValue The default value if the key is not found.\n * @returns The i18n text.\n */\n i18n(key: string, args?: string | (string | number)[] | Record, defaultValue?: string): string {\n const {i18nData} = this;\n return i18n(i18nData, key, args, defaultValue, this.options.lang, this.constructor.NAME)\n ?? i18n(i18nData, key, args, defaultValue, this.options.lang)\n ?? `{i18n:${key}}`;\n }\n\n /**\n * Get event namespace.\n * @returns Event namespace.\n */\n get namespace(): `.zui.${string}` {\n return `${this.constructor.NAMESPACE}.${this._key}`;\n }\n\n /**\n * Wrap event names with component namespace.\n *\n * @param names The event names.\n * @returns The wrapped event names.\n */\n protected _wrapEvent(names: string) {\n return names.split(' ').map(name => name.includes('.') ? name : `${name}${this.namespace}`).join(' ');\n }\n\n static ALL = new Map>();\n\n static TYPED_ALL = new Map>();\n\n /**\n * Get the component instance of the given element.\n *\n * @param this Current component constructor.\n * @param selector The component element selector.\n * @returns The component instance.\n */\n static get>(this: T, selector: Selector, key?: string | number): InstanceType | undefined {\n const $element = $(selector);\n if (this.MULTI_INSTANCE && key !== undefined) {\n const instanceMap = $element.data(`${this.KEY}:ALL`);\n if (instanceMap) {\n return instanceMap.get(key);\n }\n return;\n }\n return $element.data(this.KEY);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n static isValid>(this: T, _instance: InstanceType): boolean {\n return true;\n }\n\n /**\n * Ensure the component instance of the given element.\n *\n * @param this Current component constructor.\n * @param selector The component element selector.\n * @param options The component options.\n * @returns The component instance.\n */\n static ensure>(this: T, selector: Selector, options?: Partial>): InstanceType {\n const instance = this.get(selector, options?.key);\n if (instance) {\n if (this.isValid(instance)) {\n if (options) {\n instance.setOptions(options);\n }\n return instance;\n } else {\n instance.destroy();\n }\n }\n return new this(selector, options) as InstanceType;\n }\n\n /**\n * Get all component instances.\n *\n * @param this Current component constructor.\n * @param selector The component element selector.\n * @returns All component instances.\n */\n static getAll>(this: T, selector?: Selector, filter?: (instance: InstanceType) => boolean): InstanceType[] {\n const {SELECTOR, ALL, TYPED_ALL} = this;\n const list: InstanceType[] = [];\n const checkInstance = (instance: Component) => {\n if (instance instanceof this && (!filter || filter(instance as InstanceType) !== false)) {\n list.push(instance as InstanceType);\n }\n };\n if (selector) {\n $(selector)\n .find(SELECTOR)\n .each((_, element) => {\n ALL.get(element)?.forEach(checkInstance);\n });\n } else if (this !== Component) {\n TYPED_ALL.get(this.NAME)?.forEach(checkInstance);\n } else {\n ALL.forEach((components) => {\n components.forEach(checkInstance);\n });\n }\n return list.sort((a, b) => a.gid - b.gid);\n }\n\n /**\n * Query the component instance.\n *\n * @param this Current component constructor.\n * @param selector The component element selector.\n * @returns The component instance.\n */\n static query>(this: T, selector?: Selector, key?: string | number, filter?: (instance: InstanceType) => boolean): InstanceType | undefined {\n if (selector === undefined) {\n return this.getAll(undefined, filter).pop();\n }\n return this.get($(selector).closest(this.SELECTOR), key);\n }\n\n /**\n * Create cash fn.method for current component.\n *\n * @param name The method name.\n */\n static defineFn(name?: string) {\n let fnName = (name || this.ZUI) as keyof Cash;\n if ($.fn[fnName]) {\n fnName = `zui${this.NAME}` as keyof Cash;\n }\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const ZUIComponent = this;\n $.fn.extend({\n [fnName](options: Partial> | string, ...args: unknown[]) {\n const initOptions = typeof options === 'object' ? options : undefined;\n const callMethod = typeof options === 'string' ? options : undefined;\n let callResult: unknown;\n this.each((_: number, element: Element) => {\n let instance = ZUIComponent.get(element);\n if (instance) {\n if (initOptions) {\n instance.render(initOptions);\n }\n } else {\n instance = new ZUIComponent(element, initOptions);\n }\n if (callMethod) {\n let method: ((...args: unknown[]) => void) = (instance as unknown as Record void>)[callMethod];\n let callThis: unknown = instance;\n if (method === undefined) {\n callThis = (instance as unknown as {$: Record void>}).$;\n method = (callThis as Record void>)[callMethod as string];\n }\n if (typeof method === 'function') {\n callResult = method.call(callThis, ...args);\n } else {\n callResult = method;\n }\n }\n });\n return callResult !== undefined ? callResult : this;\n },\n });\n }\n\n static map = new Map();\n\n static toggleMap = new Map();\n\n static register(ComponentClass?: typeof Component, name?: string) {\n ComponentClass = ComponentClass || this;\n name = (name ?? ComponentClass.NAME).toLowerCase();\n this.map.set(name, ComponentClass);\n\n const toggleName = ComponentClass.toggle?.name?.toLowerCase();\n if (toggleName && toggleName !== name) {\n this.toggleMap.set(toggleName, ComponentClass);\n }\n }\n}\n","import {$, Cash} from '../cash';\nimport {type GetLibOptions} from '../dom';\nimport {evalValue} from '../helpers';\nimport {storeData, takeData} from '../helpers/data';\nimport {getZData} from '../helpers/z';\nimport {Component} from './component';\n\nimport type {ComponentOptions} from './types';\n\nexport type ComponentClass = typeof Component;\n\nexport type ComponentCreateOptions = ComponentOptions & {\n $update?: boolean | 'reset';\n $reset?: boolean;\n};\n\nexport type ZUIInitOptions = {\n update?: boolean | 'reset';\n beforeCreate?: BeforeCreateCallback;\n onCreate?: OnCreateCallback;\n};\n\nexport function getComponent(name: string): ComponentClass | undefined {\n return Component.map.get(name.toLowerCase());\n}\n\nexport function create(name: string, element: HTMLElement, options: ComponentCreateOptions = {}) {\n let TheComponentClass = getComponent(name);\n if (!TheComponentClass) {\n TheComponentClass = initGlobalComponents(name);\n }\n if (!TheComponentClass) {\n return null;\n }\n const {$update, ...componentOptions} = options;\n if (!TheComponentClass.MULTI_INSTANCE) {\n const component = TheComponentClass.get(element);\n if (component) {\n if ($update) {\n component.render(componentOptions, $update === 'reset');\n }\n return component;\n }\n }\n return new TheComponentClass(element, componentOptions);\n}\n\nfunction createInAnimationFrame(name: string, element: HTMLElement, options: ComponentCreateOptions = {}) {\n requestAnimationFrame(() => create(name, element, options));\n}\n\nexport function registerComponent(component: ComponentClass, name?: string) {\n Component.register(component, name);\n}\n\nexport function initGlobalComponents(name?: string): ComponentClass | undefined {\n const {zui} = window as unknown as {zui: Record};\n if (!zui) {\n return;\n }\n name = name?.toLowerCase();\n for (const n in zui) {\n const isMatch = n.toLowerCase() === name;\n if (name && !isMatch) {\n continue;\n }\n const TheComponentClass = zui[n];\n if (typeof TheComponentClass !== 'function' || !TheComponentClass.NAME || !TheComponentClass.ZUI) {\n continue;\n }\n if (!Component.map.has(n.toLowerCase())) {\n registerComponent(TheComponentClass);\n }\n if (isMatch) {\n return TheComponentClass;\n }\n }\n}\n\nexport function defineFn(name?: string) {\n if (name) {\n getComponent(name)?.defineFn();\n } else if (!(window as unknown as {_zuiDefined: Record})._zuiDefined) {\n initGlobalComponents();\n Component.map.forEach((TheComponentClass) => {\n TheComponentClass.defineFn();\n });\n Object.assign(window, {_zuiDefined: true});\n }\n}\n\n/* Declare types. */\ndeclare module 'cash-dom' {\n interface Cash {\n zuiInit(this: Cash, options?: ZUIInitOptions): Cash;\n zui(this: Cash, name?: string, key?: string | number | true): ComponentClass | ComponentClass[] | Record | undefined;\n zuiCall(this: Cash, method: string, args?: unknown[]): Cash;\n }\n}\n\nexport type BeforeCreateCallback = (element: HTMLElement) => boolean | void;\n\nexport type OnCreateCallback = (name: string, options: Record) => false | Record | void;\n\n/**\n * Create zui component instance from elements which match [zui-create], [data-zui], [data-zui] is deprecated, use [zui-create] instead.\n * 为匹配 [zui-create], [data-zui] 的元素创建 zui 组件实例,[data-zui] 被弃用,优先使用 [zui-create]。\n *\n * @param element - The element to create zui components. 要创建 zui 组件的元素。\n * @param options - The options. 选项。\n *\n * @example\n * ```html\n *

    +!!2@*MkLi!=NfuL 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 X3eo>U{=<}hm=zO<5v!dM^mzY2T*7eq delta 564457 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