From 3f8ae93f40902f15b525c5ce0fe75b1b753557b8 Mon Sep 17 00:00:00 2001 From: catouse Date: Wed, 4 Sep 2024 08:27:43 +0000 Subject: [PATCH] deploy: 075acc2f698a00b9a0537bb3f6a0aa3162482ee4 --- dev/404.html | 6 ++-- ...1R.js => guide_start_index.md.YnKoq_WX.js} | 30 +++++++++--------- ... => guide_start_index.md.YnKoq_WX.lean.js} | 30 +++++++++--------- 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 | 12 +++---- dev/guide/start/intro.html | 6 ++-- dev/guide/start/tutorial.html | 10 +++--- dev/hashmap.json | 2 +- dev/index.html | 6 ++-- dev/lib/basic/core/cash.html | 6 ++-- dev/lib/basic/core/component.html | 10 +++--- dev/lib/basic/core/css-component.html | 8 ++--- 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 | 8 ++--- 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 | 6 ++-- dev/lib/components/nav/js.html | 6 ++-- dev/lib/components/pager/index.html | 8 ++--- dev/lib/components/pager/js.html | 6 ++-- dev/lib/components/panel/index.html | 8 ++--- dev/lib/components/progress-circle/index.html | 8 ++--- dev/lib/components/progress/index.html | 8 ++--- dev/lib/components/scrollbar/index.html | 8 ++--- dev/lib/components/search-box/index.html | 8 ++--- dev/lib/components/table/index.html | 10 +++--- dev/lib/components/tabs/index.html | 8 ++--- dev/lib/components/toolbar/index.html | 8 ++--- dev/lib/components/toolbar/js.html | 6 ++-- dev/lib/components/tooltip/index.html | 8 ++--- dev/lib/components/tree/index.html | 6 ++-- dev/lib/components/upload-imgs/index.html | 6 ++-- dev/lib/components/upload/index.html | 6 ++-- dev/lib/forms/checkbox/index.html | 8 ++--- dev/lib/forms/checkbox/switch.html | 8 ++--- dev/lib/forms/datetime-picker/date.html | 8 ++--- dev/lib/forms/datetime-picker/datetime.html | 8 ++--- dev/lib/forms/datetime-picker/time.html | 8 ++--- dev/lib/forms/form-control/index.html | 8 ++--- dev/lib/forms/form/index.html | 6 ++-- dev/lib/forms/input-control/index.html | 8 ++--- dev/lib/forms/input-group/index.html | 8 ++--- dev/lib/forms/picker/index.html | 8 ++--- dev/lib/helpers/helpers/date-helper.html | 6 ++-- dev/lib/helpers/helpers/string-helper.html | 6 ++-- dev/lib/helpers/store/index.html | 6 ++-- dev/lib/index.html | 6 ++-- dev/public/zui/icons/fontawesome-license.html | 6 ++-- dev/themes/index.html | 6 ++-- .../backgrounds/utilities/index.html | 6 ++-- .../borders/utilities/border-color.html | 6 ++-- .../borders/utilities/border-radius.html | 6 ++-- .../borders/utilities/border-width.html | 6 ++-- dev/utilities/borders/utilities/divider.html | 6 ++-- .../borders/utilities/ring-color.html | 6 ++-- .../borders/utilities/ring-offset.html | 6 ++-- .../borders/utilities/ring-width.html | 6 ++-- .../effects/utilities/animation.html | 6 ++-- dev/utilities/effects/utilities/filter.html | 6 ++-- dev/utilities/effects/utilities/opacity.html | 6 ++-- dev/utilities/effects/utilities/shadow.html | 6 ++-- .../effects/utilities/transform.html | 6 ++-- .../effects/utilities/transition.html | 6 ++-- .../flex/utilities/align-content.html | 6 ++-- dev/utilities/flex/utilities/align-items.html | 6 ++-- dev/utilities/flex/utilities/align-self.html | 6 ++-- dev/utilities/flex/utilities/basis.html | 6 ++-- dev/utilities/flex/utilities/direction.html | 6 ++-- dev/utilities/flex/utilities/flex.html | 6 ++-- dev/utilities/flex/utilities/gap.html | 6 ++-- dev/utilities/flex/utilities/grow.html | 6 ++-- .../flex/utilities/justify-content.html | 6 ++-- dev/utilities/flex/utilities/order.html | 6 ++-- dev/utilities/flex/utilities/shrink.html | 6 ++-- dev/utilities/flex/utilities/wrap.html | 6 ++-- dev/utilities/index.html | 6 ++-- .../interactivity/utilities/cursor.html | 8 ++--- .../interactivity/utilities/disabled.html | 8 ++--- .../interactivity/utilities/loading.html | 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 | 6 ++-- .../typography/utilities/font-size.html | 6 ++-- .../typography/utilities/font-weight.html | 6 ++-- .../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 | 6 ++-- .../typography/utilities/word-break.html | 12 +++---- dev/zui-3.0.0.zip | Bin 1024111 -> 1024116 bytes dev/zui/zui.esm.js | 2 +- dev/zui/zui.esm.js.map | 2 +- dev/zui/zui.js | 2 +- dev/zui/zui.js.map | 2 +- 152 files changed, 547 insertions(+), 547 deletions(-) rename dev/assets/{guide_start_index.md.CxEMUG1R.js => guide_start_index.md.YnKoq_WX.js} (94%) rename dev/assets/{guide_start_index.md.CxEMUG1R.lean.js => guide_start_index.md.YnKoq_WX.lean.js} (84%) diff --git a/dev/404.html b/dev/404.html index 574577ca8b..54ea3d8515 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.CxEMUG1R.js b/dev/assets/guide_start_index.md.YnKoq_WX.js similarity index 94% rename from dev/assets/guide_start_index.md.CxEMUG1R.js rename to dev/assets/guide_start_index.md.YnKoq_WX.js index 5043127790..a6294e8b13 100644 --- a/dev/assets/guide_start_index.md.CxEMUG1R.js +++ b/dev/assets/guide_start_index.md.YnKoq_WX.js @@ -14,7 +14,7 @@ import{c as d,k as s,m as r,a as i,t as l,I as h,w as n,R as a,D as p,o as g,f a <a class="btn" href="/">访问 ZUI 网站</a> <script src="./zui/zui.js"></script> </body> -</html>

使用 CDN

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

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

使用 JS 组件

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

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

使用 CDN

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

`,6),m={class:"vp-code-group vp-adaptive-theme"},B=a('
',1),b={class:"blocks"},v={class:"language-html vp-adaptive-theme active"},S=s("button",{title:"Copy Code",class:"copy"},null,-1),I=s("span",{class:"lang"},"html",-1),q={class:"shiki shiki-themes github-light github-dark vp-code"},P=a('<!doctype html>',1),z=a('<html lang="zh-CN">',1),V=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"head"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),N=a(' <meta charset="utf-8">',1),f=a(' <meta name="viewport" content="width=device-width, initial-scale=1">',1),w=a(' <title>ZUI</title>',1),R={class:"line highlighted"},Z=a(' <link rel="stylesheet" href=',7),j={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},U=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),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),Q=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," src",-1),L=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),ws=a(' <title>ZUI</title>',1),Rs={class:"line highlighted"},Zs=a(' <link rel="stylesheet" href=',7),js={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},Us=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),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),Qs=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," src",-1),Ls=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;
@@ -54,17 +54,17 @@ import{c as d,k as s,m as r,a as i,t as l,I as h,w as n,R as a,D as p,o as g,f a
 const myTable = new DTable('#myTable', {...});
`,8),di=JSON.parse('{"title":"快速上手","description":"","frontmatter":{},"headers":[],"relativePath":"guide/start/index.md","filePath":"guide/start/index.md","lastUpdated":null}'),ki={name:"guide/start/index.md"},ri=Object.assign(ki,{setup(pi){return(t,ei)=>{const e=p("Example"),k=p("PluginTabsTab"),E=p("PluginTabs");return g(),d("div",null,[o,y,c,s("div",F,[s("a",{class:"rounded-full btn primary size-lg",href:r(_)(`/zui-${t.zui.version}.zip`),download:""},[C,i(" 点击下载")],8,u),s("a",{class:"rounded-full btn outline size-lg",href:`https://github.com/easysoft/zui/releases/tag/v${t.zui.version}`,target:"_blank"},[T,i(" 从 GitHub 下载")],8,A)]),D,s("div",m,[B,s("div",b,[s("div",v,[S,I,s("pre",q,[s("code",null,[P,i(` `),z,i(` `),V,i(` -`),f,i(` `),N,i(` -`),R,i(` -`),s("span",w,[x,s("span",U,'"///cdn.jsdelivr.net/npm/zui/dist/'+l(t.zui.version)+'/zui.css"',1),j]),i(` -`),Z,i(` +`),f,i(` +`),w,i(` +`),s("span",R,[Z,s("span",j,'"///cdn.jsdelivr.net/npm/zui/dist/'+l(t.zui.version)+'/zui.css"',1),U]),i(` +`),x,i(` `),M,i(` `),J,i(` `),H,i(` -`),s("span",O,[$,G,L,X,s("span",Y,'"///cdn.jsdelivr.net/npm/zui/dist/'+l(t.zui.version)+'/zui.js"',1),K]),i(` -`),Q,i(` -`),W])])]),s("div",ss,[is,as,s("pre",ts,[s("code",null,[hs,i(` +`),s("span",O,[Y,$,Q,L,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(` `),ks,i(` @@ -80,14 +80,14 @@ import{c as d,k as s,m as r,a as i,t as l,I as h,w as n,R as a,D as p,o as g,f a `),bs])])]),s("div",vs,[Ss,Is,s("pre",qs,[s("code",null,[Ps,i(` `),zs,i(` `),Vs,i(` -`),fs,i(` `),Ns,i(` -`),Rs,i(` -`),s("span",ws,[xs,s("span",Us,'"///unpkg.com/zui@'+l(t.zui.version)+'/zui.css"',1),js]),i(` -`),Zs,i(` +`),fs,i(` +`),ws,i(` +`),s("span",Rs,[Zs,s("span",js,'"///unpkg.com/zui@'+l(t.zui.version)+'/zui.css"',1),Us]),i(` +`),xs,i(` `),Ms,i(` `),Js,i(` `),Hs,i(` -`),s("span",Os,[$s,Gs,Ls,Xs,s("span",Ys,'"///unpkg.com/zui@'+l(t.zui.version)+'/zui.js"',1),Ks]),i(` -`),Qs,i(` -`),Ws])])])])]),si,h(E,null,{default:n(()=>[h(k,{label:"示例"},{default:n(()=>[h(e,null,{default:n(()=>[ii]),_:1})]),_:1}),h(k,{label:"HTML"},{default:n(()=>[ai]),_:1})]),_:1}),ti,h(E,null,{default:n(()=>[h(k,{label:"示例"},{default:n(()=>[h(e,null,{default:n(()=>[hi]),_:1})]),_:1}),h(k,{label:"HTML"},{default:n(()=>[ni]),_:1})]),_:1}),li])}}});export{di as __pageData,ri as default}; +`),s("span",Os,[Ys,$s,Qs,Ls,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.CxEMUG1R.lean.js b/dev/assets/guide_start_index.md.YnKoq_WX.lean.js similarity index 84% rename from dev/assets/guide_start_index.md.CxEMUG1R.lean.js rename to dev/assets/guide_start_index.md.YnKoq_WX.lean.js index d603d6d478..c7dae74885 100644 --- a/dev/assets/guide_start_index.md.CxEMUG1R.lean.js +++ b/dev/assets/guide_start_index.md.YnKoq_WX.lean.js @@ -1,4 +1,4 @@ -import{c as d,k as s,m as r,a as i,t as l,I as h,w as n,R as a,D as p,o as g,f as _}from"./chunks/framework.DeE3OwZJ.js";const o=s("h1",{id:"快速上手",tabindex:"-1"},[i("快速上手 "),s("a",{class:"header-anchor",href:"#快速上手","aria-label":'Permalink to "快速上手"'},"​")],-1),y=s("h2",{id:"下载使用",tabindex:"-1"},[i("下载使用 "),s("a",{class:"header-anchor",href:"#下载使用","aria-label":'Permalink to "下载使用"'},"​")],-1),c=s("p",null,"你可以从如下地址下载 ZUI 的最新版本:",-1),F={class:"gap-4 vp-raw row"},u=["href"],C=s("i",{class:"icon icon-download-alt icon-lg"},null,-1),A=["href"],T=s("i",{class:"icon icon-github icon-lg"},null,-1),D=a("",6),m={class:"vp-code-group vp-adaptive-theme"},B=a("",1),b={class:"blocks"},v={class:"language-html vp-adaptive-theme active"},S=s("button",{title:"Copy Code",class:"copy"},null,-1),I=s("span",{class:"lang"},"html",-1),q={class:"shiki shiki-themes github-light github-dark vp-code"},P=a("",1),z=a("",1),V=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"head"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),f=a("",1),N=a("",1),R=a("",1),w={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),O={class:"line highlighted"},$=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <",-1),G=s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"script",-1),L=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," src",-1),X=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"=",-1),Y={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},K=a("",6),Q=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),W=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"")],-1),ss={class:"language-html vp-adaptive-theme"},is=s("button",{title:"Copy Code",class:"copy"},null,-1),as=s("span",{class:"lang"},"html",-1),ts={class:"shiki shiki-themes github-light github-dark vp-code"},hs=a("",1),ns=a("",1),ls=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"head"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),ks=a("",1),ps=a("",1),es=a("",1),Es={class:"line highlighted"},ds=a("",7),rs={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},gs=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">",-1),_s=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),os=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"body"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),ys=a("",1),cs=a("",1),Fs={class:"line highlighted"},us=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <",-1),Cs=s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"script",-1),As=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," src",-1),Ts=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"=",-1),Ds={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},ms=a("",6),Bs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),bs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"")],-1),vs={class:"language-html vp-adaptive-theme"},Ss=s("button",{title:"Copy Code",class:"copy"},null,-1),Is=s("span",{class:"lang"},"html",-1),qs={class:"shiki shiki-themes github-light github-dark vp-code"},Ps=a("",1),zs=a("",1),Vs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"head"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),fs=a("",1),Ns=a("",1),Rs=a("",1),ws={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),Os={class:"line highlighted"},$s=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <",-1),Gs=s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"script",-1),Ls=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," src",-1),Xs=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"=",-1),Ys={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},Ks=a("",6),Qs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),Ws=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"")],-1),si=a("",8),ii=s("div",{"zui-create":"datePicker"},null,-1),ai=s("div",{class:"language-html vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"html"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"<"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"div"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," zui-create"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"="),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"datePicker"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")])])])],-1),ti=s("p",null,[i("使用 "),s("code",null,"zui-create-"),i(" 来定义组件选项,例如:")],-1),hi=s("div",{"zui-create":"","zui-create-list":"{items: [{text: 'item1'}, {text: 'item2'}], onClickItem: (e) => console.log('You clicked', e)}"},null,-1),ni=s("div",{class:"language-html vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"html"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"<"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"div"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," zui-create"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," zui-create-list"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"="),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"')]),i(` +import{c as d,k as s,m as r,a as i,t as l,I as h,w as n,R as a,D as p,o as g,f as _}from"./chunks/framework.DeE3OwZJ.js";const o=s("h1",{id:"快速上手",tabindex:"-1"},[i("快速上手 "),s("a",{class:"header-anchor",href:"#快速上手","aria-label":'Permalink to "快速上手"'},"​")],-1),y=s("h2",{id:"下载使用",tabindex:"-1"},[i("下载使用 "),s("a",{class:"header-anchor",href:"#下载使用","aria-label":'Permalink to "下载使用"'},"​")],-1),c=s("p",null,"你可以从如下地址下载 ZUI 的最新版本:",-1),F={class:"gap-4 vp-raw row"},u=["href"],C=s("i",{class:"icon icon-download-alt icon-lg"},null,-1),A=["href"],T=s("i",{class:"icon icon-github icon-lg"},null,-1),D=a("",6),m={class:"vp-code-group vp-adaptive-theme"},B=a("",1),b={class:"blocks"},v={class:"language-html vp-adaptive-theme active"},S=s("button",{title:"Copy Code",class:"copy"},null,-1),I=s("span",{class:"lang"},"html",-1),q={class:"shiki shiki-themes github-light github-dark vp-code"},P=a("",1),z=a("",1),V=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"head"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),N=a("",1),f=a("",1),w=a("",1),R={class:"line highlighted"},Z=a("",7),j={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},U=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),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),Q=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," src",-1),L=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),ws=a("",1),Rs={class:"line highlighted"},Zs=a("",7),js={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},Us=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),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),Qs=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," src",-1),Ls=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(` @@ -6,17 +6,17 @@ import{c as d,k as s,m as r,a as i,t as l,I as h,w as n,R as a,D as p,o as g,f a `),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")])])])],-1),li=a("",8),di=JSON.parse('{"title":"快速上手","description":"","frontmatter":{},"headers":[],"relativePath":"guide/start/index.md","filePath":"guide/start/index.md","lastUpdated":null}'),ki={name:"guide/start/index.md"},ri=Object.assign(ki,{setup(pi){return(t,ei)=>{const e=p("Example"),k=p("PluginTabsTab"),E=p("PluginTabs");return g(),d("div",null,[o,y,c,s("div",F,[s("a",{class:"rounded-full btn primary size-lg",href:r(_)(`/zui-${t.zui.version}.zip`),download:""},[C,i(" 点击下载")],8,u),s("a",{class:"rounded-full btn outline size-lg",href:`https://github.com/easysoft/zui/releases/tag/v${t.zui.version}`,target:"_blank"},[T,i(" 从 GitHub 下载")],8,A)]),D,s("div",m,[B,s("div",b,[s("div",v,[S,I,s("pre",q,[s("code",null,[P,i(` `),z,i(` `),V,i(` -`),f,i(` `),N,i(` -`),R,i(` -`),s("span",w,[x,s("span",U,'"///cdn.jsdelivr.net/npm/zui/dist/'+l(t.zui.version)+'/zui.css"',1),j]),i(` -`),Z,i(` +`),f,i(` +`),w,i(` +`),s("span",R,[Z,s("span",j,'"///cdn.jsdelivr.net/npm/zui/dist/'+l(t.zui.version)+'/zui.css"',1),U]),i(` +`),x,i(` `),M,i(` `),J,i(` `),H,i(` -`),s("span",O,[$,G,L,X,s("span",Y,'"///cdn.jsdelivr.net/npm/zui/dist/'+l(t.zui.version)+'/zui.js"',1),K]),i(` -`),Q,i(` -`),W])])]),s("div",ss,[is,as,s("pre",ts,[s("code",null,[hs,i(` +`),s("span",O,[Y,$,Q,L,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(` `),ks,i(` @@ -32,14 +32,14 @@ import{c as d,k as s,m as r,a as i,t as l,I as h,w as n,R as a,D as p,o as g,f a `),bs])])]),s("div",vs,[Ss,Is,s("pre",qs,[s("code",null,[Ps,i(` `),zs,i(` `),Vs,i(` -`),fs,i(` `),Ns,i(` -`),Rs,i(` -`),s("span",ws,[xs,s("span",Us,'"///unpkg.com/zui@'+l(t.zui.version)+'/zui.css"',1),js]),i(` -`),Zs,i(` +`),fs,i(` +`),ws,i(` +`),s("span",Rs,[Zs,s("span",js,'"///unpkg.com/zui@'+l(t.zui.version)+'/zui.css"',1),Us]),i(` +`),xs,i(` `),Ms,i(` `),Js,i(` `),Hs,i(` -`),s("span",Os,[$s,Gs,Ls,Xs,s("span",Ys,'"///unpkg.com/zui@'+l(t.zui.version)+'/zui.js"',1),Ks]),i(` -`),Qs,i(` -`),Ws])])])])]),si,h(E,null,{default:n(()=>[h(k,{label:"示例"},{default:n(()=>[h(e,null,{default:n(()=>[ii]),_:1})]),_:1}),h(k,{label:"HTML"},{default:n(()=>[ai]),_:1})]),_:1}),ti,h(E,null,{default:n(()=>[h(k,{label:"示例"},{default:n(()=>[h(e,null,{default:n(()=>[hi]),_:1})]),_:1}),h(k,{label:"HTML"},{default:n(()=>[ni]),_:1})]),_:1}),li])}}});export{di as __pageData,ri as default}; +`),s("span",Os,[Ys,$s,Qs,Ls,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 602db3fe2c..f4cd1a71c6 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 2b2bc3afc6..dd9dad9101 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 e4d82ace81..11ddfe86a8 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 456e5780ed..f9808da4fc 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 b154ede924..632fbdbdd7 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 1ad068b6f6..1f625035b2 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 dfce065e2a..3d9f12d68a 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 3c59cf5615..9f7c672d3e 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 0806567ec4..3a1c1536e2 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 11c9e7d3fd..6b9c676b21 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 55d75f5665..d4f0feb7b3 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 e0e1248dd5..7cc078d93f 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">
@@ -101,14 +101,14 @@
 });
 
 Messager.show('你好,今天是:' + formatDate(new Date(), 'yyyy年M月d日'));
