From 0f8266767e57fc46d953554c0c348aa12f3ed8bf Mon Sep 17 00:00:00 2001 From: catouse Date: Wed, 28 Aug 2024 08:30:57 +0000 Subject: [PATCH] deploy: d9836b2dce9926e25d1425b43149330b5c346a11 --- dev/404.html | 6 +- ...Nh.js => guide_start_index.md.B87c9M3g.js} | 22 +- ... => guide_start_index.md.B87c9M3g.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 | 8 +- dev/lib/basic/core/zui-on.html | 8 +- dev/lib/basic/core/zui-toggle.html | 8 +- 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 | 8 +- dev/lib/components/btn-group/index.html | 8 +- 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 | 8 +- dev/lib/components/dtable/index.html | 6 +- dev/lib/components/dtable/plugins.html | 6 +- dev/lib/components/file-selector/index.html | 8 +- dev/lib/components/kanban/index.html | 6 +- dev/lib/components/label/index.html | 8 +- dev/lib/components/menu/index.html | 6 +- dev/lib/components/menu/js.html | 6 +- dev/lib/components/messager/index.html | 8 +- dev/lib/components/modal/index.html | 8 +- dev/lib/components/modal/trigger.html | 16 +- dev/lib/components/nav/index.html | 10 +- 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 | 8 +- .../utilities/pointer-events.html | 8 +- .../interactivity/utilities/scroll.html | 6 +- .../interactivity/utilities/state.html | 8 +- .../interactivity/utilities/user-select.html | 8 +- .../layout/utilities/aspect-ratio.html | 8 +- dev/utilities/layout/utilities/container.html | 8 +- dev/utilities/layout/utilities/display.html | 6 +- dev/utilities/layout/utilities/floats.html | 6 +- .../layout/utilities/object-fit.html | 6 +- dev/utilities/layout/utilities/overflow.html | 8 +- dev/utilities/layout/utilities/position.html | 8 +- .../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 | 8 +- dev/utilities/skin/utilities/outline.html | 8 +- dev/utilities/skin/utilities/pale.html | 8 +- dev/utilities/skin/utilities/solid.html | 8 +- dev/utilities/skin/utilities/surface.html | 8 +- dev/utilities/spacing/utilities/margin.html | 8 +- dev/utilities/spacing/utilities/padding.html | 8 +- dev/utilities/spacing/utilities/space.html | 8 +- .../typography/utilities/font-family.html | 8 +- .../typography/utilities/font-size.html | 8 +- .../typography/utilities/font-weight.html | 8 +- .../typography/utilities/leading.html | 8 +- .../typography/utilities/line-clamp.html | 8 +- .../typography/utilities/list-style.html | 8 +- .../typography/utilities/text-align.html | 8 +- .../typography/utilities/text-color.html | 6 +- .../typography/utilities/text-decoration.html | 8 +- .../typography/utilities/text-overflow.html | 8 +- .../typography/utilities/text-transform.html | 8 +- .../typography/utilities/vertical-align.html | 8 +- .../typography/utilities/whitespace.html | 14 +- .../typography/utilities/word-break.html | 12 +- dev/zui-3.0.0.zip | Bin 992394 -> 992593 bytes dev/zui/zui.esm.js | 354 +++++++++--------- dev/zui/zui.esm.js.map | 2 +- dev/zui/zui.js | 6 +- dev/zui/zui.js.map | 2 +- 152 files changed, 721 insertions(+), 717 deletions(-) rename dev/assets/{guide_start_index.md.HsK04LNh.js => guide_start_index.md.B87c9M3g.js} (94%) rename dev/assets/{guide_start_index.md.HsK04LNh.lean.js => guide_start_index.md.B87c9M3g.lean.js} (87%) diff --git a/dev/404.html b/dev/404.html index 247c942e70..972d9cf951 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.HsK04LNh.js b/dev/assets/guide_start_index.md.B87c9M3g.js similarity index 94% rename from dev/assets/guide_start_index.md.HsK04LNh.js rename to dev/assets/guide_start_index.md.B87c9M3g.js index 96c1d77cc6..c3baf5caac 100644 --- a/dev/assets/guide_start_index.md.HsK04LNh.js +++ b/dev/assets/guide_start_index.md.B87c9M3g.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),V=a('<html lang="zh-CN">',1),z=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"},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),K={class:"line highlighted"},Y=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <",-1),$=s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"script",-1),W=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"}},G=a(' crossorigin="anonymous"></script>',6),Q=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),Vs=a('<html lang="zh-CN">',1),zs=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"},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),Ks={class:"line highlighted"},Ys=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <",-1),$s=s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"script",-1),Ws=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"}},Gs=a(' crossorigin="anonymous"></script>',6),Qs=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),R=a(' <title>ZUI</title>',1),w={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),O={class:"line highlighted"},Y=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <",-1),$=s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"script",-1),L=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," src",-1),Q=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"=",-1),G={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},K=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),Ns=a(' <meta charset="utf-8">',1),fs=a(' <meta name="viewport" content="width=device-width, initial-scale=1">',1),Rs=a(' <title>ZUI</title>',1),ws={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),Os={class:"line highlighted"},Ys=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <",-1),$s=s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"script",-1),Ls=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," src",-1),Qs=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"=",-1),Gs={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},Ks=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>
 
 <script>
 const {Nav, Messager} = zui;
@@ -52,18 +52,18 @@ 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
 import 'zui/lib/dtable/css';
 
 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(` -`),V,i(` `),z,i(` +`),V,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(` +`),R,i(` +`),s("span",w,[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",K,[Y,$,W,L,s("span",O,'"///cdn.jsdelivr.net/npm/zui/dist/'+l(t.zui.version)+'/zui.js"',1),G]),i(` -`),Q,i(` +`),s("span",O,[Y,$,L,Q,s("span",G,'"///cdn.jsdelivr.net/npm/zui/dist/'+l(t.zui.version)+'/zui.js"',1),K]),i(` +`),W,i(` `),X])])]),s("div",ss,[is,as,s("pre",ts,[s("code",null,[hs,i(` `),ns,i(` `),ls,i(` @@ -78,16 +78,16 @@ 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",Fs,[us,Cs,As,Ts,s("span",Ds,'"///cdn.bootcdn.net/ajax/libs/zui/'+l(t.zui.version)+'/zui.js"',1),ms]),i(` `),Bs,i(` `),bs])])]),s("div",vs,[Ss,Is,s("pre",qs,[s("code",null,[Ps,i(` -`),Vs,i(` `),zs,i(` +`),Vs,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(` +`),Rs,i(` +`),s("span",ws,[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",Ks,[Ys,$s,Ws,Ls,s("span",Os,'"///unpkg.com/zui@'+l(t.zui.version)+'/zui.js"',1),Gs]),i(` -`),Qs,i(` +`),s("span",Os,[Ys,$s,Ls,Qs,s("span",Gs,'"///unpkg.com/zui@'+l(t.zui.version)+'/zui.js"',1),Ks]),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}; diff --git a/dev/assets/guide_start_index.md.HsK04LNh.lean.js b/dev/assets/guide_start_index.md.B87c9M3g.lean.js similarity index 87% rename from dev/assets/guide_start_index.md.HsK04LNh.lean.js rename to dev/assets/guide_start_index.md.B87c9M3g.lean.js index ef9b9545b5..89366cd448 100644 --- a/dev/assets/guide_start_index.md.HsK04LNh.lean.js +++ b/dev/assets/guide_start_index.md.B87c9M3g.lean.js @@ -1,21 +1,21 @@ -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),V=a("",1),z=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"},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),K={class:"line highlighted"},Y=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <",-1),$=s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"script",-1),W=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"}},G=a("",6),Q=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),Vs=a("",1),zs=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"},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),Ks={class:"line highlighted"},Ys=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <",-1),$s=s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"script",-1),Ws=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"}},Gs=a("",6),Qs=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),R=a("",1),w={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),O={class:"line highlighted"},Y=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <",-1),$=s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"script",-1),L=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," src",-1),Q=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"=",-1),G={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},K=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),Ns=a("",1),fs=a("",1),Rs=a("",1),ws={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),Os={class:"line highlighted"},Ys=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <",-1),$s=s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"script",-1),Ls=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," src",-1),Qs=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"=",-1),Gs={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},Ks=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(` `),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(` `),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"}},'"'),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(` -`),V,i(` `),z,i(` +`),V,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(` +`),R,i(` +`),s("span",w,[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",K,[Y,$,W,L,s("span",O,'"///cdn.jsdelivr.net/npm/zui/dist/'+l(t.zui.version)+'/zui.js"',1),G]),i(` -`),Q,i(` +`),s("span",O,[Y,$,L,Q,s("span",G,'"///cdn.jsdelivr.net/npm/zui/dist/'+l(t.zui.version)+'/zui.js"',1),K]),i(` +`),W,i(` `),X])])]),s("div",ss,[is,as,s("pre",ts,[s("code",null,[hs,i(` `),ns,i(` `),ls,i(` @@ -30,16 +30,16 @@ 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",Fs,[us,Cs,As,Ts,s("span",Ds,'"///cdn.bootcdn.net/ajax/libs/zui/'+l(t.zui.version)+'/zui.js"',1),ms]),i(` `),Bs,i(` `),bs])])]),s("div",vs,[Ss,Is,s("pre",qs,[s("code",null,[Ps,i(` -`),Vs,i(` `),zs,i(` +`),Vs,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(` +`),Rs,i(` +`),s("span",ws,[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",Ks,[Ys,$s,Ws,Ls,s("span",Os,'"///unpkg.com/zui@'+l(t.zui.version)+'/zui.js"',1),Gs]),i(` -`),Qs,i(` +`),s("span",Os,[Ys,$s,Ls,Qs,s("span",Gs,'"///unpkg.com/zui@'+l(t.zui.version)+'/zui.js"',1),Ks]),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}; diff --git a/dev/guide/config/base/color.html b/dev/guide/config/base/color.html index a2ebc3091e..e39fccea59 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 71fcca1c5c..aedc6532c3 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 ccc9dcc137..d53e7c8296 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 0cd417ce5e..3e0bb3d6e4 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 79ae65a3fd..1ef47d56b0 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 8a17232496..2d135507ef 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 d7b68192fc..fca12f1604 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 9d7d3835d0..7cb697b28e 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 83fe7be914..5da3f88b80 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 909a76318d..a01c498f09 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 7203bcf5e3..f1ce0329d5 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 b684f08cd3..251f9a8c1d 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 b734d66b39..16b0e6da0a 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 91a942e7ec..c84c34517b 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 dc5813e9a8..50ebc972c2 100644 --- a/dev/hashmap.json +++ b/dev/hashmap.json @@ -1 +1 @@ -{"guide_config_base_screens.md":"CXV8MRfe","guide_customize_dev.md":"BHKWgm2m","lib_basic_core_component.md":"uPNn0zXQ","lib_basic_core_zui-toggle.md":"D_sPxQQs","guide_config_base_font.md":"Ba4TxUmX","guide_config_base_rounded.md":"-jZtXV-b","guide_start_tutorial.md":"CmfMgriO","lib_basic_core_cash.md":"Bzo_CH3I","guide_start_intro.md":"DEIJsFre","guide_customize_exts-lib.md":"BKuxQGR7","guide_customize_build.md":"BnMDMPqz","lib_components_alert_index.md":"Bep50ZBz","index.md":"0I4m7CHi","lib_components_avatar-group_index.md":"BqwB9RZP","lib_components_upload_index.md":"CzVklHlh","utilities_typography_utilities_font-weight.md":"CV3nf15_","lib_forms_checkbox_index.md":"D_VspyHI","utilities_flex_utilities_justify-content.md":"D4BVZfVC","utilities_flex_utilities_order.md":"CfeTP7tL","utilities_flex_utilities_shrink.md":"CangfHwT","utilities_interactivity_utilities_disabled.md":"CEB7Waub","utilities_interactivity_utilities_loading.md":"Da_3FM-1","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_layout_utilities_display.md":"DcXW9WtS","lib_components_contextmenu_index.md":"DmEkUwKC","utilities_layout_utilities_position.md":"rEqgc51a","utilities_layout_utilities_visibility.md":"CKuADuoh","utilities_interactivity_utilities_scroll.md":"-0JODEPX","lib_components_tabs_index.md":"D-2YSS_0","lib_components_toolbar_index.md":"DvojQFd3","utilities_flex_utilities_grow.md":"Cn0nOehN","lib_components_toolbar_js.md":"ih1Bb-Rr","utilities_layout_utilities_overflow.md":"DVHk2FQA","lib_components_dropdown_index.md":"DbbvFq7u","utilities_interactivity_utilities_cursor.md":"DvV2lotG","utilities_interactivity_utilities_pointer-events.md":"EHN_kBvp","lib_components_tree_index.md":"Dn03SufJ","lib_components_upload-imgs_index.md":"erXa6IN9","lib_components_dtable_plugins.md":"CrBZnIMk","utilities_flex_utilities_gap.md":"DArM8pom","utilities_layout_utilities_floats.md":"pUvtfQiw","lib_forms_datetime-picker_datetime.md":"CPkUUpoa","lib_forms_datetime-picker_time.md":"BTTIPCd8","lib_forms_input-group_index.md":"BMbSYMAL","utilities_borders_utilities_border-color.md":"YFsIdVzo","utilities_backgrounds_utilities_index.md":"83vrBdjK","utilities_flex_utilities_align-items.md":"CoFxBC8U","utilities_effects_utilities_transform.md":"DOI7WnD2","utilities_borders_utilities_ring-color.md":"s0nb0vey","utilities_typography_utilities_text-decoration.md":"BvY6hqYi","utilities_typography_utilities_font-size.md":"B3W8gyR3","utilities_flex_utilities_direction.md":"ByjEgbMo","lib_components_table_index.md":"Ck9c8Ek4","utilities_borders_utilities_border-width.md":"DVKauZHZ","utilities_borders_utilities_divider.md":"khTQtOjv","utilities_borders_utilities_ring-offset.md":"DVb4azgP","utilities_typography_utilities_line-clamp.md":"CvO9OG4z","utilities_borders_utilities_ring-width.md":"DzwqJDAb","lib_components_menu_js.md":"CtCBsfaZ","utilities_effects_utilities_animation.md":"B91izYvM","utilities_typography_utilities_text-align.md":"CtJ4rtrI","utilities_typography_utilities_list-style.md":"LuK8VgZf","utilities_effects_utilities_filter.md":"BECjG4KT","utilities_effects_utilities_opacity.md":"BcIL05hy","utilities_effects_utilities_shadow.md":"CaSFSOMl","utilities_typography_utilities_text-color.md":"D1fjRsa-","utilities_effects_utilities_transition.md":"SqXrre1m","utilities_flex_utilities_align-content.md":"BXGtlw9g","utilities_flex_utilities_align-self.md":"FvSQ-0Fm","lib_components_dashboard_index.md":"DRaM25zK","utilities_layout_utilities_z-index.md":"DKY1uWyd","utilities_flex_utilities_basis.md":"CD8bfBkC","utilities_flex_utilities_flex.md":"BlvjgLjv","utilities_layout_utilities_top-right-bottom-left.md":"C3lYdIa5","lib_components_messager_index.md":"BW-SbOyW","lib_helpers_helpers_string-helper.md":"me2jtoF5","lib_helpers_helpers_date-helper.md":"8AhG85Op","lib_index.md":"Ci-MFpvh","public_zui_icons_fontawesome-license.md":"gfk3cURr","lib_helpers_store_index.md":"Bb0Q5VMq","themes_index.md":"BufleTaf","lib_basic_core_css-component.md":"BwdGvlia","utilities_borders_utilities_border-radius.md":"Dh1Nfe3A","lib_components_tooltip_index.md":"Co1ECN3g","lib_basic_core_zui-on.md":"IjDbHIdO","utilities_typography_utilities_leading.md":"DOlxRw-6","utilities_index.md":"CTpyUmIw","guide_config_base_shadow.md":"BNzZgBvC","guide_index.md":"t3LZT4QY","lib_basic_core_react.md":"BTwYD_hf","lib_components_modal_trigger.md":"BMBZZybJ","guide_config_base_color.md":"B_i0YNBV","lib_components_file-selector_index.md":"DvywDJ4t","lib_components_dtable_index.md":"BffsFMb4","lib_components_nav_js.md":"OePgMXXa","lib_components_menu_index.md":"GncmWrZR","lib_components_modal_index.md":"CgbVseyc","lib_components_progress-circle_index.md":"B0UUIqGM","guide_config_base_spacing.md":"B653NiFv","lib_forms_input-control_index.md":"Cv0HAFHI","lib_components_breadcrumb_index.md":"9pymY2C8","lib_components_btn-group_index.md":"5V7X7r4P","lib_components_button_index.md":"B_1XMQuI","utilities_typography_utilities_text-transform.md":"CM7k043G","utilities_skin_utilities_outline.md":"bsC71Qhi","guide_start_compatibility.md":"CltyrLny","lib_components_color-picker_index.md":"TddEDwtA","lib_components_pager_index.md":"D-bROEeS","lib_forms_checkbox_switch.md":"QH8sYaT3","utilities_flex_utilities_wrap.md":"DZ1moX26","lib_forms_form-control_index.md":"BiHmr69s","utilities_layout_utilities_object-fit.md":"D4YmLxEC","utilities_typography_utilities_text-overflow.md":"CCaD8PoB","utilities_skin_utilities_pale.md":"D1L1NRKs","lib_components_label_index.md":"q76w0qb_","utilities_skin_utilities_ghost.md":"DIt2ElJv","utilities_sizing_utilities_height.md":"CdF7aUuw","lib_basic_core_zui-create.md":"DLe7A4Hj","lib_forms_datetime-picker_date.md":"D59eL2rp","utilities_skin_utilities_surface.md":"CN20jMqq","utilities_typography_utilities_vertical-align.md":"DiLQT3Ni","lib_components_scrollbar_index.md":"BjI3vUqu","lib_components_nav_index.md":"LeXRijcV","lib_components_progress_index.md":"CEtektTK","utilities_sizing_utilities_width.md":"DNXQWQFd","utilities_skin_utilities_solid.md":"Cst9ctTO","utilities_typography_utilities_word-break.md":"BxSlEVBy","utilities_typography_utilities_whitespace.md":"BFKZWjDW","lib_components_pager_js.md":"DDMQ9lXw","lib_components_search-box_index.md":"C6d4tMjv","lib_components_panel_index.md":"CoS14bNk","guide_start_index.md":"HsK04LNh","lib_components_avatar_index.md":"7j-ew9BZ","lib_forms_form_index.md":"sRq2u4jF","lib_forms_picker_index.md":"DRGaAh8C","lib_components_kanban_index.md":"BFBze8B1","utilities_spacing_utilities_margin.md":"C9jBOzP9","utilities_spacing_utilities_padding.md":"DuVwhAAe","utilities_spacing_utilities_space.md":"xgZHI4vS","utilities_typography_utilities_font-family.md":"BHWBVXg4"} +{"lib_basic_core_zui-create.md":"DLe7A4Hj","lib_components_search-box_index.md":"C6d4tMjv","guide_customize_dev.md":"BHKWgm2m","guide_start_intro.md":"DEIJsFre","lib_basic_core_react.md":"BTwYD_hf","guide_start_compatibility.md":"CltyrLny","lib_components_tabs_index.md":"D-2YSS_0","lib_components_kanban_index.md":"BFBze8B1","index.md":"0I4m7CHi","guide_config_base_spacing.md":"B653NiFv","guide_config_base_color.md":"B_i0YNBV","lib_components_menu_index.md":"GncmWrZR","guide_customize_build.md":"BnMDMPqz","lib_components_breadcrumb_index.md":"9pymY2C8","lib_components_dashboard_index.md":"DRaM25zK","lib_components_toolbar_index.md":"DvojQFd3","lib_components_upload_index.md":"CzVklHlh","guide_config_base_rounded.md":"-jZtXV-b","lib_components_toolbar_js.md":"ih1Bb-Rr","lib_components_progress-circle_index.md":"B0UUIqGM","lib_basic_core_cash.md":"Bzo_CH3I","lib_components_tooltip_index.md":"Co1ECN3g","lib_basic_core_css-component.md":"BwdGvlia","lib_components_nav_js.md":"OePgMXXa","guide_config_base_screens.md":"CXV8MRfe","lib_components_progress_index.md":"CEtektTK","lib_components_dropdown_index.md":"DbbvFq7u","lib_components_avatar-group_index.md":"BqwB9RZP","lib_basic_core_component.md":"uPNn0zXQ","guide_config_base_font.md":"Ba4TxUmX","guide_index.md":"t3LZT4QY","lib_components_upload-imgs_index.md":"erXa6IN9","guide_start_index.md":"B87c9M3g","lib_components_label_index.md":"q76w0qb_","guide_start_tutorial.md":"CmfMgriO","lib_components_messager_index.md":"BW-SbOyW","lib_components_dtable_plugins.md":"CrBZnIMk","lib_forms_input-control_index.md":"Cv0HAFHI","lib_forms_picker_index.md":"DRGaAh8C","lib_basic_core_zui-toggle.md":"D_sPxQQs","guide_customize_exts-lib.md":"BKuxQGR7","lib_components_pager_js.md":"DDMQ9lXw","lib_components_nav_index.md":"LeXRijcV","lib_components_scrollbar_index.md":"BjI3vUqu","themes_index.md":"BufleTaf","lib_components_table_index.md":"Ck9c8Ek4","public_zui_icons_fontawesome-license.md":"gfk3cURr","lib_helpers_helpers_date-helper.md":"8AhG85Op","lib_basic_core_zui-on.md":"IjDbHIdO","lib_components_alert_index.md":"Bep50ZBz","lib_forms_input-group_index.md":"BMbSYMAL","utilities_borders_utilities_border-radius.md":"Dh1Nfe3A","utilities_borders_utilities_border-width.md":"DVKauZHZ","utilities_borders_utilities_divider.md":"khTQtOjv","utilities_borders_utilities_ring-color.md":"s0nb0vey","utilities_borders_utilities_ring-offset.md":"DVb4azgP","lib_components_btn-group_index.md":"5V7X7r4P","utilities_borders_utilities_ring-width.md":"DzwqJDAb","utilities_effects_utilities_animation.md":"B91izYvM","utilities_effects_utilities_transform.md":"DOI7WnD2","utilities_effects_utilities_opacity.md":"BcIL05hy","lib_components_menu_js.md":"CtCBsfaZ","utilities_effects_utilities_filter.md":"BECjG4KT","utilities_effects_utilities_shadow.md":"CaSFSOMl","utilities_effects_utilities_transition.md":"SqXrre1m","utilities_flex_utilities_align-content.md":"BXGtlw9g","utilities_flex_utilities_align-self.md":"FvSQ-0Fm","utilities_flex_utilities_align-items.md":"CoFxBC8U","utilities_flex_utilities_basis.md":"CD8bfBkC","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_shrink.md":"CangfHwT","utilities_flex_utilities_wrap.md":"DZ1moX26","utilities_index.md":"CTpyUmIw","utilities_interactivity_utilities_cursor.md":"DvV2lotG","utilities_interactivity_utilities_scroll.md":"-0JODEPX","utilities_interactivity_utilities_disabled.md":"CEB7Waub","utilities_interactivity_utilities_loading.md":"Da_3FM-1","utilities_interactivity_utilities_state.md":"0ZTXUBo7","utilities_interactivity_utilities_pointer-events.md":"EHN_kBvp","utilities_interactivity_utilities_user-select.md":"BrNPbIfK","utilities_layout_utilities_aspect-ratio.md":"_oWsoIYV","utilities_layout_utilities_display.md":"DcXW9WtS","utilities_layout_utilities_container.md":"Bb3Lxa_7","utilities_layout_utilities_floats.md":"pUvtfQiw","utilities_layout_utilities_object-fit.md":"D4YmLxEC","lib_components_dtable_index.md":"BffsFMb4","utilities_spacing_utilities_padding.md":"DuVwhAAe","utilities_layout_utilities_overflow.md":"DVHk2FQA","utilities_spacing_utilities_space.md":"xgZHI4vS","utilities_typography_utilities_font-family.md":"BHWBVXg4","utilities_typography_utilities_font-weight.md":"CV3nf15_","utilities_typography_utilities_line-clamp.md":"CvO9OG4z","utilities_typography_utilities_font-size.md":"B3W8gyR3","utilities_typography_utilities_text-align.md":"CtJ4rtrI","utilities_typography_utilities_leading.md":"DOlxRw-6","utilities_typography_utilities_text-color.md":"D1fjRsa-","utilities_typography_utilities_list-style.md":"LuK8VgZf","utilities_typography_utilities_text-decoration.md":"BvY6hqYi","utilities_typography_utilities_text-overflow.md":"CCaD8PoB","utilities_typography_utilities_vertical-align.md":"DiLQT3Ni","utilities_typography_utilities_text-transform.md":"CM7k043G","utilities_typography_utilities_whitespace.md":"BFKZWjDW","utilities_typography_utilities_word-break.md":"BxSlEVBy","utilities_skin_utilities_pale.md":"D1L1NRKs","utilities_skin_utilities_solid.md":"Cst9ctTO","utilities_spacing_utilities_margin.md":"C9jBOzP9","lib_components_file-selector_index.md":"DvywDJ4t","lib_forms_checkbox_index.md":"D_VspyHI","lib_components_modal_index.md":"CgbVseyc","utilities_layout_utilities_position.md":"rEqgc51a","lib_components_modal_trigger.md":"BMBZZybJ","lib_components_avatar_index.md":"7j-ew9BZ","utilities_layout_utilities_visibility.md":"CKuADuoh","utilities_layout_utilities_top-right-bottom-left.md":"C3lYdIa5","utilities_skin_utilities_surface.md":"CN20jMqq","utilities_layout_utilities_z-index.md":"DKY1uWyd","utilities_sizing_utilities_height.md":"CdF7aUuw","guide_config_base_shadow.md":"BNzZgBvC","utilities_sizing_utilities_width.md":"DNXQWQFd","utilities_skin_utilities_outline.md":"bsC71Qhi","utilities_skin_utilities_ghost.md":"DIt2ElJv","lib_forms_datetime-picker_date.md":"D59eL2rp","lib_components_panel_index.md":"CoS14bNk","lib_components_contextmenu_index.md":"DmEkUwKC","lib_components_color-picker_index.md":"TddEDwtA","lib_components_tree_index.md":"Dn03SufJ","utilities_borders_utilities_border-color.md":"YFsIdVzo","lib_forms_checkbox_switch.md":"QH8sYaT3","utilities_backgrounds_utilities_index.md":"83vrBdjK","lib_index.md":"Ci-MFpvh","lib_helpers_store_index.md":"Bb0Q5VMq","lib_forms_datetime-picker_time.md":"BTTIPCd8","lib_forms_datetime-picker_datetime.md":"CPkUUpoa","lib_forms_form-control_index.md":"BiHmr69s","lib_components_pager_index.md":"D-bROEeS","lib_helpers_helpers_string-helper.md":"me2jtoF5","lib_components_button_index.md":"B_1XMQuI","lib_forms_form_index.md":"sRq2u4jF"} diff --git a/dev/index.html b/dev/index.html index efd5c67f11..b8b837be66 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 5e96f5adfb..71ba9db745 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 fd62c8eb74..5de2509397 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 a3f416fc34..a1a451844a 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 c9b21ebfb3..060106f7ac 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 4626980fc6..c4911101d3 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)

- +
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 1c6807062c..64e968bcc3 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)

- +
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 03a8aba812..0abbce9e2c 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)

- +
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 31cea3c1f6..921d0ddc39 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 cecb61b1ba..c825145932 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 7a44cd1d2d..65d06efcf6 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 11d14063df..fa937e774a 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)

- +
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 f233b6b9a6..f56b824013 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)

- +
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 fcedc7519f..93c8da914a 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 8f801a22e9..83b5160c11 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 e9b128f60c..4e7cde1740 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 161da3aad3..e260df2260 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 3f99e45e07..266a2f668b 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)

    - +
    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 1f0616f79d..92609e1adb 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 0d68ef16ce..2b5e68ae2d 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 9f9f0d8339..6762f2c895 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)

    - +
    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 ecff9c835b..da803fa770 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 214ae8e787..8096f7a1a1 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)

    - +
    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 0467667173..ce49cbf687 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 6da59a9a7e..9e1992d525 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 c51b42531f..023d3d8dd8 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)

    - +
    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 94d4d3684a..08aae556bc 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 6feea48c79..a642f72abf 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 0ef92e2066..fb06d0603c 100644 --- a/dev/lib/components/nav/index.html +++ b/dev/lib/components/nav/index.html @@ -14,17 +14,17 @@ - - + + -
    Skip to content

    导航

    基础用法

    使用组件类 .nav 来获得导航外观 通常搭配 <ul><menu><li> 标签来使用。

    带标题的导航

    可以通过 CSS 类 nav-heading 给导航项设置标题样式。

    html
    <menu class="nav">
    +    
    Skip to content

    导航

    基础用法

    使用组件类 .nav 来获得导航外观 通常搭配 <ul><menu><li> 标签来使用。

    带标题的导航

    可以通过 CSS 类 nav-heading 给导航项设置标题样式。

    html
    <menu class="nav">
       <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)

    - +</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 0ef7fb9201..3c54869eea 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 3832b2fe74..2a3817421b 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 fa119de8ab..e4fd2dcc39 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 b1f09b9fcd..7973e0531d 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 507778a2bd..fe3f0079fa 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 f26e5ec9c2..e823c45a1a 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 011345e260..dac4195363 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 491f752255..c575a83ff6 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 fc18037271..f7e1738c10 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 f7ed031e4b..6847e12f3f 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 f63f1c891a..0033ff3800 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 cbdc338d80..7be84d5ec3 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 013226a20e..c696bb66a1 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 ee8f7da311..f735eeb4fe 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 e26920f3de..8949d720db 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 bec965d21e..b940cb77b0 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 b889593567..b8f06cda71 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 6b71169184..c596104237 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 33ffe1aef7..62a97b4959 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 f56d9010ab..f017c12aa4 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 99e56fef27..9d15e12f2a 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 5f9d79389a..52e3e862e4 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 3fc80ea6e4..bdc4070e95 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 88a92bc08b..1ca3bbbd74 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 c1b4ca8585..0ae63271b8 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 af6d203e94..5dfd581ca1 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 ed8bff3132..5fbfe6f9ec 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 b6f375dc78..8b20a598b2 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 4d4f857a59..2960e023d9 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 a20d6555a7..86ada1358e 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 ff590af038..8994819312 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 2489d3234a..56743518ec 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 dd19f0063e..7d21850f8f 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 d4a278de4c..a7087bf820 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 e47b17cb3a..512132b6b6 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 6e0254fbb8..baa4f4521d 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 0e209abfbd..2d6d6582ea 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 88d3f3de82..404f87b38c 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 841fec5299..fbf95dd744 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 8f9d126c3a..74a099167d 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 b8913f8ab1..f10605acc0 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 5998ce058f..67dd468fb9 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 74ffb7b2d5..887470f5e5 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 d660ab5967..5c374cc8b6 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 0971ae9445..ca21f7297d 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 c4723ecf1b..245e72ce1e 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 5166b2764c..40aa3f8067 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 7c993453c7..4454f0ec24 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 84c7c3bbe3..c6c67ede8a 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 575deb6476..873b1bfaea 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 c1c5fc2cd9..8414885c15 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 2420535841..a613530c7a 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 87c60a0b66..5b93ef2c57 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 8164e034ca..af3cd0bf62 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 47f29e8725..2a61d99aba 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 fd15636203..5aa2d75076 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 c366798c36..712a96e3c9 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 0e72701987..d9c068e103 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 7bc13dd063..b1b2401d3f 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 9d30ea0ceb..3df05e40a0 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 6d412156e4..ce06c70e31 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 3ffdca2cb9..474514def5 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 5d5472c46b..ec2ab1705e 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 e45d24703b..96da138625 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 3b20a8ba5d..ed6d5870b9 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)

    - +
    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 d418b36ac0..86b2e8de08 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)

    - +
    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 8c5bb90701..f658891043 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 b8dd9c3818..680932c835 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)

    - +
    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 8faace8817..2f1f5a8747 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 2a055d2354..4411dcac25 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)

    - + \ 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 e5b53b09f2..5f520c1362 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)

    - + \ No newline at end of file diff --git a/dev/utilities/layout/utilities/overflow.html b/dev/utilities/layout/utilities/overflow.html index 7323fa1a33..5f650aded7 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)

    - +
    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 3745bc4de9..8412be3067 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)

    - +
    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 94b4c416fc..d371636f2e 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 83b630c06e..61b41e81b9 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 e22bc399b0..86b8c54665 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 4c981cabf8..f62d906fc1 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 926acb9978..528a4d4da9 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 140807554a..61892c7eeb 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)

    - +
    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 314937b931..e22b4fe82b 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)

    - +
    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 981bcaa45f..56eec854be 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)

    - +
    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 49a3710402..44575d0773 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)

    - +
    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 c8d9ddd362..4e116eceb7 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)

    - +
    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 c8a88590af..662b5edaa3 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)

    - +
    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 17547e6e03..fd68c302c7 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)

    - +
    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 89907b2cee..079755fe02 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)

    - +
    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 c347e9e3c2..7748e19744 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)

    - +
    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 b7c908337f..29b520d6a6 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)

    - +
    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 9204ea1688..4e0f6ad2a1 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)

    - +
    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 553ce97b40..7dd4f161c1 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)

    - +
    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 0951d5f051..93cfc0b299 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)

    - +
    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 af3e90f9ff..0734e4b275 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)

    - +
    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 bd4a90cfdc..72b1e62d4a 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)

    - +
    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 5763e4eaf2..71c6327268 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 873e191757..18d11ae98d 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)

    - +
    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 ac123efade..b041949754 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)

    - +
    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 7120d33526..ae6aae2f62 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)

    - +
    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 17611668dc..f31a7a48ab 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)

    - +
    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 2f028a19c7..13eae61082 100644 --- a/dev/utilities/typography/utilities/whitespace.html +++ b/dev/utilities/typography/utilities/whitespace.html @@ -14,22 +14,22 @@ - - + + -
    Skip to content

    空白处理

    定义

    用于控制元素的空格属性的工具类。

    工具类属性
    whitespace-nowrapwhite-space: nowrap;
    whitespace-prewhite-space: pre;
    whitespace-pre-linewhite-space: pre-line;
    whitespace-pre-wrapwhite-space: pre-wrap;

    示例

    不保留空格不自动换行

    使用 whitespace-nowrap 来防止文本在元素中被包裹。换行和空格将被折叠。

    The quick brown fox jumps over the lazy dog. +
    Skip to content

    空白处理

    定义

    用于控制元素的空格属性的工具类。

    工具类属性
    whitespace-nowrapwhite-space: nowrap;
    whitespace-prewhite-space: pre;
    whitespace-pre-linewhite-space: pre-line;
    whitespace-pre-wrapwhite-space: pre-wrap;

    示例

    不保留空格不自动换行

    使用 whitespace-nowrap 来防止文本在元素中被包裹。换行和空格将被折叠。

    The quick brown fox jumps over the lazy dog. 白日依山尽,黄河入海流。 - 欲穷千里目,更上一层楼。

    保留空格不自动换行

    使用 pre 来保留元素中的换行和空格。文本不会被包装。

    The quick brown fox jumps over the lazy dog. + 欲穷千里目,更上一层楼。

    保留空格不自动换行

    使用 pre 来保留元素中的换行和空格。文本不会被包装。

    The quick brown fox jumps over the lazy dog. 白日依山尽,黄河入海流。 - 欲穷千里目,更上一层楼。

    不保留空格自动换行

    使用 whitespace-pre-line 保留换行,但不保留元素中的空格。文本将被正常包装。

    The quick brown fox jumps over the lazy dog. + 欲穷千里目,更上一层楼。

    不保留空格自动换行

    使用 whitespace-pre-line 保留换行,但不保留元素中的空格。文本将被正常包装。

    The quick brown fox jumps over the lazy dog. 白日依山尽,黄河入海流。 - 欲穷千里目,更上一层楼。

    保留空格自动换行

    使用 whitespace-pre-wrap 来保留元素中的换行和空格。文本将被正常包装。

    The quick brown fox jumps over the lazy dog. + 欲穷千里目,更上一层楼。

    保留空格自动换行

    使用 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 b58c877a72..09e5c1a36a 100644 --- a/dev/utilities/typography/utilities/word-break.html +++ b/dev/utilities/typography/utilities/word-break.html @@ -14,20 +14,20 @@ - - + + -
    Skip to content

    文本换行

    定义

    用于控制元素中的换行符的工具类。

    工具类属性
    break-normaloverflow-wrap: normal;word-break: normal;
    break-wordsoverflow-wrap: break-word;
    break-allword-break: break-all;

    示例

    字内换行

    使用 break-normal 只在正常的换行点添加换行符。

    The quick brown fox jumps over the lazy dog. +
    Skip to content

    文本换行

    定义

    用于控制元素中的换行符的工具类。

    工具类属性
    break-normaloverflow-wrap: normal;word-break: normal;
    break-wordsoverflow-wrap: break-word;
    break-allword-break: break-all;

    示例

    字内换行

    使用 break-normal 只在正常的换行点添加换行符。

    The quick brown fox jumps over the lazy dog. 白日依山尽,黄河入海流。 - 欲穷千里目,更上一层楼。

    单词内换行

    使用 break-words 在词中间添加换行符。

    The quick brown fox jumps over the lazy dog. + 欲穷千里目,更上一层楼。

    单词内换行

    使用 break-words 在词中间添加换行符。

    The quick brown fox jumps over the lazy dog. 白日依山尽,黄河入海流。 - 欲穷千里目,更上一层楼。

    任意字内断开

    使用 break-all 在必要的时候添加换行符,而不是试图保留整个单词。

    The quick brown fox jumps over the lazy dog. + 欲穷千里目,更上一层楼。

    任意字内断开

    使用 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 2a8f9c374efdc90eae5c948f5e219fecc7676e28..c6c6502385c640a110883e342142f4eb6f92cdb2 100644 GIT binary patch delta 640635 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
      = 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

      L=4#}Pg; zSZ9oXkjX7{#?$Z&7VOvg;<0F*IL!JwzmwVneCXP3Ee{*XqgD6=rCV_zkbxMqG-Jd+ z2-L!7OzN9sH*{LrH{Be@6$mZbw2CpB-F+%zD=fp?z=W;5r*2fQi`6A8zPJLm9fFnE zwr*_1?Szp?tLou4?BLcU0ClE{Zf)$$&(kxop1yoJ4ROLN<)$PHxH^>#Y! z1c|;hdQukdQ2u6@FP zmSt^w$JvQQQ4s{Kf8Us8YPElVVBP`xPX?z38tz41gV9@f^W6+a5CEayzq`$|b4Ij7)>y58MQt46hHJyzS0x1*)%@%K@rZ8lg&_mPFD8K|!I0f=t$OE34dC+2b&JwDI~ z6&H%5>7uCy=?+cq=_h$Sw6|4nBZ z7iunZG~W24LSu;**QsEQp59Z4=2@Vfy+wO_QbTKcz{=WU>p0K)bO;Nhh{h`jss>jG zT0u@Pp$D#30^jrs=;1mYuzMk?eQ)O3u00tkf>fr*r|at{OQ*Wfo9H>OM;L#8RLh}v zG9-~+*Q%>nZ??JHxZ*~}6H9MhEx^tF&wvp1N&P&T1mE7J;2?B#_@CZ%ECKNy{^#rZ zF5b;v*oeNou49QjcOm#>xOeqwgIB{Vw8DnF$ug%!lI#OM6-lYy0NZSOBg(ZvQ$PYI z=_?7#z$JUCGpa;ICUC4f{k?xRD#%0AfbDIrz-L<$Z_m<%)ATdy;A(zBLw~bOLm%#` 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

      xeU|cWCPR0Yoebq& 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%0A`V`P7F|%7dV)MQ8&2lTD_CL8ic5;kzl(-8$*X^) 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鮐YAS= zUp`kUf(I4@-zILpJU21?6cK)$fq~>zA8gF#=@o3HN zNQu{J&HzEIrG-dv8_9zsCQ8nI0Kzi>O4RziRJ|3kwzqY;-r2BRO)0wkw4O4YCUH0j zyKuH04Cj@sE4tepW3gu(gRdD7S17Ep9)B5+D3u`wnwd#?uu=Ef5qKIGu5uB8ccU&S zq5QYr?;Gh-zP{^_ONFagdA=0c#%2P!%*qPgUR#gU_vS`Aj$z3+;<2!<5mpi>Dp+uT zR4-1X{b4*rp-J_1t&c82zTbQw$-T z`n}RWQSM7|*`k;VWpRj4Z@l^K*G;>(es=$`wSLQs6vTgcS(~s@dvbXr4sm)2w-%HL z|NDwlq(6TNWzr0Yx>g^R$z2M>$DKEX_|qxCDAQFT@G@_|?K|Uvxrd zMr&G=Uy)yZt09*+rFZR}^Q$s{yOqZ{!b3wG4P09M@8uB{ye*R}OvcXYQVN%my}ZI| zGKwz@e1^IWDue823_JAn$}cqO&N9aZ{z2%A@tQ(qn*}asGP>7+7)UjLHpUw&i`P1tId}Q^8sEwVJbQUUeAEj~XavaThiL)A#*>Z%XkAyCSDsK}9N^ej>XLVC zRCN^%J!gw^!d1-lK{(>RGfX~D*<^a!?*RY6KJYxIH%*Hs=jBHKlZ_@fV6WCZ2F`g5 z^Z}r3F^Y}G0v3)vZ-lT`@%JO;V#~3B70NI(6?>epb3gs{{XS5_27$obp{d){!VMJoaeq?*givWqgn;r;g|SZ+y`TQ!#Hi_*ppcMN!06 z+h$zt9(Yakk^3{=@*Qc}GTl4@95_<8yLW)vc8MEMP^7*sD1Xb)pV6`7z&SuG6Na6r z1X@K){J{|jiDXZnrk}vZeBQ~ja=eMXV=(iMLGexnrPLWqvpM0o;0=&f1^ICppCeb3 z9U~w&8u^{a+IR;(+;H??`EV|$fNmI>0f^I^ub*rr46FVFmSF!4i?P73MhM8v9o4*@ z17o)MFOCk(Z+}To(${;f%H^f-@)LLYCONR*_%=QbhsgR7D*3q~a(27h79!0sh)D8PR{f>n&d*(sLb z$;e1{;X0qM7?dea@(a({!ExG(yt8*@@O&u#?;IJ=HF#=Yv#KJZXYq_*;xqH034Vtw zM3bLOm&$b7X8u*6AC=8XpBLP%E~R9T7n%EmEs=S=;NYtx2gDXy4Xf0m;~!XqSQKSD zQ#J@S1xZ;tRe+C*vn zYsPk`O8(J+UqX#UR<3 z?w{~V2|g;Pfsk|7ZPT;2JbCfiEdCcHV$N4j;j6E2nF@wC%A_`^Vh0DK8B~r4@Z!g) zSAVjpyrG|Ej;j(p$%my*8TE{J4`M>D81F%rl71Cn+Js4-JYEygs^_v|isGSVZ}(fa zo>Po|w_UszzS$1lVl@UG^idTXzMbexDksZ|uPP0}aW7!+Q6dltU}r#q&}^_(iAR5h z%dlO#E9}S4UtwGES9rbogs-se<)4a}?|)05Gd0gXSIHe6#Cu1bX0-MyQY?$dK_)E+RIBG%B12+xWS>}b z1$omP2rXxfeb-j*@jfP8$vxyJ{G|9#Z(Ed2dI?Pc6o~J|fsheDIf}oFh&2zy(0?4~ z-$y=WL9feMlpj8Hvx2#I@h<~kDF5`kTM*ykuVI^gt9>28B2C_e5;*_GFxJr#+eNC9 z((DDUDvalt(=1qBV;Gx+5E6vPzxmL>FDbT1#gCUnwd=zUIDcO<91Ai-E+?_(K z^Zl6DjAgoK_@5HVN!^|zTsaH26~T}5?2W}CZI{{N4Uav4GyZp2R5$pnnH#q@ckmq8 z-%%7i%6sZg<;9*0-t03C=CYhV;IMt=S6UvQ&oG9G8NR{;2quY>}$ zdg4amY2WziJ}V1SQSNb$e}D8Y`rc_tPw5_+zsKa z*6R(L{kVz+>FGx=je*^3O8)<`%sVa!3=M^pwMl{b?C=PH%wEIc0yNb_Uq`U1xI1{umil@3M+25-n-G6PV5^8TgsH(?W z$fQbt(sEc}dQ#EtR;08dOR7_Cw}((UwNte?aWLkKMWe@w{-OFFBZ%ke)X+y_?Z!;8 zgIbc8NQozM!OJ$yA8F+e=raiLp}_RujacggBmkeN1H^1J(sw517Ajbz)MG`LtekUK zT;RVA7TfXSUR4T*7=Ov;jUo11pZ9YiTF#bR#{GWLmyg>*g@%9%?HhK>K=s=>0Rqh$ z)zv{js^ZheEyUr-gOn}j&MzZPa_1XMFzM7j@ZUD)9Y}d}z7Jol?$-W~IZG+Gtq~f5 zL~A!Se_wl@)4T$}V5kXLt%UOWDaYBWPYAjEGZ%!LQj0rL%4$@@w;*1!n=?&bdW+QXFs zd1dX=Ga@(?V}HAsf4|+ULi#`y3g}l73wE{hyw`Re#G^NR3%m-d#ztjgWAVlopHGG{ z@Xl_O_M{pWoO|)BSO}$j;c70t9r zj7Tju1*X9YgGN1nS@!6+RfHY-n%Vsys`-Lo0@_&VGV>Q+fH10WbDq{+XnskDYS8oclxtRG9FLucTY(R}MrTwf9(M9Ea zjljt>sQX~s(C~~qy7PJpQ{a|%50{^O2o-;+lG7R2!;-a)-|y4w_q%_HOx=B(O3h3D znuKUJ<0>B6wshlS)#=P+a(LixkPcz0OzL0}pfB_T?{Uhm&hW zyK9?bR=n@9rZr*-J;?0(b~s-_tVQ&#`Z0Lssl&?nr`?CXJ=!AHaQde()zjxIyMKS0 zW%V~@UTF93*|#yjnNl2|$kV(qu2w~yU+l}({Wm0yJofYEThCIUtKdk4<3#Q{ZCnhofWJga+ zosuX~m}dkQBGYxa51z%X&PB1KcyO;CUL`51$&0!Ywy>YmD7_a2Ff_|WTxWj>?(Rb! zS7skvT<*@VuTT@SYWZ*pm}+a08xZ#|WK-Ma<;rr~RHLKv%;1<5>M*e_*H?AC?7Yho z(eKd+9KChGH;_poha#GfVkf2u#qp)tfZC%~yj5E5K8t`^k-Zk!kLbF%=jt<-kUwbV z4e}sB2<61zZTDRm3HjSN)UbcD9@*YqtckVwH^Qy~D7hIZG^4S&M6i+aco zEayYH9Hz>|@uar=M<>GG59a?DPRF|K!Q59p=k#065v8om75G(}o8W&#PMqE4in7ZThVaJW6>7f z9vC#czAEW%BToG_<0E7XuSvi4iT{tFH4&(pX*P`r%}H6;=#r*Ea|Y3Zjgk3v_9~gC z=n~xpmA9c1UQ>#BlT&}D)I>Ch44IyWPHfCjX{4M@VlUV(_T4bvw6T;<0^?XTS<DM`WPzscy1BibKWIJx-xlM6G0e;Da z`o8y4Gw6>!$`W(n^DOlkwcq~|IumOnkjO|C+B<;d7=HQdkg4>Shy$ihNwv) zeMWSL-Tus>ai~RD{wTkuE+5QdXE>W*^tjz+Tj4`w+2q;o54?kLg4lJ^(-b?EeG=cK z(c^&akv}bXcHVyvyGYa8b>SR?;-aV4R$5!gNQRXlU+uEz?JHmrBS&3rtGbyB#1uVH z7m&BWqQqd1*IPy z9{`OuEv0`H?eYSoTOO@j_<%G=>`X4R`zIcF+u_-XH@h~SD;g@>1|;(6ldof?2r!?s zh3lHE+HK!mKF4PP^LYK#^+w%p3tejqMgBnj{n=gONvj;FuEqf!Q{yHgK^wiTW9b^P zw>~;BLr{L)oYhAq;-xWQaFdh+H_RCr?kaX*#jw?db8Qk8!nmA!dXW5cZG?Wx^v zYi^Y-O2Ovba+<0Fp&KMhGTlJ-LtpR;a^Lm<YUf2 z967xgZuYyqU5{;KB;>xwJ6qfE_1eLUY;GR^wjvdq`gocwpf?F-|Kn?w@^U;##?SmZY;S+zdZbxYyrv2JRSSMs@)T=;uGC7YKSHs_ zs&E=Z!uf6l;E1PxF~4o?gxz6_H-6`!)rU6!JG$~1K}B~O3MagYL!Sh4N~W^C!{WVr zg2(COAD+LhcFT;g48|L`oM3eB4MHFP@U&|>7za^E7O&B^@DI@^6_<=A7kS^Wclm#J zt>RtnF8T9|m)-Iz&}BPY85r6@oD*TrKb)|rqN)G+-IQ^l?`A!i3*7C~!do*xUQ|B_ zn~(1Yrqv|uwu_c{>WNcF%&}YhdZe!WTdyv=rc&k-z~g}}yz0M(rO7>I6H+XvtRQ9nIOug+~$HhZ8ie;?RGe6@&18Rc-TOx2rba*t3g!nUL;v(}SNP}h2o|$U_)&V+DheLO zgVNXdB(Af`g30CVmd98+ogeLn~G1 zA>bF**t}6bxRqJn3(2_^@%DSSlFxSL)t#IjUb2V}#Qa)F*~%q>^z(n`-X+dacui!Yv};tyL6>!a&W zQF`)071Y^e7f*=p_;s6Hv8UWp;^l)-3w3HLXYUbB=cw$2@VCig2>d5gV8Eg|LTHk z?ZT6ac7SNrbLG`^#H^l+jF5z}=VF$FzXT932VV|f?wK^@;2?kg;;8593!e4hz5IT4 zFyeP$vTX8E_(*p#s`fuI~w8H7( zmF`jlbke8-+wSZM3m!B6A?V5#FS)pcx{{Dr)A+!prS#CHGGb;(TcfU$3lZ(gH0$f= zUoG@BI35&QH{PzT=fDR6}ZEhV`~IrJ;nZFu>-56P`4boZ#r zf84D$&R5!P1XvbSzZVdHsju4#ud%!3>Hf02eN{A(8=ZemvbN>6iL?0 zMR&;HYHXXxax!E^Y#}RAOt#%8eYMtc6M&FN&=W!G(+za&FT?^3ny=@xg^`}(U~=T) ztz~-XOH|yq0;|T=vS6{|iYovN3co$e=prA?SLS2=|8nYyXzQJ zq(B4;V5f>@Vz&^U-Eh04LR-b!k=s~|h91_tCPp`GjyvSJQ-pP_@z1#{Ov+OSjP1@p?)HR(>84XYu~L zq02~Q6tzL&HI$wc?RDqGjEz@$fmV9L%bbnz5yMzPaD43omL0_^`}#PHUVA!nl~jLF zvr!N1!y`x+R3VVFkcbt5DTs-ukB`(J{-55(&Qg2xzxDpK^TmQ}O&;y@TT^`|`uaS& zwKLno_An+>p@h9VBUJ|I*Q+-chN8=I>~$Vt>rJl+!QY~2+7R1>kgIa4 z?x0P>jCQ_?y`Lb^;LyW5rj7mbu?0M>k-~5gTb*PMw3hnazo$Axu7YVFvpJK#LewmW zukmC`4Zt=YMh|eyoNk%*mEg^=h~LECa0KoH6)fq7MW0RsH$-kV|Kc%f9kzcl{-fU& zPv7R4Lfb2P0`+DMuZZoYMCc;WmZjkWOe>bb=>eN+*3{V8I1A;VdSg*!CF9(Br3}}! z!7uP^!_ZDY_U-;|kYMHDrGrq-m7hoQr-AOqwR@ltx-51Nl+(wITAD*7@VjrQV^;4T zt6IN%?(G8gk+#l0x-;2{*ld5ak=;=Zl2w;ExOYJv2wn%7gnV>5O(Fqf?2!C-RrI*< z@W!&oamT)TaL!cYq3g9Vn%wGs@d?J^xxT(wDu1}IkCZKT{FZwPU7+RpSP50IheKyX~(AJ#n+F~om&ciyelHfsy z5JCjJSa3$)$9CZ%L~sz&A9_j^kcceE<63Asj}LZiH^J6a6@8PEb#@2kX2A+F?4w7+ zUrxG>HTQvb+SQ#lPePN;0=SI|E;gc#*dweTkj+U%v|9`i2y=fY-!t}#S7TlclkNbl zK2>q~xJhgIhnqHjby*;O`u3A8*Tcp8kN)H25c=sKEHy(ApckC_1&N;;m_M^{jhu&v z2nZ&$*Y?<5P3R?Q&x)P`G$A4EetJZV6=(|06*k!EKlMUL6^dAlSi@iiAX0BbVmAVn zJzYB5CESxv6Iy>GNM|KYVQJl#KcBkP8f1adM^Qflfu+LeZDLc=r!k!>`CN=vrFiYh zjkE5a)=Nq4N)kVzqbmB-Bv#h^LffGi9`T^wY0@^V32)h42v!BcZx5?@XN$!H^tm$H zl5U}G`glw57psB@d?FGVysRY6YqcAXv;>%FUyA(Y(BUOk_o@t zO0Z-$>CjlK{g8wXTc;y^H&jdpE0hG_QMxw>n0IpVkjGBLuTCRr@3V1gq24F&o2%^m zm^*{Xi}ih}sE||r3pf9LW82PsHqI<)K;?a7^{?(b8LNl&AKuI4(fj&RtUyYFMmJ{i zIpQ`Y2^A}U>(}${$$Apyy!n!iPvCwcaeMygsy)m&uw~ z)DfIvV@8-%oid9z;`C(&oXxs=EF)9rE2lho?tk^=Q`@pZ>%aZVCVz&=P-8Jqf%X`L zMzlzMlF7(o)KCNxNR~odMg)AE?I)I8b#m$PIv#{)_nAaH!pnxCJ;=I(BC}=cjJbwM zh$f#N-ADF5_`L}+_%Wsr7{5wfK71G2iJjU8qyg6oFa&m1GBp(jr%Kw|{WXPSft3}{ zp5_{_Mh*Z)Wx0B~&3~|X9Mh(w(0z6JR`zhC=hxY8O1LiqA%Er6bj%-kXaN)o3IRPn z@0#5N#W|3wDm2?Q{2%PDBS&7vQDc%kbM(*sq|M zpv$-xugpzpCw~Bks|(Sk2z$kHLjd@Fyit-~)iv#nuP3UaGA}n^y#p zlXm93R8TQOWP#A0;I#5&s(31s9h4aR0S>&@66JA*YK7M#a6CY1cZJ$&mUdzaK!WCR zqYU;=S0ko&|J1J(h;Zp{Lw1)TF;(0ld&5#|w?|p>Ab)l^+))xkS+d%oH?rO+FIkd5SJo@C;9&i<5y-o~E$C734 z%OvzTR#9A-_z-*sN1!^?`479o6qP!>+Yf%CJdpkSMdU0g@5*82n$V&b0o*-{%?HQ- zxGmA&wSR@p5vMJMNbtp+rNnH^2E>H0vflbldsL*t04J6)V&n{_Zp2i+2RhWyY=aQ{ ze(g$vYmoiPz{4{VcR}mf)x}~?u~ZwE(a&$qAO^tsA^dH@i+{6KjzZciX%DF}AAVcz zG^rC(PAI`md1Ztu3>1p}P&&3vJ=|pE&rRro+aL6!4AypFx8?+Q=3$ko1?G``UIW(` zs5exN;Y;krLzfGa2pNAgAThK*iA53f*V#fEEhk&pf=H7M>|bM@ReRqgN|^tLljG)-8HQ zClo)mkow|Qk@li&9z6D$t#ywY1)#1mj8%Z>^!k-Cvn*eG$RL~qvzaY(C<06@C=3aT zpj)@WHPW)V+GBJHu~Z+Dr~(z{A=rMv0?Ac!$_hgzQb}gqhKWHF2TG?Mb=C^zk@}9n zo(DmVp29-7SVMoM$KkmBAB1t$1rQl+-o)L8Tp%)RYlDd4;&z{<@e&iubbKGjjHt+I zHL%~Aa7?jH-PmzCK8}%>@ho7rEAM2x3K9mTLuR)xSX`tBXa9`0Q;U)ywn%z76Mx)4 zSt~jy0z6RfhB8Zh(g|{7vHy1Mkal`+^<`bC-XZcrZDGn>&#%n^w5;Wd#53 z+-+?F@MOo`;}YtOm*IsROO0~GO*BVtP!*nQ%81eGtBhEivVsjK8K%Z5Y~bpF5&)+; z9beB$)@11>ysA_;M(MStC0i%iY`K!1n!Ys_TgyZeX83;&HN_-y4(?AQ+H?!|3up8fNEv{k zVRW6zC9=Sm&T`5@<&GFQM<|Z?_8&}!aGP{{KmdIqLpYE86yevHs*b3DA^vc2uQ@$V zKA|dvFlT}V{6Z7=|IUtNfeG>X4f(#Cuu^m|agQ7C4w5Ip?;5{gR_}=49K<(|M~utp za~6L?Yo}ECmsQxrRdS7~ z3R0I%F(x3hJ(_JIH3QthX4lO%EnE4>Q4Ut!FfqGfgpas(5foUprGL*4@PY@3u}T@> zB_A@iiag)+rXGxY$`8NBRQ=KPWF+jLFIj)80|JzJ@jo0Nx%bZ&fCv0Ei#K-EuNN8v~?2&a5luX1i9k*weLgJ6j$QBu%U*CgQo%K zmIF~zZh_2nwd*1u^+Pa^wUJ*_@?7Hr#O!{jAaMgC#Z&`Gq<-OR z^u)SF=gN+JAj+i$R|DML@xs)-W{Y+qf!@Y+iI)yT$e;ezdx4B`*uJT1_UwNf{iLzv zPis=;iKIsxqtOws5WlC+^9o)uu zcjUb2I8DusX}0%ULMk3Yrn>-<$SoD8V+gf|^totL>OLN@}(@Xrg0ko&*%AXr_X_uhh)%V*7>D%p^?bs`j8xxPat@Er0PgHR1 zd`krAP)G^ySHFkJ@KMIUuDXKNNRbkzs*|S{%M`=obbSV$<*j8XAVjy`{n{hMDWm70 zmg~QYh_v%7hCMgASjRAYWe3P#ly%CrPCiYBSFt>m#a}Z|N4xgJ_37T6u z2xdj?{L`1_);mJL&30k@4Mf0R_aEQjC~xIdy`nIOC^ zhZhKM^&~_MODwrVC4UjfbOcjGtu!IuqH^H|D?aY|c+=>&DuLOJ?VT93AmLrLjZ&c9 zeuc@9>Y9>KB%Y1Fd4FySfFVz?m&OQD!vfmFg;I?TJL6c$nxr>2l7-acg|fPaIL(c8m4WE1jZ`#+Jv z5mwB7`-@~}PzuvBj?k&Gad3z2WL^<0S2u=8rX?9kt`*pU z!EDQo3pP5T)kY(9`^KMxw9k=3Ci^#k>FKt2@k`WG!!HkS=F2*Mc@%f%?U$J74+`ST zYyZol`0~bniGMy_P!eC>+Aj-A1c~s=<4-iFp&+F@Ry#2;!4rl^fp1Fg4tOlr5VGA~ zre7{_Ce%Hmw&b8{o#^k9eAYU-_ORu2P(hzL$>S&|TK6b4%2-{8OT2?EVL|E!3(}N+ zqDlUsg7pth4sm@kI*gpo#i|TIH~W`cz-hw<)!5eupMNEJ%!_`1_*3Kef7|%#-!?wM zGQoKNA2%LVPLPK|B-u-pyms0V1Qw9fumCwpn00#imN+O)b)21bN5SS_K6`rIJiY$a z)2~94Yq!k&Wz%T#^nf!o|F7sHcUR1fqystIcpiF1g#p(TVgx{apDZzRowMO(FyFNW z&BKfumVYu{3T!#fpBN%PkRXWTwwDD7P3IiFDw%w2z;{AqCxSS^pst%%aE!Q(V`Di+ zh`^0)bg!jZu53{-!7Y>|g?7@pz@@w-<@c*M-k+(QT*O3RBb@tO>o+hT+vTwz=5QH& zus}MR|TqE!ST@wJ%x z$35i^dq4SeZ7gX%NEZ?&j@If5Pcn!o0HNI=EG(5ENSY15^b8slp9X8u@Sj^R#4WY+ z?|*H(K0xct2QV9?t!lqrVwoZ?9m_n57!s->tWzjf3Af85z%+mpKpJ<;6SM()m=|p2 zB$8iAk8%H4aMQ?ng_0*u+geO({4d&O&Xp8mAGl1~Kb?vt@&;>OxG87%aQEp7ZaKDUq?;(rwz6h*;T94*Bx1>1i{symxYS^T!8MYZ5~ z)0)%t2)>#h|D-WB(U|eqjo~e~QcK%l=dUVl~mUH2ZKXUMf;X)ya$>5S9O zS>}IWaqKN;YVxeiDvckuS#P{sUwq@1{S$}+>t%i+)LGW(oi24ZrgnZvTAp|I`f}hz2$;_3@JXco;TN81J3$+xVOLB-GqoRXc5J zYno!R)8`cRf(%pUr>Ff2Q)E&*q=HaoU+K7~_PTMy-#vT81_% zP+u=YLGtP?y%b>UtO^yGSmw!Q(u-mb{$gVnI|zL$K0@ngA7eTHzRO6w#>(yB} zXM&<;`sFdVtY=Y6WCUX)4`7$XX*GW|RVhYxp?EP4tuPig^se$%4t5vTahkNuSQJ+T zvkW5(8Vy@Lg^|j9Z6S}?}G@SH8!Ly_L@b1XvLu-_` z%0j2!9;sHJfx<}nEJdX7_*;h#6#HP9*8XF}d2asi5a-C9{!g&r`mSks#wmYyJroVd ziQ5B%*YUCBOs!P1RLhj6oqc$wt;J8{CH)iAz#XYas1TG`F_gE}UsBP|g zQ+ZDT8_VpdA<6{GHk?tIw4Z;(NMAIC1FBWpDp^FJJL?Ly37Zq z5KpEj5cb&`VD!(yAE4zk@bEv%h}mo2BHGtN&3Qs39?jGgT&G1uQUk7f&H%xKD4#=C zpo_<@Go}U)HpCti-Lak=!<{Tf+zAbpnD2`GyT5GF+45vxab(e*82q+7{B1|35(GLkB9K{O^Lwlh~`r;s#BfVpAtOsoJ5h9dmpyvMFE=TM`Tt)Uv(twj! zQ=fUCtOouk%705a_Q@|3fyh0VwWA0q0fCp^qX;)X{0k+F16)^du6v%hqzEewbS5!= zcCoH0rUK>R=$DG52t$7ybvLUo%CjDfb9aHY+S_srW=RjQ`iU{Md5pnY5;5KYui_SY z6%o92fmd;-J0;nMd%{7Z%dMV~ylF;{ov+UyJ6nJ8*eX8tDeIvLqJg&fOgIbDX#&sO zeD%x(pZS3G@8+4r_mpC3MoG18SfGD zwc$OwoP4!MZ*Y%p8K$o5`ga@6{Wzf7(5hW9Zzw!#|KUOc3E)x$VXt5gcv(z`8EH87|33GE!^H(3f4(nh@tT z6vdZ-*+F?fJ7<3z=mZRAvz$YJR6fhlB>Up(rl~bthaw2n#UVdU2xsXzLQ7YF23-j@jDX|D2E0K0^$W;G-e0F5T*H?1opz@e6xeWnOLf8y$H(M;lj*8{d% zDo;amDuVW?j*0QW4>4V1M5R{OOIFz4gkH(s3VW4+`OoOe7-WUuX2jNsu&@qU3?G(r zW%D6Ocl%B64wgwR74K@9B_{n#CTUphMZq4Td zR-WxbPs%}7)iq2#>eVjf&aqcuG$>ggl&jLHciseJ-d6_%nK91`oLeb@16g_$eu_4A zwT|d}rgyW8?A5NZzCk(GSg9UZo5D0Jx~|V; zvq<7h;R9m^{TyQDq!HJ4a;QiGJHhqM5s8v7%k&Ml>c-h2kIOr2jZSIL@PAMLYcN-~ z7fR~y`*JuJz}n0w_vlTaf8~=Kj#!4(Hl=0K{TGX*f1o_PAQSFZhZOuES!&VdrZKL; zG9QK|?4=ten5FH%HWN86p#N@WWSl+dsEe%u$^hI?s4!25I2xH2S`vFwKC9WeG1$l| z^=X-cB?YXx7d7V|YA}#N4AsapjsUT}Uq*yHGBzsC{0lly zqFK|)e*=r1>Ccs+**Mu_c4Fx3`*X`G^NX&yX1;HM4#^n*X`m=l+}qO0Se7rN~tpB{SaOnXXW^jyB4=&CweutiKBN6>7kvp31`;`5&{1`5`Jad z6*{C-NaHlB;!KNw&#z%>rOrAtUKw0fe>atOFkUVFi{8d(9+rzvPdl0Yi6e4m(K1ag z#3&#lA%7$TSvRk6By56F0uQcn{xr|*7##zQvwos@G}RttH))sZ_8G0;F#$dGg@vOs zG~~oOd$6cv38B3E}8xvH97{DF)ppRG!JRrm~0 zDzN2C1$xODFa6?u`?U~`$8yC=fI;vEVlE#QWBq>q)PFC+it#v>Az-g+V0=95$k?Iz zGB;)wpE}mzA1#!q)Wa#}lX$|?Bn)#eb{24@ zHF-5rT3{8KaS5)0CPL|`WBjthKk8aCRWi?o7!!y5%P5pmZh0W}BsU-C&Zb8f7(T;o z#eJMthSSasEr=2MyW~6Yr%(8zr1`6P#&D8!2;yKY3EYeor4F9e{LE?a%>g!Qkf)M zsvR^exvVP30H(Up%$ zi(^~(uE@8xbRTp!&u0ss=pRN5Lz{mWCze43D}NYt7mg49F1vN6f0_=Y-Yon=Rinvy zHZZZCe5%^|`@R?rLNU8c1T$g6$k`Wp^Y(g94?{C(gM=C#aleQ+c{1ZQ&UQ#_y_$;3 z6p;Zj?_4vl>xB96yxWFm4?t4Cti<+1_j)gs30Vo0N^MjPi&$#Vg6pt^)`TFQpT}P% zS*xtkQ3r{R^aVd?CV==+dNN>566w59KnEuBd-Uq;V%uhtqdbb@iGkH39zeVgg9;y) z5UvOte-GA)iO$ncIpTgq(7DIFvW>U|{L7Gp zQBr5oNs$(Du8aX{T%R>C;sZIBKKpGq$GRIH1u|%rP{0Uz{BfUenE=FT0gN-gwF!QaSLNK6$a9}Y z-E6iorgE3N@EmKH2{dd=h1DNE_h{ohL@zVD9`2xFB}*l3Kqlhv7+N1Q?ykhXB>d2M z2_#iX>3`Rc>hqT|uLu`^VJb@UfB^u%ZQzM8r=XkO;*Jj%4B9T$DI%T0NP5HUug~z5 z!-F6dNQ^qx23?yr7d2oUGH@A60TxR(4V5ococHJf<=Otx8ish>mLCwpX@(;}=p;1w zYN}XYp>pAMw**T}32PD{s;@^y)j9|Ybq1#ek!v9)4wAT!oKuj0ifuqlCOIjcbl{T! ze54Lo3*&WH?9g#)PN6PK33CKpG(idUrBLayln5lEZr(Dn5_-$fh8fCEyvq|r>6IdXW)IF*3zRh2k&7m zmE~H}<2_7q&VipjRT&dacc88=)kvp96$8J$o?<1o<3fq7L7h3kTPCRy`D;-Bz$KkT4oj6HoOC0j#6YW0!y$MGgY~E2;<8`#AA-I3V)AJ~ z3`lYiOvRTo|I4}fav{ESy2}A_Iet~WkF1ZF!-||6GB9KiB1AFFj;5xI$eyr|xR0!t z{dAfqJlI`-wDa^9bj$g_qRPay2~e9+{Ze-^{}y`j_*(#Ec`HY3&WNANw(C5ooi>zE z46K2rX3nelc|?+e=9)~d%`25fNf&XSYHPX#53dfc!mPeNxvIc015B<8$=Rwm%Dx+d z62=LhA12zcR6R*(u!51O>4%uA>hB&K;wwv_5D9*ND~N&~GSD{qeI?*cx`)8!jqzw< z&VA79+4XdHb|MXRvfUmp=0b(bHNiXlSR99T@Cz*E(=fm5cITCAsN$*8!;gcdi5ye( zmn->^y63aY#&F9DFsEvBa`Y66dC4?a;{` zA|tMAQnRlJS2DayzeJKqO2u*3r~|Ri43OWDL4GmF07klQKZ~1>T-mB8M5GhprSKdn zp@yy+lR54!pltEXfHEpP<)@-s0ob_E1vct`q)PmlITl>@-4YskSVdR6DTjX;7v1+; z$kGL8;{sEuZAk{GF-BxoQ~PVIfj^y`lOSIEnXYLrCuCZ?>5^)Rb^BIpg$2A8ApG%wMT7d=JE9-MB&e;=)CD0Hjxq+?733;y z;sP`;j)BnK+Q^aX&3n3L4U(cbQg&;q&0mBzHn7vQAc}+yQ!CyENt^g5QhqK8lu%_+ z=DRh88*Qqqx3h7wxDY}3rMedEo|}k&d<>iaWikh%q>Kasj=9>@IQ2tmfowj>9gJ!8 z0DQIxMNrO=Wd<&&aH`taa5Dw)?5yo4%1-54exlrjY7NKpT~7&vr7VI!ZYy(?&Nn76 z^TgE3EARYD}52wWlCdL!hTGWVAQ5hnCjquP{ z&g!UrwK|Z(_wtaW`iTzWFaAYNh%BSmnCn5G<_};S?1G8+;YEBF^a7^5-x+O&R+>Ge z^&DEvg-%npxo6`ZCEU3N6_Pn=+c1<(@orN?Zm#$GjsunLKcVm9Djn{69PkN-=ryZN zkN7DpTMx@`uaBXrZqo2OTUN4v!q2;m5(T))lz`Xx8chvY7I191c-tc*uC5_Ho1PLk zwDk?*S{+JXnh&flG!&H~v11Ljj2auJSgjNIpnZSj-L9mjR}|9)FTNbwN?Qc^EhmaC zNdgVSSu~^(v#F2$UC1g93}r-v;NXv2~eRT99NCWL^%~~XoF#Yz(2|)Q_gN z4F;0oKuq+oi{f*q=Ql?6(f9P3pb)e)*gMP8)-b=KuExy#IHx*WG zrF&?R3LZ59fKR2}9-BnlLTSv(0K4Mdl!vK)#Y^FgkJ%iZ7+>3jEZY_HEVa?Cl6ubK ztk>Hk+Q&8p;6L8xth90CHxpgpMsDwRLA*sx>D~bbWoDf)byNa>L7^KyUxZx0PV_fc z%c$;Eg-nr9tx2e_niteH(J@E6txc!D(ZaSozJbF~rzMg_Y^RPDa5{5O1-6>t#(Y)3 zN|`Jzmon)aT|x>>alzE*cKG&|Va5!6qT7z)mpQd59ab=7v_T9Wx@Fs=a!8H@738(sbR201)|4rl z?OBiae$8;gT}U!~9doV>mZn@WHgn_T1tZ6jP2dE*2Kt3H>^#j_G&6IGr*AKuQ}Z@E z08FA1P!qbe5T0$eHSPX;w7dA5-~yPJaC!-aF1FVayW>HBUA;e@q$*(SgWlLnLDxmE zGybgR;?HVEWf6x%Z@MFb1Hg1ZX#h_3A`N*Gd8H+Ko2iv2D$}~@nv-~zFqz2u-ySf! ziH9E2(7}vMF{+8>%r#&vgBVJ4s;$*mOtwvWV)jT#v8_ts4N!hO@U1YjejZb~A=f%@xD zCzZ^PY3l**VmE6zyEXaWsE`zHS6DL=WTJfapSq4cHZ=1> zy|T^4B3>Pi$vD1|`P{IvIY~98%M%jPze>tS=16IO-5yPHIQ32kST%MhE8g=_GNnQt z+mxI8&>Qgg(tRlE)l4gY6>8r|<3^7A?uX;d#V?c)hfC6*4(TM?EnO4*4ib#-bNN|c zUEtVL-x-hzlVTlS9{vwG{2^CYRRb&m0T5yDOD|0p#Oe3A+kZ*xun3KS&gLiubZ9XM zSV-D`e8c3cgSZ9LF~MYm{In}_52rs(+!{9UCrGx{P!SGrw%5&`Zv|&CKCAUu>%!47)Ewd4ND5I*?m-luTVv=NjLy9;o>bq#1{HkC4kqX z8_J*iVJt`&K#PLKlYm#~v+T*ie%NP}zj#J};1UALC-6AzWyQM=+rY7+YeqAGSIZ}V zz4&Oi2QIH2u^uD^mpsAkxnl?73_(IiqMkC*;U(6053Y!z%=}6rQwB6;Q5)R;(c^pd!(O7G2$ezt^BSlIqreEM%A+W-YV@W41ETto(m_5{(|fi_$>!Y{h?lg+EheK1t! z!aK)-xz?Ogr377;k20AeqAtY~tM=5L9Tdx_mjt^ADt`nFCrdYT73R>QKz*O5Fvy)D3-f`kjQt2JE?BGqf%?5$iVV zIAs};)_L>lh5%F+?ml4N_nTF|GW)S{Mf$R^sbl@A^A4$cDRteJq;@9U9q>)ZyKDgXZ~M7HOtPz}(bm8r;$_2!9U~BprwhVOqh44WJ+ktkVg6M7pOe z=HOBC!9jNXA7!R2%zzQHj2p3R6l02oqJpb zOn(xEPn}}jQhl=Huko->r}U8y90hU_%J8UGb`2Sd{lXiAxQd~gx~Fq`-c&D0t^JVl zq837x;BKc!ZIfUf6i+bAxUXEP^L6a}xPTLk&wN6|wh;(^F{T-)n?&ITYdz~aKURZ+ zIs#wyl!Y5y(F11{~JO(cRU>kiw^tb4S%DZ z?zNZ;BiwoS!AxHDWe-{XBAbs;YS9y97fUk@sZ<~yh6|XXr)D{MhbNK;k4b9nN5EVd z001lYlmHNLi?IKcadSY;Jn{>XVws4Ku}mQcb^@_mdVM4iQTn&9B0j?~(w75soUxbN z$kQFTd$M``{U4rw^CF+F=XdEvWS1zu2pxYQkKxcfo~F3xr{;JRjqd7FXb#^jgvpRc z=%Sv?i8)}}Ce%q~&|2WWTs#xFzc2FHiC#-h3To)D^j#bRMi5dBpI%vn=%u@2&*`iC zqP>u;gT)OxaBvpgNiyyavr~P@P3yyenR=pFM3kQ~b%drEtZ;^_xMS9qV7EijPso3; zwjSj3kVG(cn7_ERZojiBJ2i#ySM>(=#x$z%CMG(4{buLz`{&t^puHIIfaK(WbWLqX7he+6 zxipa2^CLMXdGwcKl9{f<;V_nz9gdQ}J{q__ z7Pe?{f&MCX`9=;0nXKo-QA&6?Dp|u3@o>PoIl|$%qv5#4;pp0P6U46cQT2Zl-(Mb* z6v<7&sq8+QlBVP(_D4zXW)*Lgwo&WiD6K-7DAjlW_&1|eGZIQ|bLDJJ1pntlx&Gr& zVy)#*9?E{~K|l$c33d>ys1GVa9og}m$nhj^vL*%UreY`|ry<4?5u0~&5&X3VNzt&X z>5Tm?Tms>`AMt zdKjKlCV=8vgr+Z0qJU=y0=5!B7;>9zmF%XC7A|wkS$~i0QP74#*ipj*TpNG^%AO4P zzQvKU*5*DG6p1z(KtTq>9z_m>@w(?IO)wczfyr8uDzZn&L_FlK@fTzh+L_h#Rc`?kcyWIrxmyU}01Im-#6P9C9gUPd%Jf3CRDmK-p?ii*X`NNJJIeJ4 zw*L<0A#}fd$Ay8Rf|irR*oDj@#ySnOhV)$dU?8Z-RvP;;O2TTSn^q>OcqEY)i<~_W2;UY0P(gofS0a`73Hf9-!IA7# zZ`k37BqAbKfFUZ45yer}ewVjgY>7e>7&leca*AwLu9UHuPUihEjPTmzmnd5E~wrd));#q5q z(Z22o|Np}cTNWa$KnTS#-T3=s+S<69y65!Ih>o1!7*T(2psb-nhdiEJFdO1XARdrv z%UxlW!r4AC4ehotR#ear`$EIe!#3?!jirL4@Nd`ZIAo9q%vD^mqwsH*tbLIqDJ$wZ zFuai=Z@vw%$uzeqH1Dhm2zh1%8cEmExZi{+^5?#D6xF0;kKHTmSy7UR4=8cCF>ZEB z>mKRng1chSf0eqPSlh9H8%T1EG;mmWH%R~Yb_-mdL3u+ZO%I}|u;J?V>OBT;<5*cN zN?x(SDC9d(BAzg>Ffb>=N~enprY{yun!RA=v|wiV|EcJ225DH#hO!uH?WxA&crDbC1_)c7#qDorj~&vkJ5_PZ8t~6uxI(%=_H~}l4(YP=EZ!> zB-1CC>$C_Y)`#Lkap3|YN8ekLy?vBtXN}10t+an;|41hU@NpglyN!cWBpvURRlE@y zdvYolh?LxgcP&A>1JrRoVA&DXK!n!f6;HXQ@O#Yd9&c9Q1){vNV{32R5e5;=kfWd` z3lJyiVCD?8Uu^g$r;}KtYnVW^IvQVp!Bd8K#h>RworWEahYwV9@*(~Rbgrcb;vAeK z?*V^xsi$_BCdDz>WX%U8X=`X-G{S=$6@QrT$0JqJ?B8ueS=6%k$G`jT%jG#QiRC!S zeT2aXV4}dHeF~G6sknYrqSC@^6fwm$Q{0AZzQde(JiTS4OW$Hm1C>5RnY}s)ZMT{x z?6zShJ6W#a07>)Ed39tTY*>+1yHDbqFf@O@tn%B?AtQrMuIQL)@;!qW4tb4oa+&ob zuNHb%BFa0UHuxZzIQx=!xC|q)$qf9?V zCy|6a%&?iM4{2nh4X{6W>fH{M)IqJ8u_Tdz)G@+z635Isis9H_xEoj&evNk0_vmLE zOtmvt@sy|m3#ita(st+)$?iL%1lHrjfO$-*ws;(|H}zGs%ID3x|8Hs*Qgna8_H{(P z<`L^^Vd649tkHNrt|`dkoYmhcu(MYaPnp0Cj79S{hP#Y%>NJ0)cDRVMrv4KG@$-f=0F~rs4YN~I#jKc?^9GlR&Kfpi zw2mEaqF~3&t5{c-6e0_Mew#P&?VJ*VIA=HYMvHO{0S_4w+mg`O8) z2!Fb1T>A%sQPgM21Q9i@sev+74S$>sKi!3gff6K*HBlsf`V#ncE8~CNmlZF!)`GM= zJ8GMJWplFbcjMM6l4i}f+n9sIhN@{=1+k?@~3h%{`6<^iyqWw(vT2rJg%tqX_@cNoruOHS}t)8u9 z`)j47p#J%vmcXaV?B=&yE>v-=&H~3t+k-4|7BYM>j>l4y?8>>NCG^% zDYRZ8Cu30}cY*EFJq zJf$mU!wk4~Tx5Tdr{GTgX{49yGZKOi+|^dN7l91X3<)2VGprQnm;gFR?H@cBv#O~oFCxl+WB^;`6hF4upF+ADjd?L>1?R^JMfF=EDX z?<E(5o%MmsqKVL0%q-SX}9{3|1dC9dIX|fD7IIYu`Ivz#s$#= zdX+-78)@ip2@jl1t4pJQ2qzvww1Xamecyk2gGVKpa3(4N>ChQ3Jh^nCnfIoPp)!*KzuuqmvR~@rUvUB6q8Mk4MC4ER0RIT z;3tw1*NoK3bh5dB$DTPgGHsPg#^K$IwwM{6Da5@uX8=DQ_E_uK z;m`;=n1kOKF|o^U`6lO<3IBjA4WQ>G4s0ce#|1aqFiR?>SxE-C^s3 zA`0NOCt!{r)DAf+VN2b|T7j0VVqG?Qg$$5Yu1Alt_**%DT-CO?xD<9P+4D+gm4w!Z zlktPa%A#3-0(wSv4T$PLKhRQnz5*#JXxO*aWyUWOv|Q%}Wa>y9IJ#-QKA9|C6N+sDnX=IO zp--E3YlqB#Vi4Jn`xv*a_xs98J*Z#3zVfeXoL%*1uj*u86+aU{wQo+;OzlCkMJumv zo9a+HyW9|XCCn!5KRAtWN34u&QEpx1Dkwu(fAV`y zW);3c>{7f?aqjU>7T!aRiumLiDH#t+u;GBUdysd30qexG_yFX?>f(cLAnWRIJ#C@T zNP$h6j|qGYLX{}_a%E;D>~8Hxo1rNoZ{Bz>Q>HD0A`qCC6^MzSyrT6mWCR=hXEpRi zIqLJHVD}q>5!zj#_1F;K#oNmLi%_rDKfKw8Xuxg_MW2NPZIC3f7xFK4mVI`2tMp4N zEJ5jiitpleVt%PhBD6%5g7*GsADZP8bnWy7W3jIc2sbWA<>Hq?w_y33S)L~S(5bQo z3VS<+b_fG~7x);MM0bCfMEX}A+$)0dtuhcM{P+c?&FWS@N}rJXo6ws%(|0>@U<;&Z zeX#ld^~70XoSJ?)ko<*qaH^wUXR}}k52~4eZvfG8`yyi~#|H$6*uw%S1xP$eWcViU zyk5&pZzRbg=|EAxvC9v)c=+=9fp*8^mus{Rd>f$%N5xd%80;LzhCeOLL(JG%EYw}$ z6mOZNBT@#|QmhxXsH?)BFf%5e3SjcRy51Af5W>?UJXFojOzCa<;B<2GClqH?zsEO! ze?OgX4@!_2pZ4vdiqTR*J_I=E5J!k0gDJ)q${-}$V@Az2)LAvh_r%nHkE1fb#~gDH z%jN3*8~D3M$r#<7!M);F8r~!ODuUYVS2gcFi8VzBANP0?`IGvz;w(5F3A5AtJMdUK ziMIni{OkSaE;$f}8(wPK`Ir691)y4giala+f!wEaTqVGfolX$kxMER>wO+W<~@^^DsXaR?<_!cD*jdr07_=bpg|h}wn3C?Cm(KeODuIjPk==0b-C zJ`sS>YN+VBvZWUuTsHUF3vcmU9)%26Y(JY~Ujq4iEm^0cCG<}aq7aSRMwc6Z^n(OUDwFK=eb`=q#)gqA2k<|}3neR0-J z-&f3>&3&EC;)^e{`6)ioo6CHE=PPlh-W7wL|I4!Z`p{iJT#{L}B(KFabIYbXB;a~4 z-uUvU(3Onps@Qo0R2|sMLkKvg3)<8)>i%TGU!iKkhx<&<15;__4kd$i6k`siKo4{# zix_>HkrP|WYS=Y5ta*hI@iD}b^CqyUo3+Lo){il?>$8VXd@o&S7G)ZL?i;p-8VwmR zfs$>E@m|#E$g}uCAw)j;Ev&eXD>@w5s6w4`I>3BQQp51cS5m`mS`ZCPBBdD6dp|y& zzIjV;Ake5M1($lP4`0cr4h|vly11F5(iSUXo7)F`d3(oIfI<(K{Ht zv_RU1EmN!Cg7Vfjwz%6#1zUM?((e#ETi2d{`h0hD2|$sz@N6HMruI#j zV)2)s{IT_mH4$6N{Lo^dYo36n_n`;qei6hu4Q-M$dxL;e*oueRxwfVnhUW^k(_R?- z8$MN6mF-VgoBZT|_rJQ@1b=?~*FM`5gRhF#w}Yn6J<$%O*E8Gzh`ZYLSwyfl?x^1 z0@qTw5>J4Kg<~jP=TIYRjY1U1CzeJ#kj@YWm`;BwThXBnD#03D;A!2 zW!#2TNNgKBba=t`h}v&YwB*#N50^))!A0?>u8A~SOEg#ir{7bo$*_+zUm44Uw|{u$ zy{$e|J$U=LASHV2F)_}U-qQ#hf4v{}@Zt>z`3|t+n1F)bn0Vq697N?>vvKV4G9f;o zpjazQLh+>1xZO4iPog}oVPt=q+scsg)vVZ0^F06XOstQd9I_5L%#{SX1Vqeenbu%V z!Im*$s~OUYlGinRC+wP%148Qdn*#bl=YSsbb`S~L2g`A*qwiInWf59Ze;>MaPNq8* zC3qAt)dbl!L^V=RG*?o7@dG4g`EM;YtJYO(lM)=Vh9VKVBQM>qU&7pIQ3z&SPpgCO zTUXJN;?#CE`1N8WOdz6BuP3 zx2f)RvmetX)(^N4W1y8@e^r^PLTtKb(|47(Yx%G6{t=bzB8k}Yf3xee*5aZ1 z#-Ovd&!yH0SmP3?#0uQmAA-6CVi0=1SB>Lym=f_+2C1x%Z=EBTMArx{f4_TX?#=Tl zmtw`FQ}wWq(28wJ9pho>O8d;i^U@8UfYXEqfGVxFi-p0i838_v@51gqJxKi?ER^f+ zD=B(?g5w}4S9qEo0LuqRjU2>))8z-3>DUMyfA;Odlq>N^Kd?-A&7UCc z{7vFcm4}ha@<%c{Rdb9s2mt_D?J*@OV>FhM!>pJxI%5Ven=peuJfs@$B>v6=-Jhj`Fz7Mi3Gw(Yk#`&&lU z(*7yK-Ow$J9SqigGF#e1j2reAscApB)IZ$}FdI`cJuP@s^V651*$5sH^)W_|(t~qJBka~bIxxpF z&tc5bT)%rCT=nE7BEQ@smo7N&{7=l{wYMDlq4)$hA9pYxgzPH+XKvi3-A}(VIXEH`)A?#exPTF79#Tc(k%nS(v=WfjwO)S*j{)hl^QcSO8#4Q0 zjzws@F?pITU+ZE{L)+5{eW0c473a3;UYe@NV=9h&WWS5uEZQ4chJuJxw?!8kojM^A z2WkQWy(#`!{A$p?w(_Ea8QQ95zmE+bI7qQ(yGsTNtB%j3Scr$W?8a5K+QO7Mjthc` z%_ZE3px4AUJeQop|Qz9>4UaV_a#SGBD%V2U>3^Q71M-IE=!p=_A`#= z&%~(bOs-J!lHHtjLHkmT614)n3LKKJ+fZ(00<>v4ozoYA1FG;AJ2T1s`y0vDxcP# zZx4{Ykr)}3P4fpt;)32Ope6LsQLsdOs&|(4Q1Byb5Av99kbLX|B|O$E#Y*Eit0+>Y z`tfch5bA$Oh=k-YwkS45_FRHbefEF-}4kU2huRy=hLOw_7ZY;uwEuM3*0kjigLx>b@$Ej}|DcU87SbsAYR5-`=P<}2QA&$Y zbDMu+bS;5tm|+Uw!agWs0(EPT$0hQ+-vvj2)TjnLOmN8mL)f3rE@+0{q|DrXP{Ew4!kRf#b^35gS2@WIgZR(q*kW|-)R^jm+ z7RZu9{k3d@Dg0UTL00jLmj9*`b$7gaeK>zRgE;nge#b8#eC?pvP`Y@Q`*!FN65$#2 zH*m~T7vT`V+%J+F;cy<6l@<0@d<-I7tKKWB^R2}MWOyvM6`x1x(r9E`^(Y7Yn(^pu<3v0 z&|?6}{lucT!*>f})-yew>mPhbZ8TdR`m`y<+wiEdUJ1zt*|?2siHwE7oIV$yf^R3& z^EvI9ZjZbrl(v;U#}2>xN_mfs^*ORofI*szPjj!HIyg*{gHnCd4(t zI^rwj)_ru*UCry6;Ajl`4hi{MajGaN^oWclhx#b_73|ZKuz#(5(TqB)BEmx7p#`&g zq&O7@Xi|$2uQ`CT05eyH`n_g^8K^LK{pdE)sgYiCx%e>b_L6MiBzavAuK|A+B-@Gp z^a%=F3{rY#ki#?&%ap=m+FGHxd+=P|? zvoLV6(>g@jT@*Wb1_rXLVfZpq78TGGwe*bXw@X$Qt-(TPHO;1cb4-2JifD~Dr;mo< znykfp*vHz-R1jp>3Auq9Ivjr$;iZ>iUMqenKcYc+vV)`hM^Q*1`tdw2uLUE$YhEH$^3+ z?QMGZ!=h`k_#nM=nty+-G@(VIF1VU(AOSKdSifr@&e$M3;~r66-co~o&}J~bwp2!H zt$fu1eHP5Fi8soY_}qo!9lX?q{yw)9l-2S~v#4+&v}pHGce0HYCa3_Nme7s9rfRGr z@o!?3W}oNQmO0SzYGRA($((p`#IA;IC;^s9iR0VJtC)ruxv77FMR*^$_Mr5V)T1+B|=4Q7LTMoE`G^m71ixVMcb{f zPg1(2`UJg4OZfm(cy@?qcz9;X*Bm+?EyqDEJ*F0Q$fm~c>}El7 zn=A+vgOulT9}WEluH2g$on3Vb_z5xD^Jf^T>^X)?7MB*{2p&7K+UH7kgvv!Y3{Whw z38%OP-CF}MC`Mlu?NlFFlJ!n~lN{#pkm9lo;2uhiSO*)u3_WF8WC(ZVuLhTI;s_Ui zAI|Oxn!c4gk|8>bl&wJ#;-q@Cim;ica*6+f-(A$b9p~QJrU2R@Ye=C*3;78gg?Z(| z;ohB-*>W1|YkLLdW$BkhkBr(+Ovzm0Knq#)y@FSkQ4rb>UVTqx2ox+Is}JR=En z25k{qqRu~FyFve%@^X3tjj=v%w9g)Ygc{IOYWrloht8VF%|&dYpuzOu>k%?nrp7KO z)J4Hfhk;V1O~_kp;BBm&z4ho7_o0B3f#4!`YmX0?en`jv4YS9eCp*qL@yr%`KMyT^ z*A>4tv8)>+htbLEu(ry)K+0?KSktZ7G(#!b#KV|xDCG&^>ECdZH#ewhbc{$Dsl2T@ zU)BqkPDJBJzSt;cDHZn-hq5`-hL@h>2p<6!m%if&9e<$s4gVlb-eSS)PloLa?4N@s zBN+b>$+}w8SOniXI`$?7lRxxL_wi-F*VOX3w5}#!b}}&AS@>3++@|`Ao{m*j8vUx! zre&+$&MCcz$xl2IadJs?l-`hItc5%Glc9dsn7RH2XbhJ#{kD}&a}R|ok7(6RKQc2+ zWuNcf3xC$5cIE;pT(rDBd+ zAQZKSN8NirFIab1PYA@bKswD|(vev=3Mcj_#5$z8I(vB~GKD}83~Tm%_{kCpir2F~ zZu%s`0mWRwRUJOVSx{OFi8nDK9~M^D>b=lu%zui34U(V~0(TFN8Zf$J!9{r6`sl*j z8pcdRr1I3&os$*7$BL){lfW|55bf0{f;x8`rHN9)C@ur3)16o*PqT|9(iV8#74l8^ z>~bYDSp`gkPZtP|dl9f<`t*TLe0E*&sEb!qiGrbUwPgx!BUb(#-yo~i4DsN4N^}Yb zFn^p6VZR?@(tEXL2!ZBP(gVMJ6R~W$SEF39Uh}zEHzD)eXK3bhJqm=|T34x3;eBWl zQq#~dJ{dwCe2WcO<8^$8I=w<|wI=aHr#Exa8RDRi+}arG9^yv4d&M*&{0d&Sf3-md zENM)4uUtA7AQ!40iw%Z_8qycsUAw2 z%|a>4-OjK;tUo#mp)@bt>M&^hXlqib_mI}>PYfUmJn;;pU8Bj@kFik4!zE!)HTAC; z@-n=}equ8KRpC_tPUsi*fmIE;$K(H*W%vX=Y57X|yp*e3!GE#bDalM}zti#lN-q{q zi$q1|rn+rF9rV2Tu5$fDZhvpLcdWbj!DXJL zN!h@U4WFO3iB5LJSG=^#UgQymZq7(XlP@_i0U3Vq?g{!kv)x(`)iEpbR^raU1rAyhjjO^%;f?cFiILofT=oK z0?z-4EYs=2xcD$Y5}xk3;u6tTg?FIScY69Y{z%t(6B|TLP=6hxiEmqAzB`TF@L_)a z6&2fhPM#&;RPd0yt>Ui4vYw)Bz>tFp0$VleWU8-{U|Ne}H%3HNKkL32TE@jTmY7!! z;nV(xXztni(PB)w%4|sC5Ysnj?4pS&Q$T8@uJE^9?X=f#&C_O&Opej9;2Ic{@JPT_ zllcDiHR}q##(xsMSd_Z%``XcmimeC>AV5IOyS(?xu2vRmXsftvpa*S^L&Y_y_7%@G z!@xe;X8nrSnoVBWlLyN31RY>Z@%DwtWZ zaV}J8l&aEpgMw+-ezNmAg_8D^ZOC~^Wmu6i(22sa+JA%4zp{ibAV3{-L2WUYZXD#i zXjb7pwIwI<#}U`+EFj&dYK9vwe)4*B+YhbKLW@Qj>kmdZLb{ffoYLcgS?RwYLUxt! zKP_)GhPp<3!N09LWgFU?F?moUx`Yp=o^J*gQgj#p@$reNH!T{nt1i(Z7Nf&3JkR*` zqwe4mw|}3Dy`)KoARJaWhvjjQ{6`(Q9-+oDB_|1ryJZ{73)tQ`v@ds{qF!F~=2?=cg0#Un5 zL4xFF{KZf7et-r^|A!+&5}>Zh;0N+At`RrHHh)sHj0IrGNSilOJuP@w^3=b7VlG5a zp1cls#m7+cRaUjv$Cqe%mo)|Cts>s8>!U#4^t@P!gluxYmJ$V0L_UdMs=8x zv42l2!W_=9Jb7-o7yKF(*?w^OYGg_(U=jO(A!=jAEDJSJ3AGOWoB};jP zb79tFkntvu|5uQJ@jCT7;@R_$wyqX0Gk+v<&OB=fN&EBY^!V#EwGn-O^0L2&sv$-@ zQ*%!P%hCwixWO$recdCRt?wO?ENTE+*Qu3$aBFCv8FP#YoQ@k%Gq@raFFVS7nC89} zym}26Bijn%sd9?yjda~#G>N3(YD@vq;W=y8lBwPEkWWxVo>4LUnc0|*tTcc9vVVV` zF$pGq&$)T5{>OiyCTforq+HSiIDuxa((w~7Ycc;DSijS8R?S`Ptr{e;V1WNN zMjJ+85_L{s1Fzpk+T=RnGc{$w0)I;@mzcqbdut^KGU|-8(rsQm;xXbW{o0sqIp&nx zeJlX43>me29$t|e!#EO$2P_~k3LXY zMG@@WYjp+eYBS*DDM|l8Te!C`=u7F2nrtksQV`@yDDujf#^A6L-xr{s`+w)?3X8-@ zqP{L1NJHGSq`TJ$N&%Dj0l-GUSE{PM#PV(B*Ieuf6SyDmP|e{5;7iqI z`4SsCd#LamIum;3soTC2F!^G%pSaN_D|s?b7epcG{`T3e#xa8Rm2Q3ioHl|HJ`8Pq zQ(39jkw>6Dw!a0Rp$xjitAC685-5hXTtXB{*U>dOctf9{Cr(!oc)Uw7?>AO5=dIh% zEwmhdI=@XdOXqU>mpZINk){8FfPDQ}XJx;9xJ6Hc#R!8^{1tXc5p)Q^UHS!(N-HqL zt!&t$AvTYMxV_%W7MO|ah^Q){7#g;S)z(FwOr-f9GqU-oFB7sv)_=<@-9#bE6*w;z zC@1rdze2pJ0MFVJg;hs4bus|stvww?#@3JLAr_Zp+o1h(vp$cADkK9e5I%}+UAqSa zJp0{ePSuy_EM_lBZO5AG^J}+xy%6PyZK_na?*@3dP=rIv^mH7byx)sB=+XnfDEeSXJU=JVJH;j zB)zm+M!sX==u3BCJ8YcokxKLLi~Wlx)4TQ|u{T<_NKfs(ZP80c8i-WGAKV(6Je6g2 zXDIioL9&g$Djr>i2pd`Bk~ttsv*hDOs+c#NRD{o9?5bCuYJVcS;E*jaOfzrFDBErk z^8?ShQQ{^0mIRQ#=gEWff%xPv<#IoqG*$m`N_uR7b;q2g8# z-|d?3d^7KJu76Y@ctT|5E2vStatG$JI}kSAxw2|q0aE%ykU!xde{n&&cMwW|d!T6}p;q)aL(Xrcc( zh5Q5D)JNgz<%Wp$V8hK(-m$!aoeenDG`tGnw7bxVsDGZ;$N>R4^c?dI%H2g>~n1RkWF>ga^Km+N$^}noPQ*Zl+Wx0Tr)^4aEuciR(}= zA}VXfG=6Hk^SyX0z&L5!*6;};@m|C`Jkf_j^c6kkh!cFeZHbNBP{&|xQtbeFi{|Z@ z&hZEze{=W5`kIWx2spPwNgZ?M1S9CFStz=2CW~W9wp7hw52+7lazg5tzQs{nwVm1B zF|o`w3E!P={%xlqtx~kX zsXnHK%>Y~;cB<*WFs2s)md0T0V_<%#1PX;4e?28VNYQU4Y;*hcRiLGsqv_{CXfwpDAlc$lABk5Z7;p0F zf7r#E+3Wun|0c=63Kiwny@P-UFEL*0Y&W{w_7cx%)TWs2;kQ2gDSG@3D=@z?mCgFY zf;Bf9WStbTIQ)PV!kzxBKwayNs60@T{8_)`x^8o)dyH+)1`+aK3!|YyI^SD$#Am-B zHle^_>G+LeInd)K%&Z}XgAE=2|EHXZfB2s|6Pz>C>#7V3rj70cLFfL7`;g@rT<{_O zGk-z)r}nG8qL=uuaU5Epu8eky>qLy!q3=ZK1vK9)-ukc6iy&fM?Kt#*a#*y>+6ATB zxmg6Iq2E;?GNLfe_UmuD?ev_5?rIP^!)woboD9^uANemW5pT+EF5aB_xNjD*3$WlsH-t3n=z-m8qOGWT4S z_7|?oB4@iU87r*ybUlacpbJC5k{}(cSue`ERrheua~d>*rVS452bsYktlJM}y~tQ# zk$&6whclOx$N!JIH``8JS++nwe~3K>y@9cwq?EuiR#6yJ6!nHX`W^%3>n|A*nGu;_ zSJm3*+;i`KSi3CLq*B>LGhb z^Q8OX{rxEL$n;a&5Y(W8f7E-#>0V)njm=hgHrLAaeS{bEX>LzKx`W<4_zsO-xW7U) zuv3Hg%qQFsuUgYqNNOO^7Qb>+a9EkTCcTY(>*U~s_BG7VC)ax%5I^Y_gUjjxbFrx& zfB{10Cqbt%xUYWA(3U75IP4JBwr)*9cY`^;#ryxw=se=+EDa-ke} zcLw%WD_>)D6RI?-8HP!kQ(e2Mii&HUXrz;krG9-N+&(yEC|=ppj?b)tm2eG+|LU%p zHtbY{?9NP|W4&ebe{0K1PHL0oZ2ZlDVeFwag?$0xy|z-+@R93PS!B`X;i+$n-$-6J z`V%j%t(3ID&N5Wla71x(;nvb^ht*6B1;F}MP)iv*-W3_<&One5ye^DeGOrWx@u z%r6uVs_KGx(6zcqSX)R=V?+IK^Gxw0(uITF*;^viU>(-EuDP7yd%sdSL+Y91z^L1m zG)Zk!i2*}5e~$oj+$)&Zx#=n(&mu`Q1o!MnMr>0|&YO+a%nF|QGd6);3BIB!??eiM z0b{G~5T}jiP`jXb=VISVY(`)l%fESqnKWFNS(R^5&^x0XDXIATLRKc&-r$TLWixwV zdyAT8dN7E!h&|Tsyqc4a8%*```h&hh^Ex%j%eoF-fA)rVfeJe{&1$Wo%WG4AtfjHw zR%94xBLWi{gyORT0xeu!v<8Io!Xq6#9~U0o0sHjIq~E{-)2gPT#Rsp&xoa)957P%4 z#moFK`!Q?9>7i}i+QUPD;_m_Sp4I?9)IP*^p?Cs1*r1b3jPsjpv=w}t?CSg>QHlk} z%aQ;uf3W4|l-{Xza&*$*1!WmI+W;wz$dRRxQIhckZimO%;kIU^jx{!Y$L~F?N$E+i zoHtD=<76FFQl7$q=KCsiLz+jV``eJbj)ofUa>|*#@i+WL<6DHM(1sn|9g2vIIEf_$ z!i=PV(f0IA%-aeP6K3oDx(fu+xH6I`g4Y2Sf37^PQ5eH;m3+9$f}biO7@B4`%AhOP z%OfKpASox|94l2ii;{Ao!N6FG5(mK)PkJs+B6i2M`$z74X#%(IlqVLapb@Cf@{HhQB5Bmi8GxC^AdYw3drXzIcjVR&))LM&^Bfw+Y@Y_*XZh zOsLiGfY4MrHkGkv9uoQFg=UPNw0bksGjF}M9OOnGeglf%sI}Q+S+-z<{AsP+o~9=D zq&{6S2EGj>q9C#qPj7`_QOjk9LrZ;je``1Sw#NbLAWh>{-K8tJ72RP~%CQlrP!vdY zsbZz+US0{Ws`NOp$}Te$0O?vdy}deGpxFb5klD_yX&uAC2%a2A#2ouK;ov`w`J#7` zkG=Y$`Bq)>UjmhGm8#M|>WLFy5l0m=4G2{K8@XvmO|Q`wKT+}=&F zl`eVSz-`AY^f@e{y7$(ZPBl$wM{X_U@W zr+!pT{7OT@P~k|~`y*vrV)40Pe+St(48uzf{++8^LlO>|iYQe>u91ojBBziayKj1h zD)1kDVT>k_h4LHH2})Y(SfmIg((&_dah_&@x!4%lTC&5OBA8J?Zn&m_fajgBb*ebg z+9hF*ZPvT-%yp!C!#+F2S?7xFgLgq`7y6~AF;Ndg1TlM$A>=0+7buyye*l(z?{6>S z0`J%20<-Av;sR9}7nnuCrT=eO%lo{t$r}qeLPNtJ{wzAs(b0kPNcd>%drsJ78}6Z= zrC&yZ%PwzKTwQkm=9G@Dqn|i>49|(mLVoRa-9Z?vU@#V@pV<)}FbV*-+;mv5Q;JGh z+4UwdRMO;+eKp(dIAWGYe^>}Uur%}(+B{`@H?~Hb&PzaO0v_DYVWu1eugkCwCA7<* zKVWnUIaW$)q(;6bE{CU(OY?UEo;wlmu*KsY*Pq(^QIrbuMVCTr>ur?xq6CEzFN)-g zMn>DmI_=4twE~Z;=zt}xucm6-n(dk`&f4v{yx@_}=UvfC9Xqf^e}4u1vG2TGs}_nB ztu4^xtK6=bg`&6%cnM0-7Ubtd_G)-{UeNIUD#nHf9&Gb!F1%I{id$(Ctc@;)oU03L zRjz?H4IEv^LU{R>;QF!?4Uw>E#4ILu7I*9<+Ba58w1WAYr1YoeLS_+V_L!P3GEMX0 zTonEFMeK{M{tGrmf4BVo;x3E`n#tR6nWe14A(W0R8^q^jZgEZJTGimv7}3i>E)xoE zMfloB%IRvHT=9m;QVepl7G<7@THRVC%#ef+&px?U8_L2nmE)t!o%=wI@^r!+3NqM7 zl8N4Q>#h=xoqSWH39nmnfH5<$>f$G{P2@AEILko;CTZI#f8qa6LFqn20alcN>vE2I zeCHus_3jR8)AvAo7)x%h_GrZ9Jui|Fi$l@_o5l&)<`;X9WE&-KY0nVCSq}VAa<*m*pH5qN? z_9cAwYN$SYf4ZK_n=Xg{#&MB(eR=tlJ=xVy4sJuPB|QJC zEg~mMu42)bp#8m+dzW5MZAYfUuvg!_ZaHQCO}9LGgcBv~8gGs?QHqkV&lgD%6Vur% zLHY@--=R%kaOOU?G01i~D==Od>nvr|CkX;K&$no>D5xV3+T`RwDHKXoH(5^#bixe6 zN)XC`e*)JiMA!trr1lDaxmvFAi-(zFG(N$721fM#)ou}4#mK7co+|EIlKX_@dq>|X z>tF^6(GTz!tY+-q|BN(vK@C4$P&F=XCwPHvHwNnH2y-hl0{^8jz^NCy<{eSa7?HQ{*I~+f zfFjFCHCo_;h_RZ{t%xPrJ$i~TsAncNPIJ#VgFwx9LBto9bt%m>+4{>iDXXUuFdv2w zf7neN;otdZi`?zyo|!1`$|)_{&hxhztHX>$W)|{QeCoN;`?I~EQzeK8D3dm@9ft3R z&|?7;t~NL2Y!l`nLl~@bY~okLJz67}ijE4?Ncz34*~0#+p2jNdPrQ8Ze_jxrr$0qb*hReJ1`JLJSZ)d^Kve1Ja;Ya9 zkJ)q!Mo9A9q=)iaxxB1zV&K_yCl>6FLyp6WEnqsPP#x6PJlS;=xd+3NSO87bBhm4c z(hz=mx9g4OXlV!0o#a(7qsAS66E*+En%gr%sbw&U1(VJEuEznk1pi&~xPOave>5w( zDxJ#|8Yaya5IS4G?M<0HF6lC;H<33ETpzMIE9l-iZ(jkEp7EC6w*S=eYin1=zcV~z zdFJOiPX0{yv!swhqz{0_@wfWAU*>oBR@BR`n*+i5z z2f^Z(Km^N=1mrB@BOvL4ZxS%+f3jv4sC!>3Mt?ZTCeF9kw=<9FX@Zr7cqX?srXr3U za&TpEWe`06$BE(r#aTL8n(C3naGkz=hmSdNVcUfWfMxqe=9xcXmR2P;hugr}V@WJB z&%#vcT0(XnqAq`OyjT82HJ0m(8~gZ|Y(YJjEyyR8(OF~{cJ+8sno^lleoql2dT1L!%om-k zO+djTeT@zX6C@KT%y~WZtm7DOv||`yS_I4SdMKOS!%@=Ew>iQG>*94?TASTc{=$Yz z`N099ke&90R;EG}WYuO;e@MNh8I%h5B7THh-UI`_@bI##Ze0GiWRD1f8iFt|)KoPj z8!%xhVAs_UrpYlBm}!dk#FMb_Zi!ybzJ@jy-bs^);+odbS`2bfjjHzO{i?@mez1NyTMOHgY>eYh9pJOw8VE8vd87BLVP4rr=ZETseewp zjhAKN>{iB$E$x)te5I_9H4Rgd*T08RgNu)R{pi*2$#80sP8K0BCkI*%uYVx@b{Sz~?0X_(Z?HAZ zV;#@HE$2`d=XgpRi`)Op&kLw4Ku&@h9pTtp!X^oXt&5@He`UzK+$_EnH4n^;lB!&5YT*D*c-$FG>zr|{(#lX&X2uINB^4YKFCHDd!$^SB$iJ1xnp^?qw zzQ|kY1FP`je`ai5nwzbhn_aA0jftXur%$#EZ85}q_;!(QIL1iEJVoCY4KGUS?@)FI zsi}~F;mHu}*a4=UXY?lFXB(xOVp?@96DSn;H`32#5!#@dzP8yp7*BHc(j#g<@HA`vzRBeH5T3KqqMYe-IEcI@)7)2W7O~VLUFB=Z-^? zvldnqlY3#YSr3RHLVyumde@%qt9$Wu&)rT5R`a^Tpeoz-*r;S;B%sNAUDJ0s+|K6d zONF+vXo$WE^tI_V1OseDe&R?RrM-)EqD&E!A`hjOyVi@INo!L(|1|^Jv6-6GkxD^X zT%^wXe=I>V;L&5lz?OZW?RsJehT0$(N)`2A`@tv1*XJn`-hU#;Vp2$M@Lo`Y8v~eU zl~oQy9r}Qmn0GX|C%;@3@Um3~sr3ibUsf38RZ7F_@3ZLpg*l!Mh;z}~6@htA+uqTY z{N>BUnjrcU@C?uUNHh#`th#0-8~(ro9@rdSf3p};05o_4gY9mRseMTz43JQ&-zE{& zhf%nfdxan{ZiyVxd0UX1$obXfu5jLLT}4B^O*=TZN$Bd3{O{aY(xZ?{{eO33bw`8p z{3kBD!v*yIRBQQY#u+_IlNC}pgCfu;o&N!4_UGLLjS4f1IBZ z-(R(|V;csIwE z839oB4Hu{e&X6pUjpghMH8+wh{N1Q~Fr4dr;2s1VgXKQ7>UTg7YD9yvTd715e}7)` z&vguT?>hYJx?@Y3=4vB;*wPQJpb(dp2RS@dgaXMv6nG~9_vI?Sp1n4Hj^SzwnC~tZ za}Zt)wpo==(74l2SWdO&oBU++XpY{AzK5;vSfbJPjOLR(l}dxuu>srmB11GGo;0bB zVSgwh$Lbi5aP13*vRYLll+5&ke|RD&Q&Yd+hvM>E8{4ROBq(cU$$LY(Awksm&=;{=|Ly}LmArBvBvR-0%lABusMMx>oWD5;(X}NS$|&B{ zJ@#))iSjQ9@PRC;Lb|e*isd5F@eW%YaRXvdvOEH_{t+$*AE7Q7;Jq?mp}kU{Im{8G zPM?U*T&gO_N}@OZTB%s!4UV9D%VVutQ8x10smYhm2niQ|i53PVBu5lG1e!f zy8T?`g;%+@lhW9Up>WY(Rd($c4eqkrIEBXxeU!6RBwikN z*6-fFO7NY;YzDzztdO{c4_HiZP7kqVtdL(Q$0OcBf(%w8n?`v=+?;z(#DI%8buVXy zgXRZzfmCkvx?o3LK&QA}px3Z{lofB3!R^gEln7pb0&cG~&f;C{5pr}a$TcqN=SFQ` zQQKD#wId@iqJHLQn~{Y#!W`$b`3Zv3@pmh_e(yzcbn|r+ysgI6>v(i$D!P{Hr5hQ< zD(71-K#IkTA^*iyohPZy?s5kAlLbZJr-1jFi^Qf-h*8(|VLUKdhv-Z_HQLk}SQg}5 ziUJ#d0dQGEN!1{`ko7&lKArQAp!8l#1c!AOuYZcuS|}yuU04!Sp|DLJp1g9S?M!)h zQLbvWMKH#<*i+A@6!;lhap%?ultVTGzk4R2zR3b$uL)6aTlGxc*ojl=^mnaIjg(?> z5;-F;j&3HfF;*FIf-tWM?g%W&(XM2A4R#A%a9QsX7p1uI}oFh zp$z)D7f+D1?zY(Z3nDrQ z8&vL-H)FrXXkQ09E~TKXJ$;3`VIX=1vXLg#{TeXW1ojQ8%ZLANL(DWAjwV+%c9anX zewmuG4g~nMq`Jhgj8~9yyThptsNI@>6{u7*;z3O;ORZ+AFBuvc8-|OKwkaspl$8X8 z8)*YNQ{#%7e0ceMo2tQLFJxh(Mu41Mbc1)oj9`V^hfI+15PN8h%l@=c$L$ltXMi%m z3hl~k=2bcOQz~QZbAKj)$gNX*l0!zxFTdzNPOv<{lwW2fv<{ffEU^8-n zlL~BefqRTPLm{NIh$J;1VF~{+R*HcIN2vM?B2 zT7k^S%?Ds%>DdrR@>67`TS4O#9*INwP*jGi<-Bd{UOwUxpn6nljFrQG0liCSI*W`_ zSkUPi%kn(gE3=4ENBS%?zaM*Ccq*D9#BLQxo19NgXBbx%!?KFc?E@q06jO|lo|}f2 zfhn2kQ1NX*v9veCTykEF`vU2y$I37CN6sxqB$4WSYtO)jto58~fKFUmM$O=EfxctN zRRI(u*VcT3T#D!Ss6^m@w;}!)%;1fJraw>S)JrCZrlxbu;9$W@dk3X`=Q%>l3>2Qu zA{NUUg;s|s-C=x^h^P}CekDpA`&spR?0nZXeAi7#Mc-4j(EK&5*D%arYhVGeRKhIkR|y zIQR!duT|@`4Lw($u5F%>VI_g8zHkngwH7bl*>iYcbMaz-rbix*3BvWC9OrI z3ZKOo($JqdLT&K@aCchheZrw!q|UP9(+z6|w%mj9EaouIG-T~LdP3g-{^<&B=29{U zz(}`dA5gk*OFupq4bOzTin8TgEn>6n86{O+S8WR~moH9LDRfFt8`%$uzKMpuZ!45B z9}AEXS4G=@!tExd24f-n*T_dJSmg%J(?lf;-il5#zw2=hht9^jIYy_Q@3{)E-p3*U zndWdG@n>oZW(bZ%VoWi*cEX0V<#fYMU%XcskkG|V0g=DQr3klt{@I>_8CRidO|)c%DxE{Rg)z5eh7pPu zDzoYv-i#&Hn|VJ4TTe5#wPzSYRdsyw^ZEAF2&X;qF{FR%?w(A5I`!um>BI2c7)4eW z6P%ZS<~PSUgSsVn0WxpFRp?c4MH$EBa(2LOPK=Itmj?vsF5<8eh80y=LNqaPk{bBaYN?ooL@k%F4&Ea} zCGXBhO?xnEk-%EH-EGHh*J4eD)|9o3B8H`s_aEq`*e)i^k{& z)&Hvpfxq$UJ}8e5l5eDM%n$koGc59Ko!Gt0eM}^w#+Kh9`RiO+Tk-_UBhtp|HpB>j z3&vGw8rv&pF&sg;7JX$kUg)i;5(kTABot${?L0-kpMW)VM8q1wr(KR-_Yp_|+hzrg zQ^1oVDkb0|@wOmZvoO7UmN;m$%5c|WvJ}g?k#ubup0diQ6RG&iFfQVX zT2-<#9jA}%IiuTNjv}npg0a9Vb*}n$>H>07J-|SiAQZprVXQ>X#Qz(843{BJx6Tc2 z$3qk#5Zq=Pj9=^x&x*|jyoWAUs*}kok@oc(e5L(v`av?Xd0Z!8;CX#PocV`;kXKC^ z|MzZakrq8!bYjgG7xvzm;P;q@5AOIR)<*p)$HRy-I74<#`}cNocn<9U-tZMerMfSFpcqh{FzV3TqoqHmDlGktHdJIBm{n45*!oIhHpbB2 zP+9Tp78?3?|8oQ@bp2ga8Y+&hY^c$Pp(NRMH@Mz@C1mg3R~WtCz&78l+w!+#efh>Y zmDA5B9p@Z7F{NCtxGFJNDA z#)1J204rys5g3(#^LD4->DkKKsMQjKZA%ys!*JDRdKsbGw7fVBhB1z) zVNr4C4jGd2W)L#AXXgBW<1AeHzb^ULO*r#^oqB)_NDm^=DA#Sh6-yB1{$CH02<-tj%Ns65uc2qkTQ65W<+G8U7)E!q~Q5ZFJysYt$KZ zoN+fLwK{EVPjK$QSp}S|O_>5l@4jJ`6sXg2KO;4mzBwH@FoVfjXeFIUCJ)oSRyVS7 zh?p{T^9;pJ%^~_pLwY)wz_I`GbZ?;5Nj5oJa zov?&4vI(cq%v2iU=g)=sm*Dy-#`D}j8=7QwVG9thb8l0B51V+lp;3TjGlz=p-vDV~ z0>W4J_6;nTs^Uu>@Rop^+=i8Pgj*dE46A&cf#rRy3JA@jg5YONFxW}-hND;i(@Yd# zqBXSb`U@aSU90pWR2yfo8XX77iizYqTQ`r-(T|P(tq=f50p(E=fV< z#!s@cr_tVjr!sufc8a_@6jEp!3ww--ir2{~bd^fGbP^VyHVyRt@}C$)YZ{P1U_&62 zdss1YkQndf-#BJ9Uf=={Dl+XLda{Tt?S7Jb!z{BN9jPmF-rE>V0**N&XZyL3(Mfo$j-R(}jVj7s7YDxxoe z7?mA=8XN78RV2*v)Nr%6z6%$ouWi(EBpft-Br}rxO-c%dJ=$elU@Z!7HYQW$<@n!O zZKdI&NGL5lWO!h!Hdj*aZM;ynDi`;b(Ha8?IeaO?2e2c8ykJ?ZDBCpjx4B>A7q!pD zu=}Uz6;vU3(!ywUG%`?DLsrOv0`7pzPervy9QdL=QQrj>N0B&S0oYu(^+bDU;+C#} zQ#_9ZIxeQtX>Cj-Zc&VYi^T>|rUV#2CiHVKmW|Q0V)G>d$OVt$2mt|IajG_#5f}*_ ze?BkJgAJxNCHQU5zx=>~Fsl(nyiNYaOfB(}e%+AqXgcE#+A)7IKP-j|4Us7ZMcL6W zOHt7#gq?8L(_iKI#7y%aPfP``96o}0qyRUh+@-n;u!;|hlyX@YYMos^c5p9k>}r~2F#>aEJqiatC-+iGy2REXg{ zv>_unDT=Xe*{wg_B|hXe?Vrt z(C@tG;HgQ7sMy9EbYoWnJ8wS8^F&>N>)qLiVtU%TLQDu42#m7!d5KV8tct(>(co}g z6-zYUKo*jk+<|sog=z`e~)t|mP1$#!7^Ri6a(eEHVbL>^n&;s?e0P4+LAS0 zTv@eZ3E6}#8aE-gAT)R%xN*_6GMDy<8-8pGIuw-*m#Yx9+-zOR)8OMR}c4LpEoQ`C`r_fBO+$>#NL% zclHZ%Eu6x?@2wwhZ#`3QjqTol{uFvIJ2nKd-MO>AA0V?FWdGL(Os#&6z9%~r$@Pm4 z$>Ux|Gcpz33LRDd`+jH7uWrWm?vNnf5n|1!LiPcPKZvn zVGA3EWe3;)d0MJJF*xaee>ahu)Po!@BEg^hcaQZ67$yJs^#@m!@rs+lA3x*DfB)&6 z-5n6YScjD(Y(}h(Iajqv)J<;XL ziW))QG?fb{h|9$dE7$676ll9L=^fHUiI=$fqbHv zdOef7;gFBIEV?pPf5c8+tg5=Xj`(c(&|)`L4dZ>!4N_A?4q(f*ib0?Dt*w^bAQ8=> zFKV8xIlAfFblU>*(rWGFY4u*;IIkeu^6V8ysBBq)dL^ADe-5J8BIQ%Kx8`>^4^lue zn(z>E;sj1fFy`X}r_|L-XLXHT%G5Kux3pCf2kV^}h`BuBe^OCmW*jkFzyf;dz+I8ursM|TY{?1N}C04${V8VULy+F2+UTg(L^+2^Di19D5pMY1h{QCw{9zz zFqw#|Tpf|YaHw`L2bK{*pts=yhYfNXX72^mrD74fE}E^dwM1c&$r zO-vU8S@cNle~KJs!#TN2tha{DfoTb0+Uu|!G3*H^64!XHK&Uj3p_*ZXAicmTw1ya5)#FZe0*-)H9B-4MO3O zjJ6V41_>k}e{|LOpxC;fBC~v&_ZuB4?MaG;@cq)O^c}uiLJfk68>lzrYqxjl5m|0(i;X|Nl5??4`l7Z z{Ldf%PaENLsz#&dZ0UoDL4#?{y5igRWn`!|i+Op$WgsJDxq#^*K@kJ=!t`d6Wb^*G zhvQG5XbM+apS?f}f>8EzHu$x;+6V212I3*Lf3*-y5@vj%D&;9OYlqFs>}VMsLP-ZS zDvQUKqFLqtzFEb(vCyGj5toiTcM{`7*~^KtErbF>S;YMdE4L@eg^-1iOlqjc9j=I4 zC`8=4hBMJa>_Tg^Fqs-u?)2&^?C?alu7-dSc+%pxfI3&J)vMYM0FjjQ2-rAPQHMnN$8e9__ zyUI`zt?Bq#B*nIXDg2otHB_O_0YoTPz#AY*$SNZWs@P%_a!x4}q>=p)N3dS0K!7{( zx`?EO?<4eg{q*%!sdp96P{ohl3I?ehj=y^z^R)jN28!mj?Q3`IY+tQw+tR|$1Sp@2a?TPBr0 zrc|^V{8FrtZLb8Aqj>bNKhcwyd#;Mcs!s zAP{-*jGkmsF#~r}Dk>{(@QYmqt-xU@Cb2Z%=9srAd(boS8MG+M#E;oB#j|L$4v1q{ zCkp|+bHnujm2iJFz=gn2P`x^gK3eF;26qBhUtsC5$t+~t6*;sZOq~tMyt6RZ(SfT1 zR)+I8MX++?iT>F;&y*pEb*NyB_eLW~Kgd+9yp4{bn^;bvP%9iG1doV5CkM)>+C(gS zwkij^Nsv!PWr0o4e!wc-fDZ28jD$B`87W5O+GsFuE~>#Q~4k zh-nNXR$z>%7bOE7sZIx69W)O8+ayHviFHp+Cw;1khvmGtN+eWS9F&WHF}n@h4w3Mo zEYp>JtJ3)WzV+6*s%fbikQN<78c zaU^cs!&d6>9z5gn#se$LDQ~jMg-5?M7kfJRtjw}=vh-NGdFBytuDqVuQ4RaKM*&Na1FWiKz&-GOW;=@n1*_goCOZtMjCWYGhqyWV++t81LNnV{O6Q{8rf<-Y1wWP0-m6D&Z=wEY zTIMj${{Lb3IggFqZ^j1R_)o@$!#JsTnYGCkcHfDEhhhwX&UqFYqk$W4nudnEa9~Tc zFyLW--LBXDED~W#-QagaEM%y48v9w~N`cfQYbTESZBs}93-!S-B>ECP9u{>GDepTO zODpP#Y-ZNOxu)lLA?Vi$)LZboTRT#JBQ>wPI@`ZI>dz@`h}&jSa|;DGFkN;nm)^Et zc*mJcbtVn7Fa)AT$JFA0FgTG}azu#ZXP|C>7jfNA<(;BpcJP?Ftxkyzwgy#m8kFu} zV(`&(;Bp7i2E`1LMIgn}y2kqaHR_7AXy~LAUqGBr9!KCdLVaRlAL-cPB(uJXbFc#Vi`+!25_#cYo!QAZnIjezAS=lA$U8II?K&ti_E+(Oe(g=J~ zZe!&WFPnzWM8W45={@-6Dv2-1sqJAg0SF~YWns`_9$NW{IPhZE<~In#2EMO<3Hblp zD-79$&WHQl+*%Up^NsLyT)J*y%U%(RTOd*ZvvT}muv5V zzwldprw#BcudtLTbRTZrDKV}d>W!D7$Gs+lG9kE*Y)kthQ-^VlkhjU1G;S$@mC!~>z?V~LWec+((09+{q1PcsxY{HM+I9JDrVU%&&tp4(3uBvz(-Cu^ zM9~zCrX%Y1<-u<3j2l*CZ4n1oCnyq|Wzl3t{kozOEc1483S28?qC7KY2xSPlg!Rx+ zSeIZoO~cmKD;yH+&a#2$WKd51gyW(h58s>y){-LBMZ4_jQn ziJ@K)O)zaec)1^*hP-0~Ym*aQ-5W*KEHLU}P3#EOnoY=~npA57R;A(E4wY9tc@8@_ zvAt`e-*=hPMio2!xQ895w7;`chmuRlW%gNB!dv*b4evKD*@pywQ0o@QM&CqXz%0{e zH7d}7T-0$3{YlSqLd+{Hhq`41GNK~H-}*&XyNf!wbAMZgS*%`dLJ9uh{T?}mZ_$GW z{}ggAfm0@_N6!(`3{AXZ7!vEP>n3wVW_52CC0a)t;>+s}+Tyl~o6#x~sj;@RNN3$e z8W>=3k>(nD7$OQquxU%M!=hUk~HP3LCwk?#~Vp{<>rovNcF8McY>PMWMMFD z9NgToQ!mfMWQ+q%i4(CT=xg)utnd@$-Ua7%9;|d3r|bFbUM+_RB1RicWaZOqS@{D} z<@U<^$R$zQ8AG9Iv(ca~g5S@aFL?1y{O)X!#@p7P#AZQ%tTS{z3xr4v4XmYFOkKnU z6#2&u`$gI|1hVF&Q@gx~_#+~g2PnJ~8^;&V%nF9+4Px8g8}=QVHi#X38PL`*vsETW2qMV%Eg*EXwPrDPBm#zvN&&#N_UGQiA(#aD)b z3;rqC9>h_9f#@4rhkO`HE)8)u#N*#1wn#0r|LRs#^d}S-!X0)6$glG>{Xh?-6f%Bl zhCC=tq_i@m3puWI(<>q#bPnMPpd_~xW~P+X5=YZPNv5VNXAw}_6=??AFYqmzH}NcVbxSiSXS_1U>xQKstVI zYUd}k%=T9dsQMVGQM^Sh-*gr={iqzw?EVayC42&AWTCJO%&gi2Y+Z!hx!w--#K4!m zA$0;}iWxnkrNdt3nc#b}Kee^(V}GKm1lBh)r*$yFd)@}@xrb1*FBs9Vo%?g$8% zmR@*&6s1r4Z~9zPNUF`L$F5$2G2uub6US2^?$QN@Q*27WkGDUbJJj&7TRQ3Bi<@O* z;&$Nk2lmH`;TEAEpAF%MRGhJvnmEYjMZ>8eZ3MQ>DkiHm;LP=QtAq`v86OltjC$HD zqXN4Xe{l7fZ@3+P*L7CX7X1r#iJ;%L;R|Jd)@!70U>d2+nid>e$ihNu4|a=dm_Tz> z)XGz4c}Ox!EppZrJM zyod|vOT-KQsOr0Q5P(TaG&qz0WJ^f(uvkVGw4fKUB&)7v=(BehOG6$ZiXCKa<)vYN z;I9nh%ax&sf&UW_F>3L6ny+NJVw?kLsrr>)Vq7+KX4Q^zl}v{b55L(^koe=s6C-v0 z$Y(Add5B7y3}UZiZrerz>*USjA8N&T0^4mPKxeoImV0TTwt-#^xD@A7>!m4}osHgM zS6mf8!rq#1d@0KEWVKvpVUkI|CKkzjWnhRp48eB#6?CA=)RM+$K}^pGyPS{Lj- z|4E&4OQy`)ISeQFxpo&JPO+fmd?w8U^&+f)wCJSjD|vcM&Ce6%Tk4eKwy}0ESjC@@ zaWF#ER*Z2fabh8{J`d$0aV2YiAHGUL^-xbzw<)Ti7P0VVCXzXe2Ev@r3v``gVL)C6 zjhq2eQu8ic_IK&eD#L-bmOJzwWx3c@16rH38Vbr(Y`ZAr?t69iSL*JAQS4TJKc9Yl zGFDSNR>$#`D*Dvt9DuJ?dA<6zUU@~TKJ(WqGeRF%q~m~n>4P34iFT!bZ_$N54!-iC z0WLkTsKW{R%EyZ}NzbV5lRu?)e>kO9|3g!%x>nZsduEan$L<@*DTl=8o#%fs<=z-d z+wwkb%dd_w|N0&|pSMGwcN2X+8Br8dEyZkH;f^y7E%hg05T7_Pc&b~a(p2#9m}<4w zEHXkmXB&|-$NHyIf>RiONg#m#vK-{0J`cia(Y^QuWYZ#-F*zN?}Mqk$LKw* z&=9*AWafF7`vnIg@i#c?Z#>h7PwuV+5vw%Md+RqCZo@k&FCrj+38gtBgkSIj&IQM5wQTKG zVj#v%*MSNI#2JeKgA1*);YCbkDc`7pu`_jw0>2)1=+?uod2Jv_g4VISe3kii^S`a> zLM{)VJ?@)p$6KG=CH_v|0#55~ zkhVW}Yx%2JVF}4m zkb496BeFMtJb(9xiE|AGt?UU6tE6NzG-i@CR`vfcwBlG7P+`o_z;v1YZsPZeRW_B0 z?AX|S34#^N1^Rdt*pAYV1LSB1zG}6t%iK0`cRAe~KUSM!uKM^e%-vI1MUS`qJ;U{q z+`Y%v9|LIH-I=b0QH_z&8Htk^d28EQWCC} zZT~2CizzyVdn%fTMD{%scqgTMtYDe}&7KB5>USE0Op`L@O`^uqCJf;2TZ*6AEGmhe z2R@i!QlUDXgzl~olMom0pxFoA08Bt|M+T@9iDyGCOI%YYL%Iv-n>DMyKAyLI!4cZ9 zX-W%!D1k5#^%GU2xj3NJPN>^1ca-VtnUS)>SU_7ArRtZP;k&tn(|IMT8dxWtv#PdO z%+K5Eovo6%LVZfSMT-dgfzJS?*#I8$g%fS}%{y;t&u`uJJVxTxr1ZmG14)Kvj%buB z3*U?yXjgt}*R>2v&9%}hA?^QPT$R&239)B?a*;O3*vr&bR?qE0ht8~f~ zxrpGJWJ%LuRdH9B03{HR`*~ThX=2h+5X-?dtlV?{)Ey}ho^2p2Nd~6l>!!j>?LN#Q zY|)^9 zh)uag)QUlIELeTu&QU9Cz|c&O(7IL|amGOZf}&j=)a>eP-wcjEUI>c$Ri9}p$7@W& z;ylv3KoN%GpqvB5Gb5Ku<9ogx5+By%UQ2PI2P9#(f3 zDTdnaBE?WWUfdoHdJpu{2m}lm7QPNaEeHDJ-*S==fukirwxs1-%lsKskCE|zB!Wim z7%`1gzz7|ZHcza6J!Cm=h3c!%$2-AYbi;f&I{{ft>wLRujp<3yiYDbcv2 zpg7I_^n+HilNpy?hn3*{1{Fwu-+LB-f%=e10l3s!Gb~9DrlPw24VMc|U%p7qh=S=% zmW6)s8fi1SMSnSd_E%#$d_TsD+9Ouw-!%n3LogeK-lxv=?N~M6n#Rfv)&A^B4$*!R z)LaV%3Cs?nVCrGJjBGJODt_OF?jnC82teB{*Y06{#*$!SV6>8o}QEd<*c}4mHg*!uMPWa;7JB8kAFRTl&9w3)m zrh&DKD1-y{%PU}L62SS;PPL|JlD|m*?|~WGvN*-Zgg$tGP+685zW+X^X4qY`=25(hAP>pdm^%R3-{Zvmm%?Xx(d1HH4* zJJ9x8TD)@uQt=dkx&0&2e;h-9Lq*jvxgy;lX9Pm9lb+`S{)B05MeQ34rJ;GBt1|AW zxE+_mF0V=&AGb|$0`5|gYPSu^+*u5gQEgFPYf#3mjb$wMo5U66E>X9_VbM+4D^XLi z`@+8fyxNW7xYRa(PZk-QFa(*q&L#C8ijW%nMt$uY6eZ(R={NAYM(nMs60a#qRUzMF zLR86}$d$XbYda8$ecj#?NHKLPosPUva~uLW$S*2<+*+R+A#kjR++zq&RT+?i+M@{I z5UinRq{Gp7uiXjQj}7N?^>rU$r1TwO1R>u zSr8FyRt}b^Q~UB@M6c{uR6zll1%hHCMoEHOA#m*_!t&v`gL$=;3LNJoS%lRF6A08A zF3|i)^;mih#kfVLZh)9pT}>zJ{f%N*_cjW-El}Qn!Qu2mr{&o_`1aYU*93rjQdR7y zFKVo{tM&4j9&FHMR}DK5qC-e&zoOUR=*NwA1RHe-qwda!R4H6wtm7SA#9r+NGm8od zahK`?R)Cvu^lEjgTSc9g`-c7e(MIRv73DM%ON&-zr-D@IYDy|?k&@Ec^bSOr+~||X zPrM+1;#7S9#tC#L;H~snQjb_sF>8YXO0^3)oKzFg`ci7bWaloQ;@0XqC^~~$Lv7)} zs}AzW>YAm76j@EU2BAl_IxV2lpHeh_mQm~%mSKdpOAS{>C~uW49uG69=%X=ue%;y5H9J$&STcIDrjoutu+~&EYcLG7~Us=1-9kH&I8S=U%{n zqqj`({HYqxuXFigXN+5jALN2|2ysD6_f1Q`VD};en8*Mjx(bNIqQ$c`1912FF$>aJ7}lny4=04_ z7){)^W4!9t13fNJA$!%^S;!Qzd2d2!>LJj-!3mLRbDJnE)iE}-)&*@6-h@Jb`OJf< z|24`<+MU$qjNA0p4KK(j9Of_t0^z<9S{s33BLj-?oQ)+l%4!E=Ottgq(gh#*A@uZR|1K`BNZ1&{Dp#>yW#2iaiHqs#y|d%|}KdQoVh2 zyk0rMfg~4tlTUlf@Ks;z#S;N0%Y{}}U=`A5wrH{@mONkk0!&t{&zqutZ5dX}r1YJ= zpg`DO`tLDDod=PT5ymiA1&k3SVO~rw=FJ+v=p6MO*Nxq^FMNbIN^5<8kJxIVc<|p~ z&<6xq!|S(Dysu~Q$F{q(w~HH*vY9DUb}Cd@f3tco5kc0` zH!{IWgn1lLQoPn)?*cK&1=#i-WT^rQ|- zMAK9mBUJX74=>kjy;I+eX(j>HW<@N@_(C7}9z|z4q<>-gg`t#Q;V0gJVLfQ;}RK8qeu&!&ZEG(PM zg(ZmBq#sR_$JHC6?my?oiIjClv~FP%xq8UAMKKLAC|tswqof3Xtdj*)-`sNVZ{pWf zzqO7Rlu1SV-3n#u?MeHSQ><7wU&5T>s)~vT-<@!!x)QpR7Ghu=CFwg(V zgnHzy522OCo}?$NJ?mEHp}WCM9A!rPiEoTt3a}D|qk{+E)8aJaNB)DQ8YLpQZxF$A zQ>E6|U8WE{A-`v8>gOv=gDk3~e%?mk*Z6($LR(i}PTlx4&PBzKyQZ%x2M}_4f$V zh68x25OHjOWR*GFGu!mZM))-!?lA%F8_x2inJViHuj;J7p;_rJ==M~Q!=n3D$Bqvn zZr50;LTY;q7PMrJaudB8t?aaB*`#VA#bAXdv!Zi@#ZGzPnqq2gG9($b*Xb-xXdaTq zJlvp!qOrvbFFgUUI)uaJUe`q0CRGmCsJ_tKOkLN1B;JRz3c;e&`Csd)WsopJ0=WG5 zsJuaS4En@1$-29X&OU$Pebb>=K`n^^W$9aas7xLVTey%~h!vy|p0 zVuf)Wt@z&sY&GqFM1FROIN#%(xY2|fIFX_6@KAqQRwfpBHpbU@UABtf@usT$>neDt zpW7>cvp4CGweF)Ow4?^On zx38}IaDuh*y?rM9<1Xl0#V=HOz&X{N(XA>Z!ubciB5p-Y7#eolY!KryuAAvk6z zP-7z%fgw_|CmY;E@bmyc*r1E zAZ97ua02Id?DMej&0H|JP~G`)Nd>PAFW3Y|NNW??(Ocw!8LvaDmh(<@F_t1<+L2*ZC+(YvCn|lGP^)bB2@+)JN)s?=)OSFEGLYa?^vDQ7b`=d5o|K zEi0j|aKu4s_oa@jx}Ly@vqnV+do=zD*_YNmvm+%KU~pN$6=GTv0L$pG<-LF+Xaxvd z>paa-uB~QTSQFR6wRy4Q?WTi&$*vv6S@lbQ6AVcPzzw}ENT|9PNj0C)q$`=CPDFVE z8dM+3vGLgk5W16@tnPZ?3HWF|V~zXYVcnF)}yebZh)XFdRTYqV|H6 z$_w+0Tnw{s1@z+0;L2b--)%yE>I#n?bSMq0rO*Fe;uHF(;}@lIz5f({LLG_Kijs=F z^uz`P%UEl%nfa0X<-iAV$CfsPs5F{pSMEA|8mochk>k+@@_3W76(`F8 zhE;$cE6pHkd&rj|3`kmkFuL7Ggif|UX3=#=RF9KIi-+i($a~wgKjJVwLD^?_`(RA4 z1d#j$%-cQKWYmmy8^7TCS{K0@^4>QI#^W1Yh&T< z`r6ntwO2j6g7mTr2Rj8gh?H@682C?3>5%$WLMrKU%3xS7Qj)}fAo`c;4^eRGR*5b! z6}%=EE<5t7i-`9iE{|yn9_cn0j-)nN96O{YC?DuiThtbjb4KIAz6^piUH-~K%G}Ee zZA86ktSb~~)BV4xur)Ii4mo0ebTnrZZYz|_(e1v+C;}DnV7bG(azVk?r?Lg@2**dL zA4_+SHaila4j5p61>YkNl$!^sr9N3?6n25nh#9C%CA%ncY*zVF(9WwT|B14-2fO33N(?%E1C zoFj&$gezd_I}wAZg$6t7H890R4O7yphLfR$Qq>gT_X&V+rPQ&0rtyZ+ z${a?W_!L?OHHZrcZO7j4S_3isz@zPxylSQ#tnfI5QTCR6pbByu)XZyG?gGnWJz&M; z^~Mz2O9WngRI6nq(2YGu9bzDKQQ5$QctYKp+o->P9+a@j0ezE%`{?7RUq;so8at77 zt*%MOJGJ{&${UJa%;OiS)2f%){WuckexdF5UAz&b#ukfFpJ!?+hw5IHLXEIeN;u*g){2 zS(8q{i3(&G#J1SVvf5AJ69u(J=Qn~SU1FZ0Qa~_$S$OR#i<<-wDom=IrDhf4D5)@EB;{b2#sM@ zoO@nmhpc!N7`0}Na^{8g;j@L6if=TK2UL_=Fz2UX%^BWTTgdg+I|RosSGXF%;08A? zEu>!#(PQdW<&a{OjuEX^k(kB#PlxNkP@&s`?7T)>$M^^&JUQEe{8=E(RKU%R$f;?6 zt1@E&S2Oie5T^nhQ% zA4@DUU&j{s3=INaY|7f}=OYtjLFpw6{@U_taEz|Uo$V_2%SROB@3&X9UPX=~$Pc66 z#-!1eFxK&RkEDgX6bLFsO77_kzozDx`6*@Mp{=&&)xk_>%+<93O` zs+&JOI>VdBete8(M|CM0KzRz(lj+&F7#J!kEm(Y#-PDoAOZODA%qp+mr|TCL)jfE5 z(?21;nhlmBCRA`H!VVbLl$6EZ2v~(~4b{KDIFV3};Lk7i-lr{*_je+-(I;v| zqrzX^I$@rU&Da?9$FpJjWfmTP7%?473BqZRrickOD1h}kKEa$1Xc2&W;JkN5X$F3j zPqJ~wlW%VAKz|RUrVULqZUX&JNKH19#Nz|~%61`~uhjK$MAww~wE#T=EAH;(MAg=z z^~auZHCl&OHFo^rOMov{%0>gok|n8hO?04*H!R+K%`+AAE?lk*C7MNl)Pqx-KlQg84s4qKt2YXKgM~>MF8UVfHi|;?oJE#>y|#2`-wHj+FJ)pdVl-%s#m`r*U1N`n&NKFJt3;`TJP$6av|G{ zu-U*>`E<3roy4dRYj?<~A*pIasD2~IaO3Is6z0V z{U@U-Bb7~o0yT6)*KB zif9{2l5aqS9`h!$(Ng(}%>fpdq8>iqMN%^zoXU0WOvP=uv_$yzEd_vhQ%5<;RM10~ zmQ>B&C6qTp7xI|Vu==9Xk-4)d0%((7%FJEdl40VH*qQg&y|l(&K}m{_&`3i+Lj{yM zu}9^9^*OyWsd6G%egX?L=+0}(f5C;hL+VO0B~-OljQyD3dyUF?H!$={Fl83t<0Mot zcs5;b$4&oHlcp^a+9-Ev+=#$aA;IFuA_WzZrV!V~ax6FrAP;LkhU2X)Bvm?y+butF zYV`2gHw_(5@&i)D+osX5b20=m0z^EHvAR)z2s*pv7Nydz8%tSFAw*;WXZI9C@0o^S zWD1&vni5-J(R`0CRbIXwpcJFOe|FL_XbR;+8@LJHpD{eg-eHUQfNo)o>-<(?>cx=m zL0GI8wOlmfp$MP*<0ata67_w5I43LyyFX9?^;Jd!truj`X?@gqo+i4B$P1(o6ueV^ zZ0=Z7o_=bIMFUs5NMw-SpXIN1Ql3H~!9ihej8{lW8gNg%fR+oi;HW%)fxc51L)APf z4iGl^!46w4P0nd(BhFLy*hrQ<@?P3lhb=v5lyK*Gp@bgLh4>p>zj_jML2r$5eVlV7 z5nK{9xJU-u_BRo;yPn|Xdqw;tZ5qUXKQG5Her<}VG#+4m^H!89t|;5Ec7w2emAQ$y zTxL(5bevO@V8THMf!W&PkS8<-^Gh8#^zO|ry)llqa< z7tIX*e=jRL70bWcPL?j7)ww7#gEfw#ld)E++{U|CVcB{;jw$M#-+`I)0gHL<7HiDF zg=j5zf;V!kuM`GE=L-Wu55-(4t%CmfV@A@{vAC9ThRI1QXkSe#`1Qt>h#6G(P;{b# zEf${y_&)6$_`eSR8g%sANInjKOkideX8&Kjo|$H7fYqpTGHvXX)6VUkYWPvYuY+lk zN`g=$8Zcf*W!gq|R8@qfMMR00mexOj!$^X=LbypUhl?ove6KjleywWc}PuCWhNVV-cE1%qt|@2o=VEP@ocz!hGAj zs=D|3y1m*7ODEU1Uk`#uC0q3y?_yC`sK{SFgy*-z1VxSm*=Qq3N5htYjMlaw2Y-8G z@)S{r1;O`A_r!@JKhRf}>?#8Rw^L7s%nbj0!645a)?1=e0dDILp(hWLr+3y;fpvEb zYuhM-y`}fU8)YR+%FGS@7%X!1sekQ$>F;Sx42#+`nHu8`0>Rmt&+~ZpQY|G{TbGGnlBbYP z3fPgY<5=2X6*3B+srbT zqk95@l=g5gOWIQ)9H8XCN=I|1{rUN6Mq}Bqsjx?OtqA1T^PJ4T%3k$}lJN9t_R4zX z!N2myd%CCb^AR%D=*8%RiFUrm9kS(J9~~00^q{J7qVkX zO$QgrK-hU5y*M`QF=z#RPp_YM->v!d1K4Qzd}fOT+j5GVPS+_z1S1AyW@21S^{B8;i#S=nnoycItfj*C@~TJ z@g2OR$%gn{E6T+2gFE7Ptw_0HQR|^!YYofuEJ4(`_0h&i?f{%AR2Va0FRe=kt$zNa zQBjWu9d?(`PYEJ_SK~U)+E=bj>?3Jwo%!8jdl=B73bzBWTG8J5$r7B72z6VJg>TJ@ zQJ2tTY@VSK4r{rf1E*?3?Ca`L_O+gEwc|xsgS>+lA>6BijGCMs#UC^n0%tG)Im2F= zO5b=F5dMd+Fd z=Ow&{Tc{IGyf(!@#Jp=st?Rid{WQi&9$5_v-}%*x->-g*^KD%NTD%Le0;$M)mB@n! zS{~UjzYIlxx)pMBOTUP2Cst)7yM3iW?bus0)ZlF2^BE03gNSio4Ogf%s<4FW7JF8V z#m4m$@9@M}*sfN$8xhTwWq5U)*2{2li0S{rD#F1_=@Yl2V$ya}UADSn-4U{80J2SS zw+7ZBNbU6|kd~^1OouTkg)B}uUqaVD?>bCQp|ab5%kdyXyHv|Iho|)|oJ(Ep=#;GqFefnz9p+At?#p+9Bya!#E~Kv9ZuQSLO-kc;bj%)iVc`G z5+h6z-O^fsz1m#g>z;hBy{k{C2W^o`CTIBe_4{u!?yAiyScsxg+dJomZP&GUrXBIw z!QzozdwMmm3Hl6of|jA-RunWeX+hxDVE)2?p~l282)lql99S({pV?G}6IcBKgu@e~ zRw3B)e49}(@S~`<5|yq_MZ|@!+#$4?8h*twmbbp{v&yA+6*xsFRvOnDhym^awbK6! zDRi>fdUiERY&WR;T~Ym4;}YOi?^$P5{-1u!>U25_U{-p zMGff~kgzd4h#Uh_T9-sJKfT;|WgmT!8%J|BUF{;TksWB{!$l)Ia*tTIE(yc7O`WlRXA5A^btWWhoNX|44M{A-2`*Pf4L^fX+UL!1$ z_pC#N8|f_EAh5c%Jt8v;I@OzdQD2>q<3{y>aKFji538gWDH9Z0KF95V#bln%`r-ON;0g(alvBGd>Idg5A*ZXLBXSj97*8QrQ|U8*QLxXW z4(;nJfSFbq&obVjENgaz<88Q+9r$sJRpYwvvL)n4E3{k&wPQT8qC>c0{&3;2NdHlA zZv0L}*onl!5a40|5qSh>hY!l(9&g1x4x({-bPZ}HzHm{;1k;-L@mnmCME-#G907NO z4N}1OO%O=(mFo#G)4|c`uKeVG*4??gNH9z+Z88E_E7MSH4L}yY9Y)sY>ewj7D)d3w znGR#JvupwG!wD|hNMbxZ7}U81LA_=>^6R4VNt?33x_O&*}2Tc;p9uq|n!Pu(Tn zjjlm*8ir#1soeVP&6WCW_2_N29lB|A_IyQ+_3fH$sve>b@YaQ_65V%yUfa%Hw=drzI_vn z=x&6rCkXlUnZfll`;wgH;gd5df=3HG@)ZZ2EsFgNa$Q`CE{ffEQ9goG-#NW-x=1hJ zCca-^@D%&PD-vUD!|D+MJ_4DXad}uhiZ!3AcGTMx^=snGQ#3=Ynm#h8H!#iz z3)JwL*I915Mf5p3v=m_#;D5v7utDg^X6D0C|At1vMEpjQ6{(AV<(|5y>f-Cv@art# zgk-pjZ0HC^K84&+^Md$~ZE$4~vCFxwBL(fNrQGcW!t2$2zIntv%ohItd0)4pLaVxS zkAdAm1tmTaq(3`!$48_My25@xPefF^xc&_(hGS1lW{kA8eX$}A>vcalA5JBv&h5B(qTp9#~tyH22SgUexW z0z!U+LYEAqi$&$^zeO#|U_yQrkfBU11V%9ay;P5zwcPiLdO)fHyvwY6t~DOW?~f6P^9Ai z0l(_n*Qoq|!Pl@fq8*>5O|N*>sVLf%`7xp3X%wlSye~EC@|UU|1lR~psUFld&*wWr zqCwCS=Hr_4$2-g{O}f9GTS!VPK!?Md$cB7_+9PwZ;QXt?2pDjR5EsviyA7UqQ^@k3 ztpq0lqQKD##y6&H-OZ_x!X$W8U?X+|uUIK7pVQQTYggt`koj0rNasALQq#NX41CD* zgshf%%}*e~KTyWYiASn_{hcz87?^AuMx8EK8ZEk40@!&VbVvd(D8KC5n7sN13stY- z5t~BK^b&DYX$DGIkVF~NvjM{_W|0&I3~T}DGyfBYX477cn{!Y-xcq!9>*)r+W<~V{ zXEYLjwFuw43Jd>h?a{iuc`RxW1L%n}5q*&!w&_*oDxXD(s04vU$s~7+XoAeTyq25q z)O3XADQ5w!daz&hh8=O9P4Db0ROLgEpnpgwQ-^3;+ zpd6SV11myk)J@Ot6~FJK1=iJ`6_828+uDPFg!NotvpJQf*OE8H+Lg(q)v*24mt1}i zt={*?hO7=f5ASJ1HbRN17#z&IwAu*k!J3v5IO=gK0h=;i^p8aP+r>8_L@F8`$IVrv zW4XbC|08Z7>mL;FYN$!Pz`&UZ9qukR54#xb(0A*9y0}-a133oFmmrWFAXM?Ug@ zPy=$umSx;}T1?X`i0-1~@)QJ+?uKp1ldUT3+z*q& z1Cp^6cP`>pJr6gNnlKv{ap@W;hh-dIh8u`uJa3@_7>fmpvDi{{zn^^&c4z-hM8q~q$6(jXfAJHHcb;Gu8miSC`G?LM; zOuR|x?d2$9Av8e*2U*3A69qMxx0+%m(d<@<>Mi{qg;69{GDrfCB4H7O%G8J!bEK-U z7=$?XE-hbNx-5uHwyqQ-%3WO&)(;2((j$FTqcT+tEfy`=AoXt>O&q=Ebw#eeS!DhFCs~EpvQfBK;9Qb z0wyci`g^mLkc$%_(yYdd6rQb=$~Spet-TTfD%gDPx$wpvsYt}o!8G##E@}T z;ygm(9K{}zU9h);#IuQcJm@tH=6}Z?Dx-aKw&Il~E&(FlHQlExC$ET>*4JsDssFRza8K zfT|BuL_9TM+3{HnZ2MP#>N1v!&yjc4g~binV#UE%si|92o}@)!+xY0;tskf!Fd)c- zL?Eel>auRJu?Phgv1@=4Tf6(}-F?6nyfzuFgf&lL3#iVHL=TCAAn^(!o!ydjkWq zx-J{*DH~%^vh-CvMY zVACG#L8%6@@eLGzui7Fb*DG>Doei)%UmUq_rMv|&!-D@1bUmC%;~Cxb&R!UZk}aOMy9%$DWofr43D`2iVQ z2`#wy*Bk%|XOqFApR92VDSzS@%!DF@X@NX-`_WT>Diw}haSw4)3yP}EG>v~k{eWUHrzxr)p6;VS*7xhe)a{fK|n7b&m&8}KkU$P-@Ym_b&`p39Bcc0I(*;DuVu|4(Pv+M77CME}ctB@#F=Lwxs>X&d5z zLkJKE}zhAnlx~tlOozY#5Rs`Ip-Snd#r_O0ES_Bd0!;=`}jP8cs z@k~S9{r-q`818qDYUU2qJLCI7*!XjLt#`hE%bqRIjTy5X%=*Ir1(67>ghYVuXCwFN zG_tA~MKLb-OeqP4b;lteQ7mnMyj(yJzYQ%OWEV2+LiLvSZ)R_gH?mymS*kn+1(p>{ zKD+if9{RTk+Ae@JMY^IKK-*L*A=irHs6T!N`bFx-giiG2U5KXdK+!SARL?MEwihga ziibU1odAK|Im{4-0(CpB!kv0I8Q#k1KjP|-Bk*n$* z_F9h%;sGe_T2cIgM^KS2Q;v9|-Tn^P)ltGDE5eO4@G~@*nrMW>K^I)wsARMwkrxEc zS>Y)tC;2B|rY3CXDFrD+5x^l9LE8?0C5ZUXhx6_l{MmJ&-u45W`a^M7HtRb&T%0;5 zoc&;d2%vqOujb)(jdt?^QhSdWWXlENp~6L&^<=u+{qJfWN*)Xw$nn=9bM)A;^Ce*; z^3|dK=e&0MyCsoEJ{9PnCPSpet0I}n+)WwhBGQxvv|chF7;Llc!0;%k$u)_8Kfn?9 z&edJZ#xE0IrD{TvD{@dr12G;6Wnvg< z^mzVa=L}xf&ht=0aHtfzj&d_NBM5}j+Br5HCPk~A_P_DI{d446LnnUzqeN&>B9Wzw z8#`srhWc=Vc7w}Vg|x0%dtj7*s7)f-@LmC388V8rIe@Ucw^qPPaSnBRf3`@Tdi}o1 z>mkiHLfnc)mGMZ^m+M7I><)Qoy@ZOF1ZT|_GhNN{OK7QgtK@wpT>EP>ZA;weu4o*6 z+}e{b&Nf7509rt$zic{IQ*;^kr}K_rwACaO6i5^&VD&HkYkf{APX%Qg+QL}He>r~F z*P3tU7waf-LcUNslaTM9%C)3U03e#k%0amSjlIzRrbR+Od7)()e6Y&6Dp(9G9!gBZ z58P%5jNG78SRm3yHzJDwMN^rwDN_$qi^(Du^MmQ7Eg|(XktNTjsB5PX4LIbi=rXn@ z)U5UicOBl~xV811gnJ^Ircb7re@VwgunUfuqc6Fp+SMT?=l68zOJfOMzd7d7$3i*M-mU~56aBQ|)po^qNtI*s;ByP%Xxa7PMfo`g`Xbkm!P6YD_2Dm9pZm=U6q|LZ6)})kJ-LYl$Y)=HekuTrux9DnCF*wo| zKH2}b-$uW;yK0N!1-JoX#2IPW!f~UQm7trE${>lq_jk76%Z{(rz@zDorJdKi0_fUhBK z9NqeGi#3+|bq8N&fb+0N&Z;imG%E_Ar|l-%_C&x8aHVuMYe!Xi7zpc>3d%T($8GO` z?{@d*T|h&DqcwtTe}Sh+COO_khD;>r?>+K36Ft+GSg8{)S|_gvl3AMvBi2IIc9K!j z7zU_YZsk9ywCL;@Y2O(u;WHu@&|^0t)*7pi=|Wr3Q5geAVY`e*+mj`T;{hU;tlwZ@ZOr z94Y`ci%{IIBb1j=j#b(1x}$AvP-EM7gmP^r`khofC75XFGDA`S$xvqgSd?tB&< zr`BWo2G#!Aczb$tSk=ypgnro_bz3hwLr$<%Ois`a1c>*vYA(^R zAdhGlf{Oj!ji~n5v*?Px%#RH2SL<3l6soTm46V$(tXF9m=?U7-ue*LmMV&@5@3aGO(Lc;so%O zcYUZz1qR7q2AXqk=C3LEo=R$%Km15z2QIO-zkz744$B zkzEQp9ZN%#Hu2yduxFGd{5*H~<+^0>dg?p?f0-;gvR<>p`tSEX4&CtUy^jV{HFxhE zO5z|W=L6g5Vcg4uP7)V%l28;g*tCU=iJph+aV^KdqK7CN_fBC*3Yb7oXCUa26)1Ul z=D*`l-9dzSvIM(&w8FZxf=xiA8#Ix>L$G=t7El_=Q2C}vV;@^GDLfvvBUuP-(ey$u ze;HyNBL?e^h|%_S0xHNo&hdZKTK0AYCWKX%30pv>P=~Fdqz{Md2T$WHn{_a_J^fbe zsifa(<6A5J*4@*meya<1L*LhtYW1{4JjK3%paV_7`Dhpe*UT6=LTTaz4ua$JWmOEP zyxL7CSk%EvbbKOY)`9LOR-?_W@FcMce-xVi$>haU_&y&;A_k@rM~danah+cypiCP) zD7_UoF#&>2(-JZ@dkJDVZPCu_I1*sJ7$>K#Pr2ru8}_?8m&(L=@TPzrvW09;XBf|h z7As-l$oGRFU-O>$YV9^}@i66@FnvuNwBg~1OpBCXe=CN$$~H1nb0jZ1=pKD9e?zNL zrF^o{6m=MO>K*U?Tt(+4S~V@1-wp-}uArjn#-v8ta9!J5mLVJ3%4!V(j^vdc=ZD}( zNwpkej@jzVgd$sj8@Ayznp%Onqhpjg0DKqq%1mf3~NxJ)F9{urEQbvf%&mwB$8Lf1Mq^A$ zI${YWBGG|x+zS>5w8smPPC>6`PSe87_wR~V1&(oO)2VGlG)xdCo3Xv49A(aE6PkyO zg2Fr$PxkHN+wSj|`TS)%`up`|HeZffub-=L|M}CqxIF&5x~N=UT=^G%f9b;aF8s^C z{`)^rO9KQ7000080LDWcS&4^WirHKN0PPn9015yA0D5(4FM4%pE^2eMy<2nRNV*{Q z?q4C|Xf?nnMM>S~%mpk6p;lE*S9jgIq@KR8I1~h?M09}w8vvzJk@S-td+dk}zwO!% zJ7R60Cr9jgup`zHc5L|1e|UCx{>6TmyaA-DdXDYrE)huNJ-__&yXS3E?c7(9ecmf5x6`=LKgYX2$-nrT(u?Ofc?<&&x^E8jayilS_GynV>L9^69dv~f!N_Z7W( zl}si(*Ht;&nOE6u(#W0bOy(0WfPC?^>8DAaLj&Ot{Tta}OJdw~e|quBP9&4bPBWD| zbuyEtnVFnj$!cd-RuVoY#ZFnI(hCMZ>|{mVB=AyR?|dhdcjvN+f9OLU+>IK$fsL=l zo#}~qQM-e>t1@VzDL2OSqK;qGYD`#%TOa;Qr#&cXXyysSl9h-o1fg_soLx)Ae1JgLPGiP){he^-h4rV))Cc#9fVwy820 z;2_a@mb zEZu2MFHLfle*@%+Cg<0ya&ix^XPmXE;CY$Vr&X2QhclRks%%P}?C`u=N0cmPfZy-oCmxPMOsw*L zBkRVmgSbJopk}%L;{Gg8>iQ*YbHDD>ApPT@U&(o%z~kZDw}&^v^MZhCNgk}_BDvu@ zU{Caae_qJy{#@p;fy(L>`dA0+6r0%@7u@w~fuDR>`GAmO6Yv-Y@bb8ZeyjJLW{}Hf zr-&N-0xiQAHTW!&tJPylFQQC!495+_&w@B}`uD~Cvx(n)babVuAbt(~3PR`w)pCts z2=DL>-ml@0NrJ^_L>7o%p?bTPIczNKsC0(_f19L{`z5*%7rH-3@W?->Ip1t8nP ze|-MMkdym>(yIg(dIVc!BQ3CC4U=7)?$+*UGA`C87lD_`)$7%Jdw{2-y3d%!W-B(b znHh)tzqc6)Fdxi#d~9=m|Iv&#U;5D+KerjDPR1QIm3Zo0m1QoI!m~MRxjmO9ia5Lg0-j>;9=g4MwB|904e?^|#&o3)ym>D3Cm;OAdYWXxT6Ra8lI;)=| zKw&+$+;duH*dMxcJ#)^&Ij5RY+opG{PNpV$MOkn^zt(X13ig=Bdys=mu2%S@avKm{ zU-z^6JA#pD2A~daPgRGan&0U_h~S*SmzQud!O0lCtmyT1o@52r89lEp$QBJ^e`1Bd z;4h=8+TF8*;^1Hq;Bc9IsbPzYLf}sT9qk=!3{e}zK{KQ=T%pJEPTpgB2N4uqETD>& zga!s~yX8of0)M*ga>Kgb0_x4|7>Y;Ppn!UR$p{9f%Im&NQovpfpbL63bczKjm^>n3 z05~w$Y~I}4Y!-wO(_s}p9eO~yf6}ZrfPkyIIh$trWDqofT4&|0q*vel287buuGf9x z_xt@?Pf`=%797H%8^f_T&8{0Cj<{n1xJ|zbXF2hVl4`KaHN9%2k2N>q8X&=4A6S&a zU6d+91Wh^ADgl<;se%U3<*e{4T$|MjmY<%2*oXGuX|=+?edo;VMN!pBf5P(vvqgyL zH$DpLAAT2HcSw2hd96l(dqlo(WHE{E3tSL>-m-8|*9ESc+M5d?QQn^KAKut`zIC%R zsZjT4Ndv36$YF>;j|@lai+)qy+~kso52qoQwxOC}5qgWp5;-nVWTHZ#_}<4E0FaWx zFGYe$Mcl+ypGc19S=|sPf06{Do5WDlP32xe>KgxpseqE*KDOc083%N~cSNPQ^3$fN zTIDq8(a5$8NQ#07RPcZrp~qM_Rc2QUz^fH^(N6p%=jlW8gZ~mL#;2sZA#z)T^P|rc z)rDlk5dayIiu|mpmVsUcm5$igHg0PJU$z3-5Te_=ghJp1#uO0TIR5*4V{357n0kAL^Yz*SYP= zbNArxA!XMF`2r|%?AKX2n*#t&&YSxj!H{SZ4P-Jd6g@JRe^qn;$0T1!>b=?t#jt^G z1xE=MhG$CyJ!yEGs)~qidIo!)yA_DzBdEn8#hz5H{8aq%s;nlm+FdrW_gr2#Ug%wv zb8r1!Hfg4p!9Hi21MUL4ZzI>%3~#cVDdza1Y?^ZBWOAD7=26Wlmf}MlEu9sg=L!vd z0Eisvvyxs6e_^m?ZHO%D~61F!kUl7s*f1Xs*@fs5Qq(9a`w8DM}Yn_0s zM;-d`)H`0|?nYt9)^q8~J(sTi*Dl^tNLmqs@B(!Q?iT-|4cHAF``i?9&(QEhHV=@4 zUl?+*y{}~-wg>Fxm%u~eB-yvtf&*L2s85q6HzYZ!fBndRd$%79|8z3?^~s@_VJauV zx3`D!e~BN5kKP`>Jw6HI-9vF&MN9A3UU*lDrV1NiaVOy!JWu&AF!13ij1b|C9 zfd^*_URMg{dwllt@Ph zgNR_;6tepA;>Gi*7Ql)0Q=Ai=BbZH|a=@^Je`kTpBXmQVUsrr`Z3P4cZM@_pb1DLT zn5fjkJ+xZ1j9GO&C5p27G^n}7RP|~KS1Tk6P?)6v55Nw-yKwhG;d4kflA$5cx)BLs z1aL!pd(c{8$@2u*oZQm($)kLbFq>29D$)pQ9VS3kq$(Q_CV4-Z&+~hr$4uB2pqa@K!1Cd5DP9c9tOtqSV%i&_SZngSj#o!Hxe>E`Yjx=wE5D{Ng8WocvpTYGSNz8#)DKD{`7J6s(c1S?D!y&d863FO#4yb-sU zdw2CG)}HOI-X8itCAY~+rn4ld(<+-chncv_qoIfB09dNJO5txonnnD5e?cYTz%zT` zE^kv}Bnp&z1w5`57zSkeB@63Kq9!m3ktt2+tvYTq#z$~gRQ6=c0xQ2k#geXOP%&ST zxg3X4E8OSE846f~tK5hrGB_lFWUSyP!e^pc`bbr@3EzqdU;WLcbAaVvJM`gMt`9yK z%(4J_t3yFcBEhscjE);bfAlDkMqLdOxkw6laowh@XcUT;CNk6gyx9g;3A1p{pc;s5 zZx5CTO7_b;AWa@CU7yqQKQ^}K0#G;1kRurc9G1hGiBb=Qa5ypjg_xRmIMe;PnAr1X z2IuKCoQN^}PQt0Uh2KRuAHe*~#BDsrO;t$jypPy_Os)2AVIL&$f3Jjp6-+lu46a** zvFQ_Z*BpLCXNumj{{Kjee1J4)$;>`o`pBhX&NaK#>z=c&8i@`aEs-&VAEKOvLs?Q* zLr)$)VyGRytxraWnzsCu^vQ1kc>>W#vRObNJUqlpg-dZVk3DUGwm#3zEL@b^aLbm7 zIMNdVMenL){tRn=e^Au6mDWJvyT~FYN3m+atC>cq8P&=fNa(m31k3iW2#A02lG$!T zg{@8^8Q2gWf)l2JwP8|F8VsyS%|J$yx1`ccvJksX2E$jF@GG^$lul4jEHXQ)7k}+M z(NQ?S`7*Q8#6@R!6l!jGo1b1c+t=g4wLEs9+f?&KXQDq;PO?uK>Xh*zIIeRKNai5CxRU4=%2qp+3n;>nBG&rdI&AQDzN z9S#oiI_w;iTm=cV9J0;P^lng0m|20E!p|NRFoXbR=z_BgOZeT&wejuSqRH~@bfYcN z;7q#oUA?`;e*+|*>avHmG+k1${!|ZCHaff%B;5Yu8N`c%7YaP?Mdk7kTKvOFLMpnAsnb*DY4Uirx~do}kp;&?Jc}zA z7euvcn)Mw}p$GmjIruONTwT?xmf3-!-`?eVGJ#1gzXi-&oh7vdre}S@h8$b@0F+C(340;K=2lq;>2`#^Wm(6+!UjYc0 zEqe(dElX4#i6tq^!uR<)x~s%XlnJm-#RIS?Kj7cml>{x^DBYc+Rctx<3*eo2>l zdkH@QdzZR<2`qp6KLEh#=ksZm74PT`p#M9GDmr|-sj|r_z`1@tqiWi3Pl`!90S>3i zlzzjFs7EI+yqSzZ8_6$CqvbqFv*w;25gqWue3}$BKHg;$*fRL^fi@L9IUMlgib*rQ zph`!EDze=irfYBSB`OtSScqmle}5S^j&jbieP|pDDph}(F;0pIW`JS**cN-`0dnFDn3X_YBi#?5=o!dXpzi50m&vWv$yDMEo_andtmZ(+L9rF_3GW+#*2QX4B{%S= zoUZ_E(|4=MRZb7VVdj{&xYX-+Oz-|wGui8CHR_h~QIUw>8GrI)*bwAfHwjc>dpTJa^deYGe1I-|f#^*J zt5vbLSHOov`(YdnwB>GhP&tya1LHx^utj^Tmur#|Z3thD!fF#7dQ46C$cqbpXZX8X zL9H1QQpUrIir4Jv=EET<(07rJOtu@>_3_q$6M?o)2Bbf3ohleOO)GUHG@YuZQ`L0J zO{Xw@C4Y5&Z935*I2B0;qxF@8M2n&`9QG&d-;Bi;R%AtOjyUeY!$oO~>OkAJ2TsWc zq}A7)-OBpNs8|`(Sw^F^AFO@b(#}EU&H<2bl)WBSBPh|D2y4%X=Cb~Rf0dOuEFsd= z5|2E+q@iC#QkYlRU=lDN6y;>5VPN57->$tP0DpMx5%O{EOEkTLwNC=Eh!X7Yca@m( z6CkLRg)0gql!lql=!t@giGqqr=ggkjsU6e&jN$05fUwaxYOHaTM%80Dbj$g(*-TC{ zz`e*VCN~Kmodc@Cpj&7X_GT`eBzv^LJfQukKZSp~QP{k&p~ng{M-jsCVsCE@>zqSd zlYa}!wYN91b`G6yff*mlEN`O;qZg9x-$l9|7F70LRQ?^HGjepgi>Ph*y>n!bqIYL1 zyp8VG%BzXJq79=w7GAojunc#?BM;r{>}FAscn_ryD5KP%dkZ9(c(5uIPr-!BUsl)T z<8=Wq_Nf}AB?#|P8I9QdR*c1%k40G2y?;GGBomQ}9QMX65clLjMeByjA5;;_>tvCm z=MjTP3o76go3S}q;r^^vY$Ue7FW}U&)vvXnUdb8&4;RsMhoAhATeC?QiB=%E5Wh@-6^tliA3TwK1b{(rMe z80)2$3_^Qwh{;tYf&W_7i>q1ItgaToG8LMHpXCr7OcXSlv7@5*tp8jN#4+-seejNj`sGF zN0lml0K2Q|%VJW~(dLajq!mgi2yn#X@RR*xVe=zl?S4HHNq{orf(|k!^a|)hPrJ+p z)|qwdP=dmBW`2>(<02x@5jc%PthaRPWx9eRa-b_8N94HF5jk`)3r0*k-tMwm4|kX4 zdgKX;)o~3C?f~sO-N|bFEPvNt|1wy+28qA4@;jKY9oTaX*9Vn3tGfPZdxK4j=5K3F z_@Ss$^SKJ}(0FH9m?bb0#?1I7$1=>?LQUxq>wkn=`u#pbupTIsJ!)wKoDat)rUx=) ztxz8*rm%7q)E8%*@}>e_G0r>N)!>SkYRb<|Vf zUCqKa(czzlM+d(j{o4Ox_4OC47hkOY@Wtxli(vPV)}f_Fa({SVc6n`rmh14&k&*Jq zp#}BUdXnv^nhYc9s!`JQ>#vcoSQAqH85Z#&5nS6>)5{Z-ajjO~hv_&iyr3;EG!1(P zp76%d_N&IO(|5Tgaej7W9Y2w|;?Fz*AFIt4`C6SbuYlq8Uo{xYMr;NtK(DH3N$Slw zULskhU6Xwvxqn`fNspC@yJn=plHB;UJ3oTZs|KAW76qRjuh0)Edey{3tY#EKBf0~! z)qyI?5GjckgJA?K*=qH3O>2-iV*Pvv$HB}|9w1?z6$?4g-XuBsa_2}~B8f*pk#@5! zq6#>33}MiqmaAI#Nr)O!_9Oxz;XP^|GBKq>mV60Z=%=;e!?U(SH6i@w8`TD|;)FKEUDvkhy% zBxmSP$~^S`{NMb`fB$d)-V>~5 zhWEe!*MEQc@BRUm_)vf7{pFwki~sQN{?QZAr_lTN|HuFJ=l}X&ql$ih4>|wgU;O#+ z|1G?sDLuUYm;d`;{?)(n)&kmZ?%ekO=l|1b|Ih!$|MrRY|JP5pe@5;9$A9?e|M7qM zcc%Tn{Hy=rFaPqtg7&35_%nXct)IhR+x8j#+JCkm)30g!4gRR6PbU*SZfxDOdWJvV z+C{lPYYpbI6=3B{nM`C=V-y6*VPnFLeN-zE7kmZCsZqS-sOiSi==iknlfMad?wP4d z6c|;=mu_#q$jd7r(mH`RumW`g1A416**b)M5{x1RO!bm}c!&qz=n^GRXuqxuf1#7z z#(!WtD7PYVXS7sB%bVWl8BuN=dieKnj{U=!S+iWF;3EpM%Odp9MlVZ=cRR!sk7yJ} zO-Y@GPHc=TATC1@*1}`&=qfs?P)a-lMi9u}G+#_)?WimZg#@T0jtAEtI$A?CI0Ay< zX<5x416OMfASCCv<6_MI?VIQ4GO5z(>wlz5X4I}|0Z}Id`W@)SQLGazjRY)>=Ed9K zYwKDn5h5(0+m`P8CmQL35V})#=DH3(-fkeI3S0GudU=Dce!#TiR-AP78z>+!NO`ql zo)YP6lek7?l=156kh|kvSo~BIb*41 zf7p1;DocI|LgfjEYaE1rYZ!paP=AjKaH7i7pkNF0M5T%ZY^wmN3BPgMa0E5(97wDl z9RaVi0#@Vxp%G57x>hA->}ZpU-g@fI3FG4fVeiL@%=V>ttK5S9X&-FZ`o36-WSxoFsIH%uw|2qKr;2%K-`@lbaEZu8IzZ`65+!#@ z*6dtMLSAZOThkhd)_=B+5;amZJzmroNFq(wkcwPOzkH{uk9p)TqNKIy4YWPZYHP;a z!4r#qjpl|*h?g{|AS3S(0G?y&94S$1bVz9O?T$MG zc5e~{ahxi!B2czx>`YA2gV7Nh+FCo!+0~ya^FVl5+U%N4+1pEd_StuO8HhZZ5~$1p zcMWoqGUEiDn)AXlfN9T=SnpYz6hZ|@+KiIUnOw{j(WHi`&c9qF?HNh>7Q{pjIJ2&k z8_5#R_KtvofO-!s#;gASz03bSc5PFdwZ3Vpyt}91NAKl&`{U?1PHiD+h#RL zX)o7X1RQZgh^h{aTmxkqMsS2H^@rMtcZSxah?)c{e^yBb3`lEfA96HbLhUn_@;ey zz1c8H_$Bi=aO`ku*92T^)2Yn@D)iZ_8FfY^P{Pn6?24WR3 zvM6bJVBohv_}!AxOrzCZ)jmn;^?a2sU-!ByXIU*{MqMSGdlCf!rje}xgr)$Yw5EY- z`xJo~RwIQ4GqrI#Ia(~4tZ+)`k#Yj7Jenw}76~H8px>zf1 zZCB0c5u+cd?Xt96WBufVXfh&9S0S#w41;k zEPrh;lC8aPG5S#VWnuJB5%Tm3L`ts|R@dT-6?`0oE^IbJVRt zm>K15X0cgUINUDcvTOwdRarHmLFtbegmH8`zCI>0586W1IX6aeczQ!J=c=|;+Bo%e%b zJT!jCC>{emQF=#l)(&6#-ft%aTqn9K>9Du{d)-oC-TQ7C_VA()fIoY{y)(p=COmE> z-7`{?l0UwcD#~cMTyHTci8E3xggTse>>~NBwM^RkFoRQm9fT?)^f$XH5PvX@G1s=T zSjgdcT2*z+sW>8j4;HK?g;uIoBU3hQlSQTSIzlt$K-}_vso^;Y;e{J)1xCLxGsgxq zW~NArqd9?xy5O5Y;i?zFcyzi!_{Y@`7OkM9KNB6)?i<3Lsvt5i!aP|}bWjs%h@#qD zNTKEr-N?3?U$|V64Obh(Y=0O(5enGm_^Gsvh2PO)>sV>mI!N;4R`+T)#CgyU11iB_ zny!_2CcFEqwn`W8&FObvos%h1ZMcA6aq6RA**LZO%L(V-{Ng>LFXL~%eRc8VL`S&& z73OSbc>e6A{eFq|am3K;DE9uP>g4XSUS9@GVmm6J{1*%+wnGlBD}P@LMz7>%*e&f* zFWVB@c_pv2_i(5J5VK%Q!m&p|a+PcgSVCY%F!i*$slx*A#@-&(%bALN+(d67VVna}fS#&ak^RyFQ0)Tn~XW>-LwJjKWb^@UFax@-5 zR60eI-^xK>^DT=Bl}LY%Qxxp!Q%w~H@@XptQ}&H3q)te zJI5lv9mgb4LoP5Ax@cDq0!2f=tFOc$T(AJd`4>vLqZdl2FNcUEM_~=1q~mfB9{dpf zkTXUcQy6r5#D6DFR6O;Prse-T^i6H4=rqcoA$0O;V$HXwW*2;1dpexaL8fVeZUA}Z zp~-FftglrXF!@lKrd5Wo!$FY{=`U6*Up+-F2TLH?V1^1u;M4broI#N)xfn^Yyjomc z<&p#}Y{a2##Mjmu((#`vtSP0)l$pNdCv>0^nK32*Qh(~sU~@`B0+3|GdTmPn@i0Rr z0fG<=?}v)KqxosKnG|!n%7Vs~4jkW;F`&9nK=4TKT<1suG_DTP|EU z`3wz@ZM4*l@1Mu-mGa4kCHo8|TVk7l38hcUl79?+1ZpUxTtu@cQ)L&NHm6 zztR&VMoTiPqiUU4^eqQ80+NWBy0AtK?7R*e0do{e0W$-~|9Je4qE5nt{=Ev1;IGuL z6Lm_%W6Eice8hgc4YN4j-~XzD=PW!phMz@vw02B|+3x7e{w+qg?6qIv%n**y?`I<+ zS$`^r6OP2}ING(YKQhZ^Gkm84FX*T$KnQ9v2)ULpXZOl?K*a}ov=S23&;z49fTYf$#Qu^kDQZdgwzcng zl6EHviXKGN?s#mP!xt6onztw>aJSO_6@MJQ^a;3*qkrNUmKzoFa9T!>)J1^#v)039JSpUP1O@u}c??D6#Nn`h$l z&-SpAMU0q@ma!C7jBtY2-SvF^JrD_!SEf;VrZvR}ypT>LrH{Bo<%6{adKMN98B#Oi zlZIADPf;-7)rp*IFzT`!G8Q$~K!38+oCC!yCSoSW;ugcbW9fIR)i;&6HzH|T2T9P7 ziytYnv$#dACZ&lffa&zn{a^~P3FNY*K};=R>We;m_KvnzqD$V+qX~{4Q0~ET{GAMM zhx9&Lt-h0jKTUBVYUuO4GaTRyCbZ5N`u7^id-&-^>dl|?Z;|m6A!soP#D9W8o3c?8 z>1s7Y?XehZ+&DAFnd4{{h~NC(-+lg@J!pf^xebX*muUOk%ghid$n~N%yEz8 zQAs=nOl4O36BtJw*o#p&kj);oIWdCaIHy)8;f(5C%ql0vwJY9zyHl|j((59 z%6K&iEkt7rEI;O3&U2h%1Ah$|gkL`{qLh|j&lV zGkF@Ad*`f(QA0;7(V|++zeOV1%B_U1?P{}|tiWsXGWT+?C}K@R3@0;z0w3A-PY}LD z$7%e22Xv}F$-->Ck+D;;As29CU!5Fb73{W#4oi6E!7m*40$H)^n1B8EQiN4Q$KtZrD3nqiJD8XCpunM%MMDHzsad03|NsIxrksBm%jgCJ* zKKkuvh(YuMRD^>R-H)+5u=ErP>nWt3clK$`bN0yITL?YGs|rzq2|o-a4Pp^|Wx<{yUMRo>tbbrb!A@FH$mxqf(`JsG zP7TUnFex!QKN9{9P8r<69sow%Aa?hL&fhuhSzo12xK=dn01Q!gHh=Et^RJ zWrUG1b1w?MRRAx_RrCmkAGddnI^GyK%ZPSxpH&ghFi-&U0QZlCU6eB;1gnsnOE6(j zfH86`1W*>?BY&22RzIiJH$)=c%yHu98&Jae;$sYXLtdNZNp!SYC665cOjNx>Dn0nv z9fI^u72A8HJ5UbFg9FsJ+KO#;$zNSvg15Qo@RJA5?W~o7UUvM8yaSK@9*nm)2DFbc z=m0x8D1_p98f7C2G3fa#duOl=<-Rw6?^xcSZt_ZlCVx~yBacGvc#ij|bH)bh+Axgw zhK5IxBw^sP?P}`S=y$Rg90(&YF*%9=?UV6I0;Vi=0qC8_ezVf%l>zKgys-?yiK3je z3gDN(+*Ycmu_WKgV|qrtc!YXi@((srI{!5X-#JU>uq-mzU8$$t!%TR)#~vvtI-#tP zmE}uay??TJieZ3WE$|F_ZR=YJ#?*T=<^S@k$)8J5eQ_qneQ`FO4NPk6hU$X)Lk9QOx3|0W1ryL|qy`X%8 zA9LuUdW5B(sYestlwT+1U4gby>Q#p|XUV^bN6ClwZ<8UF34r?+VL@=NsOYhM$IR$6XfpqgXcx2PL(c=6JWeWHm^!Yuo>x=vR!@c8t7y}xhQq2D|L*wJbbjamIK`xMzBR=*^Igbq1u zcD9YLQI^KS;cLXbxD)5%OuQ3M#HrX7FT~4;yQi-DZQT*8EY`GD0m>APKl>f=*9#)F znTwOm#Z}QTfy$5+AYyuicWwaZ3#1w#+kXX`*f8$m#e3O0<#D~?8?stV7v8}_=-Zb) z0Ew4-doS&M%&?fqMvHSa2Y#s~CKntJp%^ZZc^QebXc3>s=Uk&Q(!ft4^Q&om8~Ib} za!OrJk@bzH@aIYB-^Ki4N>bXF{=GOu*9|A_J4zGN7R~z--nny8lLq2^Z|@vq0S)+5 z%*bM%dqG;C2ECG(o16(W0t+RV(VPh#f2dlG7I;xrF@3y^8Zi$(+AlqrDcJ*2e2?$4 zJb!`FYkMF0=BxQIUmjQ#`s!w30P0Pd zibr6WmWzC1;+lLrpHQTCUD4LhdfK5XLVIYj#Egt2CW{6h+va)KnP;ZHfVcT4 zw%O{q;)bTo{_XFdKKktMu&MUg(7zic2WMP|!9FB-WL#4OoB8mTI9#{h9M=avo)^g+ z_JQKt+6(9-_I@A_E*bKpNWTML^&(p6QVYd&Mt2fl40|0f)X8Ba9>B-Ee+Y*!Mq3VB z=sAg(8?#?X%JiG#hd^4~Dop!?rif_*ebeTN|*DW2_*u?=a(9w2_i6O%?qZ{#PAyEqD87`l#5Ws z_kpQ_?{kHfR@z-My26!)xxw!$+L)8$Or=mgCL#%!Y@i7kL640gUZ@P*#dxM(b&ujP zC-B&4VYlg5Rx6x8jx(q_IT19anG%8~s}+i2kz1gP=^{eX__$g*iM74QE+DwE*V>oG zpa~@rAK%R(qoOKCtKyLGHk>*bkeBLIR~?^jCuNQo3M!Z{=Qf-HKh$}rm^tp2jUC}zkr;K8FFIb1Bo zV3&ZQ30HrCol|NmvTAsJ*gN(%Y3DvQZ3SU`T~4u&Nr@2ZH)r! z&mewQ=YH?cYg*+Amr&yb?xagzmpXx~ir2rc&`xj>1eS z>YV#ijfIYTK_6R9phkv@N+^iLhHRAtTu=t62(N!cjrWbdFQRWMmQ0E-qa|i2j|6cPJ#swO@)z{;aA%(MOCtvVt+TC-_V*c^`s}-M!pE|)P7U>g61dnb57}*@5sl)Q^i?uM ze;{|WxA!eu?}={n$ZjffsJK?<>7cm2F}RU#m2yJjP+^F)KOXbBm~Lm>BxzJ^=89w#t1{usIq6VB_c{?u)11(B>E#?>W1u% ziQHO~;VSw|qJGsqamjzs-e888zuD-dXY7Lm+`$kymQl!=4S5C0(DN6_>D3y z7+4!WPi}@aOzkGlS?dIem;;H{x|8FS(sT|2P4aZeBIAi$;Q<~{i1R4pIK$2{o@LIq zY`blmd229OEvuM1PB@s_t}iEU6Aidpjt3Z<5B)=cKl-r94pdCu1HRhEQ{k#nv&DDp zWG4PJ*`3iHOCD#wN~(jK1-dCvj6{FW39p5B>ES(cKway4#1i!j*Lists#^3r-k8xz z5#BVLOpv};3W2o-5u9Da{qP-s640ElT)Sgs)k|b1-T!jX%H8KHR_IGusN4HEU*Udh zT@T^-`B69L$pr6Q;ag{L=tthb4%7V_mg1A6ZWqAlh5OwYmL{IW_~t>N`lj{8uR zIrkj&0NhGA06n@^#5(`%xRA#3gpHeE@VLq)9%V6K-ATdO`xN63@7^+>0eR9)6l2LBJ{fMBB}8fF>WH{{!QabWuW#MKA!=3WTQ2i ztGxhR;Nw9`Up;^&4=u(?^7{&48+ zN`1L-JrYBY8udhj&&=-Bo{;#q+o;&_#Rx4fValB8vZq{%9uy@8oU4Bp#aHKkD(Ic` z>iz86!T-I4Qaa0w7Kk`CWW>P^fT?3vlRI7(DaNARJw5nwJi?H)_^{g_{d)H>V?%^I zh`+6UMjpT|h6$tqOPz~t9oGnTL9%-kgi!3hfqsY2iI< zU+qs+!Rtk* zB76v`ZFhjJQ7*T5Y!MHJJe~HxDMc~@eoxKWf3Bu1k4|zO{BZz{R>b6g*uc0;^ru^k zBu-jGU9wwW5`@c187Aux{f~rkvct`J;5nXoLl40aPOa=3{!B^_j$-51oav5Va>ozQ znd*|RHQ3f2xfa>B&Scz~3`5N5nV^o~RG6y%DIK*-kdl)B+Jr~uyHq?3uhPHC%c}%V zSi0tbCKreiiWusAzI1$lvBl+(2RssZ)sQYRG_%mGN0)GT4Am$`mqH@OEd8Ov_yUMH z6p3Mfi>v_*IC3b`*E(KHuzV&=7Sq*MY;YOGTf!>U#EFN>$*)*nt~-%&%FMEQBzT~} zDjUIPO{|*j(rMpIY`mYck0v(S2kYB6&sAQgd*K}^)rMSuv~5i^k()PQAa~s-Xu%5( z%=JA$2Y0)u11{QsZgPy9S_Lf|xJHU767WfuQvdZ)*9;aKcmb|*CpMY>8g2VpS*s=Q z@J7(BJuv+xNA+YX-i1pKrA*7^ws5FpbuQCQ-Z^@t0FHVg@vfl!l?C24mqyoR%#DVo zIgzCiGzblUe3uoUf9AzQ`-yrs3Zc|cJr12ap_8m_tE)wyF#j*gNp_vdip4)2smw+O zx|J$R9TGi2>C#3v?86_bWIpxWBdAJS4rF|GyOckkBd-0KGCEUP4&PqA-9IEIw?8lE zW?K(Yf!ivYnN~6)q-Ny=P+^J(ERe0P!gF4_lCH*o^#`O_{0s@`Z3IxlVi;|}FT-Q` zIk4ItcD~h-M0aEeV^2^#kc^O(uS}SllJ$mN<2xvrxESthd4E+V6hf8#5pybq(;ppNJ`4m#Qi4ljFFe2qLMNn!9|^tw2ZX zNCUBec?5btgTe_82ZIFI&ua=9+lq)-qBz#^8m{{EnGr)p0YhB7$(Nw22{r|nMR)Fp zm)oidApy9T{i+EtIuDDnt2$nul|vfg?L|=ur?T#Ag0XI4gGMEet`qek&00}>O#IqH z(7J|MWEZqfONy_2HufFx8Z=XL=(EFMQ*KvIh( zT8jer^p}>b2^)V3Y-nq|LaGL$Sr&@E22`uR-N~zWS@ZNGIcDVt{Cw_y?vnjC>=3*y ztmC$5N}bee4)e3*)eY;liR#P=jVKF_YAfOCTtz1>L~`B8>dE^Iwu^eE3yZ6DR0G~c z$`y7=sl(?aU5QYlLoM6U1N^EPd9&>kOofxqGcw@IXqGhHXrhS|57-<2`0caN&c#&j zTw#n*S;6ASdIv8Bs~7WmSv7pm7dHh2dxBmYbm5y4YE#sg&a4R;E0OQtyDQ$!h}H&` z$%-@jk-U{ws;Ap#AjJy`6c|CtF92X|U1!9w!%6U|mlCZBQ3NI_yx5m#tqDGVi;MkF zdOf6(>$nb^*up`(X}k#G80MOxpD+!b7KC^0;I<)M=zzf?D%^a{N(e~Wzz5D!a7m` z+Xl7+)FB-*FqIKA_1`8BML=aQ;TYO8s~|m#rhE+etgP;%BNG)BN|yJOO(Ej1pZoy$ z_VMY(=@=g~@%YKp({G=bQ?3aw34-lAeN-5_dvlkIt_d4|vts{OdP7X<7~nu+L}_5e zr(U^vMdP-HyxnE8_MoYH=L*p>P99%&I@v)fw33To+TDjdg_uMbgxFkQFuutq(L@JB zSD-dm?@CfmBx{B6seQEU{T;h14;qR*W?c_5RK4SPYGV(E%eA(Qkj*PDpzo6DkI`bA z?>$k1c}R$V7lFUGZav_exDLnpmlUeiqU7iXp(wCE;eYV5drE!C(xh$Jp?` zI$ezE9uK-{OAlX#_M&&bI6|ny|FpucjO!%Y(wvMr%MNmT0UIh{K@ktXBV&D*aAb9 zS2w?Z9$iwrWuDb;z-3OQ3MnyCY4NC08qN0A&EYz~5dG|9U z(Wl*w#uai<>4C}xU<8oWsb$ygVs`wyg7_XI3Tka^{4Bc2l~PA*b@9*IfnHQMlPilo zA{_idz7J{=^(jP0L1T{sN!Yz`uzSWQz?PGL!5j(6<^dp2+;SXmp2Qm)NRc~qKsW6Jy7|Zfy$L`1u;z;j z!^XLMq16qc@Bc9vrgg=Vi4w}e6rG!YOwdfPu2KSBq1tDxV#xPG49(?BBNR>X)pVk; z_Z85tYxRCuXmiPetWaVPXe3}0%EB9|uHRM3TzAKcjVjzwey`$waS$2oU=(58^v=~A zcv{kpb_N}(zAdp$iuFh;Bdw+~b8EJIs~5owu%#zRIY(lM_? zBMhlEwr#Aqc6IR1;q14Pjte^FQH^5U^Oo>JCC|5{MYf)lGG*X8TUK`+L z{HBVTJ}KK|J8A#~^+^`>qLS@@9#eTWjxIHg$XQu~=rQTq3mdEjp}b8<7lXpVC(bD`x_;(^1Gk4bxERt$>SA?Tmcz=!~n%|wL*kV$R#kYlBvB3 zpg|KhC5R{jWrU|j4%fv>UrA~1oqrdDQ65p$q5XyV%>_H(80F+`kyEtETjLaRTb zzPIWVrHb*-{Yde^I#}?rrKSuB@#@}hUykeqQrGK=)2gDB!Qe<|7n-%Efor2ZO4Sn{ zIEyopFgNlksRP-5qfxhF0U1o9-=QQuLWDGRi+T+PE_@AIF@B*CpaSIKtj)ld8x%4f zY%_^Aqm!Ah#O4?so?}gaX@h6OSzV}AB;Gd0_*mL4xeP*%zfkxK@`>P~B6pe~cRC%+ zUCk0kBG?u4Xo69Iv^CniWqp^UiVpGggvS^{0!H=Cod9zo>)OpsSMmn+NR{0PXbsZn z`G%e8%Q$Wrs@i-GV^hFo#KU16Co}bIY|$tw&4#@MqP7h)iB{cz7#*uXH-AMVa78av zTLlsd>p?2@iBHanvV-DiFh@)^J-etiM-ZLlu9dP`pFH9n$xW( zd{IG{8?>Qyl{SfVb9}i0RYHgkb#2jgM(!oOV$&dKxw{}QhL8bx9Z6;7+8(q8>_S~7 zN*4kdClf?R3IHpAL3(n!NgHVN(nXhe8dpx&^VI43c9tB;K0QKr)H9`Q&ylEBz}CLf z<=P4$m$03~X0517WxHNSbsJbZQ|w%6q{1REt<`WVCrUBZ9a1pIoh#=v6F;n{RU}#4 z+p?F@KA;CcL=^Fn7aoNyowkD23WlDM`dH7t8|@}dO;Fi?K^+6VO0ZzVDE18!3_?X@ zk70HmQ|bgmbZ4*!Rr{{zhIC3=HLAJ}LusRyPE|y&xyrfJD3Dz@g8@UVbZj=+!b{({ zx-S&t_|Dg&vPQWTRX`rCt?Obrde1^D2Gc0- z@8;PRW=sQreJ={9u`v00b_HL^^+v;MB5J7HC~yGKImNvV&WSM=EDP9KY{a7ACW*AE zd0cewDqln=3vI57cTMLJT^(U>cQCWqvg*VY5ot?R&*Sf1a@Y(oGCP&nYAUpNgWyDKZ1D$3hZ0 zy?_C4Tq6l%R@ykHp)!~KyQC_#5{@Uuk@9LfYv(R&raMC|>ly*o3FHFIXA1czVrNmy zouQr95fzllr0->X6Wtzb|3t`y;pt5>L zc>9Wep9|$)5pp~#Wjiv1;ukaz;TR*YLnoUrF_7ym42F>3y|XBK^WU{>!Fe8yJvhZ+ z^6#y`*uBW4e}^t(w`wS8LaUem%oxN|v^uKbOn-bA-LeVIQaieYo_5N>Ye7BuXutdoq3iFaMs8-6YZ3!~^cO5@Zm8H9!5a%gVOgDHh2vmD@k3+rLrv_-3JXdP-{ z`iA<#yXQ=U(|L4;qZt#|Io3tbRpHiuUF8nSTh`O^t_aTr{)X?wG@HoqiC|y|PuI~o zfzK|sbsFzRr{TN3y(jS*JU$6`qj&h~!*3vVgI#X)T!l4MZEc+_*Pv#Swl5^YOSI7P zU^v=lswLZ()X=tXc_<(b^EwAX#imsof;D!6?6Ib}P#3x31%hNxg#&+sad1q3SI0mP zviuR+eN%K~j&F(pCVKg%ctEfSrH?R&h7_zDi69{8TRxR7XI7wD9O-A!nz?Jl?>GY; zA4HhJR*LXkY37Uasyjb5GYgA`XyR8_wXANDuTrca#?EpG)dKI{Yyygqz_Mm`qBk*L z(VjvDmH{RRh7G+Q)cum{?evX*gIS|RAYQvtFRq$ODk|dLC&wZ54QJ}k-EAs*zLuU0 zC)~qT*mKxZatucw&a|x$Q?Nn5Ur|IW#@0bsQp>?2Du@k;4HGUzO_^ znH0BKoxx$c!~UQ<ko~;p+2h)aJXv0uMwy#ktOcef;;}{*fwG;|n>YY!= zArShNrW9#e3N&D@Isz5v&atv>;$NzJsVK0DSv%I-SbHXY1Gi>>>j;}5H7pQiqVXSJ z<6G`9aZ~T)%~B~Z6H|*kltC04^)fV{ z@dXQP-0RBk9aW@KR073W#R!5*Xv-M~JW81KJSAhtBfTUGcAmdc8f0S~7Kc#QG zqT}`%vRt)HTSsnNxQ#~1+9Y{fCl~$9spJi=$D@Xv;PI+>2{c_k3HegFyd~k)9WiI} zB5?Ka>h#lhI+s_jXeX;-Tm?<3=#0}uBrz#lt^UnSZJS&N);2D*_$znP)5D6U!@=$vYJllnm!FAj=`XXJ=xt3g&BN^Y}+5Ot#U7j|)SdS>SoDLO3DQ#Hxis>)uR`*=`h*mJ(=OCwqGhg62br z)dqrp?57$yZ8YLrUjlssXBx8Dmycj8WOJY$CXt6u72XM|b|1Yxbn1>c=`Ml7PMl7_F+wS-v3xMKSuS1O80W zt(+bBs8;7Bzam|anWts-;h}=GS4}y3vs~eAxp~2_00@04wE>MAP)2uA;EES?F0y_vYJ0c1zPgja1AvB6p*1$>9P1Mdk_l*C zgCZ+I+Yxf=AXeW)8~9~SR}Wiy#<}*cU$bvq)U+%M(W(JS6W?Z#)F4%!e<8WYz(rTG z1AnYM?0_#WL}CU2gj;M-o4T@+?%}0qcy0$1^ybZg$t8=w0)LEUN!FU8EJA^<=w+n( zRy(TeoS`&#FUuXM2%S7`f$5*@0G#aXs>SJhJRsH*!7ez$QRO6mfqs)Zx6-PWG};pO zDTjeG=bfs^aKltfN(P(xf2l^y-RmuU$AlJ>{8BSyrH@|YtynU7TV$eq`h26xpK1-z zvVwCeoJZ!&!V#gI7a?VaQeKSQ&Xvwu9h)(No2~641Aj3azzX&bF*b4?hi?zx9;y%# zX7j$4EuB;k!e@C$jz)+*|j3}*|ZS7w4+f5bu0jG`{BF$`jF zrmjgFJI$bo1nFSq;g$NgR4bWKtT}OpiEBGW%7^QmFju6vs6A@0wvkx{arSQ{8Zuik zdeEh-(Cr<4w+;JUvBrUEQ7XNSBDpFpr=r9iM$vvW!@^%ynqX@tA^l>ie6s zT484G3Kr&47$zxve_V*1xN#mxcvT7_ki+MNXwyvqy=!rPKf5YXl*5-;UL-d_r;#my z$7tQdFi~?7h}r;?Dv*$a*0c@V1D^S4ACggI)u9}b6(L@vnhiS^HKWM2&$)ANirSJ{ z#i;ql2m-(B2CJzTb6P`TU9A!$`r!LDv}j$aw{+lz2ARei)+gD=han5)KSclBl3c;%i6CcM?^wNr4Q4BUA#3O1Nz4_MAp{J*f0 z=8^n0Hqy4lhK01-Dc3^ZCF}|<7o#Zn%= zbx0$QrTG|2e?gI4QNm1juxA3P7dSIu1KcImL7tUARCb zIYk4exwfA1H)bzg)Q!4P2``I!FyOzKwTyYDHk`#++$#34$7W==i05xPsQ=-g{IVcd zvlXdtR>;DvJ{$zY2Mnu3B`Rh9o~)xe`EL)-SYKL_vZe9dk05QU`sxa zvg>>QJ_zqM?jEn5Fdxf`XU)v=d+jpWUM;bJb4V#I^jr=vH}~D;2qPlV5u^{JY|U%$ z!~xT5YZget^k%mniWaqSVB@~X7;u#gLNs<^NI6qW-3BIoiT#)rac`7&mCdpqm&F_7 zbH(>oe`?%-?<3=p1=v?fcsq5iR*i~1XD7=Uo+zAj+ewkxWDVs;0k0&mP|E2bx29D$#7i`f)0Ey%K)K${oxHrPU5J{k-L))n9qmgj% z&`>2ScK8+s3|_Q@mr6pX5;85l_TrK*E)8?kf7RjBfa4X>p%vC@pXLJgMTnua5z@xv zcYMa`vvxeb3XcQ^hgYu?tsEPVQ%-YsrTumr9vs}K@Q{TE$MCbDTIzC9rD%T$k21dw ztM%Z4c!S8}M(CkLxSF@Q9cdZRpd7OpdM{D&sMloU-gzLgQytVzK5$~{0~2lasvA1a ze`+Jr2k!f4psdEMkyc7>#@F(_Oc#x0atk;M-xSe7VFRVew(31Jp6py9rz_P>thZbo z*0dVNP|Xx+79Vs7bzR!-6yDLTUc#DVnNVQ?v$p{PzY$9ZYn!2n2XJh-O`3KFG}al^=K-7@ew*LD4`N#(oEqxoK2TS1f2sE| zU<)&*dl=Kbxf)^fFan;Zd$|Er2w6D{IA7Z1@e1oV8$DhnaGZDb!Xe#tRvkN@?(B*0 z2~gt+cl5@mgGDUe6Yk!U9DxFmdv*2irvQ*^Cn&rpgT6YBfg%jxd{vj}#4|Nz`f{Dn zSC#MWwe7X%LVXB?(<5{vQ5877f4nyb+uq*9d{;^MnflUgVWB@j|0Z@Nk(rtqW8-d- z<)`LghK?u0){IW|JkEJfh{?!q&>M;Yaue2k$g|_64h4({ZUkG{9(5Dsd?b+%4x{qH z+R`pl)}FvlH#?O!v+V3-jd*IdGvQ;+2^{901yxjOn?Ur+Bso|h+MA;?eT0DnlB!FHX>j zeZC^fcA&D?ngmL!N+4|T_Eb`1Z#XcW7L%BkOPsr89T}6Jl4kaeZ?kmpO&P>xhP8F6U0q;gO>u?1!&gVr{WywpXj8mRm|Yie}Naob$CgSq))N5 zW7F7Oh~GPhEggTX5$QE8KPO1p(mS1{F>X3T>H$WkA8geb2N|QWbHo_V{oppE0`pD& zu@cl{4WobzxT;E&F;rIuA({iWv0;G@0|xrNtaFfL0T0<(zuUB{BJ121O7h8C-%~2= z)t!z~r4_YF`Rch=e-}18z@h{=b-KK(KL%Q59_WWir&{A1zCEaE*{Qg1%2)4! zE4}avEh2yE9!_im849<4Y1&@us}{p!VPi1?;Mkj{(36IB05oZ+8&&cWor71c2wFYv zx67M-U4Q%`&m%I)O{G9Yfq;MX@INS#b@Fo{(#_ z7}U&W_>GAX@{RZs4he-O!>OYB;kSi9!^eVIQ+RkrsG||D%c@C$pva8L;ZLr`;a|%) zQ3RK+G|}OZf4UMuD`*2eX5?*hGc-!yaQ9A7c_b4akRFCZ3KKy+?(2$2t*|dtP_a)N zre#77d>Lu`vfWK9>TUP#bz=W%iL6>BZF;7|HFU0aq@KFo^)@CAd#x+}PAz#McC}nm zEY0KqidA8hj6r8RzKs5wMCDco!JNF;RMAef5V43ze^_OiMaoO}kHFy2tG;WsW977t zqdniBD^fUm@g7toJt5^Bkg15;H#|#|)hZ!PR$xQZFd>7AOekn?Mz!KUyv^A}vn9pe zSg_px7Ii_I+#Qb1by;5QFh1dU6y1smOY0axR02sUGu;pLSIJ4|Yq3E3LK!NlVWP~4 zPEB3oFao_;t;;yBJA#GpVvGm0)<}FBgu(UE>KK3^ttb3%p>4hXNr&2^*mkt(zcQQt zo0mDt30Z&qpQwAc=C+ZpUF@$&c>QVvR+A<@r*}ZZEL$UwJ+@@e$et5lZV4tK5hDuV zfS?YhkjhP}l2k5Jm5ZIr7*6OvM z)zDW;8$j6{-7uZm2LQoet3T~&FbJ+=y}tGSs_zKzhyYA6a3!?t;uxIMl6a|PeP za|C}p@0*AM4Xfb2mDSna`w|&fk%={4cDPnyZMsx*cuH}!vO7=K9x|;U)7ms<+|<+?#kxu*_HI?ohaSc<0Gd~#E~@41W}|w1 zjZTf3!beR_mlOgzj`+hoQYDL7D%}9YJfeSd>=-d)*Lr`oKg@XFN|oWp)p*#hfGza{|`gtuJ1zer2Z0=5Uil`12%qAbY=?KvVg>PZ$|`y=aCx+m^c|hZ<1rE3`zr_DPpK8*51)8gt&V>! z_E*3?hnC!%Z)%hb;xXc)NdatV%&8a08AIUnVd@-ocV7=JLx1Q)(VcFD~+BM3~Sh z;-m4_7peG>k}EL_`MN;9aaBwB*cX2}U+ZU|-n17YzfPZencV1z9wJl6b{tuw`NbLw zn?NCrKs*Ssbu4Q@F?kthtA^r4!8_2=q8=vD8-3_t1;^5F9`?I!-=9Y{1}IRP>bdJa z*mjs11oa4myII{wkiO|*1Q5HA(s6rGN;PuWdu$t=YdY`djoZ4>1VC7mjER5T0UkvZ z!f@v7|6bCmTQ2O^VIwP&d5k;GTZ73gXTAHRs_b>=n|M-#25GMi7e@pP^n9>Bk!MsI zz7W)a(^<(82tSPyT7W9E&X`&mNghZl**CmUY}*N&hopwn>62}yJ&Ek{@YTU&+X?nD zk!mvL8wivKO}VgcTrkNvG=hIx&6+!E);!8b#n^E=%j+LSue0si1lT(BzXKlPLkC9C zW56__<{6AHT;k_E7<8p{oG6{%8e6OP+GQKeC*vJOF;tCB(+L7lt9}1!6>vXJs)|}P zkLHNgFOODlZ-1=m(dU7T|41Qi25nIrakq;mPH$oOump94)QoKqXdhE z6QQ;o1<#k!zbd^?;s^%mEr5;L(F&Bu7=k3SZBJp!H)*~Jb8`aqs> zHLeiwkw_VE%*Uzp>_mTx!fb)>$HN4V{u$11I7}GO8ogC{-6~u`Yx+-Hr~kAu{ikY7 zlXj-E$@VFlsJ`7`9C*|>*&vNHD5J2fk;ZzCEG1SQ&4*=(A;C$IG}5B608SzcP_rIy z6Kz*~d|jQKs1LALofRUJKpbt#NYty*RjJigh8Vi=sx8}y46lFX#M{v}C}v^cV{L$< z%zrAQb+b7ND})ajZ~Cc5jIguIk}(ej9D=TBmyPQ?3=Olj!$ye%2H0&hf6y=qG8M8; zPP0!Fc^ZrP?UU~-kQz$qUFiw9)ZAg@5#hl!$QOC5IX`!ZbEMXI_#?KEwfq5`20>sF^Mk)>zy z=Bd}3iG6ZvPms1*9bg;SL~BJUy>#j+Bi;9Z%}5t|@*>X&7^5gZQE-t8r>Dj`=Z|&u zG?9a7O7sLI>Y<8?67QAXibs`GBC*%6Z(blB!_f^;heQ)g0}u8EKZK2NSN`eiKM(nj$q(e?>t@`A7uhAA z%56R0|8;AU&+`JKE-WjrtKniz{8Uwoo_H9D{?~zMJb5U--07Qpla!ntJ9)9(e{?I{O&bk+A=JQ2-4LN#&gNJyeBh105 z{r!utdk^4$DCQc^Gl9LiMjJ;H82wSy{c4!p_sf6Xeh?0=oC`(Hom57S*g>!iVbxC`_94eho(0wc*Tf#~2mgNb&()Vnuh;qK>f6)!tA8%X zyZ59eEldOTkw;NET!t_=SMQgya`H*148jK#1S0Ny_~*3#KKhwEK@`KyMfPy)v4O9% zni}MnwL1H0oKu&Qk|(Te%#c`2(qb}4vqpcVt1HC&cyfM5w=m#@xPxmKL_AiivbuO8 zFs@^`5-=H2Mfi#;3cTb)@(@{w*(&)iW%Rvp8h!bNSYq5O0uu-?qVAW1RzQZnNXJq4 zYoimrBonC067R%SH1guh802z_Gk-)ny2P#Mge%F&FMH7!4-pO4#$uF)FGK&ROZ$Ho z2On8npNOL_Z(w%HDM%j(AAo6k(e)n+x~6aX*@K5cK-u@AEC~H8<^hzN6dlmu$@+R3 zKJ1C*Mfecfd=`HB4{<#Y|Iw?^K^mz0P`>8zNO(b5ScWuKy^p%@^8yC;r+AvKmRPR> zKOU;j8r>`UrnA%8Ima?*r+Cd1EBjy$3!%4=VWP)eLx+&jVI+Qp5q+#!adO(MeaXd@%PN~ z+OKT8lcovdl`^Bq|I|xgme9LKtJJa%xGF z*7pVmQ`uMNEUFn8G{H|<5g`FuV1r8FG4Z&Fm#)LjKhm%f$ z{G~*sslRT#f)Fo*Jtc+Uu@l*rd16nB9$9=zH+9(q4S?&ZO1*&R0DE_f1X321lkAz= z-d@If?Dt^oo9;Yk@q!F2M7CLsNAQ2!|3eXp%sE!E?!*ZcE0H-dpgS%MGcRNUg>04I z50u>3P#tcZ5H^0Q0y}@vs=<^oy6geCy;TX{)4hGbly=`cW7|55bRMXzpUdL(L`Kw) zw5GGAlHH`JtR=wIbkF*Y4~(>tZF6guxP9qxsKb^7A?YiWf_tlODNBZ*QelE;$eFYR z%}DY;^Iyhft631KdX~uvT;}=wJ@OCFvYOzi*Nt8S-q|b%Nv(gXFmucFZcKWi1|!@n zg*8-g%lybu89h_#_v^n#H{Wst!lTcWNS|k)dqT#6ITNi7$YrcfQY9It4E5;}APeP6 z5LQ7ziOXc@Ik%`YRXAGcz@1D9rr*)mr8b@wdbuK0x$6qJmMm| zrM7$K$WkC;bXX9BuF`Tc1L_qL-`ZIe=|x=JoCy09x-c>_63)<2Vr{h4NqxhjBx6Hd zuClZ?N)cG25cBwbGN(feQ~B7fJlc!Emli8vN!GI2=<9z4yljpwFkK+zhp1%r89fD? z6SdZ)xY;D#2a*ECws~``HXI?V$F?3oM?7j4R2Pj7pMh*q7+#1DF|=Vm&PbU%7+2Cy z>u{pi-Scc+9ZqUwhdM!aKqc4ezWdI8`#W;n)k{AowviLl-d73Pe3;QA);tl+8lr^+ z0ojpxPbz=riLwxpR}8V3>yC?s8Xge;E}%YW9F&kjkXT7?BVcG&$}`65oD{mod<=u% z#@1<=e&c!O2qH+`J7!9ldN9hrnJocDaaNc%#VS5pL|+fKwqG-Z1rY$hF)^0$sz4{>RE z{~dqZUX{nurMM*VGZ1(6lKirV!YB@uCGZ@>=v=hDLp7ja+Gtu6PKR@C^}{Wl4ks#w zg1@#Cj$H*T@8m|4YMV%0EJma%fDD$XN# zTEueJc*;gjD2ElKg>q)SmF9$o9vLE%Xk&jvoMZA*Pcz#Nk!{)#jGwlenA{*Sq{SVJ zUlm|e0bFHnI*@~07j#tWU`t|Dj>Q@eCq4OTuVLrF@{+ei*^j}ebrAZ@?Xt}JZf$wb z_1EWUvKW8L^43M+JT#Lw7BmRvL$t_aH5B&hCSy%wW1TT*rRsaSQA-@xajyG6R`Y*+ zuFMQ4#t?3$&zxqOa4)P~V=7JKE)3l`W>dUN!I1>u1=RnEs|W)ek-4iO0f9J*uB5Tv z9!fbhJbWm`rCmCp10DjZ@Z(gh+p0_2CUqbNl{S@VuRm~;+y2GQ&M|6Akmopp8m@5R z9Szq+5J0H%{s3~%;9KFq)BRQPVoHAuwBy#9e??owo;8T}!K2yBo#RnMt&iLX)?!0- zO$#Q0I+d-V`>TUi#vVk}K+AoLR89l{iJt0FLgB_Z21-J~#bA>$;16`>;OQE=-Dh+i{ zIw-3EE(RMuvP2I385@X&6URZTw1h}rx^C;L+7!dmjwanOcPH9iD&kE_?y<)OHJ;&HF@Db|~ zE$0QWFqB239;hI*7_aBVgy(4n*A&Jk5QBNIKW@90;N-9^8#HWxQD59>_$S6m+d~{DTJ>W> z8PBhlgs(qP1#=(zjktfPrg0etn9E>@V~`-V+o66{2jIk5k9tDXTuMrtkO^hE)H+1B zw}?C6v{b@r-_l3J?S9CUiMyI+a=MgC9NxbO7FsD(+jP0Mt!y$5ZG&cX?6tvmn>rid z_lCpND3UVx{FC{7uU#YL+9@TM82f?wk+LF;Qn_xe1_bQuRmp#4Yl<#gf}^6cI?{{Z zs)ky!4B@XzXsMHq8BB4@fvhslW$i^=bOcdJv4(1tm`_MFp0>0kP9n#ob-UhD!XZYq zBF$AO<1N_NBGUK)w@}^TWexAz7$Xwl$ofRks04;hjMgxQFdeJfPOSsr(Nbyw3L&}WznFa z&?SUT#@7E_+)He$wvJTc*sa${<2QC*@Ecz5c3EhtYtMgbRc(qg-hvDdHAWW!QR*oH zQzsb?Ynv?1V6kDgWH?(4`?Qg-7@FzNNbP=sBa7TWvHY1~+^QginF}AK$!pEFY*06K z=dxSv+$mOdK>d9PY_&ONieOJPnE6pE)$8sQ(vV@PbtGR#4b#w3HtdB(r$45%jU2KY zua9~3c&>lFKFEgsQ4i+*qlX*bjuAi%xP2G{koD;8I$t!`tWYqB9~FaOokxDYo9!0C z-wQ2lE4R@c_5xgLrqBIN&!$a;ZA4G3%Tj?eu||(m-G`MI-Mw z@fyu5^_h#DD%z4}ZG0Sgtf=y_P8vDO`6SlCVdj67*UUh<%1A!gWNG+vvwE|6rp)C? zUyG#4&pE}lu^MIIS~=Tn6P?q_>#R*KLb<=rHVl(c+4Q;|P_}=DQaz-Wz>XOE18Lun zN8Rmt(4W{c&L{0b&W91|ECUVSyGBP6jdHYa&#Mll-CM`QlP&m*_U>#(AfKS=JKMk8 zuVa7URcESegDtIVr;2ygJp~dR>a9ku%FyT0l$lUMH(BZgpX7r~=nNYEYi<*DQ<{vU z=3A98mqQyCdM>Owgma{?tVemB$*=2jpGF>@ejnMbqlAh*lD0y`2vsT;rII`#HRF##-bzHJjUF!qvT7?*6XDLyp*8_rdgKpYUs0Svk2ZoJRgJ^t z`g-k)mX+CWa+mqV0=*=ILDP4~21b8ff24o6h%HcnJ-~UrOFqw_=|^^x{5cUbd5Zco zaNh5f;Xf+KJOvq^M&8NE$?xx893Q>?>7SV=4{%>5uHF;Pauawpht1SeJw#+e4M93p z>V#w5pdwl3>!0>RIA#6=rN(5@5vfv#^mD`yLYV7In7;CsRCxHgy10KqI~qQe z`D@P=A(Ky85|{G)ag3nVRJ@9wX(f^B_N59hmQIB(BhYe%&deNu^bwXyO4VrWjEW$q zPbxkoH&g5r`>dj1!42$f)rm%xpy)l8*WL5f(p2;&H6>-S?#glI-qo8VVr7KD)1F%Ffv7YBShD;A#;XqnYWb z8%_v|(znORlqV~<+Yf{_L@Am~Rx%u@L0PNmn>Y>uiQbRb$&S8v~S~h89cuP z9ljDRCMWuMf`HnQUc!qRg#$G%69>{|f`@e}J>*Hm8zh4O9W4ZUGIF|k@17klK!-RD zy};6IaHsiFSCI|NQ3iiv1I+%!Z zN-c*m>Xl;Ylp3>B>Kw773S1!tCcKHu8Im6aNSTOPM0%Ksm?xLX9Hb4IBV0*@I`men z$6r;&$Sh&OQ1lkk&}dv)(A|Z0IMmi5d6Yo2W_5_sm`#?0A@qNWyr#a%MY`LE>|u@y zBY7&fXHMnbC7Vv=q_iY=!b4z~lIal!Gf%_<;Y|uWgcF%bSHALEZm{&o7U9vhS*mDR zs8teB!EkNelMQZVVVVrr&UZt$1A)yxwcG~`El6H`7oBW6n5m_N);wX;5y0HU&JD9Jz-%^33HgXs88D2xrfdMIz6WJc#MH^ zbRg;DECJp*OQk9ipEWf==ygf)$kjpOCxfPlCYn7@2rM?b>tVAH{sQNCON@84>A~GE zQ&Xc2>CIQwq&+gBMclMHNKCrK&^?+BvdCBviI;1sf@9ztqF<;maZH~Z=i>ImfX_U7=n^92qID2b zwp!P>rV=I;66)v+3erxs;p2mpR7G;@>K@aD-oXlM2cyl;+OCxwZ>Jx0|H#vfQb886 zHZb1PQX)>q3?tPB=hpUEMQJ9hKzk%3*qH`Sa-_v} zC;77wm#~9rTX1le>?pQL^huLU!`!4C>=@bR`U=Ee9Mm<=wW^wU^%;L8qU&NgO;(kwY9oIg4*`!B;4Ni6FNJ!NSL*GyXTH|)tV$>RxKE130O`bF6pKt$5b&O zR%L$+k!QR!khR(*FQ({k8at}29D~_AXD0F-tk1qM>LVKtf95bx8DoZYB*S$T&MkT^ z`210#hsI1FR>WO=!ZI1G%(2vJH^M~cm~djY`5Dv$9q&uT^|!>HRX~7lvoRi(8)v^s zlnn2oFSzD?SHSfF5n5r^1kpMt0dT8!cTRt*s%>wyj;|G&ZQIZq2S+sn2#22&Hm_H1 z_-xBbsD+hkANAu7fMF=APkG=%R`d;%oDKGiQ;M<%6&lM8qS>Cxm0w5wqIc5hc;3grl}ql{t2w zyI^@WBaiuAMjrExMjo*?@|Z-AO*W#0Unx@~9Y7nV1jREPU)RflYj_qpk)6c0!FeNRZ8+t8$; zQx$?Y=zEOJEKg5aTOuliD?Cp`=OUeIsomPs0c(Jh~m-+N9mX| zTOUozY*Kj=YVL{rTzyz9d8euWZ5INC&2$=XZMs$7-u5o5cfNSIL4^l}$UH{uYs)Mj zVQ#(@4H#GTTDy)CUah~O9G~QiHKRm$fu9RSSXD-w+*$fWsvM^RcS3%D6%5g!Y)7~< zh#+UCA|Xd0+3zZsAUVjG%~hCK5R7fJTI5ZbPwk$ROFRW}!lP~`N3C{mwRkV30if5O zrw}c)6Y!EiPA$L9Hk|@&amldgswsSX+Zq#q!TK54B?vLdnCyW&^A`yAgqS*MbV5^Z z3lMK{CHUUT{s(wGDh^*uzXXjbmpKe7Bwst$LU z)E~<`GPgK!9R9MZ&Ct#F~<%9M|Ez%UI8BEfs4}`Jx7YDzDja7hZm@tX?XZt7?iF z|2&WS$xen%hTDZ+9<#lqio$-Rg{?v#hG;l0K>3IhGUD(8wMLEw5{W}^(@1PB4c5fg@$Q>(@v zYMZDA#@y8IaReoTE}&+9$Bp&_%d)e8V4@lBbCd2hPPCIIjl$Ypt82eHhRw%ovK_+@ercW zO)-)F3I{Evu<=ofrpLjZyVL|$X5k0o4s%gwZ|*B2*0mt}6t`Wb=AmuhHT8G}C+E^~vsu|iJ zin7Z~rD;A&B*NdH7Q$chNl0bSnS|FqWj;E#LwD z3Y>*79x|#UTuE%NU*L;WZL2|CNvz8P$BnB+nZ#$53h&m)92UbEB8ftY&k!>BIbWxu zArAcHuO&&-)j`A-*!^yAf&G#+uC1&}f@?V9jl8jEz;K;s2e{ksBkvG4=8uq%Um-Jp zu=(-p%eI##Q>Z~19TKQzaC-p0^jt&pgeDP@A353W{Gvw!sIbLF{np>cm+f| zze2G|)sW8O@}XZp!4Mkt!<5Hg!^5=D&W{!f8sWnFx>RaZVorU%5$_@yFr{zLGEgSo zIx?C5Lc=kV8aXIygHW1)xOHA$r<;Q`+A7X`qSYQLae6 zycqE_v782rSz|keyLTgw2T{G#GCERTZ@*A9k3Z<|Qyus4k0#*%-MkWsNEpRh-qTEs zdNl)In3PXTX5|R_HEBAx$&l2X?}g|gk}`V*a6o~(3S6?ws48>h0UU*4$Fgo1bGy(c~@z^t-+_{ z2Ui)&FVE#?oB5?s(?Fxa%F`1prV%_86LqwDnmHQMNx?Po_YFXk%vHUInfTGnoT=gw zu7}#P2Bm#b<6JfC!$O>*}Tn(JHE)<=UwMD1;BE9g@O3Cxc?O5St_$YhPl6L6C z+FJef?b$r36Nx5&nxc%7WvNgws7fv&P7As|qCBYFjHeiMIgAYu;atUHnFxvoHOuFS zQm_*6!83;HMQlQxvvdQZ7}k}pr;-L-Xz}bAeQ-|GYySGBSgua>9f2!K@^K~KJR&t< zIt}+^oWS$wVmLe!`)Z3nH-UG6c|VuEtlac)XL=&;i37!dtsq+NL9}4+fZB0a=v~BT zS$dkHi0#A#Um$?~_H1VdUw;x=Ak3$Ep`u(60wzwsj)dgya8o^TX)!(rAg#!BC=<1g z`@?%!q6)z*(UjG#tl9e#um@Q$;Da;dvnIv>@8SY!t zi&TN!!P3+J38(S5WZJz-g%h!&o{ydg3k@6rGc6*8z~6h)_(q0&S2e|uDW-O7&lwU} zHl7?ZFFdaBj8v^icR5)L&RT}N3eb??1=gYsX#6gJ5OQY=w|ND@J9+bg0UQ_iIIPMa z^~eNfeS^?rt$es+cIm5LPpCb5TgS|J^49_k=Gzny4(YMIH}_Wt=f_wvH`wKlEqANn&yH&qfM$Q?RcCu+1NahEniW+scj%_ zk>+ISZ$PGOmZcuuU6|{=($wto@$c*GNcKU!3oHv`u7Xowwc)c8nM-?vIfk)XEl|VC z6sR4ei0ll6($(rFy2{JW1%AfUM#9oXi>rKp;Z%X0w(ihyA^#r)h#$*(Mk38rMu+II z2dhY)c*8C(Ppmj+mOB~6_O|b9-+SG0f$_PQR`LX4s=QaWO(;~^Txb`x5pUea%C{?6 z5PB)p&F!p5z)4BtGhX5n3%nQ>ZcOJ|b*Z$lX@qBev*jhV0N55wh2*vuVay&N$}E+C zLtulbE*;0yz;^mkW|$LnA=*WYm${mM@SIPGCmOe-HsS~cJhvQr;;KnPOuxC@zumLO zh`f}Br+1n@N57N+gdU_K96on?s^;N3LI9kftMc>~3gf5Gc-b(;e zhmz|6AGTQ?9zgy@q$j_5z94;m(~Go!)D&ixU+p0^d>qxY5X@;RQR$-XmLZ~^Esa46 zx-)Wi$ODkc2{NP?6#m&O^MwM3qmfWA<t3(4-^-NlAT zqNOndl*?~0zS6PYz@Y}Uvp8Kd6(?=2xOreGEhEXM4M#icYcp_Fi!Gw+?VB?{iIo6T~ZR;$jMfyA? z%W2c6si=)@W1|vWgba;>Lokp0?OZNtZ9@kn2JIld_c;ir7b?8lc7jlrXecwpZ8scc zZ81IU$=K2RI0jenY>QFhS*=h3K9bwpIhH9;4QnAM?1EJeI||7t89EDpu-=pWjk#m9 zXOEzc9-~>8I3#?YV2Ck2(_SSN3v;K z7+X7&BdG{bzX_oH)dpN;MjOb zm5yt1I4sYz*r?z%QW5(v!Ai_E5^mgD^Mcsdxe4&zZ!3cx+j}~HE{%bUU~lpDjNlez z#2r_om6_QcTd-LZG1)CNmmk0y*p2kPP#>?ou+kli+0|Wz_7UVqm7v1prrdPYcUra{ z^;y%^)5KqR&X{QnE1n_14BeE?(Cy!cfMySZr=Pg#mxcGnDDfe z3LLt-`OF}ZPfd`2$UoNAQx!DxfOs0X)kmBWd%V&#DkpEl>Px z7j;wOy(;R4iV`qW-%QlW`pUpqS!xe{1z8GQ<3&;uN<*Cztn3RPXb_Thf}$w<2CUX zQ?U^F*ap}8X@Vem=opGz$%Jj+B^mclfp6*{5JpEnKzc8;o2`)KjiC7sCJ$;^CEL@I zTRy3*2cD_scd*tj;^HjLV4-nnZq~sQFP4ZnOE1WOrT{rL0%)^_y&!uaSYbH*s(SE& zxQo#^9l0^?%5jP)QfJ6nDixiIZ*eqUOlouDB3UluGvv$))P?Z+gg(X)Fd{{~0TQZY zO)Av+y_!UfDX1_5OVY$GgMb3EY+?N1{i4VV-`k5bkfgS}U9^?>PC9Ft3;e9lD=Q27Jauh{7S)({ZyQ-aFk)Sf0(c?Zlw(@ zaIB5VHr~B;Y*8#f=g425ro~danqX*m)Er2EDSb&`YSKwVPBayOCSMRe$3uU*zbCb? z-3h8TIkP7SeqeEZ5>(Pc7`N;?pe@y~qDrA_vpOlxK`x!Jbu>nPA|pkPfUS)H|6SLj z>0(5&(?E#5NSDjV%)0TvGhs>mrmI04zBG3fdZzhwkPQR-nj7o{kkR;V<{_Jl@p3bN ztrJ$4hmAp~D(>mEgpwtSFYAz8AU8~|askXLHPkR$0!t6ek&LXtmqV?~`h+*lmon{{ zLnNZC4LMAYJBzdWjzLRBzt;;YPO)nFkz(vxk&j^O^#1%7vNnzns=k7HRVxNYmg^bb zjueF@5ZH&ko?Yv=8|@eL)1a~PHkd_!E&XQJUWJ_|E>q1L@-$|{e@Hfr-FFkoDSWSN z`@c7~{qu6|E;+UN%Y}qiG6_=Or3U)!rkbA}0V(3^W&{h-o-~6sDFE zZP{3~V$qQbKC7#!!kOF1cXdP*OsnkrnFe#QE{-6lDbF~)n}hI78ccU7GA5!+fa&Dx zq^rmudR&*)NuUviZ*M`OKJ`x?0n@Za)5g%s<(B)J_xRBR$oBXo=%U&ro4(C`=WFt8 z8qM?gyMI#!bnI}21|QEA0} z3cz_SP1ey?4!INQEXEcs3As|9s0tn{J3r1iD9B!MXGeqZ7Fap^UJbrCR=SGKf+PuQ9a&R|CXmH{6p}U?Wh%Ik zyZhJ76n>R_QDGqmP{NDj7l%i0pB(P(FxP@0u2~HKXe_Y?l+_ zO{1^ii-Vm@L1$t?95l^tK!iUlpl3V; z_mEyKs#yIUuhUWaI`7Ya(8te7iHic2xhc0&4X#YoW& z^ZdRKJYXjY9>9-U6!cxRHG5s8NPLu_E%XEYIN2F>zU@tuv%tfpL!sMQvR_|^li_e7 zZo(D(>`os*J*GM0)@3EEzhy#>ouPLDJ3eX0Ny`KB+YHx#vQFmuz`nme1$uvka}1X1 z1-bCbzVf6=FU>N~TK_pqv(!}TDU@pSN}emsc$vR!Se&WZ>jAUmcbK|#fbgGUU{}wX z(oPnT9f4HebiM+n)Z@8MdQJB1bQFVsX0=tiC#T1swsP=ghWBQn{!7UVewbH2Em~WY?6>M3+am zZ*peY-Ub%!Z+M4W~VYaomJcu#pC13lJ$NqL}3iG(s|(hMIC=fqDs}SP0e$ z`oAf_Kj&317SaIKg*gQ&;m;Lhc%m4xX9c=9qf|oi$1CF%ZP^wOs8?cbZ<#T)O^u;# zA+UyjNg>1Qu~{*lg|D$EG2~rhOfI-N0){~b+QWOYl>m_tPu1|9E%v(+DI}>+0(S~` z>Z`Esh8lgTLsQ&XOVo@c(kZk;84kzfxttn44j-RjB{~!jrvaB>b&M{gjNeme%&^nn zU^b5C;>4V*({AOe-V&2Va8G9zZwwYit1X26q;7N5PlO89Q;Y9J^v`oGKI;x{%1-%z zJYC2UmDbLwaIl!I80N~y&57XddJug=BTrA;TY1uId|RLUG{1OAYF;;FU~GJOwt=eg zm9Z_Zx7E(WRZOsorJUg&R}=RXt#WE~7vh)~b+d+PNfh=BClkn|Bu?EN-xAotXOn0> zPfkI+Ww<#(KcRJ%JsyF>x4Uh=CwEU zfJuj6tCnd!*A3)iu>`WRgkZ8ytxu1*4^{t-&G{8IBWQl?+Wr{Sk4m$;?3an^+B$xC z-vm;j){8Wv!bA~43(`QvLzc}%2Ej*E!3=>vcnG0Bg=`hg1d5L-pAA(bcwP)FGm+B- zChH^_730SxPC3|^vop9uYmDfBhs@7|K#X!hS61);K?jCPBMDEJiinO5sp6$LOv%$* zzjEjdg*u-1A5ax_)hRzzPwZMTLQ8ZC5CjRx=U|_m$uO38F6auQ?g7tC;&0;7#K z$@=RwR4t=`?YX6v+;Zb@p*MI$p4CR=-NY2JMiSGLB&esTPfrkm>LK&7w3`0LUbBi~ zY?~MbRB}jVE@hcZRpyd^%e0I8J=2pA=wk`=F{x`FQVcaGt6G0V zc2glswZ8cxSJM%dCVKrqv1;+~H!*V9byFW`pQ-}(tNn!=N+4XML zrAj_{*h$run8A}9c*51DN9q#QH=}rrY4k%gXsV|5+@99c2)by0B@pHJMwd_x-UCN; zK5*u|ol}3-$tfp1WwdGyugsi$yhcJ!u&c&nXE8KuDc6XHl(79u;bl%m~CF>>YJ`m?!sw2k4iR3k_#{MNE7Rr(u zL$`pT3&e4M)afff9o@^H*rio9;1~oZJZH)*90Ssnkpu6#)@MR!_lyPVp(y0&SVIz< zFN37L6zliM%f`h`IEm1xVX=U=K7pnq9y`d?=(GM*Wm!euWtvvyd=XE{v~G$R>2DFt5_;|;f_-Lx8i-4nu8ZM}5HwT~z$B?b0A@%h zhqJM`iC{nBu_OPtJy~lUJb$flMS)x60xd-{liBaoJF6Glw5*jt%C9>G4|c+Cu~RuA*9(=mD0eM7mH(ujPJerOQ15l5}s1 zqsVH1%4<@HvlVztJM719BlbS0caMMxw?29_iRVen*C-t`-`+w~`_R;W73wQ-j^j>z z(`8aPRr@J{8J}JzI0N41Kg%gS%vEdmlV*|+$sS`tUYw$m5!l~oQr?c zg`dtj{@uO6zrlmO?u}w!fOzp$=SE&YCcfZ*e8l%aA@~cW;1A@$AAEi-86qf#E}#_p zg)H<-d6Z!L=Y)mSj7<@XBERy4JhBH`C&^A`6av@4cilLhUHdoS7p-t`<9*@Nf_TphzR`00zo=uPR*MmJ+| z5QsN?b453=qC@d4dO}${Z^Q@dz1@4_U38xMf3L&`@hlK8qwRT@=HkxIHKOh+lb;XU zQS=VMfbHIfQv45(UJVb!H-RkgQBV9Hy&Pidht8|;L+4qj{1?{H&ms2x?(fV6QNlaH z2YTG8@WQ*!@5pYv+}T;j^Ykpk9+D4#2Nr}GrV0*E%v%j-*&K@ezke?xwI2IRTPalgtiAEF?=zJ{hNg}k5 z_Fb0&td-H2*6Cq{{`0u9(nSpyFzX`v8`SM;33L$hLkF#Pb`JQH_h4lOVy5&DAEI9- zekyYK{6OdUFzSur+wj{Tk14S9A$hCc1*)mUsFNRO)z(c=$~qF%t0@r`&j zP@nRB|4n z!hVk)|8BYlnuwL`E@5N#{ololzND=HAR=-CM>$tNnB#cR%XZ+YGgzq*K^jko@Jt+ z+Uq$-YLKAT2KJ8xCHE=*%58sQ6p^G&H2UE@Af})D~_jmcV@lYtG!DnS)s|>`$%5)C{mLw-r12~zA#@VOCa<$A|=az@ZvtS z>jF9j<%j8g6h#;JC&XC8FWfG>r zm^d^F%EAye=_u26`J)YZRkH#K@-43IFj;+v!Kl4hsogngvkLgVkt_nmgS6_2^STnh zf9A%&oTaDbXLHx?zFoNcc8;QdG$BYNMHolx(=5E?Sj14&4HR`%MVAAub>I}JIyOje z!LS|-AHA}-tT~1gg_T2FE%Mt>a(~90<}{j&7Gq$yF|4o?LFAGk-srT(X02~ba-G43 zJ$!eC3ZA2A+F8L4H<%(fcqOLdi1x4Cls#)Nd$zgk3sv?7mwmxyUtrmPT+raH-ND{E?%s4Vo(jKy?o>!WBzMmQn=mq~ml*Fap0nBTx`AUpAjy_59t&g~&Z2YpE#SCTl+9O5XI?F*$mm{w7yNh=Ngg*YBeFgFgt z?d`;JhadVdAwc$8;o@X}qMf!8ZJFp77SSFmMKMt+xMd}@9LON_kD=%bDw^q-oC3-v zZJ?&ev@<99dM<@#oO+!(OUrYXfni#JWC9sc7Q0055pE$9DoJlpm$6-TU0T$o)l2O^ zkFJ0#JiN2lz9*w|fwpQe|mD05zFn-b2p&hVmZn zz6tdwRM8l|lZ9ou2I9*&ouiEf8| zIW|;G1W$C}h=3A*6YpS-AnlXopYSkh=r6ljK279dzZbYJ?xFX$snoey=e%chjBUG@ zpx-2G`TR0kcJr$&DU`CVwxt*}-88uZUY9*(OySR)g_n`fm93Q=F1xCBx*(I%_^hiu zw46VklXTnT?+|+C_SQ+Fws-M?btYDBDnP3_TgqtGV`DLY7QlaNQPy+IS+wP_@n{x9 zA0cAJV{hdlUXoLqdEELL^Vodlx5S)5Do#5rwQTY$5MFit8=I~z5MU8DhqZgoih&a` z$T!7`ppbE>eV7*c;u#4@!+L`Lg7ea;%6!_EY2@jDibHQ%)rC8LLG@i0J%-Y*()paN zl9&wXVaWn2Z4ndJjt3JXUrDp|bW%ECSXObe+0C*{=a*#ofLl=+eNTOkhk=8i@L(E2 zZSm}NKvtu_B1aKeHgdRW-Ak>+azJI28bglc5B(_|+1g6nJ37K82)zkc-Q{Y5%JC(x zNc-M@_c~X}`|}iy+j&GfvhxIYw$+|}$94yOv&s4cJ&G(Ue#eAAx9JbBcsvHmFBU6A z*+8pHNV8U!&7~0y9Ikl@zamS8uDOw@{BO~)p{uW9e`?A9YfI+eEDHo0D;yT8KgATn zwyL36YLv)jH(oA5IDxv)iK0o|H>T=D9(Q(smR$sexV?RDuR3^E2E&pbg%+`UmD}s} zd;1ldF7*wne&5C6fJV`eoM^w%i)Huq8?>=v zZ{T>4l*$}gfWr6Gz`?z{vwaD{gP$GQ-Q<(hZ=d6+W8>ip{q|Fx>-j+cMHi z8%qQPmD(YwwI3vQ+v#P}snJwX6Z~a=>1%U2gz17cN@tzGB<|693LUNKx>@!<_fXFH zfb&e+)A_{^n<_gqR2L7h57aZ+pP{~bkSe|mA=b7JNjn0P$TQS;C1@~5wsZYJaPZ1{ zhL|$Mm;uDVT%eh{6d{vY1g(R4tb63OGaJsV6}OE<6*r^W#2h9w6ff(^a*&CC7~O1o ziZscLMmDQig4Wg`#=qIdNTM9;mnw$@+#1l+#MrvEyuHy3GL4oS$F-0XgNKl31MbM# z@CAlXrp||n1bbab7fY>Ek0WSO!BK>vV~Zf<-ezo7kTK~DH11vp5AyCcNVpiwC|^Lz z4W`_HtgFnj@cAs#mRRu6(OxWnus4c8OrvaPhpII^!@nVipt^__Al_a$)PZ;3W5R|* zvF2i6)D_T*;{XKEpPH6uiOmg_al6BfWx*pT{Pi;lk0S)*6B=K zhjW;t6Pr_9DrUtTnU{QIp14QmnQcyE+2N7t>}h(9E*yFE90vnK(GHQfF+wKrZWIL> zGQ-*iQdgJ|o;*wJ9lK}k)V&Jki%ptVyp&;<{DdE)6Dp8cF$Tdlg(brMn@B4&DYv)3 zDdI7YenhGp2zoOxlj;E2*Q{TRN0_we+_A|C0?wuPpkObGDfFQsXXwu-X% zzGt?`28|`AB;W~6+?G`%^HwplY2p15lyg+f=et}b zw+VKoJE`6gQ{x7%_aEJv`OG?4f&G=JI&>p|aMJBM;vb3UC%Zi8W^^~5~tQLJ?s zU`0kLNIO?%phE9|;kGvLwszEt?ldp7*%CA|7HB|Y8X4Cb zN!t`c$XK5f6oCoo;L@xlYCp}!rM>0~=CFpe*@Q#{pk+(DOYRr2c4D2z-2#a>*a&(! zi88!*jg_^>eyoY2r75yak!4szY=E|<3xG$P5k3<;QmG7oS{Q;1uy}Zt=`1gZ*~+4L z#=*ZW?2$AgegwmClZFr347BULCYA#2if?Snp4q++x!dKA@PK>(aMar`P@{Z%yN`-w z(&8Zkq-oh-|-RYUsCK<+pU|4ZWo+s`mVMLqY)Dtf#^ z);|c-D25sRJyu#{y-4t{43U%dFih(EG;Gt_Ffnm|4HMh9>YS_$$oHXXH%i-eFdU7; z`AmV`98XZNQc_g{)fvM|%SXL2hMCl7+!L`fanfcHEFRb_EtL5QE_S4%Gtz3)Er#!1!e^}b=7&k4{s9}Od5@u#AlqKpy5)yruwGUd4O)0Bc-Q|V^FjxuC>9>dyhnrI5vk-D?i|=5Q zG@2~)-pFmi%Fl=^LLTW5^#LwdluC)|N76$XznK|+xint}erN`4N@>&PIq*X>;7&@5 zA7V;}j265B+it2Qgh`YuA;2`CgGafmD3`K-fNl(=-yD0X@%zv3!9X`-#ba z0iU^tzr!S?;04qni4>%#v&c0Vu{lJBRdQ_~Z*QOGBGHe`5frcid^81fym1(1S@h$Y zv8vYzbI}M&t_QPUEAWxrfnj9`? zqG@m*J}*VhGCrJ8M!WP7y0Yf`5Kd=*!sYwJls}+5I-F4g8Ec345}{2>!xyEXbKdZD zX7$3E-0)d9Mm8+QU7EF-MnaGvZSlZCv4gD(s7j(O^kWPN07YahQ*)^nYwX8j9;{j)EcaDM?PRItj=`TTU>8>yPXSlajY&b@dEvz zi)4v_V|e`AL$BaI`la07_Sx9(DBA9sZr}6I)vDW%&S66aHU#*JB~R6#5CZ~RxewHS zPV{5@NJEE12kZ}Xf4eXCgAk;DxO((ve9})k-yqmx@G zFd=;#D!*=Tiy?An6I5;!+l59VKj4l%hMU1kqq^UqLF3NO4MN54BLE2oM8~-AzQ_Bg z2c5HC-~q)Y;;~f$0&BEoFA_F$!7#Pjavwy)cnB0=A`%83qS?2II(<~R;eF1)RWOup zKT*vf^XO_E-3+dFcCI9UvI2|}lsd)Nx~oi$F|unoCi5C-$pY<|HshHPwK*F2N6}PM zm!qyJ6#Z}z6cS2j_Is)y!m^xNIRj-Z6U~RGBwuoKcXlp)i^5$h{D!R?V#fm1B>Feq zYgk*y-Rs-io9+!=-ryyXA-a`z6gP68p){%I-q}Iqz2oQxXiR&5OE1lq4mowZZ>)K6 z#q;1w;!AFt3N-o~GT9SA%v5jA@QXKA_uja~o2LQ7xwMYog$8AKkw!mE#7}AT`$T*P zoXSMJ%cEZ>;$jy4IT5eYsOB6Bj0?`HgBY~|Yi&%mm(7Qc{vh$RtKv zGRQS!j~IZ|MNrymLvBVOCWWtc0z=TnqEI#`ARGcA@h}=U%UYid@T6BZj#vvYlL6c@ z&@L7PQz{{t3IoBE!){W8V8UtRi4;MYQU+nd6b@P?7-d&Z{M zh0aIMRF#1Hrp0DIl2yb<^)Q1kGT>N~1mtmqXTmdX@(LidRuEVW#GG^-kcxv9sbbrr zK&%vhTzCq*cOgZUOewt{+8SsX!BIg!Zx{)6rhuRts4<&8UTKeplJtDGR|BQ&MzhW; zs8*`=T#KmLnxTSl@>e1bLU@PNNpbDP*o3dFm>t&$TShY~Cm4FIVD}RE8X~yMJv&8$ zNlP2#zXbjVnFSV@0%zx9e<4e|LIY(vshT@~a8gxJQH9>uk_8P}TVDK`)b7mc)h*05 zcrn)cRZ1DH#~1{y(DOu@*mtD0c3}f)jI4a$;ru36?k6-4e3AP7U|h%4r~;r7N#-N+ z1fBI*t`Cz+@ue$4t7)FlA;b1}Xyg)Ln1z61IINXzCR>(iv;9ivFfjm$c(7<6lW0GG zufzlvm_LjBm9>r$7w#4HpypF&jMTrPNCD2W+w>g_$j}}qnb;a3;o#IP6Q{nm0d`_a zw6KX#<0MiHk*u*5r@>$s$nXNf37&ysTYJ!DRk43j>HW=6b;<|GY3k|e-EAGX0Q%0% zCJU1C?&Z?h(HwMqvlg-dJ7! zC@#`~FrjrVQ7fvx_tn4l=Xw>vnW^X#(+H7zhr^R&TyHucLH+Hhp3r~*UYcyEm6lUY* zdRqV@lKJLi0fCodz3V|pc@Ft#!2usf0e4f5KITB$C^0*A#Btq?h<{3fO{bPTCPzv% z(TGbc@U6h_O%P#&12{RgMz)^_|Tz2W#fYg?nQW^}~QWHuGS(?r{ z`PxX3U3n#}foTk!r4+KdjD^iNtaRAeQ*HeMi-6?Bk9G@WBu3}cTl?9qu=qjxp7u!> zCg2IzSlvoymJ)xlkK`ytnl%|s0Hq$NTT86t2kO>{ekzw>APPzX_feOuAPO)6mY3Zi z3bFzp;g^vi3R!sEc^n5iTaMjF}4&l z!a*$9G~my?CT(6)yuLa!tCZFpX|jd=)Q+LFCLNy=m*s!OGt0C{rsS;2nH5V*ab}i2 zf!PS+sa1+P+@RYU5WefcXa!RnmI|a?ctJ?6VVg-OO2YItSR~f9I;?|~rzSjDDJUT? zrlcj*`O$V##T9U|^g)8E%M9oQO472WV)9H3GLGS32qLWjz z{Lr?0fLMQUGEf6W>xqGD6U$_dh^oObr@#&cNQ_;42v=3xF5Idh@Oer!vx|Da2CZz7 zJRQPl&>0;{X@aj9gi$uMLPlq>94SI{&=LTfV-pcC+rfB;Tkp?0l3Z@#oS;9Qvm(CX zt284-8yN`74ggnG!FYp2qV{&#@U}cA%petQ9bSKNusJ0*3Yj4ww*bkcN7ug763>1p z)-CKf#*l9Cl{pK zzbeZ-b6;&lKBtaPrdw!M&{?8;wtW)ng)%tICxt)f$lAhFRYJ7i(?di8AgtbMwBkRDuH_>+AuU^8z>8m$Ao zW@k6P40h3nn9z}c4VSr|!E*ZzZaJgAGkLF)%rXDqwr{cmKhS-w&wK8MRC zXX8s#)Bk#^hZl&}CDZ_lRy}UUfrxH&hHprxL%FG&;J^V0ft4${g=h zAH&Cgo+3};riyae{<70c>Rl&MyiOah!qj_8F-a)DST>3&-4sMcFaxKa%iBO4&l+D? zJ73Vw=`eBS0(jkf1G)^{jNBslCz4;AgvE1`oc$n%Su-r&i*ID+u-a zt@OFcfw-(Eny+*Y63p>_bBln zV4r}cs@AFOvF&GR-P^!g!P?wG8$cN!$t+rX2fJSAEV4dqMJkP_Bkav8L9PhlJ+Gzw zz5h^n7rHF99E7)2X?ofV@5tnv&(o!PpiKN8_&2-3gH!_c1Y{OqY#v6`Cu8zvEG@c! zqaVQ3M^{1*c2G(|j>69PQ*yR{z3ATSi<5in+Dxuay35sjrh5LD9i3H~bU{%vn&WwL zgJ>|?Of%&%VRKo0%RlkaBrCv(THFvtMT-bNoQ=|PbuwtLSpB;&P5Z+lJn8lBtqZ4) zg{~PwAeWW6nzfi)u20dMMb4(q)DuL1XhV;#r+8pLrRW@?x9(M2|JByIUwP6PGmYNk zHp6|Ib@|1tiv^Oo&TsV8a#c}ne2<$0z6MW+uQ^Tv6o6l=7h`eYg&9w%3NSZ;m4LM> zw4LW~o9sN*sVk!I6=!s|y}ZlflN9?HSU&P)zY$=HNCz;gepWL^V6jQ-j8fKr8D-Gr zyGfT~(8JWAv*M=sTDQSJ)hExVN>vmnYci0>pCiv1x7^{xZj~|AEhcOV?+_2#yX-2x*N|QJ^XU8yE_jGMm1hz0CTy? zpkWgRn3zB6_l74hHRsg{aLHVMTMC{vuYy`>U&Ei>C<*eM?wMPJ#3^t6DVs5c(w@Bb{?F(())oJO* zZ^n^ZlG;^IudsE}nS)fpY)C+nncK_DKd(H=u#ixo%@@vycl{y9jfl(*9+$3P4DP@u z{cpehwwL563LpVfmjx*bVgVGFXekORe>+iRXc6tMFt%xi`{S$%@2wZrNu?ape#p_L zWSwU(GAK2j67)XnCt+FGr}MB{xF0CSMN|8@;kYIpzDG!@c@XBqIK&XFG^%(SQlQ;E z8p-_|9w3?V!U?XKK@%Y`Z*;6NkQ|Omn>{NXCTtwq2bnDzJ=$NIe<6Dowdmtvk!r>1ldx>8NH#+sit=f2m3qbyb;FfotDZuG%~F zmQythG%l;x;R;nXgLbA?iO9xUwaTlF0zGK1;I~{-sYH<|#WE2iMdsh~f2O^c<^Dn^ zQNMqJCaz6yWe$rT_Ux~JrHGs-B>+`Gs=q^;h1)&L!FR6#KZaVNa#)727c3tq!^93P z`+Fi$5tmN19}QR87N3?iR=%r&(%LK{Rz9f1s5A5wHK7|J@t2Xr*53|L6btzlA3c`R5D%`I3LW;-9bi=YJdi`3L`e z%Rl{|{FUYOsi1Kspb_QO|KA&tm|=KJbEDn>xAsTx4&m*C*ZBACyM6fk%l>zG{rnyL zefHA}_u_;zu8SYN$~e??jNXgv^8|c zGW_QLSAtd$W`up1%!Ixp0b0L}p!d1bI^k!5=J-Ctg{4dSvTArns7FprX&4wV%gF{c~V+6*Z99I5#dm?n_7`B<008zy)UvMlx53MoBZ&5+Mp z;4=*PwBaC*q+d^q+HXMAe)H&?!5bZebn8{*XS;7;jtv$pdAG>Ce3pN?)$Dk&M$bX) z8VU~kDk30z{Q0^H9G*%RsZ!EmI(jt@U!m~yCXits)@Djy2%6`|W@cYj(b3G$MU1FO zH__$pF)j*h)Kzq$)*SZ6o~<19#Ch~C&>W!^b zc?Dzh3dZJ@8JlN@TwDd>L-fp2y}mD?)G|^+nsxXjCj6c5bKtFH!ZxSyULJq`hILE06g@p&^7O!; zuMHEsO?jUn=nP%mL;da5<0rSbSC8%?Fu|LR^YVo{UdBa_A>ynF_fc_Sy4eeq$bv46 znoqWHqi5El9f#I%;5>eZ0YG=7gQPmzSYyvUoqkh^tH82*YUXza&vO(@A1izTOYn%* zJ4DNW{4BNT;Fy0c*~Ily{0TEy-ybeTViWW>Yfjr+Q|o;#_xHMUw(`q1bexa6fqz3G z+22JAnx=m?cDp3-Nz-?lJe1ix)G;#@F_MY7SzEPZF1;crQ8Ac2iqgUE?j(rSnEs%q zl$0$!(*iG?D6J&MT*(~~1%YfP_4HyZXBuKfCLfMKB6<55?0Dhto9jkOwWQi$wV+m&h;*E*Yo3*Z=mLUZ>ybBYPZ8 zDCuGE+iyGlhn+8%4>1ZZ4D=r^u0LTT-dc1Xx|c~Y3U+_zd}jJ-pW)zWY<{QopWNK@ znJs#*?Dgv`RJ{yu^wPW(tqYH_{wREgEos-Ns;q{v=HZ$DW8S{nXsvZH*Yb`-R5~@S z9jbbgJRkTl4>pyJPW|1kYR2V)* zO71Pi4>f;Mq6V2+@62JqX726Ey`8$Zr|#{-z1=sw+)+{jK{Ejkjb8T@jYxQBAv*v> zW?tJT#hGTAP!B~`3e+0|3m8SKZR;#jib^JS1A>lls`Gq_z+3w^=!)*KC!Vnb& z|9h-a2$JPrK5m!Bhx!0q@+3-V&&+w>|4ZGwHpy|NXJUV)JB5KNiPOby&M+)jF;M|F z01|&g0K}jHlEaRU?nG5~R}$5kHCb5=G^*1va;!X(*Rs~Jv1_kGj?jkJvDyzCvEdK$ ztR;p2%UT?1KJ8!ddp(z|tOm##N!|%gqw;p{=RNQBdGmEW9uDT!m4&Ib5}<%Qq_eS@ zO5?YgUMsP+dQn{mzRdkwcMYJTuXPQ$#=d_~AESN0?Mq$A{Ak3I#?#GD%-tmP|b*%#AR7^%p(*b;|^ z4#+aRv>MZ!H*LRW3EiGiEJXYLSsZqP1}RBRist{+l<}Y%0i78Y=mKyo1N)RiWjrl! zDpqdWL%ZnkG<A*~8axz*AV#0GLttya=9SbpD{gpccQIcEx-h_=$}6muEBzWPk7A zNHG5gb|mnY;X61ItYJBFRgmQ#ccFQLDMGo&oB)VAlB>yA>WbR}_F@Mf7+pgKWdrsE@s$2jK?GX?adMG)U=WRiaiig`E(IM0u z6+$;{*6^Nt|25`KrB}*1QDB?yS)o|q--07|=2eDh!FVZfyc zJN#Y5KxS3>qFn>rYK{eSp5gK>W_B)79y(N2wt%&SsQngEH3ZoIC|XAG%7JW`FRbaK z4j|gq_(5$`Pn%&V;dS8m_auI7+Z&uvhR_h(EOvipqjt&{NzpV7QRxRoZlNGHfO85m zXE5y8P0?-PPa6Z&nlxj}<>c{Du+@wB>%<@K?aa#y9sBEI!U!`kRaV)sw&&1h1ftFv zxeDEx&3ds-LtgZGau7H|a#Z)T0-1Tvc+s=gG;Ai(40B}y`$>{9-qZ_KORdH3-pCyJnm0j&ZR;yM)^Ut5ZI14 zJ2@QEAg!F-Siy|Fd4N~9ZZ#*d+1?v^VzQv!kxkViBQYl&_1@W_phX+m$)27DvdG!r^2}!Rh5@588b|EkbHt z8)r!yH%$4Q8IkYL>z8{t3My*fFDt6TTm4cyeXs3$Yt8Rmp{vLu1oOFbj=?On?Q}^> z6o(Mm!a=>m(&~JrRS?RUz-fQD3+rjO345#If?-o_4X{QVZtVu*-d>=4rn5kQ-P=}k z3yDwZ?#Ek;%F=dGNL^h@ntJ1MtG5q13KRhmd%MPmHt5I?P{!~75IC;+>z6b-3NZm@ zmu5N&cYmEs1ms7=34*-ZfAsv}vj@iy9v?ir^LYOr@;q?!?!EhW;67sN@irgOay3{G zs?1(ymoLh+nhYpgn{q;MVOb%}M{1=cyt0Fbka-PO;wZn=%4|%s_u=j?ZP_PTawi*} z%EBic{}WDx)xWWN!d*Fda%cY@@I7>bJ;~P3j(>%foar=XUdNWt=ithWVo8Y^{jWd72+To7pjQzrj41PAYAL9 zJAW!-{gd^O2hW$A*>Y^Vr{pUd=f-@8)z-HAs>ZGzh*j3nX|%X+*W9!2{%>xMRN-qK zac~Yeky@=DFWKlVHa4-Z1$MPI_!|p~-v#|m2j=5)a%o2eF*qsr_2g0(L}xVjXwy)1 zPdp=gwx*p9dTzpfa`v!|VBZgD2LI5N$$wXOoU6-ke}$^o$#+r`8X3 z-J8A^!86lJxyOYoFz@Q@b*&QBnXzfQvTOH`{cfxWec;?lb%#X6c=znq@^A98GP!?G z=lO{CWmB|u-yWQtDz6vmZwfdgUdSyUl~c^8_^?bTiSzhYaVV#UcgrznF$zTvet-C} z+aTr@=35c%{2KB$S4yvNo%~{tU`y*h?hH0bV&+JcD|_NvvSnN0C8m*7fG#~vfMTO0K~r&6}%4_zjPwZzC9^s?5D zM)QF{&vtZ#keG@w%f?wg>sfBU5PxtWQP38WvRp3n;4+SHi7LQ3>x*zyk*loB(96vT z@3h+EYvVFUSsZ2HvFbXN^ois#aH!#nYCQ1feOaxi_QMS`=-x-Tp%?89?Qad-)3_SG z^mCKaL{ePbB97}RI(H)k^S!DI7>kXV-(i;@|T}k*~x#$>} zbUe<0e7Y9b(~^cIHec4}Cx4mwrZ(xqe3P5m!hD=N{DQ}lpj-|qkpDnFw``$37V$(< zFAHKCa{CJMHr*arF|ZR&nBjiwUQi!$HH5*PC9K0Xunfs1k}~;1Ez+V&szdi0^1vCS zlyv%aHbw*JxXR}>=7Qcu7mKl^=Q-`C-@vwAahc3pE(WXUtDUc(KY!R^2@6qOml^wy z=A3;L^;e=%$5h>_6#DVO=Z_hbvp2RLC)z6by23xpMiO+Z|63|bGlsy#LPv+=qe1u~ zji~p=S#O$kY-Q%F@Rh;1-F4tQ#%qIpBN%KPhD-;vkO9rvL!T0$+N9l8ph=N?s@k&3 zm~aeo^1$V;ob?u|k$?IEnov53tVh#Cm)qm1!HF8&n;NE8gB#Pv^@8oxGtO`z!3=5Zl;E_i3*3zqdcJHU` zFYo8w6u;<~+2ybflEI=T6@B~)5v1Ua2+!fS6;4{Qj6un-u2%4YwGHu}+!E1`_8m?= z+OBdS0SG*wIe+gnFY9bhnV%oH_2+r~(hS`|?Y$=;wdThPWjH!~I_r=I##=V|d3QoP zj@SY}FEC$8OXZJSew(z6sMpePg|@-g$CRLPjBr>9iB@JoKD1`X#@P@Rt(Y1qH%B}Z zFP0#P+!ZGRbbCe}$wpJ=uxpG^r$~#3HT`!t&9ax}@PEM?LFmY1$aS}p7zXVX5**xH zsX0_=gR>QBo4-K_)<9$GJ<*L57+ir`hg*~LcE_SofO8(|lEUEhl$u$FDU&?aJM8^O z)I*cp&+t~prn-6afg{K3>R@8+y*GA|RZ@ZvJdYn*6s~qI;8{Kg zPOY+r3*{natz=5W(6gP_VKy0U?+tomQaz0L!*{FwG|gw(1S=nm?O{9i58$vg;^O?$ z#<2;OQE%fqGQsGy&8;>aB7&Qm&^BMvK2$xoD1TktzSutP=Zm{posOs31QQJVmIeK) zl@ia-vgc3`9NKD;s0_qX8u4d@p}JBfH{BX;S46LF-mFlDf&TM#5+P3kEU+SduQBsU_T0{dY2J%V9_{v94BQdFuvgUm>L%`w+j<8O*Fz{7V!Tw z;Qwbao|+tNka%$zc5N4ZWM^H(>I5AqtABF2m|cP}^?)pC&mKJ-td5U~@8$QKKuPDR ze}_583T#w(;Zj1^(56#48N>{;NG8P!R0sM(=?2={U&#@wu{cAs%Aw}8~jcApia{|lC0hW z(|GmYEOVb34}G21{Uojbsb^9gWE|_7EQX6Dc#x~FlP%U8vHY4!Bzo4QS?{b@q-4oh zs6SSCn8UlXaLhgq#|*(Ob$>KA@+>P+6Kpc2ktD^Ok!R#ukR8EPsWX2=L!Ve{c);`S zWj`{3j6)hp5_gNFN{4l^?yUYaa0<85a@!G^Zjz{G*%dD*o6XeP@+;h&n9VXepxTQ9TH_BNnUHR1T7f5Ek4c?#G(qLD&!RY3ux)db{?a(0@Y=Vfq;P`>awA z%#M-ZJO{yWpl`gUSXA*WE? zt`?0y5uv4{YZL=J2Y<~0d!1YC^1$iUa8452WMyt!QOIX(i^#{10xeMJNtY#0JZ2a6 zJfXlsQwqJSqO>F-ZUvunYhijbQW;nYDe?o*`5hiJw1zaB+9n#RP-3G+5NfKdTFLj( zr!;@51H?r|mA}Y_g(}X907v(CB=rg7UV3r$+UNFGh1IIg+kZ{-G;rdPh{?#nZ4L)c zR)wQ=z#zQL;h;a%5Yi*#@=6n1fmng;OisMQ1st!RqNRqAR6Zd~htj8~nV3ErJYuU% z;89!2&7Wp$mT0g^YhgBbrilXhG8W4H96@`2{qsNi)j$1rzxtQI_?y4{i^!bj7}|tS zpJC(w^I!ep-+%n_kN@s3{^0NapI>aP&ePZU4Z03C|M{=}2!qg3l;m>$_TT>Hum9D* z(Q=?yFceb5FaG%3|LL#4{bzq1naOfKLoFH!#)F98-uh2J|5F;d=0E-Xe}fuV3#nl1 z+yCqT{Py4fFW>&@pZ~u<|8FCcy&h-TB%5IU@ANsh`+sl#@BfaPPR-u>+yC{S{Q6)0 zvv2?KFM=YUm32D%?&bdK=YRR_zxlV{{)a!=TGd#B9i0u;?4vdHJ67>8{==_-@h5id zsf1SX7ScGF*5Ci-um1Tj-Zrhj{{8>)zsPBYcI&jhZOp&()N`^&%n`;#dFT zmv5iitbes#c^0?uVr^P`k4rdOs6m(nG#H&YoYtrGTZ-{#^(p;cn^JrjbZM){J&L!| z8Cq{Ip<w>!gr?6 z&;#@o4|MhtDCbY@jC+1FD_RGbIyE!!DWhiwc!_*glCbAWKwW-sJ43&$SPTPhK@nV^ z`0TVl43S~Pm%_Foiq_J`Fpx^-d3q>Z>aghJpe)qo*zFh$*rrD=I9h6=ar+Dedm6ZQ zjDPmsDn0ugj^u00p*v-BdnzWk1&_STCk=Tr)E z`T4N37L45rI7Z)I0>cA*0uNTNhw+OOZ_%_Qgj`0GAk=){*zq`<*BF7Q@jo3i@g3)Y zmx?#-t*>>FW&s${dbS~q+3ce2{0TMI}d$IA0$7kyrgZq~aN(x;8 zx0h>53SWPH*K&0(-k0FR4q%9wmV$uk-Wn7wMo=_6`QGoL2Ecy=01OJxHW@Qx)<*3&y!tpD-@dH-Il&JMews)_ta zzh$W2eV}UEE1O0u7%Iz*yKxG*>R_bo%ieGW+pXZ zw&MV|%kF`_=Zhk1i%`#^U2k;xUa>C3bdIV%ea8{CC(f-s9kA*n*wJqru}phrw|2w{ZycM>Wi{(wR@{qZ*2t(~uhEmC zYp33OU0c~!)?AR{!K6uP8(PG}6dF1zDVHj+x~bWNp&Up;<#qAYE#mUXn|dpHdBCDw z6W=k}_$m3plMfafw>u`Ets`ZUd&vXKz^Y$5tA5$o6oO@6ZiesLyMJG}-$Hq_kn(2k z#D~2q8@%YNk3p#h@dk;hF42JOhbxneH6%FLv?K4drsShxdF{d~B`uboQ$G7|O9C=Z zh4j{5kyTL9$=o&b?Jt_n1&aam_PQpnK3ElA2NixWAXuurf`wiqwnh>61y#5gF##H6qOk_Zt;#XUJxw9v1CYK{^Vp@1 zH2MZB4?C58@=iHV+G;|WI34)sb9AZ*P@l4Zbux9Efefq-QEZk}1jc!anD?~jqVxv} zVT)$j#ejfp3+rYe^V$UUp~tdUos+f+E_^M5WmFBko7P3HW-$E0szGng&a4{2=?~ou z;;k{FSYw9OwttSxJCDs-R%8{106c>S^wizDQ=Kg&!j_f_#m1UhLRR~;Do1~pWHwqg zuGIG8u@F&LR~bW!yp9<49uFYgd*d)&)~MALtY+s$T}16ZVo9d-q89udSSI3$j5-6P z+a*Ei(vmO-iDXk8FyxJw9t7KtQ*q=~q>J!=Nhx~VDwjh~3L^r40GDV_3M(u{k>)e3 z5S2_dof4>(T2?c)v@iv!^<7Os;W0`1;=y^!c;;4jKz=jNpFZrDzfTHE0T!1EPzt00 z3zx4@3L_0*P7JsbQl9z)#}ee*m)}qd8v^fem;6u)9RX688c_-~e>*PrW-DLpsD|Yv zT>6{WwYP3Ve3Q8ne@M(t?XAol|Lz=2+jo(vO?^urUAorTbPz0$c!m-v&Wl|48 z<*e7k&gxpt8Azko*U|P{zsT8R;EYvmg{~Ew!C+eM9y2KQ#wycj ziU{Ty=QBH>*OyUqf3i7cuiG&hS%357cFtBc1!P;JDS13-KY@F|jYrrD$H#qA<&#cE zq0Qo&6|POr7*Hg8AM6^umMHQ(+56G&(Tz{i`JjTwELNmJu%To#?L%B1hpWfgl5na9ip6SnvGt>WOPJc4^dzPPa(!MY9mQUr6>s2%S zB41Cz(dw_^?lN^26+o+g-9=BPiQvqhR$2BYmoZcd7=Qa#M^;u)w4udgZ+wwA=HT-D zML7dPazI=2S$d{PzA&s{IYV$ijawQANjAosWW%on7%e}=22?pl^*CYaBpBOI1x=Ez##pt4yK=t=X)5VY{V zyO&1nJzS>A^IV4f!S`E{kJF1mnSQr*_gU^Qmw(T+JCCtDaOD_xKpuaEa?=$-Qn*KhfzxU|x4f^|t{@$U#PbfjB#XAD_!QmZY-pBqN7A_gPudW=R z8!p!|-F=^aKFO*l@LoK;-b6x>&=v5rqdM7R%w{x%;$_B{=$(s~T?e58$>q4id=J19a*zdxX=FAPzLkha-zdx5wDiz<&1Xk9J4dEd&M0;8fz`IEd5O z0e~IFwKR<#uQcV5~XEb>5Vnsjvl-8Ma)s5e*J$^K58Ha_4NmDJb6WMH*&lkY_Pw{~rd^j=O5Z5v?Xc6fx z&D8mD%u&av{*IGmIh=fyOox+Ox8jx5H!+h86D@9Wtw9~?#&eECU6={0mP>yDwHMzx zFTQhV%beAe9nDnPe$Hfg>?uOwH-Ee|gKfGO9~o~LKT7r}DAl`>jri@cp-(>WU&r)m zboEiT^FjMPxCQGQr2uo;-|PFu{}mn#R)Bv`HJ)J0hyJ$O6SFI85|cG7t2z<;1;CatRS z)nH6Gffg!h$>s3HG*oEK`I7@G76B?|mjqZcI2Y{V!Epd-e1VJ%cI7e&%!d`o-3r7T z4|{XW_YAA^vP(NUcl-U)|BTHmufl?l$tp#7#Zc~rl>4fy+zVIkEAJ~kuMc2hoBd=K zKv%aC!g8{0fvr|8DZ+n`|ekW-QDYATXlO*-P<;LIcT`=)u9tad);qxDO`2b>h4{gCg{3+klPdP6(x zCD!9`qO}+4?!69(KYx*zxFFX50Q2Duq*Wd(2*vtXCxwd`%&x9ZWa%A?Kg$_qiw-Qb zE(>q~Adqjss&F1%=&;7_WU$T0HuDy#yBq^aYlBbIk|LoH{MO~>DLH`uxY6vXxPR|PjNdgcb3}$Bcqm5k z8WV^Yq6&1y>mzDKZ`SkDv-MWMl%$ua+hDAsF>(#DU-}Gvaj^6)xxsb>4>e3c6rr3? zB~#Xb+Xo$Q-nm^aW!%-3ZKLETUrFPPwidlQ*MbdWi{8o*Y*icK#LxXF9rs*sG>4Dm zyy#d)UiPPOcYmfCAsylTpO48qpai`(lMt|rd8Ef_=(cZUG3i6W4WUCZD z=vAI5xzrs$d#+oB&BRbOf~mg6i`7q`-t8VEr@sQ6L(b91lw)8wMW; zL)*gSS$`dT`uUfSkDq-021iK5S^Ph zr|A3Jy#wt$Or0ewTwg~Xl7&^MgP3m^L`n2G4uDp1Qp$H(fn!>M^w6&1j>R(Dyjc8dXYqPYL|_DWNU48L z5+?5SrQKFjSSC}ut)`M0jIBxh8}EjRJ=fM*r9)J09wJI$*%~CIJ3aJp>{?0wK2q3e z7#0hyn|Yi_HrTZxC-8DvUD|^QRrlNV2!9qhyweDqRNFXQocNKKWqaU`klN3?i)eVQ z)Vtvn`KDkdM8ePvH_aQ(J2Yu+3w8IzY@kDm5x7ANlRPNuqY-Qo8=b&qe2EDESv6Fv zWo@@TpLi=gmkZmH;3Lf~tcPWxjB4w(FG@1mXj*N5ezQrdz95*!PXo*`zKN5r&wulR zeN0OHDefgHS|R!N41db)u^|YT2gL!fFhF~jm>-4O*gi%blhB&vt$DJtRo<@=RoPVw z*J;U!PXtw=9L>TgY=tEXf zwfGQfr9vd#gOqX}lyVL)p2tQkOMfr3%SCVQGWw#6FCpj8Y#*E(OMwQ*2BsT$$1{Ys)pf9e{|3TGp3Ez^MYr7| zW5(K@XmXpmJ@3EqG?12~5nX{~zaXt-glc>I!Hc2bL>Z|4w}0A9bn>=2GYUVn zB#>*ZA)ao|Q9Ft1gi3{cnCFa;+1)v6&kj?K?2r`kpjS~S>(6omC@~d*P_nqj2$TUt zu62f^I+KdQE(>1dP-EU+^-ScDt>cUyz0=RKWy-rFC&kGV&FR|m#f3gR~K ze&ad%eZH(0!bs~Wr+*^odAfMn_M8mY=rG$z4gFLdDyC0$S5Jp`=bQ zLBMJw|FOoZiaR4*Jll}T*OQmrYa$a$vk-@Lt?2eQ-D!vI~M;pxDyeCaAM^AGRRJ#5c2kX>m%SBi z#n~nNbCKpV)PHz>DO{4hAzW0zPc-q$p7JZlX`S!%4*9Uu^VCbs-a2{X(GO_H)!qH)3$Pk4M82b*+P?LMbN{Inu<<*3uYxpzXx5A{mO@tW)Z2B_!H1aVz3~je z+q)aarfJ$@n&$j8g+rSPM4--8&)0}l;rR-bQNgG9r1O%GyCbz%bkR2ZYT>da`DbQO zU#P0oq(x0Nmanq=`#r~CH9qt=6i^tc#sAF7+zk;yT7c5>O?Y6KV}5sOLY zGLu=m--+|pv4?1{(3E3a?*~c8Y;?M$X14p=OA3a%n*#HKwNlA*gDteR)r`ArID~M% z2Cu`;WzQu4g|GY;2=8hWvV0XH%NtvHWs}RdVSn{oCPzuj&@{ulS!i`eL$a!XlfD0H zcNeeM^V{F`^V?f`%{18_F;V(rQO-a{iukz2MEA6zG0ut)**(jCM+DG@j?0Ue+ym6- z?|SOR?Oo%gBNi_bwA!`Rh!Li++L1Zj5i@z9dqh_#=t8JPB%bt9I;TbTx=!w9!`HRN z1Ao_c9%@5H|92Dsey=p}0>*-7HUip)K~kaDBPL+5VUS*iJIr^6*gd|TvzJ*DYb1?8 zV=fqMLnG z_##pa3#m%-5vQHa#ZSct*GZGg^6_}ek3e8)S*sZVMQc7e^qplKOQ2|?_5oUdqoWgL z#~#Nf5fKeP3e{J+F`ytck4uj^H(nBw6* z*%@6GWsUptbBV4hI$05dU)pvvP}m_A9WxKBft8OO+@q{mw)r=9`>s6}6Vq`OOXO>+ zj13nqhf!rJAVPJ1A*U1YW}U|3PJh0stE$dA3g`<0&%vao?7xdS)98Pzo<&l9~erB21_L5b{(Zs ZM`E?2zs$(lcn!JAX~~ykmxy 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 delta 640454 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�?V`9Q_Q%_g*{)mK$;wfH&?;+#=% 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

    1. lyxRKe@e{K!l`(B zd2I<7C~A?BkH({VJQ{H+#IG5U%Wjxrgi!v0)~v}{iWY@o zUQ9a1&QNo89qm6=O6ti8#7FV(!uj1rXp5UIXd&ACQ#tq`xp9M154}rXM?H5_-oopz z3!qGCWzsN=GL*NxN6j%|fBA^GRSh>K&CV+k)9BTu5s{m~Z#G-_P&ABj<;!Svki$p_ zp&AJNei19pMbwC}d)kxMi~(=~iq-E_6~r)XXVYofB&k}~oYEnW8^5j2{epj|5agYl zROM+htBNz=uqQ=68Kp?Ax4{_?`py*18lbyUY0vw4Tlbdho#Juoe_o!{P?cJL_%sLO zUUI5bFLg7Us#zYgjkuAuPdTd-E6)S7IGAp4Trfp|Lm}uaY+*jD2(cfN2)`+>fZ-SeSK8)k`wjs*I-J*NQ-uIbf7TO)>{i$!Ax>yE$<%zxoA-1vwgq`TXwPOa;FSzYzMJ&fZ#;nUM&HCNOJE9ci-vkqpq$q?8Bw;`(6 zX2SWT3&TPuA^3C%5vG?b;TP@Kh$y@lL(Y4g$JJTZnBYYWq7POIMf+h3@f^m82Ny24 zq){8vC^Q~Nf2G$Rai)lHtH8w1*Nx}LIt_xYVLq_pW-!p~gwydQ)<)1hbs2X_Y5X`| z8q>v?IlLay3(NojV%=052t&>B#Mo3bf@~TC8YiW$QUAFOFh9wSDE%ydGgItGi9l4;ew>bmX7p$Bk*nd6GvMf0OI91Pce2eO;QfUAfiB%v?UO z?i^R$_L#x&ORKA$$j3xY*yu;tK{XwZer@ftzB=meuY)_$s!u0S zau<$)e~#~8AAGj+g+XXwE0!#r6(q60%r9)%U4wq-^aG_gf0%a3`ReD+IU(R=)KYCI zHeZQIzH2*&-YP&VRpKJd;-z}Wg!&NoOW34`ObuumLX`@|r%SYf*mNh=(b-Jx*(YVE zfT{A4a_4gQ#j~O%fvrJgLuh-7lb5iHolxp6e-3)h3#$#o6DgidT=!ycIMVFl^lmZA zgWw3@zI0@gkIBMzEQ(2#2>ZA|DXbh9#b#nK4S8{RS1oaCI=l>rqi@}2uix>!n2hdl zh%hFbCz~A8vP6vC&1+|$9E`XdDDL4-8`Wt6a~OWYH6`U73}aGq7u&JhZhn+dBp zIMX!vW;WKWa+lT0-xH^qAVHMV7HRY3Bee&W)VhhW1|-4W=606u-AR`&Tm&V5 zxb8sB;+_}ZT6P_13wFd8^)tYu2sZcX$)Kq3P;sBq z+fscDdA946)s8l2;=BqcsAj!AU;N>pH_cG%s{fvqr$~ z(9cLD3iyMWBPtW{yFYo6oGR@MLfec#w4@Ty)03h)wO|h9HK259R$3-KDm;yUp+Sd- zIF1w-f367wD;@EOCV?Sgf`)`im!v6yT49yA+TXYJ094DxFq9+6)T_#QJ-OJ+n_Y~e zdUF3BKu#SVl4i=yTwU+ga(v9p@7vKP7P)U=-$34E@*w9SVqMN$9BC0m zDD6>a&c*=1WF*2fL`pu>o6m$Yo-wy@_tMz_urp9G;y)#R8@|({SAmV64UU^Bn6LN+ z{Y$YB^=JPa#ND;aGsBn6?h(+h7{CTkvz<3pIubMu-5F8kfHQld?jLl2?RIcV!e_>3oVFSdE?5}IAWI|>!|taFA%K7vI&uXY|8ivL zMjIqv)mw2OREU=uZva`B&Rzs4IQqc=hsayU7VyLv1>vkYjUFyciQmQX;vEDz91V~2 zTG28dG*%vnuLT`*LG;bOIBL=%Sn((6ftM~{1SNm9mCzLBEgt39KeM|;I}hpw&meTA z`c@&KE2j)G!Dx9TpO;=-u9}NyCRP^_Qly5yk>ly) z*od@K6Arl@n3&H2cA$=+1ia4u+{K8Z>2?2KQZaGHftdWA|ApLTdi2kirGIJ0Kh#SayOH#Z>qyZD}P^w6BERgXk|u^R%&1rM(zX zta(8SqgQ%b^e%}F)N=;8rZyzr#Xf%_>zQdmZcs;jC(UdjaCZ@MXEzBj1L^0goxJ9;O@?kR-M;4`kyevS%-q(1A z2R)r8KkA_#0JSA4ksqH|9XnG3>0ONCAz{6oeu6P9?s@V$=g^j$x@5JIN~?cd*Jc)p zM?&m+o$GKDmK#+o5tth726oDwQ*DEf3#`5JtDpYvFaPPE{PJJ@{ICDw&r)5P8Gwi2 znI|~p|MHi=^Vh%ly}$jlpZ)Fs_w(fPG z+Emk`CRBg(=fC&O|N2+o{PTa`gw;cej{vg%o1qcM6Gy#g_Pl5oS#*Of?5w!^U>IBIj z0(H1o3b4{1!S#O4M{}RBVr_7U0T<0|$?5C~q)47%hJlWpEoYAnskB7fUlNzMV+2z% zLjz`mHJ9W4xl?5?9-d)ta)2?>0^Nr5Js7DMUjT>DkZ|JL`kqMJjDGlDo}J}y@|Qbg z1U~`&mwRLcEDn155)70srLKNh@Z?@!m$hUBG7QsfrakikxxN6m=1G_HWCTQiZXqvT zke0j3Vc8q3qTU8e51gE&yY4H}aYHi;n8lzoR;a+NO29Yp`lK#Cz|i5r{jJXr_qIOX zIoy5lWapEe$BX)R>A0EhGaLm?@J3e@LA9TUhvH_(iVJ5nk$271nJs|7nU3acn0816 zm#noEOh!w3eTJ83Z;H{EO}U_d0}lh$$puOmI32<`K^upA`Y=kOkLdU0Bsq&4buk?h zpLLcVH*0ep31dvF!QB9H>6R{2Bii}s0@&%Bwgyz~wMVDIHEC_Q)5EkqLLdMp?FaVB zvnB@W0bI1x$z7a-a!QIsOU|E+z%uUIu4fhlqs-PwQAm{|2G~uLFdN@6O$5^I|jUR)FP~L^|YtD3nuZ6gnld51&9Yc^1zobKQUFxb_OJxZmtDQQw zI<;J#3XN1{x2sWo(U@(2BH%16*cLiy3+p`M{`LZ^!=_5Cjim1+(^vv>g}9=e^?7wh}O*|gqC%=qYh%fYqN3tr6Ok5I*GVT zHwfo;w93XoM2MQ58et$~$`8tL+9ClQu!A-}BO40*X~)Kwc1aZVE^8&5s%Xi)Bm%F@ z2U? zArZFqTZFO+6J}ekVx=9yMv9}_2kiLVX01>(dk+Es?w6zDq`<;}1Nj?y3Pe;>fEHxm zcYH0ZJ3s{NhbKlR1RUcJZ&92;K;WE4H0<``y3(YL_*p%>l}uy;nqC>2K8l@EQ@op)9J$o<3^nkC2Z`nJ^Q~RqY zVgsgZ7nH}MI2dzR%uJZk(dODg8o+qdvZW&Nl|A2o?53=}BIxZqkwO~KM&NC{a@j4z zubcdiYxhm*q+fbMjMVPU7xeLKn(hS8GC5Z$Vzkk(|CYrXcXz4)L^YS2L@MMSd5eh= zMZ=u4LnolohjFtvgh{RDl56{RQaTfR!k*%UvoqXfeY%FG>DJO1&dkOcuXO_Y?H#O4u6wWUr;R75fyF$Z>?vanKo& zqc%2Q9XT@xPL~%T*-}Z!&?cy}e58Sl{RaAfRRUHF9SXe2h!;xLlRL$r$z>@@MXz&Vkcp>a&2&sILPxA^g@t>$Wo19r}E^bvXKwz*W&d_!Q zbIs9=FRB7#qCp~p;aw%-J3j5Z^)xURT?2N%ibJY=!n}%j)UfAfVNDPa+nE#SPye`? zVo0ic3qAt*hZb=_PF{wkYl;5Saf>cH8?v`5E$v$h3ihryf0?@7MZpx2j~O1OxPPqhq*eq_ZtxN55Sw2YgeUzb6}3= zr^nN*nApytOQ9kC0UZCX2l z_1dhxM5J`IqzfvDy9+dUG4R*7QL&n zceU(Y-PSv8E)l)UM^He*&BH51TCJp$g0x|SXXXb@q??#kACiT}8f|HRzyxB14dkYQ z!sp74ZcW4jIu#y`ZH!8%7Pu0S!1Y~3`>~S|z8Eo+nTkTN z)O~GjKN1z^V;o_b{q64Dp3Jrpu;Wo`OM|CrxfY^uE7kFZ#gzHNu&eH9R$}PHJ zM{EXUg%|mN-Y)KI%x_|Isx8v7d)Ayn6CRdw2d|z#%ODQVCQw^*kah>Na@OI*?Czi` z@0I6ywVl;rkue*t&}O@-b+{3u{z(+Dyd>Xb(2y`*Z=DgD9ptjABB^W;|xt8v)}Uo9OQmi5+00fj(A| zKI%z?f`zG#YYDpDTX7};Eh_pNA{?Uy#x*J!xVkO0bH)5UoUtR$p;a(ect|8zL^H<_ zQ>LkZUfR{A!0Fs+3{D(DHu7(7uW+)J6+t2vJj|XA1jkdU5P{+E{D7Z>mSh8}HFVUe zs@4YQ+n3PdC=r?|+2Xg*}svt1F2#E$Nzl z#_~iLjQhyc@Y5zeeZh@|Tj#!l5DIzwWBMi51~KyB_d7r64QA69y}?&A{GVL??~CFj zr6j%GB1qEv1TZgD^SecCD%3&h%~8)z5FN=7sleu9uT#)0LvxKI3NF_#J*o2ib>3-z zxvM^{gje`-UNsk}Qym^EExIWW4{b5AkBzqq97~@d8$>d<7k3MQCf~a_JuWAT(eEK6 zdy>5XspE`vQ%K{VPq6rx!E$+An3?(rCTitzVY2?^SJecoJKNd?rfz@I;3cjGz-1Vz z(K~*lcWk3hw^gfm+*WrByyUi8HJ#&su}RdwXBYV=wsO(uWVvXOKmt@owJ(P+Ma-Wo z1rS=V-xd|xIGSc>N?uW-Nxgrx39L$7$*|C+ zOiBDR?rj|aWI&t0`{c49mycJ35>YuQevC_335d+vJa&(;IV0w))28zi4YyR;dQ&%7 zf9}~uRRY^+GwSb_N6Pez&(cLb+^U!EY+#EnCp74(CdHxJ#V%L*_oQ!?5(y_ zo_Um?XJ%3!;H0PvlHQvP$@?70+Z0}Sng@j!uprT3ruGg7VZ!NSD+*23ei_pBcM|;Z zD6bx=XS<@5!lDQds*haN=tG8XZPv|Tii9)^;D45|!=}WwbIBKLb?Yd|-Z4{qw=CWUT(Zal^(pn(mIk@~@uGxzm0JH{68h zQ=$$?T=RU-rMsbGoAcCc&Qlo9jGTkZjz3~_o!wkvbrHrpG?Spw^5KGdeF98%qk90M z#rEj=0FDQOV{#sj#EYVp)+Rr6 zy4gqW|DOASXoLFEu;B%7s+a5m+<~7z?5flE-L7s$wTKU#Ov+2V5F`Yf8kT5p z94I!=8C}#ZH{qiE6(eD!n3c2nOvafxRh5LZqw;FDmJ$5jEUeRPf2#3iRR!4dLs>%G z7K4~O-{*_tcv;w))8rm?M*t~LE)Y+AGdb;fm3skSSI0~D>P+_P*lE`>PHZEy z=q2YIcel8{wX}Cbe@$yFX00n*YgZ@$ach@UP~}=tZFz>6>~B!#n!gySb?xYR;MLo1 zW2Ui5n#YXp#ZncW$8HHgzf}0Su&MKYNl{|u{+%msz<*u5Y~`C(^yTdJ6hKkJ(p zUR%xc5q&GrzlDdG+L!Df5bqY1RF%3g+ok8gQKC&1t6_k z+p{G2)T7t)qEGOoeIB=rWc~8#F6T+;|C>`SA?W;oHhf3PduMrP-tCHXAPulP6fa*n zrSGstC$c+Cl7mt;v$BASB3M>L7pxfuLo5*&Hini;pvs+z#pwbFX$T62SY@idO0+Vx zqCS_S2Y(Yumr;zfxEY6P z%%=L9?jc`k>9VFf2fEzmZJB8SplLpZwvjVGf6j+8FT**fgh4pgXNu9FJ7-1J%n@vP zwbO>K9xa%-fXf1G_7j)OUW>@=A|zcvmhA%dZK`ade>S=*Q8BTr+9no zIe=$6T#8z_KG&$Xn*y)7tp%MX-mtgx$6e$@P;(EeJ($=6iniA?6|b&nNg zYj1k{3y3Elbpy~n&An}5G{Gw3Ik7?(S)7M%J}lRQJ5|MAjYtbnElsvdXK96JX*MlR zGgI)ZobKTWCi>4Q@<=00C>@1)2He#8e{}@Y|1#OT`|$aL!$%JvJ$$zFcn_;aMbgKq zTcxdXcuqCjz$9!hW_GF4lWdfO7c4Uzgv2jMsLlpo9_~K4v-A0l8$BuRu~AQhhmHu% zbcXfZweZ5VUwc%&Oyg{cx`z6DP=Qq!|Lu{TZDx_mP954iMY}V+29KROrH%Zme>*~| z8F^C8+&Ta4=D-?-ckEHx;|g`7ZbU#Bg~xHc72UnaA>Y=AjLOTP>JbD8(Gie=YLh4yE(O zi8gw|dbN>p$E-G@G;8h&x!{srw^$|W^|HEf&$%m(8(0NNOYKE`L+?SB=3RsxraC^< zxem^zkO3?NfM4PnWe>N^vri#mT@Jyvn?Mp7oQeWjzKT+hYmi^5I&Y~P4I`lrNk)2g5RC)Dd8Hp z_8eIFJsed`h;opRTZmA)8l{44`}eGYdc*E5-6eG|bMKkHt6LNQf0lSnlzzl8b~f!P zAxfL{PFu&L_8rp2Y=CcB@8l@(PL6Qvl4~C#2Y)@~QuYHiXL*HvrAN?=Os!H6Y_q39 zv#0pZsd|TFcV6Zfb!XNUxTJvXG8ooy)z$fvXIWhgO0Z+c;y(R}|Jz@?JjWttg~*aV_TOE*bT4)F zBqs=EN72a-e{hF9prUG|5Q2>Gz_E(J^*)3^LsU71$g4K45_8>j$dv)rY0;{oESk+8 zX*c6obw->xGSbM@ghZO@on1HEL(zR(UL`*@UO$)DUwJ$6Lb$Q9HOXnjb-{CDCQhr# zY0<)u2OwF=T)i1h;|ly1*JG?XMdPR#sNt_YT~R>#e-H+*r8m%M7;Nq(p*BVTV2W`N z@E4Ig}oWyoGIj? z9%9y-nZ;BQ44lP+V+FygtB0^)9T}xewK}Ins)a_!4p}>pQ#P+A27p~Ee4fBZA}VOv zYz7XDf0NE{d@w4`$dh@C9l0NV@Q%9n;cw_^wLulO7rI+Uhqh^F59dwoXw*iG(`LET ztbW;zz+tvodntpe{nR{x@`YYeid>FY=npQ?__s|I6~ktso<~hOiI(UwRCaycRc>Mm zLa6O>R-gKXkE(|F#N(G?6=Iek`G&TaIWy1`e+c%$cb$&frqBTfkLoXb4@CRB?xg*B zGS;_MZ7wBCR9yOGf*@Wjpzm?MRZ@=&IR7AB^5mq>NxbLyqlpyRh7nuJoI_Z0uNvOjvlv~O2j69El36j`dIiW>9Z2b< ze;+{biqvk{U@43f)}_}wnSH>`W*`+zx9!a9ihsB{OFYg0q|cI zE<~msS7~qw!Z)$okbw58=*&9Z@Bvt&$+#n&WAiY6CP9Auap?$0iWyEW)Qj0!R!o2k zJU2R!xui8FPux$gTxmVAV)CU_v`&>+f7;n6SutLd<1UnVD7~Z)*pDNee?{X6 zN2UvO`6ya8Ihr|o-Ap?3(K4AW^U}T;JTaFXBD3juWhfBULK4bZTVlo_B}!`(4Qmre ziNx!W!JC(mc~80qg#V?87{Xj*?6FnYDDPj*ULD!KiIC6L^(EKJ1Kjd#b+Wh%0An)ojQI_I&T<^+(4pqyWsmBg@uoSAB_CM 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
      yQfFnL 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

      Z;=ArM_N@(anA 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

      8*9Q36^lnWgDt1J5LhF)&qjL1)# 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

      bDt1J3N+;Tim@>@N3J=z=W?8Wbq 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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

      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�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 diff --git a/dev/zui/zui.esm.js b/dev/zui/zui.esm.js index fa8cab9b2c..779fbfd1a1 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 = 1724748048263, 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 = 1724833800086, Dt = document, _s = 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); @@ -26,7 +26,7 @@ class Hs { return; } else if (le(t)) return this.ready(t); - (s.nodeType || s === ms) && (s = [s]), this.length = s.length; + (s.nodeType || s === _s) && (s = [s]), this.length = s.length; for (let i = 0, r = this.length; i < r; i++) this[i] = s[i]; } @@ -115,22 +115,22 @@ x.empty = function() { t.removeChild(t.firstChild); }); }; -function _s(...n) { +function ys(...n) { const t = qa(n[0]) ? n.shift() : !1, e = n.shift(), s = n.length; if (!e) return {}; if (!s) - return _s(t, f, e); + return ys(t, f, e); for (let i = 0; i < s; i++) { const r = n[i]; for (const o in r) - t && (Fs(r[o]) || Yn(r[o])) ? ((!e[o] || e[o].constructor !== r[o].constructor) && (e[o] = new r[o].constructor()), _s(t, e[o], r[o])) : e[o] = r[o]; + t && (Fs(r[o]) || Yn(r[o])) ? ((!e[o] || e[o].constructor !== r[o].constructor) && (e[o] = new r[o].constructor()), ys(t, e[o], r[o])) : e[o] = r[o]; } return e; } -f.extend = _s; +f.extend = ys; x.extend = function(n) { - return _s(x, n); + return ys(x, n); }; const Ga = /\S+/g; function Ws(n) { @@ -201,7 +201,7 @@ x.text = Ja; function Lt(n, t, e) { if (!Z(n)) return; - const s = ms.getComputedStyle(n, null); + const s = _s.getComputedStyle(n, null); return e ? s.getPropertyValue(t) || void 0 : s[t] || n.style[t]; } function Tt(n, t) { @@ -475,8 +475,8 @@ x.offset = function() { return; const t = n.getBoundingClientRect(); return { - top: t.top + ms.pageYOffset, - left: t.left + ms.pageXOffset + top: t.top + _s.pageYOffset, + left: t.left + _s.pageXOffset }; }; x.position = function() { @@ -692,7 +692,7 @@ function yl(n, t, e, s, i) { function Vr(n, t) { return !t || !qn.call(t, (e) => n.indexOf(e) < 0); } -function ys(n, t, e, s, i) { +function vs(n, t, e, s, i) { const r = Br(n); if (t) r[t] && (r[t] = r[t].filter(([o, a, l]) => { @@ -702,18 +702,18 @@ function ys(n, t, e, s, i) { })); else for (t in r) - ys(n, t, e, s, i); + vs(n, t, e, s, i); } x.off = function(n, t, e) { if (ut(n)) this.each((s, i) => { - !Z(i) && !ne(i) && !ye(i) || ys(i); + !Z(i) && !ne(i) && !ye(i) || vs(i); }); else if (et(n)) le(t) && (e = t, t = ""), X(Ws(n), (s, i) => { const [r, o] = ei(i), a = ti(r); this.each((l, c) => { - !Z(c) && !ne(c) && !ye(c) || ys(c, a, o, t, e); + !Z(c) && !ne(c) && !ye(c) || vs(c, a, o, t, e); }); }); else @@ -771,7 +771,7 @@ function vl(n, t, e, s, i) { } }); const y = s.call(v, _, _.___td); - i && ys(d, c, l, t, m), y === !1 && (_.preventDefault(), _.stopPropagation()); + i && vs(d, c, l, t, m), y === !1 && (_.preventDefault(), _.stopPropagation()); }; m.guid = s.guid = s.guid || f.guid++, yl(d, c, l, t, m); }); @@ -853,7 +853,7 @@ var si = /* @__PURE__ */ ((n) => (n[n.B = 1] = "B", n[n.KB = 1024] = "KB", n[n.M function Mt(n, t = 2, e) { return Number.isNaN(n) ? "?KB" : (e || (n < 1024 ? e = "B" : n < 1048576 ? e = "KB" : n < 1073741824 ? e = "MB" : n < 1099511627776 ? e = "GB" : e = "TB"), (n / si[e]).toFixed(t) + e); } -const rs = (n) => { +const os = (n) => { const t = /^[0-9]*(B|KB|MB|GB|TB)$/; n = n.toUpperCase(); const e = n.match(t); @@ -1153,7 +1153,7 @@ function Sn(n, t) { } return !0; } -class vs { +class Fe { /** * Creates a new Computed instance. * @param compute The function that computes the value. @@ -1190,9 +1190,12 @@ class vs { compute(t) { t !== void 0 && (this._dependencies = t), t = this._dependencies, typeof t == "function" && (t = t()); const e = this._lastDependencies; - return (!e || t.some((s, i) => Sn(s instanceof vs ? s.value : s, e[i]))) && (this._value = this._compute(), this._lastDependencies = t.map((s) => s instanceof vs ? s.cache : s)), this._value; + return (!e || t.some((s, i) => Sn(s instanceof Fe ? s.value : s, e[i]))) && (this._value = this._compute(), this._lastDependencies = t.map((s) => s instanceof Fe ? s.cache : s)), this._value; } } +function Su(n, t) { + return new Fe(n, t); +} function Yr(...n) { const t = [], e = /* @__PURE__ */ new Map(), s = (i, r) => { if (Array.isArray(i) && (r = i[1], i = i[0]), !i.length) @@ -1225,7 +1228,7 @@ function oi(n, t, e) { let s = ge.get(n) || {}; return e && n instanceof Element && (s = Object.assign({}, f(n).dataset(), s)), t === void 0 ? s : s[t]; } -function Su(n) { +function xu(n) { ge.delete(n); } f.fn.dataset = f.fn.data; @@ -1240,10 +1243,10 @@ function ve(n, ...t) { return n.includes("RAWJS") && (n = n.split('"RAWJS<').join("").split('>RAWJS"').join("").split("").join('"').split("").join(` `)), new Function(`return ${n}`)(...t); } -function xu(n, ...t) { +function ku(n, ...t) { return n.includes("RAWJS") ? ve(n, ...t) : JSON.parse(n); } -function Fe(n, t) { +function He(n, t) { const e = f(n)[0]; if (!e) return; @@ -1279,10 +1282,10 @@ function Al(...n) { var e; const t = n.length; if (!t) - return Fe(this); + return He(this); if (t === 1) { const [s] = n; - return typeof s == "string" ? (e = Fe(this)) == null ? void 0 : e[s] : (f.isPlainObject(s) && sr(this, s), this); + return typeof s == "string" ? (e = He(this)) == null ? void 0 : e[s] : (f.isPlainObject(s) && sr(this, s), this); } return sr(this, { [n[0]]: n[1] }), this; } @@ -1309,7 +1312,7 @@ const bs = (n, t) => new Promise((e) => { t && t(s); }), Ml = {}; f.share = Ml; -var Bs, F, Jr, gt, te, nr, Zr, xn, ai, kn, Tn, He = {}, Xr = [], Pl = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i, Vs = Array.isArray; +var Bs, F, Jr, gt, te, nr, Zr, xn, ai, kn, Tn, We = {}, Xr = [], Pl = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i, Vs = Array.isArray; function Bt(n, t) { for (var e in t) n[e] = t[e]; @@ -1326,9 +1329,9 @@ function mt(n, t, e) { if (arguments.length > 2 && (o.children = arguments.length > 3 ? Bs.call(arguments, 2) : e), typeof n == "function" && n.defaultProps != null) for (r in n.defaultProps) o[r] === void 0 && (o[r] = n.defaultProps[r]); - return us(n, o, s, i, null); + return ds(n, o, s, i, null); } -function us(n, t, e, s, i) { +function ds(n, t, e, s, i) { var r = { type: n, props: t, key: e, ref: s, __k: null, __: null, __b: 0, __e: null, __d: void 0, __c: null, constructor: void 0, __v: i ?? ++Jr, __i: -1, __u: 0 }; return i == null && F.vnode != null && F.vnode(r), r; } @@ -1372,13 +1375,13 @@ function ws() { function eo(n, t, e, s, i, r, o, a, l, c, u) { var h, p, d, m, _, v = s && s.__k || Xr, y = t.length; for (e.__d = l, Il(e, t, v), l = e.__d, h = 0; h < y; h++) - (d = e.__k[h]) != null && typeof d != "boolean" && typeof d != "function" && (p = d.__i === -1 ? He : v[d.__i] || He, d.__i = h, li(n, d, p, i, r, o, a, l, c, u), m = d.__e, d.ref && p.ref != d.ref && (p.ref && ci(p.ref, null, d), u.push(d.ref, d.__c || m, d)), _ == null && m != null && (_ = m), 65536 & d.__u || p.__k === d.__k ? (l && typeof d.type == "string" && !n.contains(l) && (l = ie(p)), l = so(d, l, n)) : typeof d.type == "function" && d.__d !== void 0 ? l = d.__d : m && (l = m.nextSibling), d.__d = void 0, d.__u &= -196609); + (d = e.__k[h]) != null && typeof d != "boolean" && typeof d != "function" && (p = d.__i === -1 ? We : v[d.__i] || We, d.__i = h, li(n, d, p, i, r, o, a, l, c, u), m = d.__e, d.ref && p.ref != d.ref && (p.ref && ci(p.ref, null, d), u.push(d.ref, d.__c || m, d)), _ == null && m != null && (_ = m), 65536 & d.__u || p.__k === d.__k ? (l && typeof d.type == "string" && !n.contains(l) && (l = ie(p)), l = so(d, l, n)) : typeof d.type == "function" && d.__d !== void 0 ? l = d.__d : m && (l = m.nextSibling), d.__d = void 0, d.__u &= -196609); e.__d = l, e.__e = _; } function Il(n, t, e) { var s, i, r, o, a, l = t.length, c = e.length, u = c, h = 0; for (n.__k = [], s = 0; s < l; s++) - o = s + h, (i = n.__k[s] = (i = t[s]) == null || typeof i == "boolean" || typeof i == "function" ? null : typeof i == "string" || typeof i == "number" || typeof i == "bigint" || i.constructor == String ? us(null, i, null, null, null) : Vs(i) ? us(Ce, { children: i }, null, null, null) : i.constructor === void 0 && i.__b > 0 ? us(i.type, i.props, i.key, i.ref ? i.ref : null, i.__v) : i) != null ? (i.__ = n, i.__b = n.__b + 1, a = Rl(i, e, o, u), i.__i = a, r = null, a !== -1 && (u--, (r = e[a]) && (r.__u |= 131072)), r == null || r.__v === null ? (a == -1 && h--, typeof i.type != "function" && (i.__u |= 65536)) : a !== o && (a == o - 1 ? h = a - o : a == o + 1 ? h++ : a > o ? u > l - o ? h += a - o : h-- : a < o && h++, a !== s + h && (i.__u |= 65536))) : (r = e[o]) && r.key == null && r.__e && !(131072 & r.__u) && (r.__e == n.__d && (n.__d = ie(r)), Nn(r, r, !1), e[o] = null, u--); + o = s + h, (i = n.__k[s] = (i = t[s]) == null || typeof i == "boolean" || typeof i == "function" ? null : typeof i == "string" || typeof i == "number" || typeof i == "bigint" || i.constructor == String ? ds(null, i, null, null, null) : Vs(i) ? ds(Ce, { children: i }, null, null, null) : i.constructor === void 0 && i.__b > 0 ? ds(i.type, i.props, i.key, i.ref ? i.ref : null, i.__v) : i) != null ? (i.__ = n, i.__b = n.__b + 1, a = Rl(i, e, o, u), i.__i = a, r = null, a !== -1 && (u--, (r = e[a]) && (r.__u |= 131072)), r == null || r.__v === null ? (a == -1 && h--, typeof i.type != "function" && (i.__u |= 65536)) : a !== o && (a == o - 1 ? h = a - o : a == o + 1 ? h++ : a > o ? u > l - o ? h += a - o : h-- : a < o && h++, a !== s + h && (i.__u |= 65536))) : (r = e[o]) && r.key == null && r.__e && !(131072 & r.__u) && (r.__e == n.__d && (n.__d = ie(r)), Nn(r, r, !1), e[o] = null, u--); if (u) for (s = 0; s < c; s++) (r = e[s]) != null && !(131072 & r.__u) && (r.__e == n.__d && (n.__d = ie(r)), Nn(r, r)); @@ -1423,7 +1426,7 @@ function Rl(n, t, e, s) { function rr(n, t, e) { t[0] === "-" ? n.setProperty(t, e ?? "") : n[t] = e == null ? "" : typeof e != "number" || Pl.test(t) ? e : e + "px"; } -function os(n, t, e, s, i) { +function as(n, t, e, s, i) { var r; t: if (t === "style") @@ -1533,7 +1536,7 @@ function Dl(n, t, e, s, i, r, o, a, l) { if (b === null) v === y || a && n.data === y || (n.data = y); else { - if (r = r && Bs.call(n.childNodes), v = e.props || He, !a && r != null) + if (r = r && Bs.call(n.childNodes), v = e.props || We, !a && r != null) for (v = {}, c = 0; c < n.attributes.length; c++) v[(d = n.attributes[c]).name] = d.value; for (c in v) @@ -1543,17 +1546,17 @@ function Dl(n, t, e, s, i, r, o, a, l) { else if (c !== "key" && !(c in y)) { if (c == "value" && "defaultValue" in y || c == "checked" && "defaultChecked" in y) continue; - os(n, c, null, d, i); + as(n, c, null, d, i); } } for (c in y) - d = y[c], c == "children" ? p = d : c == "dangerouslySetInnerHTML" ? u = d : c == "value" ? m = d : c == "checked" ? _ = d : c === "key" || a && typeof d != "function" || v[c] === d || os(n, c, d, v[c], i); + d = y[c], c == "children" ? p = d : c == "dangerouslySetInnerHTML" ? u = d : c == "value" ? m = d : c == "checked" ? _ = d : c === "key" || a && typeof d != "function" || v[c] === d || as(n, c, d, v[c], i); if (u) a || h && (u.__html === h.__html || u.__html === n.innerHTML) || (n.innerHTML = u.__html), t.__k = []; else if (h && (n.innerHTML = ""), eo(n, Vs(p) ? p : [p], t, e, s, b === "foreignObject" ? "http://www.w3.org/1999/xhtml" : i, r, o, r ? r[0] : e.__k && ie(e, 0), a, l), r != null) for (c = r.length; c--; ) r[c] != null && Qr(r[c]); - a || (c = "value", m !== void 0 && (m !== n[c] || b === "progress" && !m || b === "option" && m !== v[c]) && os(n, c, m, v[c], i), c = "checked", _ !== void 0 && _ !== n[c] && os(n, c, _, v[c], i)); + a || (c = "value", m !== void 0 && (m !== n[c] || b === "progress" && !m || b === "option" && m !== v[c]) && as(n, c, m, v[c], i), c = "checked", _ !== void 0 && _ !== n[c] && as(n, c, _, v[c], i)); } return n; } @@ -1585,7 +1588,7 @@ function Ll(n, t, e) { } function me(n, t, e) { var s, i, r, o; - F.__ && F.__(n, t), i = (s = typeof e == "function") ? null : e && e.__k || t.__k, r = [], o = [], li(t, n = (!s && e || t).__k = mt(Ce, null, [n]), i || He, He, t.namespaceURI, !s && e ? [e] : i ? null : t.firstChild ? Bs.call(t.childNodes) : null, r, !s && e ? e : i ? i.__e : t.firstChild, s, o), no(r, n, o); + F.__ && F.__(n, t), i = (s = typeof e == "function") ? null : e && e.__k || t.__k, r = [], o = [], li(t, n = (!s && e || t).__k = mt(Ce, null, [n]), i || We, We, t.namespaceURI, !s && e ? [e] : i ? null : t.firstChild ? Bs.call(t.childNodes) : null, r, !s && e ? e : i ? i.__e : t.firstChild, s, o), no(r, n, o); } Bs = Xr.slice, F = { __e: function(n, t, e, s) { for (var i, r, o; t = t.__; ) @@ -1696,12 +1699,12 @@ function Ol(n) { const [o, a] = s.split("~").map((l) => l.trim()); o && dn(t, n, f.extend({ on: o - }, a ? a.startsWith("{") ? ve(a) : { do: a } : Fe(t, { prefix: "data-", evalValue: ["call", "if", "do"] }))); + }, a ? a.startsWith("{") ? ve(a) : { do: a } : He(t, { prefix: "data-", evalValue: ["call", "if", "do"] }))); } const i = t.attr(`zui-on-${e}`); i && dn(t, n, f.extend({ on: e - }, i.startsWith("{") ? ve(i) : { do: i })), t.attr("data-on") && dn(t, n, Fe(t, { prefix: "data-", evalValue: ["call", "if", "do"] })); + }, i.startsWith("{") ? ve(i) : { do: i })), t.attr("data-on") && dn(t, n, He(t, { prefix: "data-", evalValue: ["call", "if", "do"] })); } function Fl(n) { f(document).off(".zui.global").on(n.map((t) => `${t}.zui.global`).join(" "), `[zui-on],${n.map((t) => `[zui-on-${t}]`)},[data-on]`, Ol); @@ -1827,7 +1830,7 @@ function co(n, t, e) { function ho(n, t) { return f(n).off(`.zui.hotkeys${t ? `.${t}` : ""}`); } -const ku = Ul; +const Tu = Ul; f.fn.hotkeys = function(n, t) { return co(this, n, t); }; @@ -2259,7 +2262,7 @@ function go(n) { } } } -function Tu(n) { +function Nu(n) { var t; n ? (t = Us(n)) == null || t.defineFn() : window._zuiDefined || (go(), ft.map.forEach((e) => { e.defineFn(); @@ -2288,7 +2291,7 @@ function Yl(n, t = {}) { }; if (typeof s == "string") { s = s.trim(); - const a = s.length ? s.split(",").map((u) => u.trim()) : [], l = Fe(n, { prefix: "zui-create-", evalValue: !0 }), c = Object.keys(l); + const a = s.length ? s.split(",").map((u) => u.trim()) : [], l = He(n, { prefix: "zui-create-", evalValue: !0 }), c = Object.keys(l); if (!c.length && a.length === 1) o(a[0], e.dataset()); else { @@ -2364,13 +2367,13 @@ function Zl(n, t) { (t == null ? void 0 : t(r, i)) !== !1 && s.push(e[i]); }), s; } -let as = 0; +let ls = 0; function mo(n = 100) { - if (as && clearTimeout(as), n) { - as = window.setTimeout(() => mo(0), n); + if (ls && clearTimeout(ls), n) { + ls = window.setTimeout(() => mo(0), n); return; } - as = 0, ft.ALL.forEach((t) => { + ls = 0, ft.ALL.forEach((t) => { t.forEach((e) => e.autoDestroy()); }); } @@ -2621,7 +2624,7 @@ function yo(n, t) { f.fn.resize = function(n) { return yo(this, n); }; -const Nu = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ +const Eu = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ __proto__: null, isElementDetached: ce, isVisible: Ks, @@ -3403,7 +3406,7 @@ class yc extends Js { yc.defaultProps = { type: "switch" }; -class We extends Q { +class je extends Q { _renderLeading(t) { const { icon: e, @@ -3505,9 +3508,9 @@ class We extends Q { return [t, e, [this._render(i, r), ...Cs(s)]]; } } -class Xe extends st { +class Qe extends st { constructor(t) { - super(t), this._activeSet = new vs(() => { + super(t), this._activeSet = new Fe(() => { const e = /* @__PURE__ */ new Set(), { active: s } = this.props; Array.isArray(s) ? s.forEach((r) => e.add(r)) : typeof s == "string" ? e.add(s) : s && Object.keys(s).forEach((r) => s[r] && e.add(r)); const { activeMap: i } = this.state; @@ -3700,15 +3703,15 @@ class Xe extends st { return s && e.push(s), e; } } -Xe.ItemComponents = { +Qe.ItemComponents = { ...st.ItemComponents, default: Q, - item: We, - heading: We + item: je, + heading: je }; -Xe.NAME = "list"; +Qe.NAME = "list"; const pn = "```ZUI_STR\n"; -class Qe { +class ts { /** * Create new store instance. * @param id Store profile ID. @@ -3727,7 +3730,7 @@ class Qe { * Get session type store instance. */ get session() { - return this.type === "session" ? this : (this._altStorage || (this._altStorage = new Qe(this._id, "session")), this._altStorage); + return this.type === "session" ? this : (this._altStorage || (this._altStorage = new ts(this._id, "session")), this._altStorage); } _getKey(t) { return `${this._name}:${t}`; @@ -3804,9 +3807,9 @@ class Qe { }), t; } } -const $n = new Qe("DEFAULT"); +const $n = new ts("DEFAULT"); function vc(n, t = "local") { - return new Qe(n, t); + return new ts(n, t); } Object.assign($n, { create: vc }); function So(n, t) { @@ -3839,7 +3842,7 @@ function An(n, t, e, s, i = 0, r) { return r && r.children.push(h), o = e(o, h), Array.isArray(a.items) ? An(a.items, t, e, o, i + 1, h) : o; }, s); } -class Se extends Xe { +class Se extends Qe { constructor(t) { super(t); const { defaultNestedShow: e, preserve: s, nestedShow: i } = t; @@ -4172,7 +4175,7 @@ class Se extends Xe { } } Se.defaultProps = { - ...Xe.defaultProps, + ...Qe.defaultProps, defaultNestedShow: !1, level: 0, indent: 20 @@ -4263,7 +4266,7 @@ xe.TAG = "menu"; xe.inheritNestedProps = [...Se.inheritNestedProps, "compact"]; xe.ItemComponents = { ...Se.ItemComponents, - item: [We, { innerComponent: "a" }] + item: [je, { innerComponent: "a" }] }; xe.defaultProps = { ...Se.defaultProps, @@ -4648,7 +4651,7 @@ de = function(n, t = 200) { }; pi.NAME = "MessagerItem"; pi.Component = kc; -const ts = class ko extends ft { +const es = class ko extends ft { get isShown() { var t; return !!((t = this._item) != null && t.isShown); @@ -4688,17 +4691,17 @@ const ts = class ko extends ft { return o.hide(), o.show(), o; } }; -ts.NAME = "messager"; -ts.DEFAULT = { +es.NAME = "messager"; +es.DEFAULT = { placement: "top", animation: !0, close: !0, margin: 6, time: 5e3 }; -ts.MULTI_INSTANCE = !0; -ts.TypeOptions = {}; -let Iu = ts, Xs = class extends W { +es.MULTI_INSTANCE = !0; +es.TypeOptions = {}; +let Ru = es, Xs = class extends W { render(t) { const { percent: e = 50, color: s, background: i = null, height: r, width: o, children: a, className: l, style: c } = t; return /* @__PURE__ */ g("div", { class: T("progress", l), style: { @@ -4859,7 +4862,7 @@ class _i extends W { ); } } -const Nt = Math.min, lt = Math.max, xs = Math.round, ls = Math.floor, Ut = (n) => ({ +const Nt = Math.min, lt = Math.max, xs = Math.round, cs = Math.floor, Ut = (n) => ({ x: n, y: n }), Mc = { @@ -5400,7 +5403,7 @@ function $t(n) { function fr(n) { return typeof ShadowRoot > "u" ? !1 : n instanceof ShadowRoot || n instanceof ht(n).ShadowRoot; } -function es(n) { +function ss(n) { const { overflow: t, overflowX: e, @@ -5468,13 +5471,13 @@ function qt(n) { } function Po(n) { const t = qt(n); - return we(t) ? n.ownerDocument ? n.ownerDocument.body : n.body : $t(t) && es(t) ? t : Po(t); + return we(t) ? n.ownerDocument ? n.ownerDocument.body : n.body : $t(t) && ss(t) ? t : Po(t); } -function je(n, t, e) { +function Be(n, t, e) { var s; t === void 0 && (t = []), e === void 0 && (e = !0); const i = Po(n), r = i === ((s = n.ownerDocument) == null ? void 0 : s.body), o = ht(i); - return r ? t.concat(o, o.visualViewport || [], es(i) ? i : [], o.frameElement && e ? je(o.frameElement) : []) : t.concat(i, je(i, [], e)); + return r ? t.concat(o, o.visualViewport || [], ss(i) ? i : [], o.frameElement && e ? Be(o.frameElement) : []) : t.concat(i, Be(i, [], e)); } function Io(n) { const t = St(n); @@ -5552,7 +5555,7 @@ function Yc(n) { scrollTop: 0 }, c = Ut(1); const u = Ut(0), h = $t(s); - if ((h || !h && !r) && ((Ne(s) !== "body" || es(o)) && (l = en(s)), $t(s))) { + if ((h || !h && !r) && ((Ne(s) !== "body" || ss(o)) && (l = en(s)), $t(s))) { const p = oe(s); c = _e(s), u.x = p.x + s.clientLeft, u.y = p.y + s.clientTop; } @@ -5630,12 +5633,12 @@ function th(n, t) { const e = t.get(n); if (e) return e; - let s = je(n, [], !1).filter((a) => Et(a) && Ne(a) !== "body"), i = null; + let s = Be(n, [], !1).filter((a) => Et(a) && Ne(a) !== "body"), i = null; const r = St(n).position === "fixed"; let o = r ? qt(n) : n; for (; Et(o) && !we(o); ) { const a = St(o), l = wi(o); - !l && a.position === "fixed" && (i = null), (r ? !l && !i : !l && a.position === "static" && !!i && ["absolute", "fixed"].includes(i.position) || es(o) && !l && Lo(n, o)) ? s = s.filter((u) => u !== o) : i = a, o = qt(o); + !l && a.position === "fixed" && (i = null), (r ? !l && !i : !l && a.position === "static" && !!i && ["absolute", "fixed"].includes(i.position) || ss(o) && !l && Lo(n, o)) ? s = s.filter((u) => u !== o) : i = a, o = qt(o); } return t.set(n, s), s; } @@ -5675,7 +5678,7 @@ function nh(n, t, e) { }; const l = Ut(0); if (s || !s && !r) - if ((Ne(t) !== "body" || es(i)) && (a = en(t)), s) { + if ((Ne(t) !== "body" || ss(i)) && (a = en(t)), s) { const h = oe(t, !0, r, t); l.x = h.x + t.clientLeft, l.y = h.y + t.clientTop; } else @@ -5756,7 +5759,7 @@ function ah(n, t) { } = n.getBoundingClientRect(); if (a || t(), !h || !p) return; - const d = ls(u), m = ls(i.clientWidth - (c + h)), _ = ls(i.clientHeight - (u + p)), v = ls(c), b = { + const d = cs(u), m = cs(i.clientWidth - (c + h)), _ = cs(i.clientHeight - (u + p)), v = cs(c), b = { rootMargin: -d + "px " + -m + "px " + -_ + "px " + -v + "px", threshold: lt(0, Nt(1, l)) || 1 }; @@ -5793,7 +5796,7 @@ function Oo(n, t, e, s) { elementResize: o = typeof ResizeObserver == "function", layoutShift: a = typeof IntersectionObserver == "function", animationFrame: l = !1 - } = s, c = Si(n), u = i || r ? [...c ? je(c) : [], ...je(t)] : []; + } = s, c = Si(n), u = i || r ? [...c ? Be(c) : [], ...Be(t)] : []; u.forEach((y) => { i && y.addEventListener("scroll", e, { passive: !0 @@ -6206,17 +6209,17 @@ class jo extends B { } jo.NAME = "ColorPicker"; jo.Component = Wo; -const Be = 24 * 60 * 60 * 1e3, j = (n) => n === void 0 ? /* @__PURE__ */ new Date() : (n instanceof Date || (typeof n == "string" && (n = n.trim(), /^\d+$/.test(n) && (n = Number.parseInt(n, 10))), typeof n == "number" && n < 1e10 && (n *= 1e3), n = new Date(n)), n), ch = (n, t, e = "day") => { +const Ve = 24 * 60 * 60 * 1e3, j = (n) => n === void 0 ? /* @__PURE__ */ new Date() : (n instanceof Date || (typeof n == "string" && (n = n.trim(), /^\d+$/.test(n) && (n = Number.parseInt(n, 10))), typeof n == "number" && n < 1e10 && (n *= 1e3), n = new Date(n)), n), ch = (n, t, e = "day") => { if (typeof t == "string") { const s = Number.parseInt(t, 10); e = t.replace(s.toString(), ""), t = s; } return n = new Date(j(n).getTime()), e === "month" ? n.setMonth(n.getMonth() + t) : e === "year" ? n.setFullYear(n.getFullYear() + t) : e === "week" ? n.setDate(n.getDate() + t * 7) : e === "hour" ? n.setHours(n.getHours() + t) : e === "minute" ? n.setMinutes(n.getMinutes() + t) : e === "second" ? n.setSeconds(n.getSeconds() + t) : n.setDate(n.getDate() + t), n; -}, ee = (n, t = /* @__PURE__ */ new Date()) => j(n).toDateString() === j(t).toDateString(), In = (n, t = /* @__PURE__ */ new Date()) => j(n).getFullYear() === j(t).getFullYear(), Bo = (n, t = /* @__PURE__ */ new Date()) => (n = j(n), t = j(t), n.getFullYear() === t.getFullYear() && n.getMonth() === t.getMonth()), Ou = (n, t = /* @__PURE__ */ new Date()) => { +}, ee = (n, t = /* @__PURE__ */ new Date()) => j(n).toDateString() === j(t).toDateString(), In = (n, t = /* @__PURE__ */ new Date()) => j(n).getFullYear() === j(t).getFullYear(), Bo = (n, t = /* @__PURE__ */ new Date()) => (n = j(n), t = j(t), n.getFullYear() === t.getFullYear() && n.getMonth() === t.getMonth()), Fu = (n, t = /* @__PURE__ */ new Date()) => { n = j(n), t = j(t); const e = 1e3 * 60 * 60 * 24, s = Math.floor(n.getTime() / e), i = Math.floor(t.getTime() / e); return Math.floor((s + 4) / 7) === Math.floor((i + 4) / 7); -}, Fu = (n, t) => ee(j(t), n), Hu = (n, t) => ee(j(t).getTime() - Be, n), Wu = (n, t) => ee(j(t).getTime() + Be, n), Vo = (n) => n != null && !isNaN(j(n).getTime()), xt = (n, t = "yyyy-MM-dd hh:mm", e = "") => { +}, Hu = (n, t) => ee(j(t), n), Wu = (n, t) => ee(j(t).getTime() - Ve, n), ju = (n, t) => ee(j(t).getTime() + Ve, n), Vo = (n) => n != null && !isNaN(j(n).getTime()), xt = (n, t = "yyyy-MM-dd hh:mm", e = "") => { if (n = j(n), !Vo(n)) return e; if (typeof t == "function") @@ -6236,7 +6239,7 @@ const Be = 24 * 60 * 60 * 1e3, j = (n) => n === void 0 ? /* @__PURE__ */ new Dat t = t.replace(RegExp.$1, RegExp.$1.length === 1 ? r : `00${r}`.substring(r.length)); } }), t; -}, ju = (n, t, e) => { +}, Bu = (n, t, e) => { const s = { full: "yyyy-M-d", month: "M-d", @@ -6399,7 +6402,7 @@ O.addLang({ } }); const uh = (n, t, e = 0) => { - const s = new Date(n, t - 1, 1), i = s.getDay(), r = s.getTime() - (7 + i - e) % 7 * Be; + const s = new Date(n, t - 1, 1), i = s.getDay(), r = s.getTime() - (7 + i - e) % 7 * Ve; return { days: 7 * 5, startTime: r, @@ -6433,7 +6436,7 @@ class dh extends W { const I = (s + M) % 7; p.push(/* @__PURE__ */ g("div", { className: T("col mini-calendar-day", { "is-weekend": I === 0 || I === 6 }), children: /* @__PURE__ */ g("div", { children: i ? i[I] : I }) }, M)); } - const { startTime: m, days: _, firstDay: v } = uh(o, a, s), y = v + _ * Be; + const { startTime: m, days: _, firstDay: v } = uh(o, a, s), y = v + _ * Ve; let b = m; const C = [], w = "yyyy-MM-dd", S = _r(l, w), N = _r(c, w), A = (($ = u ? j(u) : null) == null ? void 0 : $.getTime()) ?? Number.MAX_SAFE_INTEGER, E = ((k = h ? j(h) : null) == null ? void 0 : k.getTime()) ?? 0; for (; b <= y; ) { @@ -6451,7 +6454,7 @@ class dh extends W { }); M.push( /* @__PURE__ */ g("div", { className: P, "data-date": H, children: /* @__PURE__ */ g("button", { type: "button", className: d, onClick: this._handleClickDate, children: R === 1 && r ? r[z.getMonth()] : z.getDate() }) }, H) - ), b += Be; + ), b += Ve; } C.push(/* @__PURE__ */ g("div", { className: "row", children: M }, b)); } @@ -6482,30 +6485,30 @@ class yr extends W { } } Ds = new WeakMap(), Ls = new WeakMap(); -var Ke, qe, Ge, Ye, Je, Ze, zs, qo, Os, Go; +var qe, Ge, Ye, Je, Ze, Xe, zs, qo, Os, Go; class fh extends W { constructor(e) { super(e); ot(this, zs); ot(this, Os); - ot(this, Ke, void 0); ot(this, qe, void 0); ot(this, Ge, void 0); ot(this, Ye, void 0); ot(this, Je, void 0); ot(this, Ze, void 0); - pt(this, Ke, Y()), pt(this, qe, (r) => { + ot(this, Xe, void 0); + pt(this, qe, Y()), pt(this, Ge, (r) => { const o = f(r.target).closest("[data-set-date]"); o.length && this.changeDate(o.dataset("set-date")); - }), pt(this, Ge, () => { + }), pt(this, Ye, () => { const { year: r, month: o } = this.state; o === 1 ? this.setState({ year: r - 1, month: 12 }) : this.setState({ month: o - 1 }); - }), pt(this, Ye, () => { + }), pt(this, Je, () => { const { year: r, month: o } = this.state; o === 12 ? this.setState({ year: r + 1, month: 1 }) : this.setState({ month: o + 1 }); - }), pt(this, Je, (r) => { - this.setState({ year: r, select: "day" }); }), pt(this, Ze, (r) => { + this.setState({ year: r, select: "day" }); + }), pt(this, Xe, (r) => { this.setState({ month: r, select: "day" }); }), this.changeDate = (r) => { var o, a; @@ -6535,7 +6538,7 @@ class fh extends W { month: d, select: m } = s, _ = m === "day", v = l || j("1970-1-1"), y = c || j("2099-12-31"); - return /* @__PURE__ */ g("div", { className: "date-picker-menu row", ref: it(this, Ke), onClick: it(this, qe), children: [ + return /* @__PURE__ */ g("div", { className: "date-picker-menu row", ref: it(this, qe), onClick: it(this, Ge), children: [ ln(this, zs, qo).call(this, e), /* @__PURE__ */ g("div", { className: "cell", style: "width: 312px", children: [ /* @__PURE__ */ g("div", { className: "row p-2", children: [ @@ -6543,8 +6546,8 @@ class fh extends W { /* @__PURE__ */ g(G, { type: m === "month" ? "primary-pale" : "ghost", size: "sm", caret: !0, onClick: this._showSelect.bind(this, "month"), children: a ? a[d - 1] : d }), /* @__PURE__ */ g("div", { className: "flex-auto" }), _ ? /* @__PURE__ */ g("div", { children: [ - /* @__PURE__ */ g(G, { type: "ghost", size: "sm", square: !0, onClick: it(this, Ge), children: /* @__PURE__ */ g("i", { className: "chevron-left" }) }), - /* @__PURE__ */ g(G, { type: "ghost", size: "sm", square: !0, onClick: it(this, Ye), children: /* @__PURE__ */ g("i", { className: "chevron-right" }) }) + /* @__PURE__ */ g(G, { type: "ghost", size: "sm", square: !0, onClick: it(this, Ye), children: /* @__PURE__ */ g("i", { className: "chevron-left" }) }), + /* @__PURE__ */ g(G, { type: "ghost", size: "sm", square: !0, onClick: it(this, Je), children: /* @__PURE__ */ g("i", { className: "chevron-right" }) }) ] }) : null ] }), _ ? /* @__PURE__ */ g( @@ -6568,7 +6571,7 @@ class fh extends W { value: p, min: v.getFullYear(), max: y.getFullYear(), - onChange: it(this, Je) + onChange: it(this, Ze) } ) : m === "month" ? /* @__PURE__ */ g( yr, @@ -6577,7 +6580,7 @@ class fh extends W { value: d, min: 1, max: 12, - onChange: it(this, Ze) + onChange: it(this, Xe) } ) : null, _ ? ln(this, Os, Go).call(this, e) : null @@ -6585,7 +6588,7 @@ class fh extends W { ] }); } } -Ke = new WeakMap(), qe = new WeakMap(), Ge = new WeakMap(), Ye = new WeakMap(), Je = new WeakMap(), Ze = new WeakMap(), zs = new WeakSet(), qo = function(e) { +qe = new WeakMap(), Ge = new WeakMap(), Ye = new WeakMap(), Je = new WeakMap(), Ze = new WeakMap(), Xe = new WeakMap(), zs = new WeakSet(), qo = function(e) { return dt.render(e.menu, [], { onClickItem: (s) => { const i = s.item.value; @@ -6779,7 +6782,7 @@ class Ai extends B { Ai.NAME = "DatetimePicker"; Ai.Component = Yo; Ai.register(); -const vr = "show", mn = "in", ph = '[data-dismiss="modal"]', cs = "modal-hide", Ee = class Xt extends ft { +const vr = "show", mn = "in", ph = '[data-dismiss="modal"]', hs = "modal-hide", Ee = class Xt extends ft { constructor() { super(...arguments), this._timer = 0, this._handleClick = (t) => { const e = t.target, s = e.closest(".modal"); @@ -6836,13 +6839,13 @@ const vr = "show", mn = "in", ph = '[data-dismiss="modal"]', cs = "modal-hide", show(t) { const { modalElement: e } = this, s = f(e); if (this._shown && s.hasClass(mn)) - return s.removeClass(cs).css("z-index", `${Xt.zIndex++}`), !1; + return s.removeClass(hs).css("z-index", `${Xt.zIndex++}`), !1; this._shown = !0, this.setOptions(t); const { animation: i, backdrop: r, className: o, style: a } = this.options; s.setClass({ "modal-trans": i, "modal-no-backdrop": !r, - [cs]: !1 + [hs]: !1 }, vr, o).css({ zIndex: `${Xt.zIndex++}`, ...a @@ -6859,7 +6862,7 @@ const vr = "show", mn = "in", ph = '[data-dismiss="modal"]', cs = "modal-hide", }, 50), !0; } hideForOther() { - f(this.modalElement).addClass(cs); + f(this.modalElement).addClass(hs); } hide() { if (!this._shown) @@ -6869,7 +6872,7 @@ const vr = "show", mn = "in", ph = '[data-dismiss="modal"]', cs = "modal-hide", }); const t = this.constructor; return t.hideOthers && this.options.hideOthers !== !1 && t.getAll().forEach((e) => { - e.shown && e !== this && f(e.modalElement).removeClass(cs); + e.shown && e !== this && f(e.modalElement).removeClass(hs); }), !0; } layout(t, e) { @@ -6923,9 +6926,9 @@ Ee.DEFAULT = { }; Ee.hideOthers = !0; Ee.zIndex = 1500; -let Ve = Ee; -f(window).on(`resize.${Ve.NAMESPACE}`, () => { - Ve.getAll().forEach((n) => { +let Ue = Ee; +f(window).on(`resize.${Ue.NAMESPACE}`, () => { + Ue.getAll().forEach((n) => { const t = n; t.shown && t.options.responsive && t.layout(); }); @@ -7047,7 +7050,7 @@ var Mi = (n, t, e) => { if (t.has(n)) throw TypeError("Cannot add the same private member more than once"); t instanceof WeakSet ? t.add(n) : t.set(n, e); -}, ue = (n, t, e, s) => (Mi(n, t, "write to private field"), s ? s.call(n, e) : t.set(n, e), e), ds = (n, t, e) => (Mi(n, t, "access private method"), e), Pt, Pe, It, Ns, Pi, fs, Rn; +}, ue = (n, t, e, s) => (Mi(n, t, "write to private field"), s ? s.call(n, e) : t.set(n, e), e), fs = (n, t, e) => (Mi(n, t, "access private method"), e), Pt, Pe, It, Ns, Pi, ps, Rn; function gh(n, t) { const { custom: e, title: s, content: i } = t; return { @@ -7092,9 +7095,9 @@ const yh = { custom: gh, ajax: mh, iframe: _h -}, br = "loading", Xo = class fe extends Ve { +}, br = "loading", Xo = class fe extends Ue { constructor() { - super(...arguments), Me(this, Ns), Me(this, fs), Me(this, Pt, void 0), Me(this, Pe, void 0), Me(this, It, void 0); + super(...arguments), Me(this, Ns), Me(this, ps), Me(this, Pt, void 0), Me(this, Pe, void 0), Me(this, It, void 0); } get id() { return bt(this, Pe); @@ -7158,10 +7161,10 @@ const yh = { if (!l) return console.warn(`Modal: Cannot build modal with type "${i}"`), !1; s.attr("data-loading", a).addClass(o), r && ue(this, It, window.setTimeout(() => { - ue(this, It, 0), ds(this, fs, Rn).call(this, this.options.timeoutTip); + ue(this, It, 0), fs(this, ps, Rn).call(this, this.options.timeoutTip); }, r)); const c = await l.call(this, t, e); - return this._destroyed ? !1 : (c === !1 ? await ds(this, fs, Rn).call(this, this.options.failedTip) : c && typeof c == "object" && await ds(this, Ns, Pi).call(this, c), bt(this, It) && (clearTimeout(bt(this, It)), ue(this, It, 0)), this.layout(), await bs(100), s.removeClass(o), !0); + return this._destroyed ? !1 : (c === !1 ? await fs(this, ps, Rn).call(this, this.options.failedTip) : c && typeof c == "object" && await fs(this, Ns, Pi).call(this, c), bt(this, It) && (clearTimeout(bt(this, It)), ue(this, It, 0)), this.layout(), await bs(100), s.removeClass(o), !0); } static isValid(t) { return !f.isDetached(t.modalElement); @@ -7246,15 +7249,15 @@ Pi = function(n) { ); }); }; -fs = /* @__PURE__ */ new WeakSet(); +ps = /* @__PURE__ */ new WeakSet(); Rn = function(n) { if (n) - return ds(this, Ns, Pi).call(this, { + return fs(this, Ns, Pi).call(this, { body: /* @__PURE__ */ g("div", { className: "modal-load-failed", children: n }) }); }; Xo.DEFAULT = { - ...Ve.DEFAULT, + ...Ue.DEFAULT, loadTimeout: 1e4, destroyOnHide: !0 }; @@ -7292,7 +7295,7 @@ class ze extends ft { const s = this._getStaticModalElement(); if (!s) return; - e = Ve.ensure(s, t); + e = Ue.ensure(s, t); } else e = Es.ensure(this.container, t); return this._modal = e, e.on("destroyed", () => { @@ -7406,7 +7409,7 @@ let Gt = class extends Q { const { maxFileSize: t = 0, maxFileCount: e = Number.MAX_SAFE_INTEGER } = this.props; return { size: Mt(this.size, 1), - maxFileSize: Mt(typeof t == "string" ? rs(t) : t, 1), + maxFileSize: Mt(typeof t == "string" ? os(t) : t, 1), maxFileCount: e, count: this.count }; @@ -7447,7 +7450,7 @@ let Gt = class extends Q { const { maxFileSize: e, onExceededSize: s, exceededSizeTip: i = this.i18n("exceededSizeTip") } = this.props; if (!e) return !1; - const r = typeof e == "string" ? rs(e) : e; + const r = typeof e == "string" ? os(e) : e; return t.size <= r ? !1 : ((s == null ? void 0 : s.call(this, r, t)) === !0 || i && await this._showAlert(i, { name: t.name, size: Mt(t.size, 1) @@ -7457,7 +7460,7 @@ let Gt = class extends Q { const { totalFileSize: e, onExceededTotalSize: s, exceededTotalSizeTip: i = this.i18n("exceededTotalSizeTip") } = this.props; if (!e) return !1; - const r = typeof e == "string" ? rs(e) : e, o = t.size + this.size; + const r = typeof e == "string" ? os(e) : e, o = t.size + this.size; return o <= r ? !1 : ((s == null ? void 0 : s.call(this, r, t)) === !0 || i && await this._showAlert(i, { name: t.name, size: Mt(t.size, 1), @@ -7608,7 +7611,7 @@ let Gt = class extends Q { avatar: this._getAvatar(t), actions: this._getFileActions(t), "z-id": t.id - }, typeof e == "function" ? e.call(this, t) : e), /* @__PURE__ */ g(We, { ...e }, t.id); + }, typeof e == "function" ? e.call(this, t) : e), /* @__PURE__ */ g(je, { ...e }, t.id); } _renderFileRename(t) { let { itemProps: e } = this.props; @@ -7632,7 +7635,7 @@ let Gt = class extends Q { ] }, e); } - return /* @__PURE__ */ g(We, { ...e }, t.id); + return /* @__PURE__ */ g(je, { ...e }, t.id); } // eslint-disable-next-line @typescript-eslint/no-unused-vars _renderList(t) { @@ -7676,7 +7679,7 @@ let Gt = class extends Q { id: [e, s].join(":"), ext: this.getExt(e) }; - const r = typeof s == "string" ? rs(s) : s; + const r = typeof s == "string" ? os(s) : s; return { name: e, size: r, @@ -7736,7 +7739,7 @@ Di.NAME = "ImageSelector"; Di.Component = Ii; Di.replace = !0; rt(bh); -const Li = class Qo extends Xe { +const Li = class Qo extends Qe { _getClassName(t) { const { type: e, stacked: s } = t; return [super._getClassName(t), e ? `nav-${e}` : "", s ? "nav-stacked" : ""]; @@ -7764,7 +7767,7 @@ class ea extends B { ea.NAME = "Nav"; ea.Component = ta; rt(wh); -function Ue(n, t) { +function Ke(n, t) { const e = n.pageTotal || Math.ceil(n.recTotal / n.recPerPage); return typeof t == "string" && (t === "first" ? t = 1 : t === "last" ? t = e : t === "prev" ? t = n.page - 1 : t === "next" ? t = n.page + 1 : t === "current" ? t = n.page : t = Number.parseInt(t, 10)), t = t !== void 0 ? Math.max(1, Math.min(t < 0 ? e + t : t, e)) : n.page, { ...n, @@ -7782,7 +7785,7 @@ function sa({ linkCreator: o, ...a }) { - const l = Ue(r, s); + const l = Ke(r, s); return a.text === void 0 && !a.icon && i && (a.text = typeof i == "function" ? i(l) : U(i, l)), a.url === void 0 && o && (a.url = typeof o == "function" ? o(l) : U(o, l)), a.disabled === void 0 && (a.disabled = s !== void 0 && l.page === r.page), /* @__PURE__ */ g(G, { type: e, ...a }); } function na({ @@ -7794,7 +7797,7 @@ function na({ children: r, ...o }) { - const a = Ue(i, e); + const a = Ke(i, e); return s = typeof s == "function" ? s(a) : U(s, a), /* @__PURE__ */ g(Q, { ...o, children: [ r, s @@ -7814,7 +7817,7 @@ function Ch({ const p = []; for (let d = u; d <= h; d++) { o.text = d, delete o.icon, o.disabled = !1; - const m = Ue(s, d); + const m = Ke(s, d); i && (o.url = typeof i == "function" ? i(m) : U(i, m)), p.push(/* @__PURE__ */ g(G, { type: t, ...o })); } return p; @@ -8436,15 +8439,15 @@ function ra({ if (!(_ != null && _.target)) return; h = h <= i.pageTotal ? h : i.pageTotal; - const v = Ue(i, h); + const v = Ke(i, h); a && !a({ info: v, event: _ }) || (_.target.href = u.url = typeof l == "function" ? l(v) : U(l, v)); - }, m = Ue(i, t || 0); + }, m = Ke(i, t || 0); return u.url = typeof l == "function" ? l(m) : U(l, m), /* @__PURE__ */ g("div", { className: T("input-group", "pager-goto-group", r ? `size-${r}` : ""), children: [ /* @__PURE__ */ g("input", { type: "number", class: "form-control", max: i.pageTotal, min: "1", onInput: p }), /* @__PURE__ */ g(G, { type: s, ...u, onClick: d }) ] }); } -let ss = class extends Ct { +let ns = class extends Ct { get pagerInfo() { return this._pagerInfo; } @@ -8464,8 +8467,8 @@ let ss = class extends Ct { return r === "info" ? f.extend(i, { pagerInfo: o }) : (r === "link" || r === "size-menu" || r === "nav" || r === "goto") && f.extend(i, { pagerInfo: o, linkCreator: t.linkCreator }), i; } }; -ss.NAME = "pager"; -ss.ItemComponents = { +ns.NAME = "pager"; +ns.ItemComponents = { ...Ct.ItemComponents, info: na, link: sa, @@ -8473,17 +8476,17 @@ ss.ItemComponents = { "size-menu": xh, goto: ra }; -ss.defaultItemProps = { +ns.defaultItemProps = { btnType: "ghost", size: "sm" }; class oa extends B { } oa.NAME = "Pager"; -oa.Component = ss; +oa.Component = ns; const kh = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ __proto__: null, - Pager: ss, + Pager: ns, PagerGoto: ra, PagerInfoItem: na, PagerLink: sa @@ -8734,7 +8737,7 @@ class Nh extends _i { ]; } } -class ns extends dt { +class is extends dt { _getClassName(t) { return [super._getClassName(t), t.lines ? "tree-lines" : ""]; } @@ -8745,22 +8748,22 @@ class ns extends dt { return e && (e.type === "item" && (e.icon === void 0 && (e.icon = e.items ? e.expanded ? t.expandedIcon : t.collapsedIcon : t.normalIcon), e.actions === void 0 && (e.actions = t.itemActions)), e); } } -ns.NAME = "tree"; -ns.defaultProps = { +is.NAME = "tree"; +is.defaultProps = { ...dt.defaultProps, indent: 12 }; -ns.defaultItemProps = { +is.defaultItemProps = { ...dt.defaultItemProps, innerComponent: "div" }; -ns.inheritNestedProps = [...dt.inheritNestedProps, "itemActions", "expandedIcon", "collapsedIcon", "normalIcon"]; +is.inheritNestedProps = [...dt.inheritNestedProps, "itemActions", "expandedIcon", "collapsedIcon", "normalIcon"]; class rn extends _t { _getClassName(t) { return [super._getClassName(t), t.lines ? "tree-lines" : ""]; } _getItem(t, e, s) { - return ns.getTreeItem(t, super._getItem(t, e, s)); + return is.getTreeItem(t, super._getItem(t, e, s)); } } rn.NAME = "tree"; @@ -9628,10 +9631,10 @@ var ga = (n, t, e) => { if (t.has(n)) throw TypeError("Cannot add the same private member more than once"); t instanceof WeakSet ? t.add(n) : t.set(n, e); -}, at = (n, t, e) => (ga(n, t, "access private method"), e), Ht, Ie, Re, Dn, ma, Ln, _a, zn, ya, On, va, ps, Fn, on, Ms, Hn, Wn, jn, Bn, De, gs, Ps, Vi, Ui, ba, Vn, wa; +}, at = (n, t, e) => (ga(n, t, "access private method"), e), Ht, Ie, Re, Dn, ma, Ln, _a, zn, ya, On, va, gs, Fn, on, Ms, Hn, Wn, jn, Bn, De, ms, Ps, Vi, Ui, ba, Vn, wa; let Ki = class extends W { constructor(t) { - super(t), J(this, Dn), J(this, Ln), J(this, zn), J(this, On), J(this, ps), J(this, De), J(this, Ps), J(this, Ui), J(this, Vn), this.ref = Y(), this._rafId = 0, this._needRender = !1, this._plugins = [], this._lastUsedPlugins = /* @__PURE__ */ new Map(), this._events = /* @__PURE__ */ new Map(), this._data = {}, this._i18nMaps = [], this._hover = { in: !1 }, this.updateLayout = () => { + super(t), J(this, Dn), J(this, Ln), J(this, zn), J(this, On), J(this, gs), J(this, De), J(this, Ps), J(this, Ui), J(this, Vn), this.ref = Y(), this._rafId = 0, this._needRender = !1, this._plugins = [], this._lastUsedPlugins = /* @__PURE__ */ new Map(), this._events = /* @__PURE__ */ new Map(), this._data = {}, this._i18nMaps = [], this._hover = { in: !1 }, this.updateLayout = () => { this._rafId && cancelAnimationFrame(this._rafId), this._rafId = requestAnimationFrame(() => { this.update({ dirtyType: "layout" }), this._rafId = 0; }); @@ -9686,10 +9689,10 @@ let Ki = class extends W { }), J(this, jn, (e) => { const s = f(e.target).closest(".dtable-cell"); if (!s.length) - return at(this, De, gs).call(this, !1); - at(this, De, gs).call(this, [s.attr("data-row"), s.attr("data-col")]); + return at(this, De, ms).call(this, !1); + at(this, De, ms).call(this, [s.attr("data-row"), s.attr("data-col")]); }), J(this, Bn, () => { - at(this, De, gs).call(this, !1); + at(this, De, ms).call(this, !1); }), this._id = t.id ?? `dtable-${ct()}`, this.state = { scrollTop: 0, scrollLeft: 0, renderCount: 0 }, this._allPlugins = Object.freeze(Ah(t.plugins)), this._allPlugins.forEach((e) => { const { methods: s, data: i, state: r } = e; s && Object.entries(s).forEach(([o, a]) => { @@ -9730,7 +9733,7 @@ let Ki = class extends W { this._options = void 0; } componentDidMount() { - this._needRender ? this.forceUpdate() : at(this, ps, Fn).call(this), this.on("click", K(this, Hn)), this.on("keydown", K(this, Wn)); + this._needRender ? this.forceUpdate() : at(this, gs, Fn).call(this), this.on("click", K(this, Hn)), this.on("keydown", K(this, Wn)); const { options: t } = this; (t.rowHover || t.colHover) && (this.on("mouseover", K(this, jn)), this.on("mouseleave", K(this, Bn))); let { responsive: e } = t; @@ -9750,7 +9753,7 @@ let Ki = class extends W { this._checkPluginsState(); } componentDidUpdate() { - at(this, ps, Fn).call(this), this._checkPluginsState(), this._plugins.forEach((t) => { + at(this, gs, Fn).call(this), this._checkPluginsState(), this._plugins.forEach((t) => { var e; (e = t.onUpdated) == null || e.call(this); }); @@ -10090,7 +10093,7 @@ va = function(n) { ) ), t.length ? t : null; }; -ps = /* @__PURE__ */ new WeakSet(); +gs = /* @__PURE__ */ new WeakSet(); Fn = function() { var n; this._needRender = !1, this._plugins.forEach((t) => { @@ -10105,7 +10108,7 @@ Wn = /* @__PURE__ */ new WeakMap(); jn = /* @__PURE__ */ new WeakMap(); Bn = /* @__PURE__ */ new WeakMap(); De = /* @__PURE__ */ new WeakSet(); -gs = function(n) { +ms = function(n) { const { element: t, options: e } = this; if (!t) return; @@ -10631,7 +10634,7 @@ const Nr = 'input[type="checkbox"],.dtable-checkbox', Kh = { }, when: (n) => !!n.store, data() { - return { store: new Qe(`DTable:${this.id}`) }; + return { store: new ts(`DTable:${this.id}`) }; } }, Yh = nt(Gh); var Aa = /* @__PURE__ */ ((n) => (n.unknown = "", n.collapsed = "collapsed", n.expanded = "expanded", n.hidden = "hidden", n.normal = "normal", n))(Aa || {}); @@ -10713,7 +10716,7 @@ function Ra(n, t, e, s, i) { return e === c; })) && (s[t] = e), r.parent && Ra(n, r.parent, e, s, i); } -const hs = "dtable-nested-toggle", Xh = { +const us = "dtable-nested-toggle", Xh = { name: "nested", plugins: [Yh], requireAfter: ["sortable"], @@ -10814,7 +10817,7 @@ const hs = "dtable-nested-toggle", Xh = { } } if (o && (l.children || l.parent) && n.push( - ((c = this.options.onRenderNestedToggle) == null ? void 0 : c.call(this, l, i, s, r)) ?? /* @__PURE__ */ g("a", { className: `${hs} state${l.children ? "" : " is-no-child"}`, children: /* @__PURE__ */ g("span", { className: "toggle-icon" }) }), + ((c = this.options.onRenderNestedToggle) == null ? void 0 : c.call(this, l, i, s, r)) ?? /* @__PURE__ */ g("a", { className: `${us} state${l.children ? "" : " is-no-child"}`, children: /* @__PURE__ */ g("span", { className: "toggle-icon" }) }), { outer: !0, className: `is-${l.state}` } ), l.level) { let { nestedIndent: u = o } = s.setting; @@ -10826,18 +10829,18 @@ const hs = "dtable-nested-toggle", Xh = { var i; const { id: s } = t; return e.setting.nestedToggle && n.push( - ((i = this.options.onRenderNestedToggle) == null ? void 0 : i.call(this, void 0, s, e, void 0)) ?? /* @__PURE__ */ g("a", { className: `${hs} state`, children: /* @__PURE__ */ g("span", { className: "toggle-icon" }) }), + ((i = this.options.onRenderNestedToggle) == null ? void 0 : i.call(this, void 0, s, e, void 0)) ?? /* @__PURE__ */ g("a", { className: `${us} state`, children: /* @__PURE__ */ g("span", { className: "toggle-icon" }) }), { outer: !0, className: `is-${this.isAllCollapsed() ? "collapsed" : "expanded"}` } ), n; }, onHeaderCellClick(n) { const t = n.target; - if (!(!t || !t.closest(`.${hs}`))) + if (!(!t || !t.closest(`.${us}`))) return this.toggleRow("HEADER"), !0; }, onCellClick(n, { rowID: t }) { const e = n.target; - if (!(!e || !this.getNestedRowInfo(t).children || !e.closest(`.${hs}`))) + if (!(!e || !this.getNestedRowInfo(t).children || !e.closest(`.${us}`))) return this.toggleRow(t), !0; } }, Qh = nt(Xh); @@ -11302,16 +11305,16 @@ const pu = { sortType: nu, sortable: gu }, Symbol.toStringTag, { value: "Module" })); -class is extends B { +class rs extends B { setOptions(t, e) { return t = super.setOptions(t, e), t.parent || (t.parent = this.element), t; } } -is.NAME = "DTable"; -is.Component = Ki; -is.definePlugin = nt; -is.removePlugin = ua; -is.plugins = mu; +rs.NAME = "DTable"; +rs.Component = Ki; +rs.definePlugin = nt; +rs.removePlugin = ua; +rs.plugins = mu; const _u = "nav", wn = '[data-toggle="tab"]', yu = "active"; class Rs extends ft { constructor() { @@ -11349,10 +11352,10 @@ export { qs as CommonList, ft as Component, B as ComponentFromReact, - vs as Computed, + Fe as Computed, D as CustomContent, bo as CustomRender, - is as DTable, + rs as DTable, $i as DatePicker, Ai as DatetimePicker, se as Dropdown, @@ -11362,9 +11365,9 @@ export { tt as Icon, Di as ImageSelector, di as Menu, - Iu as Messager, + Ru as Messager, Es as Modal, - Ve as ModalBase, + Ue as ModalBase, ze as ModalTrigger, ea as Nav, oa as Pager, @@ -11376,7 +11379,7 @@ export { ji as SearchBox, fi as SearchMenu, Ql as Sticky, - Be as TIME_DAY, + Ve as TIME_DAY, Rs as Tabs, Ei as TimePicker, ca as Toolbar, @@ -11387,8 +11390,9 @@ export { zt as bus, f as cash, T as classes, - Su as clearData, - rs as convertBytes, + xu as clearData, + Su as computed, + os as convertBytes, po as create, j as createDate, $l as createFormData, @@ -11396,17 +11400,17 @@ export { Y as createRef, Kr as deepGet, xl as deepGetPath, - Tu as defineFn, + Nu as defineFn, bs as delay, zl as disableScroll, - Nu as dom, + Eu as dom, ar as downloadFile, Kl as enterFullscreen, ve as evalValue, ii as fetchData, Mt as formatBytes, xt as formatDate, - ju as formatDateSpan, + Bu as formatDateSpan, U as formatString, Yr as getClassList, Us as getComponent, @@ -11414,25 +11418,25 @@ export { lo as getHotkeysMap, nc as getReactComponent, fc as getUniqueCode, - Fe as getZData, + He as getZData, mt as h, - ku as hotkeys, + Tu as hotkeys, O as i18n, go as initGlobalComponents, Sn as isDiff, Cu as isFetchSetting, ee as isSameDay, Bo as isSameMonth, - Ou as isSameWeek, + Fu as isSameWeek, In as isSameYear, - Fu as isToday, - Wu as isTomorrow, + Hu as isToday, + ju as isTomorrow, Vo as isValidDate, gt as isValidElement, - Hu as isYesterday, + Wu as isYesterday, L as mergeProps, ct as nextGid, - xu as parseRawData, + ku as parseRawData, hi as parseSize, vo as reactComponents, Gl as registerComponent, diff --git a/dev/zui/zui.esm.js.map b/dev/zui/zui.esm.js.map index 3c1ef1ebb5..cae933f075 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 *

      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�f5crguepVSJD4u}mP>Ej&%NVJ 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

    \n * Hello world\" />\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 const {getItems} = props;\n if (getItems) {\n const result = getItems.call(this, items as Item[]);\n if (result !== undefined) {\n return result;\n }\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 _beforeRender(props: RenderableProps

    ): void | RenderableProps

    | undefined {\n return this.props.beforeRender?.call(this, props);\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', 'onToggle', 'checkbox', 'getItem', 'getItems', '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, index: number): NestedItem | false {\n const {beforeRenderItem} = this.props;\n if (beforeRenderItem) {\n const result = beforeRenderItem.call(this, item, index);\n if (result !== undefined) {\n item = result;\n }\n }\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 =