-</script>

使用 zui-create 声明组件

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

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

注意

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

使用 npm

你可以使用 npm 安装 ZUI:

bash
$ npm install zui

然后在 JS 代码中导入:

js
import zui from 'zui';
+</script>

使用 zui-create 声明组件

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

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

注意

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

使用 npm

你可以使用 npm 安装 ZUI:

bash
$ npm install zui

然后在 JS 代码中导入:

js
import zui from 'zui';
 import 'zui/css';
 
 zui.Messager.show('Hello!');

如果你仅仅需要 ZUI 中的单个组件,例如 数据表格,你可以这样导入:

js
import {DTable} from 'zui/lib/dtable';
 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 6900c4269c..aa94711d23 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 84a0253c3f..eef73cb61a 100644 --- a/dev/guide/start/tutorial.html +++ b/dev/guide/start/tutorial.html @@ -14,8 +14,8 @@ - - + + @@ -83,7 +83,7 @@ * @param key 组件的唯一标识。 */ static query(element: HTMLElement | string, key?: string): Component; -}

创建组件实例

每个组件通常对应一个元素,只有使用对应元素创建了组件实例,组件才会生效,例如:

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

创建组件实例

每个组件通常对应一个元素,只有使用对应元素创建了组件实例,组件才会生效,例如:

html
<nav id="myNav"></nav>
 
 <script>
 const nav = new zui.Nav('#myNav', {
@@ -92,7 +92,7 @@
         {text: 'Blog'},
     ]
 });
-</script>

另一种方式是通过 zui-create 属性来声明组件,例如:

html
<div zui-create="datePicker"></div>

调用组件方法

当创建了组件实例后,就可以调用组件实例上的方法,例如:

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

另一种方式是通过 zui-create 属性来声明组件,例如:

html
<div zui-create="datePicker"></div>

调用组件方法

当创建了组件实例后,就可以调用组件实例上的方法,例如:

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

创建组件实例

每个组件通常对应一个元素,只有使用对应元素创建了组件实例,组件才会生效,例如:

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

创建组件实例

每个组件通常对应一个元素,只有使用对应元素创建了组件实例,组件才会生效,例如:

html
<nav id="myNav"></nav>
 
 <script>
 const nav = new zui.Nav('#myNav', {
@@ -85,7 +85,7 @@
         {text: 'Blog'},
     ]
 });
-</script>

另一种方式是通过 zui-create 属性来声明组件,例如:

html
<div zui-create="datePicker"></div>

调用组件方法

当创建了组件实例后,就可以调用组件实例上的方法,例如:

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

另一种方式是通过 zui-create 属性来声明组件,例如:

html
<div zui-create="datePicker"></div>

调用组件方法

当创建了组件实例后,就可以调用组件实例上的方法,例如:

html
<nav id="myNav"></nav>
 <button id="myNavRenderBtn">重新渲染</button>
 
 <script>
@@ -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 ca5c6f6ee5..259a32bba4 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)

- +
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 7aba92318f..10bc9ce7cc 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 83b339d6c1..555ec7c66d 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 913b9e43d4..07627e0527 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 31d996666e..9dc2ce789c 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 499c7bb901..44485a0f94 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)

- +
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 d725a9eb5e..2439cc9e66 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 5ea44a94ba..d68ed74b0b 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 6423676f21..081b3f0285 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 9d580fe53f..9c1d06c0e2 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 3fedeb3260..51174c4afb 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 0d09546835..f8aa7ffd1d 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 ebda3276cb..5e66121c66 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 da005e4013..f3281ba5bf 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 2bddba544e..4cdd828619 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 3c53f38895..3ea0605820 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 c8d497e804..c29c52d680 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 b13cd6ac60..24e7e14716 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 56dea80dcf..6d678d7410 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 4ababa824e..e309b4fc64 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 8ed81bb1de..e18e3929e9 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 43fc795662..00ea9d0250 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 0aa5b511af..7b942895bd 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 af79b3d122..291fcabe35 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 9e38113b9a..67dc6af79a 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 6f01728c60..cc0b098f2c 100644 --- a/dev/lib/components/nav/index.html +++ b/dev/lib/components/nav/index.html @@ -14,8 +14,8 @@ - - + + @@ -24,7 +24,7 @@ <li class="nav-heading">导航标题</li> ... </menu>

    导航样式

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

    主要导航 .nav-primary

    次要导航 .nav-secondary

    圆点导航 .nav-pills

    标签导航 .nav-tabs

    步骤条 .nav-steps

    垂直排列

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

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

    自适应宽度的导航

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

    提示

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

    CSS 类

    导航提供了如下 CSS 类

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

    CSS 变量

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

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/lib/components/nav/js.html b/dev/lib/components/nav/js.html index 6be2776cd7..e90a5eb99e 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 6df9864be2..2ea1434824 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 3ffc818908..5557e61c53 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 ab4a96f1d1..d610c23529 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 f2a15537f9..b907b9f504 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 85e9873acc..81551fec36 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 8adb31bf3a..f1ab010fd8 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 295ea78092..d2d53fd235 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 dbcd14ad58..26e9d38560 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 3709e6fc5b..4f0e6fc028 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 5098dec775..1a2e48004f 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 a5e9bf7e38..b53dc90034 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 68de75bf05..ca7a89a559 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 498c1f5109..9cd49f6000 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 650b834130..177440c8b0 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 7b1e3a30a7..d10a4387d0 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 3f3d56bafa..081587a624 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 e8984e8cca..e0e45ab977 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 d53635b7c8..cbb64c2ec7 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 4770a6065b..6c7f4d44bd 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 a5659f1ee2..735ccd95a8 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 28dc859ea3..6948fa5aba 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 0a9e33b422..ba0be907a1 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 b2e52cc90d..bc88db55f0 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 92fdbb82d5..8120f42594 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 a3b6919efa..b9f72caa72 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 a9a6e2aaba..3ca560ac6c 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 0d05d0ca95..627947be79 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 b55ca1039f..f5b8bfbc55 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 a2d3a8fafa..13cf7d5f0a 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 d522dc6cba..71a3a5a1db 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 3405cf561f..5210ba393a 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 2809b9dac8..31c053191e 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 da934f14e5..3c0141258e 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 b4b3d43504..0b92f4c0c8 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 86d14c1937..aa1a33677d 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 a9aa17c02b..2c71f2e78f 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 82a3d0cc57..72dc3c1d91 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 fc01745224..8c84689074 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 5123ec4d5b..d0ad335bf3 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 b2cdb923a4..c2406e9856 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 0bdcc01c4e..4133376afb 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 9d71a4a7d3..05d3f97bef 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 d8b6bb9ab5..46cc2914c4 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 59c7e965e6..069a24d4fc 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 5913594447..aeb2f9c97e 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 9cc30e44ed..ee6ec1aac4 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 3c4db41f43..342a35c072 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 3f1810215b..7ea885c413 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 2fb17f59d3..1920e206ac 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 b62a006ad8..2548fd21ae 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 394446494d..abb99bf9ea 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 83033335fb..e5164c56f0 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 36605d4a3e..5a7374167a 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 28c5462ab5..7e155e5c7f 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 ab68c1aade..76aaea40ce 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 5e8954e04a..a7322f6b29 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 6c02285b14..938f7d1e1b 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 00311d1062..f45f913e53 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 3f957212f9..537f6c0d96 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 989aa46686..2590635055 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 82c2949db6..5cfb743cf3 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 e3a224254d..98f5ac18c3 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 7c0e9f279b..708cef5352 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 a29c84546e..cf58037a10 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 5b3bbf5512..fb4d851e56 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 49de3ffab0..d135eac5db 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 fef0d024f7..6f1a4026c2 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 8a370fd729..8debae129b 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 113fb29a4b..b1738e8346 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 d4fa86f40d..7defafac1d 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 292155cbe3..c11241808f 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 5b0ac5e77f..fdf340ad5c 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 f06164b744..2c9fe5ed69 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 deaca99d41..45ba0d97cc 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 3cbf66264b..74dfea0130 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 2b01df3597..87f5820419 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 69668b9ff4..ff6a7bba5f 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 c8e0dd65ac..c80cc53346 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 f2e844af3b..6d1765de06 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 d8123f245e..3e9299c338 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 7a849d37cb..71401af72d 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 a1af9a7252..b91d082774 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 c9a0625dd9..1c9d8ccbd6 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 d27023aa7e..d803195819 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 9e3d125673..f26fbf9023 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 aa02d4cbd9..37ffcf99d4 100644 --- a/dev/utilities/typography/utilities/font-family.html +++ b/dev/utilities/typography/utilities/font-family.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    字体风格

    定义

    在 ZUI 中提供了一些 CSS 工具类方便为元素设置不同风格的字体,包括:

    工具类CSS 属性
    font-sansfont-family
    font-seriffont-family
    font-monofont-family

    无衬线字体 font-sans

    The quick brown fox jumps over the lazy dog.

    白日依山尽,黄河入海流。欲穷千里目,更上一层楼。

    衬线字体 font-serif

    The quick brown fox jumps over the lazy dog.

    白日依山尽,黄河入海流。欲穷千里目,更上一层楼。

    等宽字体 font-mono

    The quick brown fox jumps over the lazy dog.

    白日依山尽,黄河入海流。欲穷千里目,更上一层楼。

    参考

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/typography/utilities/font-size.html b/dev/utilities/typography/utilities/font-size.html index f3757cb251..ab2266ef55 100644 --- a/dev/utilities/typography/utilities/font-size.html +++ b/dev/utilities/typography/utilities/font-size.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    字体大小

    定义

    使用 text-* 工具类控制元素的字体大小。

    工具类CSS 属性
    text-rootfont-size
    text-smfont-size
    text-basefont-size
    text-mdfont-size
    text-lgfont-size
    text-xlfont-size
    text-2xlfont-size
    text-3xlfont-size
    text-4xlfont-size

    示例

    text-root 字体大小
    text-xs 字体大小
    text-sm 字体大小
    text-base 字体大小
    text-md 字体大小
    text-lg 字体大小
    text-xl 字体大小
    text-2xl 字体大小
    text-3xl 字体大小
    text-4xl 字体大小

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/typography/utilities/font-weight.html b/dev/utilities/typography/utilities/font-weight.html index 530139f300..6fac24c542 100644 --- a/dev/utilities/typography/utilities/font-weight.html +++ b/dev/utilities/typography/utilities/font-weight.html @@ -14,14 +14,14 @@ - - + +
    Skip to content

    字体粗细

    定义

    使用 font-* 工具类来控制元素字体粗细。

    工具类CSS 属性
    font-thinfont-weight
    font-lightfont-weight
    font-mediumfont-weight
    font-semiboldfont-weight
    font-boldfont-weight
    font-blackfont-weight

    示例

    font-thin 字体粗细
    font-light 字体粗细
    font-medium 字体粗细
    font-semibold 字体粗细
    font-bold 字体粗细
    font-black 字体粗细

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/typography/utilities/leading.html b/dev/utilities/typography/utilities/leading.html index 0dea04ddc7..25ebe9cfa4 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 6db7bd3f20..cb4a776e07 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 12f7356197..77feda10ff 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 a3e6a51b1c..3ec8c61d77 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 cd350aa5ef..d60c768b55 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 2b9c223df6..10dce31ba7 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 f3480ebb5b..67996fab9f 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 a94e3ca827..6bf4980578 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 4f61917eb2..86eb0a3a01 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 3726e9dd0f..3dfbed5b06 100644 --- a/dev/utilities/typography/utilities/whitespace.html +++ b/dev/utilities/typography/utilities/whitespace.html @@ -14,8 +14,8 @@ - - + + @@ -29,7 +29,7 @@ 欲穷千里目,更上一层楼。

    保留空格自动换行

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

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

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/typography/utilities/word-break.html b/dev/utilities/typography/utilities/word-break.html index 02abf01a23..96ac97106b 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 66da314821759cfb8bda60af488da3189dcd9f07..a30a989dbc82ad9c5debb0d2b9c38c890659ab24 100644 GIT binary patch delta 581364 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%0Amu?c^2t`akJ2g1kTWc7pjm!fuC4Naa?y+j%6)H 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�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�%OEFa{3o~u}&gPE@FxUYP2H+Rb$lRQ_!j-2H| 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

    AaZ;g&Vt<2#)+Se=e6BxVBy1n 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

    EANZy-9)g?C`+6)2>x^rD%G%zZ_wnQEbX_ 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

    0o14r=A-4rCJb0vD2wGnJ4}X1j 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

    =RBLiJ-x^a*e<;@b6p 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

    3G$OuGoMPl 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 z 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

    EDwpDc43oO|Ddj1v!XtR1+ki^>R9QLOQ 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⩔boJIGL?AQubAXM3kofgaxAFsG zWS-_H$>%+Ysno*>f5oAyMrA^an12Q1sajA_TjVOyM8AuE=vY~nXoNqcM#~+H@QNMb z{`Jffp_L2>mYEq604vADV=G_Bz~_4GG%J>Sb0#F-RLaX1>6ccjnYWQ2U+N+l7hZ-K z!VS$FS(CU3;G-kjBOm}*N1)j5eJy1a*dd!p@=utazj7qSf9>am7qcK7WsK1y|80ax zH%sl;IlbB}?r2>thf;*U|E*PWSG&&*3@OJio zz5w>xQ&4Ixf4MBas43BXRzvWtkaB&r74Z77qP;948xNA}TO%cdaPof=fV$w$8y%&y zSx2eUOX>Fd#W9yNk-5q0CM!=d!k(PvrtqVSH z05B%O$8}f2)9rMD{|;HeKxcI6REV=p5Dutds~Wu-3(ie$L(4Z)&tvKCQ4MfF!ccvh zm4R0He+a|zPz&U<(TK%HO&o}=OD{qa6}H^1r`<2)5eiUBB<9qve=E4j`B0FRcx#d>dko;eF|5ANY!HFO z{9XhS1&i*73#3$p#iA^P$wdO4cwSck)>TI~z5xIP;U4`>WPa$YepD7swIzynzrL-8 zF1@}L!u9ZTXw@z>AHx}NRx&p(NM1HxRC>Sff|K&55M|F?hBjV5OQ3H670}Se_#Za zx=fRWZybp-8|5W!0#K5)bSWSCMQ}%fgV?;9MrEI(mb#nb} zlbMNl;wDR{i7}GB??_1|T^vun`GqlqI?E6Sm4%jn9K(-^OHGF450l}vVSN5JVsJ-o z*d;<>;}O}dMO7vGwVXJHR0O@X%nwAnSPTw4d&!9k+|dX|%f9Hx%VFaTc+9EYf24U| zT-nAoqS0F?<;pkE5q}rT84dS~|r~sdB6HC&r$Bt9#40Vww-{v(| zjg!f}<;gS_P#%B{7EW__z6%iPDY#XCaG70gfO61n>4c6y!5r&XgAIQnvU2`oL^OQ2 zc(DV$C*Nlyv_87aqAp)$w;Pfte*-duLpr|AoO8#e%NSdnYbm z2^Bal2f^-s3mZ)9eW`WAY;s3zC8kU85sgb!Tq2o4V_*u--EE{Z$d^QuZjD;6fGCUh zS&F%ZQCuBpe+ZymmMwrc z2XEUglHr7@5d4Gu%0x(-R0GS4PZ^;i<$WlCt>y=Mi#^p>fG|_5bUcgZTV`tShZM=$ z5~{oookVrSZ92wMz`AXMo#X;w4$ZJrcFUZGIoX=Q+Pz;pQA0tE@|uS3E5{7G7w}EB z-a{2xip)5J;ro=OZ9T1me+?o8&t6RuIo_zqwgf%AR_Ty_zG#Q^{MQF2W+03|7lsQ~DY0l;(n=+0&NYIvZ=KBSes-R1w9fKQ*rs z<)_Id!o6A-aSo6GjS5^v*U{5k6lmarx`rU@;2(*+e@=Z{5R$RzRwPc1 zJA!1yhX&$p{n&iN`nzj)7fOf)I&2XcRwd>HWF5T}Yff-mFr<-h;KFukBk=Ex>zH_T z1VoRa#>BGYz0uHHZ&OetKqkU+iYh44!xY|5``C~qb2DEsj6(rQ##6&QL2QFVgn+?e zux9?6%anG=fV6?uAy{Fn8r{6jXV9!KCI6d=H z+K2>7v;$`p{}t%05Y1p(iM0SX6{|Q3o|e5wFF5(addl>Gi?bcW*2uhRoqC zp&H|x+>UwdBFF0(6W2S^&%Z>xV_pvi%urwsi=xu+r;T2d4$ z>N!9>Nt>8H+JGYnl#m-i7;B#@Ca}tb$d_|1R|5eO4w>uMk7kw({7bQk=LYG!oSkOp zRy%c8f1fDfp=#78jR7p+V`6Ct$>z}vR)fa5mj}Ne7Z}G|IYp>LtP zx)sxxh~@yQ+{xXBf+2J)HR-l`d>!j{qHP%H7lD}39rG<+i^6u@ATA)ChFnXWt^r5( z$Z8pg9BB7KgS?ziEEn-#<)ES~-h`=31DITMf98!WPCfCefg1Ic^bGMD?nsbC$a?%( z^CxnMPU=rg87@`t2ZEvR=1d*kB*b$gP$v&^Iom-T7Nlh0a_FQh>%O`infuQW1PKn& zzJ?^eq~ju#>WM0j8~#>RH&ZYb-OWS-Dbc8kbX>k+c$V}ebYhP^StTkX)H!F)ARFi! zf3|y7VWfn4vBkAB9D5YuCDt*0Ozf4%O#Wc_EtNoUzleiBVi1=^KVzxz46ebAZI{rs(kkPm`I7A{qDe+moMf=mV|URcNwa0@5EGc=3e!goA>u*ZRZ z6%t%uOp7;kZ~JtkHgG85<;spXl_=oDcpoUo&zO?UDZj;cBU-0YbtZ+XU#dGFq9NeMY=6!O`rA@dY-0$AXiHYtD=>HM4c+A)qX=VC z3!4}!xL;%bqveIB>s*x`q}ZV@Xb<>Sl(nYP$ocqxnzyF7Z60n|fB|Y1f;7VhSCX=T z_m9sWSfg~n6cjhCx?Z4n$Yt;Fc^@{?L7ihLJuu)4Hkq-N-*KRl=%hTicV=hp;eW&l zdX&it7By+j6H*D*$f&lu!6_v}UfqwiD-KYzyIrT(Bb=@mpY8V2n{g0*xJjtrmM~NB z)esMBx;o=znYWa2K^R#BQa+%oPF>w_yaY<|vNwr4e4;iIDpB?79J;OA+3hYX82TL= zwxV|j>@$9-n9LQPZpc9Js`~?}(tjTG=b!t7@JA7SIPtayM#>d-(}1yp?pfz+kP>{w zO)2LG!Ud6uZvrPGE(=keOx|N7AK&AhHb^9z6{^)Ik&Y~2uIc}~@HDw^uWJD57QOs+k>U?R4GNL`heARs}+rhmy}H<%)@ zsXluiqam~;<3f5o7a^WJ&Rc<>koK?OvlFRF^U-ejP%_;gv-($c##6~B6A ztdH(N*gR%T*7ZBnn0PN>kAL+)-i^3tkd~X=Xp1;p#y3Jj#y=AUVG%Fq!aXoJ9~#Vc zWDvcn!7?DO75_%|VBV%>_~Io0_dZCD3uGX5j_s3aWdV&xQ6~PQo|Z!)1!!+>2_7+*R4ECl5qd| zp5@LA9@wcf?XzFjZC`YUIs?g!Kl!CDmFc(Eh4DpTiZVfwv7huoii5CfOov zfe850?B4@SU`p#Hwtj_6-rc)q2{ZhKFf1aUt9bEEef?!S9!moP?e<(Xqc&W_HOPZC zn$$O1W-+xLPiF0T*OzMQ?*gi%VR%OTAZly6@ax~Ki5`~H~B(2(vM+CDF5hk6TN`BM6Mjeb)= z7;ENPO3K zHHtD=t$PlhpX>#g7y}wRV|ih7`@%?IBDP8*3-hiJaL~v=tF~(!k!w(TsKg{UKstw( za1Hu>km>ia>30b9yvEY+`)dEwexI_AN}Y8j|4G05Ab-GdodRQ?_cEq%wmp&6)*w9m@X(j8a)(5)Wqc7|{LYD~LCd~!IdQjj;m z_|&Q6I_4DP??G+|wC>`*If9p3zGUIjC8xF-yiokM5znt@oD{zEe&Sga74}<4B2IhS zpfY_S0)H7@k(ZCatkgDnBX$fJ-+>|d5$7ckrkp0#n6{Lh9zX*2?c)RHSO(riTGKA7 ziv9|o6LH23Dnat?d&kSPHalCR*RVogRHG+Sv3$@Cmcyk`*SXqy=T!AVF5+G^=iabX zjS2>0+pD{yCwrSa-B1t^g(igw4Ck<@GNLq`tbYerbDU&>)Csk}60jN^*>uqO<2M4m zkkub3)LBd88VJ~Fw{;o^JbqBu6P)n`vtQVC{gKqyaX@<*%6t5wY*1Dh7pX59(-t3% zs4t2w>TGRjab7pY@bC69+4T)O;_K#5dDS(M5WlSwxh>b31Q~BwvuGoCX_{0e$5Fm8 zNq9d1Htv zkw$J+CcvD}t;D;A4~%+DNTnE<^(r;<&f)Gee|8txqmUGCo~_u4b%l~yKjkFLi6x*{6{HNkQ3y+ z0V}fLyuJ^D?GUloe`gvMuC&7yzp)Abl`R<~tffj@#81p{wNSCfVay_ewGi{+7`BHB zpLKX~)-OVtR?aZ5nGQ<-M$4$e(nt%@Udu1Kn-ng{k(|=H# z!Hii~(t)0cUUBvYkqI3M)*&;T&m*f$eV^JC%aq~vUy|R7MPf}Q4hn9=^R}PH3NgBO z%=ayC%mwPs6fv9i0wUoqSYQA%D&Ctym{wZ$460fejziTE7G7Zs5xO>Z#=lO(}GhiBtr6buq64I zrUy`D6G;{(Dpxy94M(}f(k8Pr9=DYu{Emhb(p@iOO&e$-MG_n*B_i5|x& z%wo&qE7fm_#~)1E;@{VTssr9{X#+eUix-ag&4-HEAV&M)^jfM=wtwIeZ^?Z%-GQJm z9>|38_nRVw))KQ6ifLV8Rmx1SRaaGEqOG{)M;eY@^9x=4RVZ_i$YEvY!Kj)+_jhHn z2#R?XV*%|w(dR*&I&pfoa8**V$Z?qFbZDBj2E@{TNRk_L$grv-D41KIDJ1& zh{*sR$@lx>n{FKwOMg)dvPDyu1+F!i4+KGg)iVs+r<)CJE1e3HaWK}Uem4~&SfVq= zWrvO&vR-4N@pl1WQP3o_FkVQnB~%5FhO#$t8%bpXsbo7s`Ie3bO>mRiVv+sT)Y7DY zp3+nu?hO|GA3*&Gs0Wfae*7#?A$EE!e(Nn-awZF?9) z!dCXF1c_y~LsGpQgX(VOOQ<^(gD8gIBZ$3RJz;BLnyOc@&C zdKy9;;}4xv2Y*)8XZT&SCg;r>|F@de2A&e%(=)_VPZe5;S*v7 zxZugOFn6CaGOu1!rfwPg(FeW<@2GD;D{xF5sP!q1PA4sdKnn&+#~*?W$Yg!80y+2)PqOpt{Rzr{JX_}6I@S=q1>vv ztBHivH;DJ&g?9k_?5t;Eyn4&_F7!a*4ermKx0z@xxJ4BdZm+{F{rEmh<1(X?3LgZw z?oaP8x7C8s0WKWG9%wRtcP{m^sN(GdC4VyahNW`k{u}QPB|^n?J+@NS(dYs}ekkPw zy>jFpLMTKx)l`ngacFhT37|zG$3}MJZc{PyP!cqLYKqEhK)rf{y+bEkgGq4NQNMQs;G6U!nXq96ukWPkjZ zh9Nv@N_4dkv6eKU!5u{Kr&UGL7zebX;r(D3>F1*nl74Sef*D^-pI{Ue2Ud6yG1qf=YulS9_=n%($BFAEhU~Gd-SHDbLp|Q z23ldA3B6pYZg>xGrY6dOb1YGM>yDO}G|_83`POX>Fb1j?igD*anFHD7Ce4O<2*8X= zxSN^M(svYO9mtn;D&UEp-`SVr9VbSxyE&A${C8bnBZ^6O4QvxCiqdEKOMlAsneRVN zERxc-75B%d;=jG2a@ThOIGlb*QrYmFMnvV-hZp6uKBbH z_n2FM4{xcq{M99^@O_-+K)iB0_Qg+5-L{JHcx0EwU3g#3#^W_(9K7cZ%hXYr1a#YG z^@La1)Pi{GL`0|=2z3)IT**7L@n&}JT6(t|R*C0e>9BC7&E(}(Q~I?)cW}B7HQ1ip zIWE;FBLIDvn*l4=(tkXej6&T7fMdy_fOY)}Zq2dD^vdWH6I3@ENdB`K2oKTs#U6Od z`g3B7pCElx_YV5-;D|Tgubk07+M!SF)+=H?lj`dTtNes-M#|30VZUa^OGAeX_$bci zJL-O-4JZZafM56t3JH)m^XdM7?qaVLDI@gCO<>=^8I@3g_Z1p ze5(P(0dyC}1ZiJQ$ckT2%o<57kr)r%PE@B`B}D2fn%&J5TpS~fA+IO2)pt2i25{<{ z6cxE3P_=OU77dcBd_BUDM{_fACd})L>DLpNJ*stf)QcR|xp-9cM9-exxJ95Q-qH3T zO=TY;BQlln9)Ar+M;-eQHU$D*i~JbnYPQ-82ZGQ-<8gYpr9ETKO63rc)V zXjH+f(|yqB1cFXUi-e+kElzlvZ2I*C=IY*+Cn8Wv>wnhuBuo3;TolZLv4Cdv-=;*{ z$-l*(iRb-`-UDttKfsMP;ew?b5=I})5w;g?-HCAFefiBB0x{pIOA=yR z1`GI!a<>n83Iu%_g1$En6OpcqD%H~U<%mp>8z^nX-8eLrU=9gfWlSs&l!e6PydM>- zi=(1W(0^EV2kvOE0Dc!g7;f%N?)6wUyd%e-G8}M!Cp5+3>+gpH$=uVe0?S?`U0z@Q zID5B~IvVyrH2o93L4Ui-y>KUC+o1l`(Q=1+FYryULPpKUv^3GFaqcJf+^{0VWn}s{ z9xhBEfV<9VCkLpE@2vTI_{XVpK*n@a_BK6)%zp<4Q9jbZP7L=6u*MyfuB#;gm%V#G zgc6Ez3(O1maOT8<{-7_Wq4}mww%^a(-wZf%sDzLtE;*$HbhM9bfoll^a|_IGte{A1 z=#=>jLnRYrSK4^UejiH(l<|pa$pBWa7b#UeKD1S=t!WRo1*H6WFo9h%HF(Rt$#h$*8Qran>QVVwMUR#&E!7oa4*ErTvxDmob6sO0?e5bWRl>2h2LJ#Gs9X_6 z>Aoz|QvA?_3#m!)4%Em%4D-}Q@3hMJXywUH%@c7NT}LxuQ_LIX69Is&Alo$r74;G_ zJ6_@0{bQ;XMQug9h-r`+WU=zlhJQjehx2W)fJXc(64~%E+Xe*gbjQf=;@dETHT?$A zuRGLtJdjhXdF=wm2nHxF*CP?NK=$Y+1=oS`5v9|ZqW)Yutz&iMo4f(M9v@D}yd*?~ zj_;BJHnZbJeW)9xq1+lt|N(()`N$h7x2R>9*zfAv#`V)FGSHfHCZ& z;x0;HMW+q0NtMqS3PL3jkbfXa3K4k4hth9CLEbB_Vq&4Od0>*8=*4jqqV>Ff$i!-j zwKAFwkhTbN$?p^^^5gIxSxhoAStHVEZksImEAs%c_?LIH(cFnv4@azF`pU2|;TQ35@peO~XJxf#-cyuQ z5AJF<8R`+CWs{M~heGHz!AU_>$kVW#CwclNmj)p2g3_ojil_C<%L*_05iw2-9gzls zGCp+Bm5JAiSZ<~(Cx0+bmVhsf=)2-5Rh<1Qkm3w=zt1y8{w$AG+o8u*cvL}(JbZ31 zFdmVA6f+jh1VaF@yC=9Qo2wgl6Qf{|AK#P%CF2j0akq0P48HZ!voexYsvpJF(Nt&) z7A!P%YpXg_diPjKc`Uk=VkONDXY`3d9rGC*UKIwEO(=_QHVahVZ0O!SYhd0*p~&%t$m1=MI!sq*-;a$$Qc1MP{)^HXi*g zn~iQ^WX*H=8?t)s>kL0}z##@KfM8v252C?LXu$%T1e!%XVo2H0CVVs)rlu(3NyC6p ziaFbxsbKLFbblw;X``OnX~$TZn zsU|41e{m;oO=%jt%B=Szz=9&f@Za~%N#z1#Q~E(cGEXa+FvK1YezQ6>1CqnyzX3J9 zMOHdo=SWzQ`GteePKT=Cx=DJeTj57(MCWbmlE{pBQGfXH%vb9(CyM`j*wq^2W0^Qs^jyk;rxi-scDGB&~F5;x0_|OOvl=aP?)s zI8%C5WPckeXCS1fi`?yxnfHa-JhUTyltQV`2yPakSe5}nFhB@zOn<L z)MWvn$a~{y7TVRqrOks;_z~fSlyXgKs81FR2>&^JhNXh3UUZYYw5`ot>Poypa2?KH zotxbffiFQPf;Z5oz!!P?k&2Vf7aISf#|4!?h*!~t3AzZkcI@PHAqS75a(MCh;zQ<5 z3V&{u$Ak`yn7IIBjF5A_)QB@BG;_J+oFB3!6@XH&wM`2&#lJ37>G+quSekjaTcj8LWE%<}nYcU&mlu|;LF@-TjQPdm8HuF65>zj;-j0g$J=bZ1}?!Ns} zg+W6ql|u|W_9lOt^U7^M92hT~- zvtMdth+~>uan~m8k7a(`A2kq!`@xr96AvE@Di0Efb@MUYCS1Btmx&V(un3n(kHAbi zf8m!w6b~N~mB8+L&Ft4-lP{52UPos<_hCi3$6c023 z>z5Z546%R-WyRBKgbcMnDl$RJ54>^Bdq`H<+r+D`?1)4R# zEg!-4`6Ho3g7uF1O2Rh>5@c$x8m7!5%T_DO*)dkH_GwcWp~6)VCPfE3ip{CXMlDE~ zi7UfNp70m(YF>A!wtg9|tr=?zk$BptmP-tw2q~}a!JJ{;?XC-fSt$}7v}JN&WN;{8 zI(hD(-ceEtv@U;EI#`A+orW0th(E&&gx#!4%`_|bRt52nEq3r=M_xpUP#4vq+wJQ* zCUCpm4h^f@*+P0~xpnr5QLV+fqJ@9o_!YNpW|Bm|W&M0d!6meshefrJyI#75Y zc2tR=v#k4e&h~lCJH)CY3hRT%LTonn6%1ka@19W1?>T>Md82>_lf;-W5eM7v74>Sv zaE{cInusP5>_qD9?fU+?7A-K9KK4R89Y9c?gqGOm$tPIWsd3*#V%24%^}C0 zJZgkHBrJb$$=CIIRI2L4QE+>dE~Wb5%S6B&m;=lb)@p-8sf{Z0d)yU2S6`wvv;4a4 zg@&q}zIFu>ltGX5tB*)N^6)6ottkgnOesKi(HuUK>GOLAu!k3>I4^@A?5A1WjNf$h5_)|f5)Zs}H*R#lL%BY;o#K+i~?=e{Tgy?Fw z4<*A70tn5jaWfc4zVqtr0NIz!?L>7vE8tQcYRLlmn;z6i5~4mCL)z}(@0QwLw%f&v z(r0902_XUCP3L<03vLElTdg75YS(k$gTG&V?V}R23Z6Do5te@@fD5<;d(y*lxa?2H z6-L5Z1j9gYZ4^Zf4}R{aO~VOuef!SdI#Z?(7`71I`j!33ulNs>COvAlZ3)g`iFgma z2G^pJfBZsBEEL6s)h8YQu&)rY;vJ;z=qi^nWwS~ZLFUDUz9Y<)aO}FxUWd5;DNeYC ztMq1WQ#>vE+tq&nU7b&N2N#9}i_GQ+UF>2W!K;11(w^re^rSuBDB>pXP-H;87p;$X z#G6+^218Us;IX|f)ApPsEwqI**=^KK#3OFb`)AHVlb7C6(&U^W*A$Tvla57>yY=v# zY@s8F*ht;s#P5$I1+MA{xQbr*)0>ASai6rYzkJy*ns9#rny))5f@;tXZbMKM=&+am zp@d}x#^e+jex{ELsX&3Iew$w3FLf0%0IlCN^OGWy8z01T_kPWBcf{Vo$GYAIiq!uA z_JFIk^*W_GVJC|Au1FJGJfl#RRYZl`3ZUpfU=u8&Yp% zwkI55NvnT+K_PGE84F9Ui%Ni(YBTL*n{|JWB)-!{hbElW(3*1FLwAWqx1AB?Z+AZ& z6{pFmntW#bH6JKU`h!>5-=gg{2gj@Xh+6KQ-NEq1M&|rR?s5vN^2XLuL+W2q-0fI2 zjzSWB&WT@gu9jQKYQl8cQurNvMlr8Xw}Lu(NfGO7|^BG+hs>F0V~1Q1%sF^h{nFS`}Jfjv8SWEKpXjNMzg9naB0O zWEMUa^ENQ+_DxM0dQZPD~`$+uTrPT2VdIS^u7Pzat&SyDG17R+HzC;K5B7f8C(;6f^rHc61qkgOiN z#%VjaR8~m-{hL&|&DXbOT7C4NuS=S2DxZ?bWEXwtDQ1=pX0!@|6HsMXFXdnFq!ujIu?AC+~IN>Aa;~s*v0t^%pO`^hv zb=MIO9Q3yvEe_gEZ1_v}Vr>haarCxWGOWwm@t+J%7P)xXqwld3U}skX$`GH;bBvHd zx9xuD+ri0p&vIKT(tqkLYlL-%TbzF!(~a!nE%Z2q`0wT#ZbGln3C3%*QZaG12-M$B z3lV=Kcx=Kq*I};+#Bc-E_aI}s5rPzuvkp)s0|3Z-e*`8troz2K@Es_<{=|69W|@<| z;lvl3%&`(}Z6@F@cDpl#bR1yok|G9`iWC`n)dsIR-sC_t9HiRH{$J+rAh~}ISO-6qlQ+Ykr8JfT6`ZJ2*5oCJ3y-4Z+|uGg17Q*Qm`h%L%tK(cp% z$g=b0ez(OyJO!)o#qA$$+8KXBNRD@APibWrVSM$bWPm~*zAq?<+|d=!$kH2edZ`1N zAk5Q5Hh9-st7fy&w3jtVV@NwFd5V9u-#d zviF0*EJ`kNZ0HG6QhO~YVAye95^7_oR8d<=*atyb54gK@R-uZbbP@{oR#@(O&O`VY z*J`+%C|6wRnHJcR^y;HSRUGLrk>>W+;{I%s-B+_1u?>af)1EhZ+KNZF1U%2wmB|4tvRcXc;2qe z$_QjNuWKBi&Y6D-P&=~`MKHX0_R3_JN=%fhY6pkBBDFh0M7w{p9B_PS<&cCN5-Kf- zJt4M{53Y)ED1}cP69{*4KoFP38%5X{Z~6+nQ-1ECbuR>BH1rwz(V4%}X5~Phxge1f z_Kac@_#5P8lS@KQ>drXv7s(b-gd)0NJJ)39Nly)H%nbkdWmB^)vJ zY(?d&b9k9&KR2e**qqbv*bB2A2S-c6c%s$sV^&vpi z*ELWcMUC8OB?=;J>mE$TCbqOm4Q)&hqN(NN8sP!ahbw>K1LEE_!38h-rb;Nt1%Bhb z6B9)-97M$lV3VL>SX_`8aN)k}va@SYNF6l-F%D2NN)ZFbnQhBvOd*J|s#WDE*U2Xd z)6Rn;G;0cuk03IjHQZ%lSrP1Me?rUMtIangM`8=ni$KGM{I1N&);qYm%G^kySkM?gy*RN)0Xh%qg%H=0Nqc2G zq;Eo@oh|Nj(!4MTOcBo9lQiQ>B}yhUq?B_6}9;rD;_ z69(KUE2TQ!l)!RWuC0G#5mtE;?u}hU-@Q7mByiIFJ}erK*^{qB~?& zpxcpCL~@6-Q9#MP%G)n~$TZrY{C~mzwmtiIh^iuoboCwq184By9F}kPDlJFBU7m9}Lk*MpH3hYbnEQX3baL>`_Y2_-S&jXeXD$0^6_V$WVQhhM+O#O( zw7=6@H&^OB?!dJd>8|>vi^Hg4@X%#pgBWKlnDG``OTLNon5mE>_ zW@f?$yWY)x&M4K@{{{A{&~c?dZE?Zr&uU3Nw@59kHWSfwirC*$XBGLuubzK4+N*qX z`7N3}jS6?^S|%Hx0dJqQUp&^`dtz~*h(WE6U4&Mc;-92MQ$sobqO@dJxqOjn*$^uc z3nfM7kx6>taZRRHnfkmgdv|HQ+!${knK+F~VKw1N>$=J!i&C)4^UgB&F9hrAvUID& zTRP%GK};O|3lyOnrS;v;H5Pv-^e#1K3sDN7x(@{a)F4m0&veeXFXQ#Vpg7gU9>F{$ z8YH7ystuLA(lmvaGZm6AU_SL;u#ZAkJmA1bfYwc-ZU}=5<&c%@Fkm&UF^L(@t{0pg z9Z`hikT;I&7apE5R0hUkI2Fn!X*!YS7K%xswd?iJCnA_k4Fv!<+P{AQ`6m>`YvMVL zjTqdsK+xcLo`{TxFR5-^OnmklJL-kb{PUxhv+6npo_LfK&eWf0U$J+LeCALjJl9Dx zOh)z+e0B>WyYR6Ou@}dT+V&WUP!9k3`m7o}D;Q4r0U=T$SkL@KVq_HbiwWY}mKVGj zOiGF0kDKW!&p})YK4pJFT^SiK8_)PLhPNKsQDNIK4^cX$PUMT`7cgNrkO@1%=9_}0 z#Bl7jgCYqFuY*I`rwS@d-CF~aqJ2621WCSXOWnJ1*u)dG6AG)%lg9Z z*R%qPXwg?=hgHQwKo+g?C?I|`UoNCW8HFf7xx`VQWoM9w)9mOj^T;`WW2 zSzM?RCjHlrCf0v(bker)gP)sgKy@O3%XWERqcvNpjb)yf}=ZAai<*GF40Zc1>x?xroeX{Y+i zUIp=DGZ7FMW5}gl_H|?u;|nSt+?`TvT)mseyJ@gXY0k{wFVp$&mobW3%|z=BR5a9i z?V+5-&>w$I#UpDY82M6DvHU*QqHqxPypl4*veu$@oNf#-h3!LlloBc3iC&`YN;W^p zN+u(0r$$%{LGHexu1uWzSTe}9w%d{9p;K)a?EHJ&*?67x0`dioR*5c_>gw`Xu1v` zC}-B^VG}{!nW$^I%aeO&BE01a07;519sg$S)f@++!Skg@n}k+ zO|a53Qg)I(I#)oldG_nwn+x{|^~!Y%-ylAum3{d(l|(#rGS7G>)*i7~YOo_{U&{$U zZ7u{s>eyE1r%2LJ0M0i=5U%{n^IZdIqzy-F^|^W`lhgZAk5i)^;=Gu?m~zA2!Xp0YgMWRnGB?CX%)2} z6m4E^?cWgRHK8_>$NY3EW1g}S&QK-d-+}P{9%jCSo_ib=Gn*i7ohD!mJq`dQ)*K{Y zm8pUC+jbcD@G%j?2pgi=J@|JMDDHpHR{CW{UTss~J}|^AIwa&Typ50P<|+>Fvrlr< z$#ioa!`btivP2y@+?!aUSl;6bKLrkzb=59SuIhS{K{AclZQuA_TE=k>_1gc}Fi?%| zY0fyg8)+Kab5McYR7957L})xmPBLv%F|L0k`no2@ ziZST=r;V!7uJiTxMGzBGc5}yOVM&B*7O#Aflns4CE9sdt_n)~-@VSub@10rW6(SV` z-3pS^TjmAl;JtH*%{!faL99KD6d%maF(BF7?K3{h5TS%MlAiZ>;Gng3U6KWaNVeOJ z8?K-ii_vN>E#;ZQn`7y+*)xATt#?O*1WTgmY`ML(_G#-gnYs)*n8bv!7EXUclWF!%bH5jPVNe=#=;Za;Vd)|Os=pvxK(&a z5kjwhoXA-;ZY>!&1nBla-7pG^4`^)!$V-`)OpCc*iS~e^Zz4D-YfQ;g`)U4N?;I65dxvXQ8?9Aglt#omvX8!#z|x2z-@pIDxE7#+9TL3Vk@ije^`xphW< zVzM|5nj!L3baEy0PviIBJah;}P;B$;{Y-}Al~*Hz?&h(_+sUn&!8CLsL$W{-4X3MnM7#7kwqcqQBFT#s6~*ae+k^C<{Y+@WxFGPYepS zo098i8TUKn4qjhSB2^DFI~J-qytW5j47TH~yGiI)B(G?!5k=NJNJ&#CgSDd$AZlOB zt|`?eL2(+mM7Z8|K``%NHh9GWUD?`VAqo#71aN~3tE7|%8OyI?DiB0u|B(~bPwF>|ha`f3r_YP<EtNzBQX|#{+DoX;fq%a>dRD>)09mh^zZx!!yka=AF)*K(zBS>0|#+de~7iH5_q1 zBX(u<%`#$o{?XbdBYAxhIhIw*+HQYiZ9jr6G4xe5Gia)j4Se4@*HQ%W%skR%3o33l zOqsuSTyel)HoY4#z>-AoaU8gd2cU8P%WZ!o5sHP~8tB6t1HB4!GaDd78x~981~~Us z-vh%sR!3}oMn&8SEZTfoSC3}P zA9CrZC26C}lX?7^LBRmmXqL|-Hvs@qpPbzq`xKKke`dH%ACEB7mSJwkD^F*F zBW-m2e{-araHOp#0X_j>4XWn9j5A2vz#E$Q{q5v0Zz$boxm^-y{I@>yo@RefSvVFc zP38e@JBf>Y5@!$Y<(X$;RiX`5GuO(q# zog8}Ps$%gS5$5i?Bi4))SiByMw-)#}jnxshx-rN9+i-Wl3(i6vedK@rv_^-y(v%ej zAAzIUQF>liz4nv4cUTMf^n376n-te9wf_6={Z-8B@|4tOdG?-v=0_$&cJ7VK2d>v`b zFF&*7UZ|3%?TlR|*n+y{1^-rqy#dAHstf9%3TUwCO$f69u(TcDw zGZKaeRY}+3O0;d;0wf1Y=%aEhhui3-hZn7qo%3VkEg-LxY$hH{jr zcvq8GcM6e3-HwZ;FQDZAD{EkHjV#%QEDFmYv2qhDv>HK`XO*5!_HT&&%lPXWOZzC# z@^MSSED!{F(S(2Z>;hgKIMsT6535u@uce>MDpF2IvYFIatrF@{Hb zGqnm}z^mXZo*sDB&jL2q3_U`?|J}o5a!(ZUOOT|u92vfp6dpoXwo`+~%YB$TA!WlEqL* zwi1MmjH`VvHdr?i8QSEK!U%uWv7zx@+!%()3SbfVdEzed5Y1{R)U4Ui_hO2 zAgCQQj;@QyBv@zx4S6FF<+Grcv+vl*O;zIwZ!h1YXxzpB`z0ocs`7tz1xjnN9tzrB z(}hvcojQL92k(-2mq-PpxTRJ8lcl*zpyh`uDqRWmdl@Pw$e(DgVHma~cvrJB8F2MY zIDJY!R5Qh?zV4~Q*;4hT zxCBg}?!Nh$q&oZLAsKI4!yqJLv&I3H;{S6H(wTpnH^D|UwR2%Ah_u|BTLLQkHcnMq z%K=RM%=rOWE*;sACy+O9H6o+JuDeTw_7PRb0k!K(p~Rx8#279zeNDl|!V_-j$lcvl z>IQC!CORb>p8V~o9nBXKuL7~rb+xd!Sy411S*|H3G#x(zmVfm{r)ox(oMX7T?S#ye zI!=FIxOk<^`Q-y+`)`lb$A zMx4|M!T91(f>N)$S*gWrER zK6-9QW{@C!3w{ySWfgApARA7Vgj`e`P1v>3qO40!ot-|ueRyDEn=q|eRY7>2h*o`M z(ca7XJl1cA)KgZ zpysi>QFKT<_Zu|eiav9vY|=`I>r#J8nCm0&xM@;OJ;A=qBKb=kyklfJ_$>Lnx;IaG zBWCHmNVNR+VvAx*0%sJ;BQ1;MKhq;MtFmW`1lF%)JqyBQeWq#dOpvb)`M5}Cn$QzH z{VW@?PR+r%$4G`S6i+4-DIwKC$(Kxymw0~`2GUH#?2CTlvA}0@iVcI@93p>kPfA%K zF+>lns@rB3mNp0Xnax|5)5y{+$6!id%-pWaX74nC-3=9!)7Bg5b44Fw<|o8^U8Rp; z-s?o*bUhWX{qRI%lG(Gp+x^^b{-n1zBy6_zu})+g*paZRYPL9wKMN3g-oh~=1QGPM zKZI-4cWmrvE>27ZasUcarFB#uulUaw} z5y1IoMW|&0xe9 z0Lg+UzuiX&6n__k`OFGpC5_#0h_$;ERp+|pZGVfi zwfmh2Z-xbb`x|Fr0$m-dezRkvxaJMQK&4j0W3oY4+r)iw%KT6I;$4@hI1g0;AD8|( z4>kc0mo+&L9}11F0nq3GC8z2imtHv!)dBaHG&&C=e_fW^(+A_TUz395%?K|Im$me2;>aS2! zwz1$fe_Pb@xvXTP0GW*|Qb)!G)g*oAl&GyQUMS+g^u=LsNL0S%xy^zU9GkNFerL+D z*kp)Y0dBbHXn%|xN5L?oCuW4D{!F%&|AWz`T}4c)R*64fU#{w^w(HIYk*j-`zQQ)@ z7h*4?I~<8H(mQmhlv2&9R#a`czP|7y6DQuNf4z{qLEF~KU)0^s+!X4R#t?;crXTKc zua41SW@N-jibWTCrK5RUJ``@uPOk}IYf9Xd|R^*l>(xdY8e#Rxte|`bD_o2 zZW)7&;tCH&%|B--{`%j`)u3X}K>XoQEI&1%eYS9%g!lomI|tmP>6j}1^jTT>&M@bi zm(x2B6agcb=sOP`0iTx!JP(RNzD`Eb+1jo;p$G^ON^g>o($!?F;Sp$W9c$_sVraBR)zklD{co36 zYy&EMAn3KJHeXMywmf3qmp%m6XJJCE5O;zo!Td2acNl4~1M2{O3_PqmwQoj;b^$#Q zI~7B$nkyOAIbD@C!d<`+?dPXE!BdA1w2nC>55jOd^tnX0SuFW%7Q`%{YFK|WzQK@J z_d3S`>P$)4r6$N2`-W`@AceZ>@Fy2cp1EYdM4WA+?L%K`>@#PRzF3c6s=L@Kak13I zZ+nqN7R1!E)`Hvlw(ex_f9a_4i8SW(2nj(;B8S#>88KE!^#T1>eRpgLJW_zI9Ni-O zGsi#jb0_O7Mx0}HLXWMa;CDwKBd5fEzH9UFjp5l0#xxm3ep)zTTZt!5pB3Mhma-hoM*{CX&kZ`o%xY zX#Gk31zK@Eh0^aJFMxwi#CFMlr_4~~GDDPF>0+YU(LAxp76x1`Rp4U}xdN@rVPW3a zIYpqS5<5J(Z%+hIo4VeCp6w=WcyDxko4tr0Ft$!0?T$*crFe zsegd=XKlwuydvJjrs||#vXin<2yyME+>wHJ)KRYse*yJ}d%qmx&{TwqXLzIeUNqT2#iIqwd5u zk^r8&1{BlawHk;dyS+8Xx1SJoW|!Q9yT26y3HHN4Fmn8pA!@2{h@F$iqoz>}cM`<8 zKss>pqb5B!H;iSqRqG8`NY$Gm?hU*25~RxO8dy;T+0szS%fe>wLeqAAe~^I5;DvxKXPphl0-sGq!6a04adF{y|D|geL|F%dy-Mqb?8Hzm9%N1H;kvW zcv~M@x*yYWD*+WiaYuR z2&|0B6I~=dK)bk*@JE{!p0D%vuvCE8;zH)@Po-I{n?adDBmJg5xM)0l4@yl7)Na=SP9$ zy`JtIMRb^91`c&uwE;iNyEA#OkN;YevG^t3sT=}3Qt%~DiG0>&eO4hCV+3VA*x?A& z09#|JRK6g3cJXMb=w~7SL9Z2mE)*2ICq7JcoloJ&Enub;;e2>l!hZl+s^Vl%Nu)Sm zjC&OvQI$d-6fUebSIYjp*~5dT0Y5beWv?HnssUL3LB>9MyU&#jB$8KlPnTINzb;5U_NHCF&wp8^At1xwRKWby&QU8vfvq z9t^KH&GFDE)jOqiY=_*#hsrubLZXSXi*NA=WA^RggJDJihkt93+Bv4ns7sE8OKziF zkoj=5LUOYKgShcZbd3AidMNPK)yQ?<(P7t1uKatKX}MTD$3p-dz}Ms7bTYah+#Jw# zjA^(`xIP%W(4y_oiTW}o@LNn=%gme9ttpb|W|B*eJL%d+7$d!a%{yFhaauGV0qW5z zgNRc5@s)XvTYsuD2MYab>|}k0ytc1=X%7a{pC!j)nn4W1KFuEvOBf-Hz%g_rHCcisDJKKAbcFA0amC(*x}>{^nVwU zrGc`GaJYPunMN|cN5A|FP0TD-Izd%Scz9B79XOcF6(K)absF;9{PEL$#4S9+vjqM@ z)a@J8={?l8S^5nC^bC&&L#&@%*)VeS>e5!%6&;{p9@^Wzr7z6Y3JcYTc&C@rqr;za zE91&4!heIwB9iOHFn629sx)X|+-!_(J@kI74XmpwhQnWmLk92cW!-MNcP<9w>$8?H zN5YF~FcKH6Ch#@?!}S6sxoqt=ydJgBUZlpd)2#r7QX7z^aA&-PyhWmgwDX1K5Wl%7 z=D1I!RFj!Ml_J3z>JmT3?wd-uu#0^;^vdgiMSlgRe$mO=8aSasLfI`x{EgP>11NEhS4?c3&MPCT{zC2g(Zs zK7UH90(4N9S%N&VxsCJ*~V_P!mZt)3bSJsTE+~QH<>EI zZztGot-doVfs+tv=oC)zlgw92eK|x#dB@{txAYYTHh&uX zkyw*)YI*OL*GlH(5lQemBi!FQtO#vRwTCZ>Z(r^XiR(i7Djw_7KW$XaFTR~KEm`OW zG&u>g3V+K%U58*c@37zEYiuQTJBVuqzZu}mX!jBaUhR)qZE0vsxl7Y;JqT2>YTycP@v-F(ZE4$%}>)BY&1gi!0ZD{bXj(h0mia@*LMLu`>*$PNIt4)LX+C z82TIG#A_?bfc5RyHl$uVmyGo0P}1dJ3qRE#bNO-RuhPG&O#8;4rGK4DdKp+0A`gL9 zTYu@R@rJ5}cEDlb>gQ-fgxf2X-bls=;x{K_WwmGRjQs;6X)f$|jU`u2n}1p0xC*V$ zQNZiAiYp^&8ore&2P+D0P5JQINU~1r5bH7IQCV0S|ma zD$}}QgFM5DkW72InM{7q#hC0-V@Fh}(q~+aKE{FqM^Wl_3>&HFy2E=|CA?8O0ObJ( zw=ijj^?Ok^5H_&_NEBx3S$}+np%Lzq#%7tax{=Y&c1>mpFS|L%`^99L+7{2y9cx#X z#@X>m!fSLEG)vI)MTa^_&7|llkA&%!8d%xvUPgIk` za~vXqPZNrS$Z--@n6re=`GmtdVdS-kM414c;=YPl;h1zSk5#POhbHH!JT)Ot%io^%Rgu0-9%R1v~wi{NAd{a%Q zyIM#ub7^S5JW7-*w8@i=oOziiB0qqpeHO;PGlJ1z=+L29+2le--P?~Cl8IbC)pJy! zW`YHsLu4%Jjz+?V+{&*4XWN1`Ra&uwZelvaL%qMGf+`D>;eR-D6s~PXYBUn``c222 z$+Qi+YDQ7j3Qem^vu*=+N-sb7sO#$5bP^TnQe$j?ABM(Yw+a%hJ>kfe0QEfctWG=P zfn(oA>Ffy?cQ!p#xKaf~(mD1}?o*8WUEM&>W!C%OTTb+ z&uwv2Tw*JSzKp{s=PY{>>cCkXs+FIcXIO~}1Fe$T$A9$xyA{@`;htT0(os|= zzy9(I_J4>{hMwKIk26!juX;827?yId30TGNp(3zDA16#RM|>qs*)ujW=e^QENLP`s zq)EN!a%&?%Fq*U$?HN}qxiVX3$E_rgFmP`v|k0x#6d^GjYE)5__rkm0p2_j`l(s;#IP~b0R%2zZa^l99r>@HMzEtkGqxn zW4}~zx78+)#h|#RKkT3_EsR>T{0JGNa(7i zPiz~wYEr9)@AB{mWqSNhnh)0%5{e*Jfoq)lo?Oo0oxR15rmQzY7Of$}#LfFG=c_W! zYrEg3#5Y>K+wN3jK@||UH}9c;)8n8VkmWm2z_*%ZV~ZZDl4WL}>&^(TChLFySifRK zv_ufE0BS|f^N{|?DN;l**GGFjqVh`S?{8%NkCz@(4;g=dw4X6LB$4;|XE*%T`uK;X zA2#=~&nOn}_{A0_7VWJiL}vSM{vAO|0?iI@+W!}4 zZ19Zj`@g=&y?;AbqY$`4*Zu|y#W3A6H`PGZi)|GTtkjD=4w409$2{9dOXHpL>Zh#y zblnGXC;`W5U2!i*UgLvVD4~&rB}YZnsr3_MS1iz@FSvT3 z0ja;piwT@;$M=JEjl`mc19u7 zr823d*n_#4sj2ujvD6mxNv2a#MP%!|Vw5;x6krgM2n!TaqYa5J>JzUl8>(>qqmt4r zD{%S4#^wV0#GL=6TyERw2u<8>25VS*4~STW`t#s3Gxk$FGxKL0@G*dOoS!`N(-O5; zC*^;p(8{*?8G%@|QHI|9phnj=PhrB#OmJz}=I7T+D(4YghZm)rTDKi_a>??J5S_%D zaaYOfsg&*=f|VdV(uObBgei8Q{P-X5jvg@+8p|wv#3S%_8-8Rtppt(v z|KkTst;+3(a%+mnZ`G2@6(N3Exkp0!r4s3|Tl)ODhs?$UIR8Jv-9+dn53QjQ< zEpD5@9FiQ#)?|9WuLzcD{;kao=jh`ri{weD{-r@l{E5|J3^6+~iBa9baYTP%wO4!~ z7k+;<%=Zp8C?5T?)YI#Ky-7gWDFrOf8McFdQB;F|iZfv9Z;%z}?CPr^6pz!}(M!4_ zR>uJtX*5ZPRa_Jp4MtTa<`ukPlvZeJsxsG1%u+)wN3w{gV0A~eCXX`Jk1}`L)eawp zxc)KCc%-ZvA=VK6j=`g~uONRdR3K?Gfjl0a3vm-P<5udv^(E9idH@XAl3C{BjwOGk zmzX8}VcY@9v+T`2m9OU{lX_nIOVL(fF{K*x$fkIEyQMM>{YBy5G~EcoBD{Lgz64tu z2L+DD;{D|_=04n#k~4`qYfoyaBOD}7fV>Y3tpOK)4kVafL{7xsXe@t;H3`P<#0c-< zqO}|e&?%z}rtLIAauJjhth(kyyoK>$Ui)E!+IaplzK45i-orhir(ShcQm&V|uq8sJ zFhJuHz(h3-_%4Q$D~zf`g}G;7x`e4N3_}S6Sf!08J;r^WP&0@XyfnO+{NVeu8tJoK zAuHXrqDq9fIFepuFpGb;1wKYSy|e6|zS~*4sg0#03nCrUV3{um?sTQ=kgEk`d(&N) zXNyvT93;n1@FWk zuhnAonE!q}MdVilK;J& zOMuEY56c8Nkz3E!RfUJaNQp{EmvozKMz^3Ip!hDSb>J#mgldDea|8Xb0iu8(9m}`f zHrJ1av8`_i__lw8$dNRSeUdNs2r3e&WDs-y8L7Pk5o?uzz%3N4tVe;bmi=8{83vz< z>k>_bQNS}8R+ofag?Sht12d)!{Q$ErU1!jQgD+9F{!TvU|vw)9amqIoBJ#OV9FQ$?2dw)pnF z4N~u|pL}nCJqY8p)i$LnSCowX9}EUSVbvAZL;`=OfY%9s{+$HgK)?V-lI?4hJ>C2B z4}vA2=_8w4(?RH2N-+Fdp#GMZ)a4?s_C2Ed#Pn55Yuvoi2dh4r|+k}ir*$I%AH!y z#8Q7aO#LKv|1K>=2(0~8T5jwzb($blZ1IehZ;n#NDtv=YVp`eQA!fZO7qi73XJZ%e z4JqY8g`PrsND=4JQbGq8gGU+1WdJzwQ{aRP!czL|`LlTCi)SuIFz5~AuYXw-kZ9q5 zuqf>QVNtlf@V{9UY+*_5FbvZ6U_NjC6`|vZFuWC!tK*i8%>QGW`B9f($%j^#|M7j+Xt?6vttKP$oC8ia^ioFe83m{ zpr&N;Kl=h2F!T&%bX1qFkN3MYgKq#iC7PAIQ8q(~pA>AL2F?PhZBHE5!^1woxmqac zodvR$3$}Uygc|Q?qihjhVF_TYm-;P192VKAr%f6w!Fh`%+gl+2|0->To3d~36N5G| zH^2X{@7a}CV{|3x#>Ocv91?%;_)*>}ouob7G1juOhm}-Ng-CG1mY>Hs7LXA+_=|2j zUD37a3SJoYDmO6iBJu2H>Zg+BQiaoCrfnj5xqcZU#r|K8kFhA$G2Yn~>=73bc$rpr z0R5vF9J?l|ql8|Hum=bbNjZh8UQ_f|<)<_)WYbkI<8>aN^o7b#63l;md~yMht8wOj zuy4-&;EImu3E&M?9CbXmpP0(;w0;0{RNDSZsi&A&ks9=|?MPNt>H?#54Xy}{sX97m zQs}?xCvVfew z|MhZ3pD%~ehcUEna8Ol}aJgK_wHugI%3+C+w;T&G&>Og#RK@(6m+W2-Xn$LZ!#Z0w zQrMf@38A$&Y7!N^eRo-eiqJ$8U;5JpE(eZ9IV@>yL+611Q7vy#%b(SC8m^jBm_89H?WE0RMb^<-kv6u84&I|tknSAjl@zVHmf9s+b5Cf?75FG; zWF}0H$=u|wt`t-gS;?G{*MCQ6H5{=JIX+mD8sBCSP1%PfvlHFSQfmo;J!IRWXHZ(F6&fIsJ#WL~L-xDV(S z=Kq#3t=rd}h+sxuoViI4WuDVBc80*H_9(?8+fB{b@$HP=nF)v`MuEq3&Jzc7`;HZg zTJH{DK(#V(yQEh%jl*G7~zDYnIF3vAlwyOmX|R3Mf?w!pkog< z0k@aeV-G5SLtun~d?XecQXqb?`H}+PBbOT4ZMuym*EIirV*us)>2sv)?x8Ow&ZT#@ zNMld%AD&R}28m7?-0zZx&N{TRTj6^yp)N*rGl8iP?i_&1|kDPUvD3SUW6J2#>C z8o06Erq{9w?u~V%r8i48*jJj>x-Z<)lI^(E7@N>YRr4e75Yt+CkxFUVpNcVFl}VJQ zL@NRLFq$&<9!Huc5dU+T>AtIDzh0cnUTMyMfCR_kg}HvnmK{=bXsnq%=?|s7Y5@~S zq5O>LTG+jR24cjP(cUoUQL3hyI7#fXoR4r}wojL@Ar(cJC~8T5yPy`^v&<{dO~d%? zb-LQYFa%<9Cyy7p6&yty{D3y2I<3Ojla!|vQ86%tM>=mXt0#M@2G-0B4?g((NoIzZ z{bdgcIs(MI&Ix25W(m;)AQh->&{R@wMHxTUgfBfb0&bD5}oFKAjnW6b_Z>6Z- z%07^{V&tvlKK}BTKxPjW5+^Rj-@Fd@TtQu&GNFHk>bJj_XJ!vb0aur>W)ErskCz)~ z4?KUL(27${inv83DfDK4pRPU4Tjml#p<~vF5&W|$8O0BNb;%o3P#`vaY>t3sxGHB` z$2I!$f-Xl|*$7`I?1)5(mIH>D6H0DnUsTOalc;8$xQex$!jmD92?jN(w$vGZWt)ZR zq7w|xaHQ)K5)DVL6_X9IhLy5J;H!nnsoHotMQc01cx>YlH>X%*983#bjYDPTUr?91-WF$JcdHIg(b;~vu6Ky>L7_)iE}Q^f>!ei*}Y8VT) zT<|3I?9F2~I}oRVhSO9HSfYO}t&cYFTsAQgUF|Jva1R%-qI60NB4UN|fh}e&w#Rhz zba%Xoo|4dlTs#81xM|baKxoJyqHW{|xGkc|PUX^*<2$A~6Bm&krDW5Y=Jzoh2qyZJ z4Rk3qjn#0Xq65VzCDD{-j+@|4wjt&K!^HqdXh7|HJPMIpRK`E*{E~ko#;n;!OfDGV zU9*<&)&9D{!!A+D4z0NF*LVTe}oxT2|p~eViQIYkk@ql82olScE z?4{OEJsh)G0%jWl>*!iH_piGz)4fBD2UMtO&y{G)2npcchMPdN zKGpAAU$`)!A@x*Q-lofQ*$X8MHXBhMG)uI;xp(A+AJLlt_P=#OxG<~1BWh=iP(*e1 z*Ow}54;vB`Vp#yqU)S-62pfmI;xI5j0hd>64@UvJm!E47TmpY?m;GxGHv!X^HEa)7 ze;P)HsB}PG49ZnxDCLxb1 zvIXIXZDVamzbXhSj3z`pE*c5|i#Xt9e+3B`ub+&F_bL!6=$}I*T|b2B0>Wf}r9k(B z%Wn`-I+RhZYDdj|4L^>ah-%pJMvek3kNKS7FL27W@3NY}$=-N2_IdMYNf=>_Uw^e|Zo&Afs*yux*sLSK z9S6>-eyB07X@-(!YN6h#^d7CvN-`PEaLz1YxZvjZln|E)Svm?CQhK{~N#htgma$#M zZ{tE-gBU{DnzX^Miv2IDK^4~FfBM-J{RI}y9~&rffP;T((6(8caRccNa$j7-+bq~k z;RhNJ`4-yLePluonRlgPSj>_{*{Vis0}$=I$@!j&vc@FU7rx)fRyWhC)pj8~^hCI0 zxZt$7*T=9INtt8#VpNyd5z5tqJv#C8WV$AdZyUe5ECR(7!(ema!0A6me@cakqD5WG zAJ~y({uC*gTN(yJ*H?~EyYmey>US*iLF_n8M!p4cUtsp^x_HG81qMp8)43Y zYS9!;T9Y8S-^uU{!Jh3^8v>-%?hSN{Qzf0DCpRN z{i{8GMar{A;%U5}NPE`6r9Abk+1cB~#K;T~IryV*f7w&h5PDp~TPPf?3eN?27vXFE zNMT&Xf3o#0_U9W=bGjETE0sT`-bO3co5Sk{2_Ynl__U8~khAq`6uP$Iw?iL`+i6@K z-H%RA2MbcMx+7CdR|u(aYDEu)mR)NJO+9$im*8&?9Rbgm{%;R%e|Ofy9EGW8@!|=j zyE6xH$QrvhFsilGqCfj^0w>p5RSc9z$)%oH*SbshHPyel3ouF?X}TX zB-J{H{%$YH0W4o^V2M)eUoF%R6dc>_rL^H-i<}%y=`Wlke~oD*6`sgdGV_&}DNRgO z$o@GumG8r(sTa-=k*J4%ZgSt_mNlGH*He~5`kczrwgwR8h$+fEr%L4)m_zB$@&8YF z?BAU6i8GI>*)&4-;6pt{M!cTUGLQO6y#wO$l8dr+ZniTXR;Co})L_B~n&Ja}&eG3Q z#OJ99vGpoWf9)PQirHo_lC+9T=>>tx6RN+RjwHshy!{U>+O<7@gmXKmZgOpy`Ack8 zw}8@FDBkmc58ZJ#R1Sk2S-%1SkjA*dK!pt6D|KP4SVpYiQt5L&t>)Z6;~K8|YwV!r z#LnkTSW#>}P!RWnV<$gc_ZYDL`>P^FLh5Y&&{mU2e?}44>3oE1S;;6x6S;hYYWrW| z@`t*zxnd%acG4jy&G2J`PshehNlc2CLBv=hIjV~R4kbL4f|bn)$Tmy=A;O*7f<=SqK_#v$ z{ej18VstC_T167W-*?|VxS~rC&q)ZqT*q1$akzi`#c@TtYxZ5FNDs`3pQLu^?F+)h z=RK+!q;IO4j#IsafA2*%Zy6*j~n#f9_PNh#I(CV0IW#&!pF+jb=ODYCCR9IKg z38c@P=!;+X))zX=TkTC6n$YCdo|5N5eBWI^w;|dLFstlYH?FBgu!1>MPXe+UNG@KX zf0eX44-&tJ2VX;q8L}#$DswVq5jo-NzvC}>vt)dvjFL_!)qU_@5B06y#x#+GFHi!RPFBkV;BSM}nG=fba~$8Lr^jxvy<;aJ+v2|F1-8tW%hB zs@pApe^RZ;|428Y!8sxMm*YS+bqJdU&n%;9xBl>pmz#DEpA!*jTDPrnb=)lI^6Bar&>JehrejT~I;T1gM3ZLy%;z=$6kS25!psF5{p-$ECYHv^k=TAys=i6^M{@gy3Nj z-1o%nu$nYwRE=RN`jC|fy1M|Shn?)3d%rQTwG;j*_r|FR0&lg`HH7&u&PHT#$%lF^ zN(-)__KeC1i7&OUieJCJwkrR zi={v4!58fXEN_Hn#0_{~Xj)>?$l*WwUW%6FSz^DjTZ+O>LtH-hA z2>hjI=b}mJTP%!1|HVmWsCN0q|Vy=bR%UK`^u@uFhMYq^DCgdbw< z4ysdGqd(}59e2m&AMs`LI1Z&VWsx)_2cokz!&#spAP$s@Q4hq8ul>m=NE4Y_hd>Fh zRn&kY@+>5(Y$K;o*t~~3nTkT!XQn96hjL<#$Kv-RH&+at(}N>-h7W)HSp4hA?R(KG z2r-nNk<+ic-jQy0N?kNW($nUh-!;a?Qw%R`28n-rEK<_OaCwEJiJb(y^-cE<{RB~L zQ9bp3&E}r1J$14fO$y=*;iPQ~teHzwjuA`%=Y(k$Ayg2hOe-eTOGd5%P&997T~b<8 zutx7Qb31iI+a&;5P#N7XVSaz9s^tu@2EP6D= zMamZ8qfy1L15U{s>RPq4I9n;6ZT|7Gfi>>|Luj5Ltt77KC3JtQ+(_v%t^M`aegP?q zAaMXM%wDxHOD;Q>6pPzloYAIQT?9;pZ>lLH-`g%IQ|?~w#^2#0-vy$6W%%Nu;V&c^ z-N9ecOxLMPnW}eFm&gr!z&rlmwOwg*;!KkMFY}d-;4;^KlS%?)Osg@bX}qy9f!#Lu zVJ-s^``?$!%*uaE3Ea~=8yhh(uiF+vDwV48c#gO8mKX@REltYtQCf4BrSIGiusoQB z?p>#;jPiO;du)cPnIYY%O}KU;ap3J^+lNlw7_Z0aSb}~CZdaF-EoZz;^bE2;gM-a) zD$&Aem9{91kYeX0dhLc@TZ_U~2s+785VtBLxTxk4=v)MP{w=5#nwYi=BGMOgkSrRUD)VT0DWPE?cHyNEW;7+Tjw0~i3Z4zpusCE~U zuoAq;M5z)r#GRj6o0Ja-HY1}A_@$fn$I>K)+*@M5wNm1ko25z0nIJPh{Oa>Gi8!G; zHkEwal{*@GrQ*ESVlJeN+qLei%^TAD{2|W%>ctvT;yP4j|i!kqv>|R@c4ir~v ztT%t%8;zb55eZliT)$%W;h+++gYTP76+_Y!s2ywqBuYgmlZ+qlVZJ&o0{8~QlJTI( z$~}EVz9~G&teUh#Z`>+e+Us33L_-@TKz?fyM*D^e`5CL$UxpxuNGYva7Xc+82O`!~ zTPi|1DSnX476iKO{Aatnt)#gjHAXFK0^SuV;#VXs7S#XBI-!B>2F5rTpW6_soAF zOrz(Je0p}jc!v`0;9owN>g@+(Y0cqOyWqmZa72*QV7_4+1JgNbV6A_vaZPlisEpf4 zu6Gk3eN~+)!M{>;Pb%?Dc4(|N-TAyi=KMv;(UgD#JBQion!dRAdA!fX#Kq%Hj9k|Q z>fx=H%*iL|mYa8gmsBC`7Emd<_PKvf*k)n>t3$pwVv~@u(%Y<}Vb)d=E__u-%%*aO zPI$w4QXw*=m#hKU1Wj%In|lY>4(EmoYc}aKhtARDv*-s=hPL4^Q~@7T9NS67v2AJv z{!)?aS3P?K6S%M{Qqf=A38ycHJi~g*$ejMqj03*hvibIEeig9}jutRTULk+CSP#eH z^5}o+*!8mDJk!6s2{MO=ZMQCy6WqTaS{|P}B}cXj=160L8~!jT0bfRMVoXc(d6R4` zw8X$FmzTv>=im8!LbAo(2VtQ+r4T{rM_a0;Aq2%lP2&yuIB@~|Ia3Qyv`H z)RG53x6p3(NFx$vQaTQ$la{rX;r8q$JVAR`kLMEd!R{wF>&KDHE_G zsJs5{NwXl2@|FWSXOyUIhfDKC)fr<0BsIt7EQJW*VX@!}{pAVVA#iwD%9@ljm0f)= zPx6aFpk@FL0{_(zA6HbRjW*1I>*~3}P^t|r^;bHnR`GXc6%T(Z8nzXV>dKWP-&~n- zCfP~N1gV=6*7D_v8Khsv6y(Mw1!_&_#%hT` z6V=Cnfge{y7Knd+1;ZmYiDzg_Se*q-U&8JyiAKf9YeF#2tj}|7?vI+HcaC?L1J{E0 zd|#H?#mJ6d_>xCrHS=KluE~QG7%=~Q&*4FXn8}9;k+(^>S=9K zt1Ge(jveGyR#7=+H>DcD4xOz)-`>>VW%p)q+c8S6vCV&MwXXN{_Mi6j2(}HiG55U2 zA&}^#i+%r(k-Xg%|A4m|?Q7Bzicrzjcq3$gcz7F~6a1%3davCbI2L-Wz;197wr9Un zW3e5PrDL9kqtL-&SniYKQS~P{bGA_Fu3$`;rFoGWnL>x{Uv(IKz%RQI?R33x@8i=? z&WeGW6>Wczklo4<;p^yWoR!^O^XYLTi_lBRe``cBw;F5-zSID@2q5L{v30p}ROYtV zSo-elry6_QUiLS58sXSqcip|2ht$}1N(TYqc2-?}Q1*9|3iqQzXY)$sD$E-9zE^F( zAi=$2lfP0MRIKcNEwCDfidTw0#~1HP0>JrDoqc~D+Q-xydUPiCT}a^uM2>sG6EtkT zYfq3v3+6@9XOzj$R5UQU=U@QV$O#mB#sTE*{ok@xEl0*(Cbz!HVV(iyQxvr7&j_=Vw`I6Y7}tLG%@)Wf5r}B@s-2q zY`AY-ZT~jM<7tX#*o}g#S&HSB&UVF^2G>}%s(Z`={08^l! zfkgI0^(|aIwyEYHbXHMEZ009xkR@H9fQiE|bVZ2)FZ`Rq57o!aE`UV(gR&@c;a0|e zE&+U{eVBKYC5;bR%pm{IQ}IxT(mqdWj`S!TxvM+>!Ewe~3$7%iZOs}$VK!IYfgodr95KI34bprF0y;*m6E6M^+SR=wqhbA=3C z!OZ;NfR~EYc5;2de_js+^dezBfG6IgvRy`7s&N@_0W0u_{UTFoN}{pfkt0jQ*!7{L z8a;~V>^DCl1t;=?VK=EX-SAi(i3oq*eP*bj+yic=Zvkh|HB99UD}JJQOk~&KI=Ogx>_?cy$Yu^H|Jlr^LV}wNzd6!JZF2u#iLQ0ANx_@3Z+Pb1B)1M*pPoo(&OM~ zZmh(H83=~|>8q&{H00aSFY86Ay?RdOib`62zV3G&MA{q8eorV75r9qP$6DCy{y~*W zP#U26&v-3LO}33lZDdbLc;L2xuSwLxFuXc9;a5^c8M&9{2^adV(Ar`17X zN6RRhfU_dx6TPB1T6X29XzhQKb(*cRQ!8WV9;YnM%|r|`H&|kLkRuxDC`BaNRHT8X zj$rEg+v@d@!@{~XO!*DMq1GE zX{Ou8dI6M(C``7|M403}Ga{+#vF=WT414WBY!&G)rf>;Lqr~KhX~s}PH5XjAX$!CN zhNRo--H|m(sgcI7T4-dmj6{(`-l&3+b7~@E%kDN$0MS=iR}I_zTA%Gkb`wbRcd`}N z=#uZ&MJNb=k7_GggG+w{Dc4HDcWj(qf~^sbO}az0Pj-kFMnTyi(`x6alD))9zlDm- zYxZE$s!=_M?JeXTG}f*|XO)}xahoJ1eZ(P{Dqo;S<*^@h+j&!7NLyF5HJPzht z)k{w~}_@8q&ekm386D9h2?N>*zS@#56sBEDL&VPCLsxxcm*%VYi30Hnxe%a6=%cww zjN)BQwQkw(Jyx~vr=8}XRav-@OcWohF5yW@unp+o*2*xdeP?JN#rag&>7iRRnU3?e zuAmGJ42TjeIfnCpdj^7$En&+!BW?Hkbdx5pH1H6p*<3=EVbqW*=V*$}o9dG@bs>Ou zT|zz5EbFL42o@ig5ZAu*dG!0}d{#(sbuUUUeQcn+cOEQUg8SX?B+G@?aBn7t-l%tY zMyWMfb&CFI8gS;(WiZs*Pa!pPT>)z5C4@Tom<|#S zk5o$MXVEOba6&*^h(K>)i6PLL(`&SkfVqdYB=^ufxveawbF@mold_KQY3r`G7dDWs z?MCFy4n{5El%y{-x$x8Gl8&a;QLn16!S2WhzH4W>20ZB*1(ndbUjU#}kbyvU+ ze!sy{6!{r{!ExFWQRazwXDJxnkc^1=Pvkjb9ut2uoatUxl}T_-x*Yq<0L4-_HvQWf zq+Xswg)hbp|AxlW|Av>_K@uJ>q93sIB5cnSWYb+&net3wOR!uqyDWWFb$}34BV%~i zCDs$D@?*b!dmHMu4MY=AxPy|kM{^XD$J!n)1vR~YTt@V~-tRDe39k>a9U+5%p7@MD z@W86Zd#i?gvBbzm;#W`!|7|AlCM^9Q$hqSn`2@TPcEIcEIn41nEb%$44pNm+?6$Xg zoh75(^JzP3Mm(t_sDCImAWx-XV5ic>GWiIokgw2J!}{yGo;XKez%)sj-Ho5pRxIs< zFBElu!Lj3#?o_s4@uw4kq9#$d&j^un;;*YTdtzl@M`m0pc*^0&C);cD0$;bC_{A2$5Ie(AW%`d3Jpn?p!EvS%FkIVPK9N8-2hfWrx6qm< zEbjCSmB4igW;*gMai5MTEeS{fp9|W5A}x7@dZFogDU|>2DY*-k{Oyy#eq>?XrLF>d zO(jT5EV!a71~cf2I;4c%_MEYKd3`7NRUq)u^%B02UN`@gtT}=QZ5Vl}0&3xj>!;>B z2IHa90SG}{MMFPVXtrFydApc{Bjv6R~qIxd9U*0z`bv_2M>nrXD(lVhmX3} zkuRA)2td~SRJOK&SMY85#Bn!~_SKXC3QJqb@~65{O@7|>I>OWMhlXt{=RK9I(z-pPJ{q}H(0LmF<` zN&3{X*GfWXX&@q{*G|{a@suTd?i8c!Kb))?aI{o7cA`c{j!O5m{$J*UtM$4a;gIY% zvsB^AFTtdFEkD{(K)`M>Oo?NRJG|?76%w7edrYnUW9W&sW<82$O{$6s?5VDt2-Lza zVeO&duF5`!$sLI`+kfnTjmzo@q~w)<(2dzYZ$1P=dGH0#L3qo>G)OKKD#SfLCMsA? z=&q)rP?(4*ibHN1sMp_KL4K;s=wRRC*qSl$j=9YmhN+JhuRglCQ@ykF+7%EZRy*&PoaPSj45=)osU2(S z{1K?9AG3W^i32)=gmuRmB@f;zD)QIWPK%n4c1jCR10RZgV~}opk3nXG`*MjF6DZ>&R}H$`+D~LhM~DA>ZC8v zDbU$%F}n-?rsW`zl;rEUFBrATfuOAZMZ?u-qZDP5o>B46@Ee-<55Wyl^Q(MYn6qwc zp$0(cHm}P#3CerlN>e%pZUT&({N)=nY67U|&`NJ$SKWSp3gq`K7R-ItQc3_?Rtu%PUfcXO@=Lb{!23O1tLb{Z&+CoW)8E@SZYS~YU(#cbsTFfn>6@gb? zxHicm*L{jA)xdV1{E}E?VNKz8Sc}s6<2kP~R20%5ckt?+<~0z6wBZr~`6UG)4l{?5 zl0*MNXJ_Gmd+cQ)X1R=*cBD54?@}$cm{2lu9sOHZ?0PweBohPE__e-b_+{#fkI5^x z)uy}j6`xsdMB(lfkACET5=+7n*Yh_YCJDRpcaMYXqrhg1o07nM6vPfv%Ep$HX2YAw zC#n_lv zbECH263D|Ptc>lY;3rusLS1IBbe|?!_ne1=M?7+9PTEN}#=z_j zp&r4vPaj-j_+suBfr{oZifSNu1o#4r;P1YxAm5e2&*bpSilNkc31q?Dr#Gn-#%M5( z43W-%7UAMYrk-CmG1NXoloHxXkplSy>+-6?mzPk(yIUwSSh-KVO^!r2Wvv#ARIhHi zk0g(PF2de-+p!+Z^BFItg-xgU1g9|1VKTFBQO*X=3ivH_=w);dD*2fcYhjPI!_Mdz z+McAX^qL6RMpZU_bcoo75W8cD6tXwkeg`Rk+6rmul@VM~#`W)4L*(q_JK&CbB@DIb z(97lKKjd=9bh#&IJo*bUTn$w==Tmjhq=c!Cc9(k&idmxs-NA)7o6@dn3G6VNHKIAE zM1(!3p6CHVjTEszF*uCpkcwYYJapl**V>%bG*T;O*&jd*&e5(2j{KQCvd!8Ep`~bl zc_Lanud!Tl_&fuoA~rcZrF{e12|&lq_!7wB4calPbNjYUWHdP_rdYxq)I!=GRb|5G zs}HoCdXsoKwoPxzF7{ipj>2uuGz9+YriwUbT#tB$Yl? zI+3?HCwHY`f}k+zJERuMV7ur9BeG*&G_{U?y42f3MA0P>O69=z?4O}Xp`dwQYx6*` zd;Mv21L?~O=RQaa9M*Df?X03=WLLYpyoz{N!u0e;;*u8$_Ru@(YLMM^OFrv=msR|2 zBlTC5P-`H>Q3m2s%DlM{Tjx%~3#ql>X6Sv&ba5-5U6kkFZ#uaiG+;kr-Q#7%52Iap zwS(gd^QkRjSaoO+`Ag{gwuM!+xzFXf zuHd8DY#FzCP4BkU6f zE>38Da9fxY+595|-F7Os$UR;W9J?gvK;b=s;+57uLFXC7O4tg2T;~gzJ;g*3Nuf^_ z)H0`30El7I+8{FpTo5XlVqE9;KxU@_EIF&vPAXI69u7LNPZdRMPtbsQz>v;?%VnKt z2|6jx=F|x26J8k^Zp4L}_@x4?A79>pWN(s;53hQYUslCiPV(=v_Mo$&%XySMO06Kk zM@)U9s+&syWsA6fk_R4YCOz{`eY~TdIED=pIF`42Rr!TzWN5h4LdHG$rkW9w^#VJx zt+{WGd~h^X-A1%4ZL!H=!qUG(Si`-m+g~Oif-};{mpQppbb9lh-riY z55qqk0pO=Imdh&GFI=?6F$S-tuM96sP5EoNDR}*HFD-t501;8{DXA3jeC#VT32^)T zkt&qdkiQ;ny4)!~_&F?1_cvRmUcBjIuYKmg4|e1$`IHv|=o*KO(>7J1Z9jCm|hh(1n>BGfS8p%okG3y4_jBmW#uc~c6bTt8LIxaU{QNrv~i znG`v;uu=wpY@Gc>VHG>(f6{YU_`3}zSj9DK7dedm-|i%KlUw8iHH+O;I^a7^cjCPdrQ?-$?;s)F`}wb*04la6Dq=6G5;Ra#5PG2|%A*pG zNG+adLjtQErZ|U@Y?(X%|FGPJf3dh-;t+6^jl95riO%8@+j4ue01_G+$hI`sHy$w~ z4d+=!?HXfKE{H`!$LIob*ZC3+Xp{ZAY*|xV!BSWLP?N9dS~Wu;IVP!{1UTsujMjea zi5+hn_bF${3OPgCpF8-YeOVu5UEkGpcF<7SwK;@{Din%gSGK;(jnpJClTbf=_Bl{g%i?XL`SED&K#+z z0OQuJwbOsdw3RXODP!Ez3?0=Ef7Qm3i#{;{`iTOJ!_9Y26bH42xXr*Uj+Z3Rzu1VY zPa6Y;;d#sWW^=47yP>R+g77bQH4VBNNReKDo6a5K5)%(JZ`FS3qttaeT#SL|w+vzH z7<7~sKp$X`(t)>XDgh3{W{aY^Wu$7oj;V`+SBR@cTq9m=k~bsT)y$W8)`BVavenCLp7$Km>o(hw1n~_nMagVjnXDp^hin(d$K#smF&%8^s z3r_fv7nJl%f8<0TIm<`L?T@}nIJVH0FzxIv&EDLaa1wSt zjsgF&FF{1O3FStolZ3Y^7I)&CsI1JLWCU1_8t}a3P+Anh+9ZKXv#2gYs_277rLT`q zVtu%j1PmRntiY$Hj4Y;YLig9MSf`5NVU2msxLkiN6R^j5dz1~-y5Y8ZEGwRWOJb=O z?@P?0r`)iwM4G9rVe-vsRm*%*K-ROb4%ut>MUiQM-JfUvKpgXRjss|(_jXksjouk6 zV^yda)%FLon>yorIvrL5=(lkH{3Vh8uq}7-gBi$&X1<~?TP)^^K9A#{&wUxN!S%Uq z!!dR4nbS)S&q@;3dw*@BnO=I=rvt2TPjxS+W0Vfgkr<-bQv0FFE_47=N|1KmT}t+1mef>kvX5 zbHTS$U|!z0qY&|LmyQ3~VaYDBO}O@rBT$FGsbguQKngJ?a9is-lX*Q?n0B0`OU}_| zyF1Yre?sEgZ&4zo9ey$m)kC$OS4Qj_@x5y@C9#pmc3}%e!tkU09Lg@{+l*93aC>zU z3YjsA#Cu5^egn?Bvvnzd%S4VP!0_Z}Q=$#Kt0_Z}QHl7bb0_Z}Qd7ckJ0_Z}Qyq*t10_Z}Q|DF#* z0_Z}QL!S>f2S(wLL^zMUQzLLqXYm3&6mWV4>AboLL^x*n;g`a z{+|yPIdZ890D5(4FM4%pE^2d7O928D015yA00;o+LL^yk-dEP_h6DhDKoS5B00000 Z000000000008^JupbsGiYn=}O0076`#jOAU diff --git a/dev/zui/zui.esm.js b/dev/zui/zui.esm.js index 9f6b05be27..8930a89fd5 100644 --- a/dev/zui/zui.esm.js +++ b/dev/zui/zui.esm.js @@ -8,7 +8,7 @@ var at = (n, t, e) => (ws(n, t, "read from private field"), e ? e.call(n) : t.ge t instanceof WeakSet ? t.add(n) : t.set(n, e); }, vt = (n, t, e, s) => (ws(n, t, "write to private field"), s ? s.call(n, e) : t.set(n, e), e); var Cs = (n, t, e) => (ws(n, t, "access private method"), e); -const bd = "3.0.0", wd = 1725438182775, Ht = document, $n = window, oo = Ht.documentElement, de = Ht.createElement.bind(Ht), ao = de("div"), Ss = de("table"), xl = de("tbody"), _r = de("tr"), { isArray: Qn, prototype: lo } = Array, { concat: kl, filter: di, indexOf: co, map: ho, push: Tl, slice: uo, some: fi, splice: Nl } = lo, $l = /^#(?:[\w-]|\\.|[^\x00-\xa0])*$/, El = /^\.(?:[\w-]|\\.|[^\x00-\xa0])*$/, Al = /<.+>/, Ml = /^\w+$/; +const bd = "3.0.0", wd = 1725438406703, Ht = document, $n = window, oo = Ht.documentElement, de = Ht.createElement.bind(Ht), ao = de("div"), Ss = de("table"), xl = de("tbody"), _r = de("tr"), { isArray: Qn, prototype: lo } = Array, { concat: kl, filter: di, indexOf: co, map: ho, push: Tl, slice: uo, some: fi, splice: Nl } = lo, $l = /^#(?:[\w-]|\\.|[^\x00-\xa0])*$/, El = /^\.(?:[\w-]|\\.|[^\x00-\xa0])*$/, Al = /<.+>/, Ml = /^\w+$/; function pi(n, t) { const e = Pl(t); return !n || !e && !le(t) && !tt(t) ? [] : !e && El.test(n) ? t.getElementsByClassName(n.slice(1).replace(/\\/g, "")) : !e && Ml.test(n) ? t.getElementsByTagName(n) : t.querySelectorAll(n); diff --git a/dev/zui/zui.esm.js.map b/dev/zui/zui.esm.js.map index 3650f28f6d..afaebcace9 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/helpers/commands.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","../../../../node_modules/preact/hooks/dist/hooks.module.js","../../../../node_modules/@preact/signals-core/dist/signals-core.module.js","../../../../node_modules/@preact/signals/dist/signals.module.js","../../../../lib/core/src/react/components/components.ts","../../../../lib/core/src/react/components/h-element.ts","../../../../lib/core/src/react/components/h-element-signals.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 {formatString} from '@zui/helpers/src/format-string';\nimport {$} 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), thisObj?: THIS, ajaxGetter?: (ajax: Ajax) => void): Promise {\n const ajaxSetting = {throws: true, dataType: 'json'} as AjaxSetting;\n if (typeof setting === 'string') {\n ajaxSetting.url = formatString(setting, ...args);\n } else if (typeof setting === 'object') {\n $.extend(ajaxSetting, setting);\n } else if (typeof setting === 'function') {\n const result = setting.call(thisObj as THIS, ...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 ajaxGetter?.(ajax);\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), thisObj?: THIS, ajaxGetter?: (ajax: Ajax) => void): 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 false;\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 false;\n }\n if (typeOfValue1 === 'function' && typeOfValue2 === 'function') {\n return value1.toString() !== value2.toString();\n }\n }\n return value1 !== value2;\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 * Set the dependencies of the computed value.\n *\n * @param dependencies The dependencies of the computed value.\n * @returns The computed value.\n */\n depends(dependencies: D | (() => D)) {\n this._dependencies = dependencies;\n return this;\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 if (dept instanceof Computed) {\n return dept.value !== lastDependencies[index];\n }\n return isDiff(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+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 && events.split(' ').includes(type)) {\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 && dataOn.split(' ').includes(type)) {\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\n$(() => {\n registerGlobalListener(['click', 'change', 'inited']);\n});\n","export type SizeSetting = number | `${number}%` | `${number}px` | `${number}/${number}` | (string & {}) | ((...args: A) => SizeSetting);\n\nexport function parseSize(size: SizeSetting, callbackArgs?: A): [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?: A): 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 *

    \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, type Selector} from '../cash';\n\ninterface CommandExecutionThis {\n name: string,\n context?: Record,\n event?: Event,\n scope?: string,\n}\n\n/**\n * 命令回调函数。\n * Command callback function.\n *\n * @param context 命令上下文信息 Command context information.\n * @param params 命令参数 Command parameters.\n */\nexport interface CommandCallback

    {\n (this:CommandExecutionThis, ...params: P): R;\n}\n\ninterface CommandExecutionOptions {\n execute: (this: CommandExecutionThis, ...params: unknown[]) => unknown;\n event?: Event;\n scope?: string;\n context?: Record;\n}\n\n/**\n * 执行单个命令行。\n * Execute single command line.\n *\n * @param commandLine 命令行。 Command line.\n * @param options 选项。 Options.\n * @returns 命令执行结果。 Command execution result.\n */\nfunction executeSingleCommandLine(commandLine: string, options: CommandExecutionOptions): unknown {\n commandLine = commandLine.replace(/^#?!?!?>?/, '');\n if (!commandLine.startsWith('/')) {\n commandLine = `/${commandLine}`;\n }\n const url = new URL(window.location.origin + commandLine);\n const [, name = '', ...params] = url.pathname.split('/');\n const {execute, event, scope} = options;\n let {context} = options;\n context = {\n ...Object.fromEntries([...url.searchParams.entries()].map(([key, value]) => {\n try {\n if (value.includes('%')) {\n value = decodeURIComponent(value);\n }\n value = JSON.parse(value);\n // eslint-disable-next-line no-empty\n } catch (_) {}\n return [key, value];\n })),\n ...context,\n };\n return execute.call({name, context, event, scope}, ...params.map((param) => {\n try {\n if (param.includes('%')) {\n param = decodeURIComponent(param);\n }\n return JSON.parse(param);\n } catch (_) {\n return param;\n }\n }));\n}\n\n/**\n * 异步方式执行命令行。\n * Execute command line asynchronously.\n *\n * @param commandLine 命令行。 Command line.\n * @param context 上下文信息。 Context information.\n * @returns 命令执行结果。 Command execution result.\n */\nasync function executeCommandLineAsync(commandLine: string, options: CommandExecutionOptions) : Promise {\n if (commandLine.includes('>')) {\n const subCommandLines = commandLine.split('>');\n const results = [];\n for (const subCommandLine of subCommandLines) {\n if (!subCommandLine.length) {\n continue;\n }\n const result = await executeSingleCommandLine(subCommandLine, options);\n results.push(result);\n }\n return results;\n }\n\n if (commandLine.includes('|')) {\n return Promise.all(commandLine.split('|').map((line) => executeSingleCommandLine(line, options)));\n }\n\n return executeSingleCommandLine(commandLine, options);\n}\n\n/**\n * 执行命令行。\n * Execute command line.\n *\n * @param commandLine 命令行。 Command line.\n * @param context 上下文信息。 Context information.\n * @returns 命令执行结果。 Command execution result.\n */\nfunction executeCommandLine(commandLine: string, options: CommandExecutionOptions): unknown {\n if (/^#?!?!?>/.test(commandLine)) {\n return executeCommandLineAsync(commandLine, options);\n }\n\n if (commandLine.includes('>')) {\n const subCommandLines = commandLine.split('>');\n const results = [];\n for (const subCommandLine of subCommandLines) {\n const result = executeCommandLine(subCommandLine, options);\n results.push(result);\n }\n return results;\n }\n\n if (commandLine.includes('|')) {\n const subCommandLines = commandLine.split('|');\n const results = [];\n for (const subCommandLine of subCommandLines) {\n const result = executeCommandLine(subCommandLine, options);\n results.push(result);\n }\n return results;\n }\n\n return executeSingleCommandLine(commandLine, options);\n}\n\nexport function bindCommands(element?: Selector, options?: {scope?: string, events?: string, execute?: CommandCallback, commands?: Record} | CommandCallback | string): void {\n if (typeof options === 'string') {\n options = {scope: options};\n } else if (typeof options === 'function') {\n options = {execute: options};\n }\n const {scope = '', events = 'click', execute: initialExecute, commands} = options ?? {};\n const $element = $(element);\n const dataAttr = `zui.commands.${scope}`;\n if ($element.z(dataAttr)) {\n return;\n }\n\n const cmdAttr = scope ? `zui-command-${scope}` : 'zui-command';\n $element.z(dataAttr, true).on(events.split(' ').map(x => `${x}.zui.command.${scope}`).join(' '), `[${cmdAttr}]${scope ? '' : ',a[href^=\"#!\"]'}`, (event) => {\n if (event.commandHandled) {\n return;\n }\n const $target = $(event.currentTarget);\n if ($target.is('.disabled,[disabled]')) {\n return;\n }\n const commandLine = $target.attr(cmdAttr) || ($target.is('a[href^=\"#!\"]') ? $target.attr('href') : '');\n if (!commandLine) {\n return;\n }\n event.commandHandled = true;\n if (commandLine.startsWith('#!!') || commandLine.startsWith('!!')) {\n event.stopPropagation();\n }\n executeCommandLine(commandLine, {\n execute: function (...params) {\n initialExecute?.call(this, ...params);\n const commandExecute = commands?.[this.name];\n commandExecute?.call(this, ...params);\n const {name} = this;\n $target.trigger('command', [name, params, this]).trigger(`command:${scope ? `${name}.${scope}` : name}`, [params, this]);\n if (scope) {\n $target.trigger(`command:.${scope}`, [params, this]);\n }\n },\n event,\n scope,\n });\n });\n}\n\nexport function unbindCommands(element: Selector, scope?: string) {\n const dataAttr = `zui.commands.${scope || ''}`;\n $(element).z(dataAttr, null).off(`.zui.command${scope ? `.${scope}` : ''}`);\n}\n\ndeclare module 'cash-dom' {\n interface Cash {\n command(scopedName: string, callback: CommandCallback): Cash;\n offCommand(scopedName: string, callback?: CommandCallback): Cash;\n\n commands(options?: {scope?: string, events?: string, execute?: CommandCallback} | CommandCallback | string): Cash;\n unbindCommands(scope?: string): Cash;\n }\n}\n\nexport type CommandEventCallback = (event: Event, data: [params: unknown[], context: CommandExecutionThis]) => void;\n\n$.fn.command = function (this: Cash, scopedName: string, callback: CommandEventCallback): Cash {\n return this.on(`command:${scopedName}`, callback);\n};\n\n$.fn.offCommand = function (this: Cash, scopedName: string, callback?: CommandEventCallback): Cash {\n return this.off(`command:${scopedName}`, callback as CommandEventCallback);\n};\n\n$.fn.commands = function (this: Cash, options?: {scope?: string, events?: string, execute?: CommandCallback} | CommandCallback | string): Cash {\n bindCommands(this, options);\n return this;\n};\n\n$.fn.unbindCommands = function (this: Cash, scope?: string): Cash {\n unbindCommands(this, scope);\n return this;\n};\n\n$(() => bindCommands(document.body));\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{options as n}from\"preact\";var t,r,u,i,o=0,f=[],c=n,e=c.__b,a=c.__r,v=c.diffed,l=c.__c,m=c.unmount,s=c.__;function d(n,t){c.__h&&c.__h(r,n,o||t),o=0;var u=r.__H||(r.__H={__:[],__h:[]});return n>=u.__.length&&u.__.push({}),u.__[n]}function h(n){return o=1,p(D,n)}function p(n,u,i){var o=d(t++,2);if(o.t=n,!o.__c&&(o.__=[i?i(u):D(void 0,u),function(n){var t=o.__N?o.__N[0]:o.__[0],r=o.t(t,n);t!==r&&(o.__N=[r,o.__[1]],o.__c.setState({}))}],o.__c=r,!r.u)){var f=function(n,t,r){if(!o.__c.__H)return!0;var u=o.__c.__H.__.filter(function(n){return!!n.__c});if(u.every(function(n){return!n.__N}))return!c||c.call(this,n,t,r);var i=!1;return u.forEach(function(n){if(n.__N){var t=n.__[0];n.__=n.__N,n.__N=void 0,t!==n.__[0]&&(i=!0)}}),!(!i&&o.__c.props===n)&&(!c||c.call(this,n,t,r))};r.u=!0;var c=r.shouldComponentUpdate,e=r.componentWillUpdate;r.componentWillUpdate=function(n,t,r){if(this.__e){var u=c;c=void 0,f(n,t,r),c=u}e&&e.call(this,n,t,r)},r.shouldComponentUpdate=f}return o.__N||o.__}function y(n,u){var i=d(t++,3);!c.__s&&C(i.__H,u)&&(i.__=n,i.i=u,r.__H.__h.push(i))}function _(n,u){var i=d(t++,4);!c.__s&&C(i.__H,u)&&(i.__=n,i.i=u,r.__h.push(i))}function A(n){return o=5,T(function(){return{current:n}},[])}function F(n,t,r){o=6,_(function(){return\"function\"==typeof n?(n(t()),function(){return n(null)}):n?(n.current=t(),function(){return n.current=null}):void 0},null==r?r:r.concat(n))}function T(n,r){var u=d(t++,7);return C(u.__H,r)&&(u.__=n(),u.__H=r,u.__h=n),u.__}function q(n,t){return o=8,T(function(){return n},t)}function x(n){var u=r.context[n.__c],i=d(t++,9);return i.c=n,u?(null==i.__&&(i.__=!0,u.sub(r)),u.props.value):n.__}function P(n,t){c.useDebugValue&&c.useDebugValue(t?t(n):n)}function b(n){var u=d(t++,10),i=h();return u.__=n,r.componentDidCatch||(r.componentDidCatch=function(n,t){u.__&&u.__(n,t),i[1](n)}),[i[0],function(){i[1](void 0)}]}function g(){var n=d(t++,11);if(!n.__){for(var u=r.__v;null!==u&&!u.__m&&null!==u.__;)u=u.__;var i=u.__m||(u.__m=[0,0]);n.__=\"P\"+i[0]+\"-\"+i[1]++}return n.__}function j(){for(var n;n=f.shift();)if(n.__P&&n.__H)try{n.__H.__h.forEach(z),n.__H.__h.forEach(B),n.__H.__h=[]}catch(t){n.__H.__h=[],c.__e(t,n.__v)}}c.__b=function(n){r=null,e&&e(n)},c.__=function(n,t){n&&t.__k&&t.__k.__m&&(n.__m=t.__k.__m),s&&s(n,t)},c.__r=function(n){a&&a(n),t=0;var i=(r=n.__c).__H;i&&(u===r?(i.__h=[],r.__h=[],i.__.forEach(function(n){n.__N&&(n.__=n.__N),n.i=n.__N=void 0})):(i.__h.forEach(z),i.__h.forEach(B),i.__h=[],t=0)),u=r},c.diffed=function(n){v&&v(n);var t=n.__c;t&&t.__H&&(t.__H.__h.length&&(1!==f.push(t)&&i===c.requestAnimationFrame||((i=c.requestAnimationFrame)||w)(j)),t.__H.__.forEach(function(n){n.i&&(n.__H=n.i),n.i=void 0})),u=r=null},c.__c=function(n,t){t.some(function(n){try{n.__h.forEach(z),n.__h=n.__h.filter(function(n){return!n.__||B(n)})}catch(r){t.some(function(n){n.__h&&(n.__h=[])}),t=[],c.__e(r,n.__v)}}),l&&l(n,t)},c.unmount=function(n){m&&m(n);var t,r=n.__c;r&&r.__H&&(r.__H.__.forEach(function(n){try{z(n)}catch(n){t=n}}),r.__H=void 0,t&&c.__e(t,r.__v))};var k=\"function\"==typeof requestAnimationFrame;function w(n){var t,r=function(){clearTimeout(u),k&&cancelAnimationFrame(t),setTimeout(n)},u=setTimeout(r,100);k&&(t=requestAnimationFrame(r))}function z(n){var t=r,u=n.__c;\"function\"==typeof u&&(n.__c=void 0,u()),r=t}function B(n){var t=r;n.__c=n.__(),r=t}function C(n,t){return!n||n.length!==t.length||t.some(function(t,r){return t!==n[r]})}function D(n,t){return\"function\"==typeof t?t(n):t}export{q as useCallback,x as useContext,P as useDebugValue,y as useEffect,b as useErrorBoundary,g as useId,F as useImperativeHandle,_ as useLayoutEffect,T as useMemo,p as useReducer,A as useRef,h as useState};\n//# sourceMappingURL=hooks.module.js.map\n","var i=Symbol.for(\"preact-signals\");function t(){if(!(s>1)){var i,t=!1;while(void 0!==h){var r=h;h=void 0;f++;while(void 0!==r){var o=r.o;r.o=void 0;r.f&=-3;if(!(8&r.f)&&c(r))try{r.c()}catch(r){if(!t){i=r;t=!0}}r=o}}f=0;s--;if(t)throw i}else s--}function r(i){if(s>0)return i();s++;try{return i()}finally{t()}}var o=void 0;function n(i){var t=o;o=void 0;try{return i()}finally{o=t}}var h=void 0,s=0,f=0,v=0;function e(i){if(void 0!==o){var t=i.n;if(void 0===t||t.t!==o){t={i:0,S:i,p:o.s,n:void 0,t:o,e:void 0,x:void 0,r:t};if(void 0!==o.s)o.s.n=t;o.s=t;i.n=t;if(32&o.f)i.S(t);return t}else if(-1===t.i){t.i=0;if(void 0!==t.n){t.n.p=t.p;if(void 0!==t.p)t.p.n=t.n;t.p=o.s;t.n=void 0;o.s.n=t;o.s=t}return t}}}function u(i){this.v=i;this.i=0;this.n=void 0;this.t=void 0}u.prototype.brand=i;u.prototype.h=function(){return!0};u.prototype.S=function(i){if(this.t!==i&&void 0===i.e){i.x=this.t;if(void 0!==this.t)this.t.e=i;this.t=i}};u.prototype.U=function(i){if(void 0!==this.t){var t=i.e,r=i.x;if(void 0!==t){t.x=r;i.e=void 0}if(void 0!==r){r.e=t;i.x=void 0}if(i===this.t)this.t=r}};u.prototype.subscribe=function(i){var t=this;return E(function(){var r=t.value,n=o;o=void 0;try{i(r)}finally{o=n}})};u.prototype.valueOf=function(){return this.value};u.prototype.toString=function(){return this.value+\"\"};u.prototype.toJSON=function(){return this.value};u.prototype.peek=function(){var i=o;o=void 0;try{return this.value}finally{o=i}};Object.defineProperty(u.prototype,\"value\",{get:function(){var i=e(this);if(void 0!==i)i.i=this.i;return this.v},set:function(i){if(i!==this.v){if(f>100)throw new Error(\"Cycle detected\");this.v=i;this.i++;v++;s++;try{for(var r=this.t;void 0!==r;r=r.x)r.t.N()}finally{t()}}}});function d(i){return new u(i)}function c(i){for(var t=i.s;void 0!==t;t=t.n)if(t.S.i!==t.i||!t.S.h()||t.S.i!==t.i)return!0;return!1}function a(i){for(var t=i.s;void 0!==t;t=t.n){var r=t.S.n;if(void 0!==r)t.r=r;t.S.n=t;t.i=-1;if(void 0===t.n){i.s=t;break}}}function l(i){var t=i.s,r=void 0;while(void 0!==t){var o=t.p;if(-1===t.i){t.S.U(t);if(void 0!==o)o.n=t.n;if(void 0!==t.n)t.n.p=o}else r=t;t.S.n=t.r;if(void 0!==t.r)t.r=void 0;t=o}i.s=r}function y(i){u.call(this,void 0);this.x=i;this.s=void 0;this.g=v-1;this.f=4}(y.prototype=new u).h=function(){this.f&=-3;if(1&this.f)return!1;if(32==(36&this.f))return!0;this.f&=-5;if(this.g===v)return!0;this.g=v;this.f|=1;if(this.i>0&&!c(this)){this.f&=-2;return!0}var i=o;try{a(this);o=this;var t=this.x();if(16&this.f||this.v!==t||0===this.i){this.v=t;this.f&=-17;this.i++}}catch(i){this.v=i;this.f|=16;this.i++}o=i;l(this);this.f&=-2;return!0};y.prototype.S=function(i){if(void 0===this.t){this.f|=36;for(var t=this.s;void 0!==t;t=t.n)t.S.S(t)}u.prototype.S.call(this,i)};y.prototype.U=function(i){if(void 0!==this.t){u.prototype.U.call(this,i);if(void 0===this.t){this.f&=-33;for(var t=this.s;void 0!==t;t=t.n)t.S.U(t)}}};y.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var i=this.t;void 0!==i;i=i.x)i.t.N()}};Object.defineProperty(y.prototype,\"value\",{get:function(){if(1&this.f)throw new Error(\"Cycle detected\");var i=e(this);this.h();if(void 0!==i)i.i=this.i;if(16&this.f)throw this.v;return this.v}});function w(i){return new y(i)}function _(i){var r=i.u;i.u=void 0;if(\"function\"==typeof r){s++;var n=o;o=void 0;try{r()}catch(t){i.f&=-2;i.f|=8;g(i);throw t}finally{o=n;t()}}}function g(i){for(var t=i.s;void 0!==t;t=t.n)t.S.U(t);i.x=void 0;i.s=void 0;_(i)}function p(i){if(o!==this)throw new Error(\"Out-of-order effect\");l(this);o=i;this.f&=-2;if(8&this.f)g(this);t()}function b(i){this.x=i;this.u=void 0;this.s=void 0;this.o=void 0;this.f=32}b.prototype.c=function(){var i=this.S();try{if(8&this.f)return;if(void 0===this.x)return;var t=this.x();if(\"function\"==typeof t)this.u=t}finally{i()}};b.prototype.S=function(){if(1&this.f)throw new Error(\"Cycle detected\");this.f|=1;this.f&=-9;_(this);a(this);s++;var i=o;o=this;return p.bind(this,i)};b.prototype.N=function(){if(!(2&this.f)){this.f|=2;this.o=h;h=this}};b.prototype.d=function(){this.f|=8;if(!(1&this.f))g(this)};function E(i){var t=new b(i);try{t.c()}catch(i){t.d();throw i}return t.d.bind(t)}export{u as Signal,r as batch,w as computed,E as effect,d as signal,n as untracked};//# sourceMappingURL=signals-core.module.js.map\n","import{Component as n,options as r,isValidElement as i}from\"preact\";import{useMemo as t,useRef as f,useEffect as o}from\"preact/hooks\";import{Signal as e,computed as u,signal as a,effect as c}from\"@preact/signals-core\";export{Signal,batch,computed,effect,signal,untracked}from\"@preact/signals-core\";var v,s;function l(n,i){r[n]=i.bind(null,r[n]||function(){})}function d(n){if(s)s();s=n&&n.S()}function p(n){var r=this,f=n.data,o=useSignal(f);o.value=f;var e=t(function(){var n=r.__v;while(n=n.__)if(n.__c){n.__c.__$f|=4;break}r.__$u.c=function(){var n;if(!i(e.peek())&&3===(null==(n=r.base)?void 0:n.nodeType))r.base.data=e.peek();else{r.__$f|=1;r.setState({})}};return u(function(){var n=o.value.value;return 0===n?0:!0===n?\"\":n||\"\"})},[]);return e.value}p.displayName=\"_st\";Object.defineProperties(e.prototype,{constructor:{configurable:!0,value:void 0},type:{configurable:!0,value:p},props:{configurable:!0,get:function(){return{data:this}}},__b:{configurable:!0,value:1}});l(\"__b\",function(n,r){if(\"string\"==typeof r.type){var i,t=r.props;for(var f in t)if(\"children\"!==f){var o=t[f];if(o instanceof e){if(!i)r.__np=i={};i[f]=o;t[f]=o.peek()}}}n(r)});l(\"__r\",function(n,r){d();var i,t=r.__c;if(t){t.__$f&=-2;if(void 0===(i=t.__$u))t.__$u=i=function(n){var r;c(function(){r=this});r.c=function(){t.__$f|=1;t.setState({})};return r}()}v=t;d(i);n(r)});l(\"__e\",function(n,r,i,t){d();v=void 0;n(r,i,t)});l(\"diffed\",function(n,r){d();v=void 0;var i;if(\"string\"==typeof r.type&&(i=r.__e)){var t=r.__np,f=r.props;if(t){var o=i.U;if(o)for(var e in o){var u=o[e];if(void 0!==u&&!(e in t)){u.d();o[e]=void 0}}else i.U=o={};for(var a in t){var c=o[a],s=t[a];if(void 0===c){c=_(i,a,s,f);o[a]=c}else c.o(s,f)}}}n(r)});function _(n,r,i,t){var f=r in n&&void 0===n.ownerSVGElement,o=a(i);return{o:function(n,r){o.value=n;t=r},d:c(function(){var i=o.value.value;if(t[r]!==i){t[r]=i;if(f)n[r]=i;else if(i)n.setAttribute(r,i);else n.removeAttribute(r)}})}}l(\"unmount\",function(n,r){if(\"string\"==typeof r.type){var i=r.__e;if(i){var t=i.U;if(t){i.U=void 0;for(var f in t){var o=t[f];if(o)o.d()}}}}else{var e=r.__c;if(e){var u=e.__$u;if(u){e.__$u=void 0;u.d()}}}n(r)});l(\"__h\",function(n,r,i,t){if(t<3||9===t)r.__$f|=2;n(r,i,t)});n.prototype.shouldComponentUpdate=function(n,r){var i=this.__$u;if(!(i&&void 0!==i.s||4&this.__$f))return!0;if(3&this.__$f)return!0;for(var t in r)return!0;for(var f in n)if(\"__source\"!==f&&n[f]!==this.props[f])return!0;for(var o in this.props)if(!(o in n))return!0;return!1};function useSignal(n){return t(function(){return a(n)},[])}function useComputed(n){var r=f(n);r.current=n;v.__$f|=4;return t(function(){return u(function(){return r.current()})},[])}function useSignalEffect(n){var r=f(n);r.current=n;o(function(){return c(function(){return r.current()})},[])}export{useComputed,useSignal,useSignalEffect};//# sourceMappingURL=signals.module.js.map\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 type {RenderableProps} from 'preact';\nimport {HElement} from './h-element';\nimport {type Signal, signal, batch} from '../signals';\nimport type {HElementProps} from '../types';\n\nexport class HElementSignals

    }> extends HElement {\n static HElementSignals = true;\n\n protected declare singals: SIGNALS;\n\n constructor(props: P) {\n super(props);\n\n this.singals = {} as SIGNALS;\n const {state} = this;\n this.changeState(state);\n this.state = {} as S;\n }\n\n changeState(state: Partial | ((prevState: Readonly) => Partial), callback?: () => void): Promise {\n batch(() => {\n if (typeof state === 'function') {\n state = state(this.state);\n }\n for (const key in state) {\n const sg = this.singals[key as unknown as keyof SIGNALS] as Signal;\n if (sg) {\n sg.value = state[key as keyof S];\n } else {\n this.singals[key as unknown as keyof SIGNALS] = signal(state[key as keyof S]) as SIGNALS[keyof SIGNALS];\n }\n }\n callback?.();\n });\n return Promise.resolve({} as S);\n }\n\n resetState(props?: RenderableProps

    ) {\n this.changeState(this.getDefaultState(props));\n }\n}\n","import{options as r,Fragment as e}from\"preact\";export{Fragment}from\"preact\";var t=/[\"&<]/;function n(r){if(0===r.length||!1===t.test(r))return r;for(var e=0,n=0,o=\"\",f=\"\";n

    Hello world

    \n * Hello world\" />\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 {renderedItem: 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 =