From 8f2a26ae58c6a1033e80f3a4ac3ff2359fb954f3 Mon Sep 17 00:00:00 2001 From: catouse Date: Tue, 24 Sep 2024 05:49:02 +0000 Subject: [PATCH] deploy: e0d1bde8c9fa4891bb6306579a26a154d2aa6181 --- dev/404.html | 6 ++--- ...FG.js => guide_start_index.md.SM5eQhP7.js} | 24 +++++++++--------- ... => guide_start_index.md.SM5eQhP7.lean.js} | 22 ++++++++-------- dev/guide/config/base/color.html | 6 ++--- dev/guide/config/base/font.html | 6 ++--- dev/guide/config/base/rounded.html | 6 ++--- dev/guide/config/base/screens.html | 6 ++--- dev/guide/config/base/shadow.html | 6 ++--- dev/guide/config/base/spacing.html | 6 ++--- dev/guide/customize/build.html | 6 ++--- dev/guide/customize/dev.html | 6 ++--- dev/guide/customize/exts-lib.html | 6 ++--- dev/guide/index.html | 6 ++--- dev/guide/start/compatibility.html | 6 ++--- dev/guide/start/index.html | 10 ++++---- dev/guide/start/intro.html | 6 ++--- dev/guide/start/tutorial.html | 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 | 6 ++--- dev/lib/components/button/index.html | 8 +++--- dev/lib/components/color-picker/index.html | 8 +++--- dev/lib/components/contextmenu/index.html | 6 ++--- dev/lib/components/dashboard/index.html | 6 ++--- dev/lib/components/dropdown/index.html | 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 | 8 +++--- dev/lib/components/menu/js.html | 6 ++--- dev/lib/components/messager/index.html | 8 +++--- dev/lib/components/modal/index.html | 6 ++--- dev/lib/components/modal/trigger.html | 16 ++++++------ dev/lib/components/nav/index.html | 10 ++++---- dev/lib/components/nav/js.html | 6 ++--- dev/lib/components/pager/index.html | 8 +++--- dev/lib/components/pager/js.html | 6 ++--- dev/lib/components/panel/index.html | 8 +++--- dev/lib/components/progress-circle/index.html | 8 +++--- dev/lib/components/progress/index.html | 8 +++--- dev/lib/components/scrollbar/index.html | 8 +++--- dev/lib/components/search-box/index.html | 8 +++--- dev/lib/components/table/index.html | 10 ++++---- dev/lib/components/tabs/index.html | 8 +++--- dev/lib/components/toolbar/index.html | 8 +++--- dev/lib/components/toolbar/js.html | 6 ++--- dev/lib/components/tooltip/index.html | 8 +++--- dev/lib/components/tree/index.html | 6 ++--- dev/lib/components/upload-imgs/index.html | 6 ++--- dev/lib/components/upload/index.html | 6 ++--- dev/lib/forms/checkbox/index.html | 8 +++--- dev/lib/forms/checkbox/switch.html | 8 +++--- dev/lib/forms/datetime-picker/date.html | 8 +++--- dev/lib/forms/datetime-picker/datetime.html | 8 +++--- dev/lib/forms/datetime-picker/time.html | 8 +++--- dev/lib/forms/form-control/index.html | 8 +++--- dev/lib/forms/form/index.html | 6 ++--- dev/lib/forms/input-control/index.html | 8 +++--- dev/lib/forms/input-group/index.html | 8 +++--- dev/lib/forms/picker/index.html | 8 +++--- dev/lib/helpers/helpers/date-helper.html | 6 ++--- dev/lib/helpers/helpers/string-helper.html | 6 ++--- dev/lib/helpers/store/index.html | 6 ++--- dev/lib/index.html | 6 ++--- dev/public/zui/icons/fontawesome-license.html | 6 ++--- dev/themes/index.html | 6 ++--- .../backgrounds/utilities/index.html | 6 ++--- .../borders/utilities/border-color.html | 6 ++--- .../borders/utilities/border-radius.html | 6 ++--- .../borders/utilities/border-width.html | 6 ++--- dev/utilities/borders/utilities/divider.html | 6 ++--- .../borders/utilities/ring-color.html | 6 ++--- .../borders/utilities/ring-offset.html | 6 ++--- .../borders/utilities/ring-width.html | 6 ++--- .../effects/utilities/animation.html | 6 ++--- dev/utilities/effects/utilities/filter.html | 6 ++--- dev/utilities/effects/utilities/opacity.html | 6 ++--- dev/utilities/effects/utilities/shadow.html | 6 ++--- .../effects/utilities/transform.html | 6 ++--- .../effects/utilities/transition.html | 6 ++--- .../flex/utilities/align-content.html | 6 ++--- dev/utilities/flex/utilities/align-items.html | 6 ++--- dev/utilities/flex/utilities/align-self.html | 6 ++--- dev/utilities/flex/utilities/basis.html | 6 ++--- dev/utilities/flex/utilities/direction.html | 6 ++--- dev/utilities/flex/utilities/flex.html | 6 ++--- dev/utilities/flex/utilities/gap.html | 6 ++--- dev/utilities/flex/utilities/grow.html | 6 ++--- .../flex/utilities/justify-content.html | 6 ++--- dev/utilities/flex/utilities/order.html | 6 ++--- dev/utilities/flex/utilities/shrink.html | 6 ++--- dev/utilities/flex/utilities/wrap.html | 6 ++--- dev/utilities/index.html | 6 ++--- .../interactivity/utilities/cursor.html | 8 +++--- .../interactivity/utilities/disabled.html | 8 +++--- .../interactivity/utilities/loading.html | 8 +++--- .../utilities/pointer-events.html | 8 +++--- .../interactivity/utilities/scroll.html | 6 ++--- .../interactivity/utilities/state.html | 8 +++--- .../interactivity/utilities/user-select.html | 8 +++--- .../layout/utilities/aspect-ratio.html | 8 +++--- dev/utilities/layout/utilities/container.html | 8 +++--- dev/utilities/layout/utilities/display.html | 6 ++--- dev/utilities/layout/utilities/floats.html | 6 ++--- .../layout/utilities/object-fit.html | 6 ++--- dev/utilities/layout/utilities/overflow.html | 8 +++--- dev/utilities/layout/utilities/position.html | 8 +++--- .../utilities/top-right-bottom-left.html | 8 +++--- .../layout/utilities/visibility.html | 8 +++--- dev/utilities/layout/utilities/z-index.html | 8 +++--- dev/utilities/sizing/utilities/height.html | 6 ++--- dev/utilities/sizing/utilities/width.html | 6 ++--- dev/utilities/skin/utilities/ghost.html | 8 +++--- dev/utilities/skin/utilities/outline.html | 8 +++--- dev/utilities/skin/utilities/pale.html | 8 +++--- dev/utilities/skin/utilities/solid.html | 8 +++--- dev/utilities/skin/utilities/surface.html | 8 +++--- dev/utilities/spacing/utilities/margin.html | 8 +++--- dev/utilities/spacing/utilities/padding.html | 8 +++--- dev/utilities/spacing/utilities/space.html | 8 +++--- .../typography/utilities/font-family.html | 8 +++--- .../typography/utilities/font-size.html | 8 +++--- .../typography/utilities/font-weight.html | 8 +++--- .../typography/utilities/leading.html | 8 +++--- .../typography/utilities/line-clamp.html | 8 +++--- .../typography/utilities/list-style.html | 8 +++--- .../typography/utilities/text-align.html | 8 +++--- .../typography/utilities/text-color.html | 6 ++--- .../typography/utilities/text-decoration.html | 8 +++--- .../typography/utilities/text-overflow.html | 8 +++--- .../typography/utilities/text-transform.html | 8 +++--- .../typography/utilities/vertical-align.html | 8 +++--- .../typography/utilities/whitespace.html | 14 +++++----- .../typography/utilities/word-break.html | 12 ++++----- dev/zui-3.0.0.zip | Bin 1032066 -> 1032154 bytes dev/zui/zui.esm.js | 4 +-- dev/zui/zui.esm.js.map | 2 +- dev/zui/zui.js | 2 +- dev/zui/zui.js.map | 2 +- 152 files changed, 548 insertions(+), 548 deletions(-) rename dev/assets/{guide_start_index.md.D9VIpyFG.js => guide_start_index.md.SM5eQhP7.js} (94%) rename dev/assets/{guide_start_index.md.D9VIpyFG.lean.js => guide_start_index.md.SM5eQhP7.lean.js} (86%) diff --git a/dev/404.html b/dev/404.html index 4cb72811d9..2fbf95dae6 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.D9VIpyFG.js b/dev/assets/guide_start_index.md.SM5eQhP7.js similarity index 94% rename from dev/assets/guide_start_index.md.D9VIpyFG.js rename to dev/assets/guide_start_index.md.SM5eQhP7.js index 532cf17f75..9ce04d13d4 100644 --- a/dev/assets/guide_start_index.md.D9VIpyFG.js +++ b/dev/assets/guide_start_index.md.SM5eQhP7.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),T=["href"],A=s("i",{class:"icon icon-github icon-lg"},null,-1),D=a(`

下载后将如下文件解压到你的项目中:

text
zui/
+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(`

下载后将如下文件解压到你的项目中:

text
zui/
 ├── zui.css
 ├── zui.js
 └── zui.esm.js

下载后在页面中导入:

html
<!doctype html>
@@ -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),N=a(' <meta charset="utf-8">',1),f=a(' <meta name="viewport" content="width=device-width, initial-scale=1">',1),R=a(' <title>ZUI</title>',1),w={class:"line highlighted"},U=a(' <link rel="stylesheet" href=',7),j={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},x=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">",-1),Z=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),M=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"body"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),H=a(' <h1>ZUI is awesome!</h1>',1),J=a(' <a class="btn" href="/">访问 ZUI 网站</a>',1),L={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),Q=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," src",-1),O=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"=",-1),Y={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),Ts=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," src",-1),As=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"=",-1),Ds={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},ms=a(' crossorigin="anonymous"></script>',6),Bs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),bs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"")],-1),vs={class:"language-html vp-adaptive-theme"},Ss=s("button",{title:"Copy Code",class:"copy"},null,-1),Is=s("span",{class:"lang"},"html",-1),qs={class:"shiki shiki-themes github-light github-dark vp-code"},Ps=a('<!doctype html>',1),zs=a('<html lang="zh-CN">',1),Vs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"head"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),Ns=a(' <meta charset="utf-8">',1),fs=a(' <meta name="viewport" content="width=device-width, initial-scale=1">',1),Rs=a(' <title>ZUI</title>',1),ws={class:"line highlighted"},Us=a(' <link rel="stylesheet" href=',7),js={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},xs=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">",-1),Zs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),Ms=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"body"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),Hs=a(' <h1>ZUI is awesome!</h1>',1),Js=a(' <a class="btn" href="/">访问 ZUI 网站</a>',1),Ls={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),Qs=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," src",-1),Os=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"=",-1),Ys={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>
+</html>

使用 CDN

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

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

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

js
import {DTable} from 'zui/lib/dtable';
 import 'zui/lib/dtable/css';
 
-const myTable = new DTable('#myTable', {...});
`,8),di=JSON.parse('{"title":"快速上手","description":"","frontmatter":{},"headers":[],"relativePath":"guide/start/index.md","filePath":"guide/start/index.md","lastUpdated":null}'),ki={name:"guide/start/index.md"},ri=Object.assign(ki,{setup(pi){return(t,ei)=>{const e=p("Example"),k=p("PluginTabsTab"),E=p("PluginTabs");return g(),d("div",null,[o,y,c,s("div",F,[s("a",{class:"rounded-full btn primary size-lg",href:r(_)(`/zui-${t.zui.version}.zip`),download:""},[C,i(" 点击下载")],8,u),s("a",{class:"rounded-full btn outline size-lg",href:`https://github.com/easysoft/zui/releases/tag/v${t.zui.version}`,target:"_blank"},[A,i(" 从 GitHub 下载")],8,T)]),D,s("div",m,[B,s("div",b,[s("div",v,[S,I,s("pre",q,[s("code",null,[P,i(` -`),z,i(` +const myTable = new DTable('#myTable', {...});
`,8),di=JSON.parse('{"title":"快速上手","description":"","frontmatter":{},"headers":[],"relativePath":"guide/start/index.md","filePath":"guide/start/index.md","lastUpdated":null}'),ki={name:"guide/start/index.md"},ri=Object.assign(ki,{setup(pi){return(t,ei)=>{const e=p("Example"),k=p("PluginTabsTab"),E=p("PluginTabs");return g(),d("div",null,[o,y,c,s("div",F,[s("a",{class:"rounded-full btn primary size-lg",href:r(_)(`/zui-${t.zui.version}.zip`),download:""},[C,i(" 点击下载")],8,u),s("a",{class:"rounded-full btn outline size-lg",href:`https://github.com/easysoft/zui/releases/tag/v${t.zui.version}`,target:"_blank"},[T,i(" 从 GitHub 下载")],8,A)]),D,s("div",m,[B,s("div",b,[s("div",v,[S,I,s("pre",q,[s("code",null,[P,i(` `),V,i(` +`),z,i(` `),N,i(` `),f,i(` `),R,i(` `),s("span",w,[U,s("span",j,'"///cdn.jsdelivr.net/npm/zui/dist/'+l(t.zui.version)+'/zui.css"',1),x]),i(` `),Z,i(` `),M,i(` -`),H,i(` `),J,i(` -`),s("span",L,[$,G,Q,O,s("span",Y,'"///cdn.jsdelivr.net/npm/zui/dist/'+l(t.zui.version)+'/zui.js"',1),K]),i(` -`),W,i(` +`),H,i(` +`),s("span",G,[L,$,O,Q,s("span",W,'"///cdn.jsdelivr.net/npm/zui/dist/'+l(t.zui.version)+'/zui.js"',1),Y]),i(` +`),K,i(` `),X])])]),s("div",ss,[is,as,s("pre",ts,[s("code",null,[hs,i(` `),ns,i(` `),ls,i(` @@ -75,19 +75,19 @@ 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 `),os,i(` `),ys,i(` `),cs,i(` -`),s("span",Fs,[us,Cs,Ts,As,s("span",Ds,'"///cdn.bootcdn.net/ajax/libs/zui/'+l(t.zui.version)+'/zui.js"',1),ms]),i(` +`),s("span",Fs,[us,Cs,As,Ts,s("span",Ds,'"///cdn.bootcdn.net/ajax/libs/zui/'+l(t.zui.version)+'/zui.js"',1),ms]),i(` `),Bs,i(` `),bs])])]),s("div",vs,[Ss,Is,s("pre",qs,[s("code",null,[Ps,i(` -`),zs,i(` `),Vs,i(` +`),zs,i(` `),Ns,i(` `),fs,i(` `),Rs,i(` `),s("span",ws,[Us,s("span",js,'"///unpkg.com/zui@'+l(t.zui.version)+'/zui.css"',1),xs]),i(` `),Zs,i(` `),Ms,i(` -`),Hs,i(` `),Js,i(` -`),s("span",Ls,[$s,Gs,Qs,Os,s("span",Ys,'"///unpkg.com/zui@'+l(t.zui.version)+'/zui.js"',1),Ks]),i(` -`),Ws,i(` +`),Hs,i(` +`),s("span",Gs,[Ls,$s,Os,Qs,s("span",Ws,'"///unpkg.com/zui@'+l(t.zui.version)+'/zui.js"',1),Ys]),i(` +`),Ks,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.D9VIpyFG.lean.js b/dev/assets/guide_start_index.md.SM5eQhP7.lean.js similarity index 86% rename from dev/assets/guide_start_index.md.D9VIpyFG.lean.js rename to dev/assets/guide_start_index.md.SM5eQhP7.lean.js index ff4a022ddf..ec100f0393 100644 --- a/dev/assets/guide_start_index.md.D9VIpyFG.lean.js +++ b/dev/assets/guide_start_index.md.SM5eQhP7.lean.js @@ -1,21 +1,21 @@ -import{c as d,k as s,m as r,a as i,t as l,I as h,w as n,R as a,D as p,o as g,f as _}from"./chunks/framework.DeE3OwZJ.js";const o=s("h1",{id:"快速上手",tabindex:"-1"},[i("快速上手 "),s("a",{class:"header-anchor",href:"#快速上手","aria-label":'Permalink to "快速上手"'},"​")],-1),y=s("h2",{id:"下载使用",tabindex:"-1"},[i("下载使用 "),s("a",{class:"header-anchor",href:"#下载使用","aria-label":'Permalink to "下载使用"'},"​")],-1),c=s("p",null,"你可以从如下地址下载 ZUI 的最新版本:",-1),F={class:"gap-4 vp-raw row"},u=["href"],C=s("i",{class:"icon icon-download-alt icon-lg"},null,-1),T=["href"],A=s("i",{class:"icon icon-github icon-lg"},null,-1),D=a("",6),m={class:"vp-code-group vp-adaptive-theme"},B=a("",1),b={class:"blocks"},v={class:"language-html vp-adaptive-theme active"},S=s("button",{title:"Copy Code",class:"copy"},null,-1),I=s("span",{class:"lang"},"html",-1),q={class:"shiki shiki-themes github-light github-dark vp-code"},P=a("",1),z=a("",1),V=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"head"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),N=a("",1),f=a("",1),R=a("",1),w={class:"line highlighted"},U=a("",7),j={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},x=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">",-1),Z=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),M=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"body"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),H=a("",1),J=a("",1),L={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),Q=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," src",-1),O=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"=",-1),Y={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),Ts=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," src",-1),As=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"=",-1),Ds={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},ms=a("",6),Bs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),bs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"")],-1),vs={class:"language-html vp-adaptive-theme"},Ss=s("button",{title:"Copy Code",class:"copy"},null,-1),Is=s("span",{class:"lang"},"html",-1),qs={class:"shiki shiki-themes github-light github-dark vp-code"},Ps=a("",1),zs=a("",1),Vs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"head"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),Ns=a("",1),fs=a("",1),Rs=a("",1),ws={class:"line highlighted"},Us=a("",7),js={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},xs=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">",-1),Zs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),Ms=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"body"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),Hs=a("",1),Js=a("",1),Ls={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),Qs=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," src",-1),Os=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"=",-1),Ys={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(` +import{c as d,k as s,m as r,a as i,t as l,I as h,w as n,R as a,D as p,o as g,f as _}from"./chunks/framework.DeE3OwZJ.js";const o=s("h1",{id:"快速上手",tabindex:"-1"},[i("快速上手 "),s("a",{class:"header-anchor",href:"#快速上手","aria-label":'Permalink to "快速上手"'},"​")],-1),y=s("h2",{id:"下载使用",tabindex:"-1"},[i("下载使用 "),s("a",{class:"header-anchor",href:"#下载使用","aria-label":'Permalink to "下载使用"'},"​")],-1),c=s("p",null,"你可以从如下地址下载 ZUI 的最新版本:",-1),F={class:"gap-4 vp-raw row"},u=["href"],C=s("i",{class:"icon icon-download-alt icon-lg"},null,-1),A=["href"],T=s("i",{class:"icon icon-github icon-lg"},null,-1),D=a("",6),m={class:"vp-code-group vp-adaptive-theme"},B=a("",1),b={class:"blocks"},v={class:"language-html vp-adaptive-theme active"},S=s("button",{title:"Copy Code",class:"copy"},null,-1),I=s("span",{class:"lang"},"html",-1),q={class:"shiki shiki-themes github-light github-dark vp-code"},P=a("",1),V=a("",1),z=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"head"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),N=a("",1),f=a("",1),R=a("",1),w={class:"line highlighted"},U=a("",7),j={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},x=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">",-1),Z=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),M=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"body"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),J=a("",1),H=a("",1),G={class:"line highlighted"},L=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <",-1),$=s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"script",-1),O=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," src",-1),Q=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"=",-1),W={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},Y=a("",6),K=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),X=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"")],-1),ss={class:"language-html vp-adaptive-theme"},is=s("button",{title:"Copy Code",class:"copy"},null,-1),as=s("span",{class:"lang"},"html",-1),ts={class:"shiki shiki-themes github-light github-dark vp-code"},hs=a("",1),ns=a("",1),ls=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"head"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),ks=a("",1),ps=a("",1),es=a("",1),Es={class:"line highlighted"},ds=a("",7),rs={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},gs=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">",-1),_s=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),os=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"body"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),ys=a("",1),cs=a("",1),Fs={class:"line highlighted"},us=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <",-1),Cs=s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"script",-1),As=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," src",-1),Ts=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"=",-1),Ds={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},ms=a("",6),Bs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),bs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"")],-1),vs={class:"language-html vp-adaptive-theme"},Ss=s("button",{title:"Copy Code",class:"copy"},null,-1),Is=s("span",{class:"lang"},"html",-1),qs={class:"shiki shiki-themes github-light github-dark vp-code"},Ps=a("",1),Vs=a("",1),zs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"head"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),Ns=a("",1),fs=a("",1),Rs=a("",1),ws={class:"line highlighted"},Us=a("",7),js={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},xs=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">",-1),Zs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),Ms=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"body"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")],-1),Js=a("",1),Hs=a("",1),Gs={class:"line highlighted"},Ls=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," <",-1),$s=s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"script",-1),Os=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," src",-1),Qs=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"=",-1),Ws={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},Ys=a("",6),Ks=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")],-1),Xs=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"")],-1),si=a("",8),ii=s("div",{"zui-create":"datePicker"},null,-1),ai=s("div",{class:"language-html vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"html"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"<"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"div"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," zui-create"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"="),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"datePicker"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")])])])],-1),ti=s("p",null,[i("使用 "),s("code",null,"zui-create-"),i(" 来定义组件选项,例如:")],-1),hi=s("div",{"zui-create":"","zui-create-list":"{items: [{text: 'item1'}, {text: 'item2'}], onClickItem: (e) => console.log('You clicked', e)}"},null,-1),ni=s("div",{class:"language-html vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"html"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"<"),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"div"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," zui-create"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," zui-create-list"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"="),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"')]),i(` `),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," {")]),i(` `),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," items: [{text: 'item1'}, {text: 'item2'}],")]),i(` `),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," onClickItem: (e) => console.log('You clicked', e)")]),i(` `),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," }")]),i(` -`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")])])])],-1),li=a("",8),di=JSON.parse('{"title":"快速上手","description":"","frontmatter":{},"headers":[],"relativePath":"guide/start/index.md","filePath":"guide/start/index.md","lastUpdated":null}'),ki={name:"guide/start/index.md"},ri=Object.assign(ki,{setup(pi){return(t,ei)=>{const e=p("Example"),k=p("PluginTabsTab"),E=p("PluginTabs");return g(),d("div",null,[o,y,c,s("div",F,[s("a",{class:"rounded-full btn primary size-lg",href:r(_)(`/zui-${t.zui.version}.zip`),download:""},[C,i(" 点击下载")],8,u),s("a",{class:"rounded-full btn outline size-lg",href:`https://github.com/easysoft/zui/releases/tag/v${t.zui.version}`,target:"_blank"},[A,i(" 从 GitHub 下载")],8,T)]),D,s("div",m,[B,s("div",b,[s("div",v,[S,I,s("pre",q,[s("code",null,[P,i(` -`),z,i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},">")])])])],-1),li=a("",8),di=JSON.parse('{"title":"快速上手","description":"","frontmatter":{},"headers":[],"relativePath":"guide/start/index.md","filePath":"guide/start/index.md","lastUpdated":null}'),ki={name:"guide/start/index.md"},ri=Object.assign(ki,{setup(pi){return(t,ei)=>{const e=p("Example"),k=p("PluginTabsTab"),E=p("PluginTabs");return g(),d("div",null,[o,y,c,s("div",F,[s("a",{class:"rounded-full btn primary size-lg",href:r(_)(`/zui-${t.zui.version}.zip`),download:""},[C,i(" 点击下载")],8,u),s("a",{class:"rounded-full btn outline size-lg",href:`https://github.com/easysoft/zui/releases/tag/v${t.zui.version}`,target:"_blank"},[T,i(" 从 GitHub 下载")],8,A)]),D,s("div",m,[B,s("div",b,[s("div",v,[S,I,s("pre",q,[s("code",null,[P,i(` `),V,i(` +`),z,i(` `),N,i(` `),f,i(` `),R,i(` `),s("span",w,[U,s("span",j,'"///cdn.jsdelivr.net/npm/zui/dist/'+l(t.zui.version)+'/zui.css"',1),x]),i(` `),Z,i(` `),M,i(` -`),H,i(` `),J,i(` -`),s("span",L,[$,G,Q,O,s("span",Y,'"///cdn.jsdelivr.net/npm/zui/dist/'+l(t.zui.version)+'/zui.js"',1),K]),i(` -`),W,i(` +`),H,i(` +`),s("span",G,[L,$,O,Q,s("span",W,'"///cdn.jsdelivr.net/npm/zui/dist/'+l(t.zui.version)+'/zui.js"',1),Y]),i(` +`),K,i(` `),X])])]),s("div",ss,[is,as,s("pre",ts,[s("code",null,[hs,i(` `),ns,i(` `),ls,i(` @@ -27,19 +27,19 @@ 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 `),os,i(` `),ys,i(` `),cs,i(` -`),s("span",Fs,[us,Cs,Ts,As,s("span",Ds,'"///cdn.bootcdn.net/ajax/libs/zui/'+l(t.zui.version)+'/zui.js"',1),ms]),i(` +`),s("span",Fs,[us,Cs,As,Ts,s("span",Ds,'"///cdn.bootcdn.net/ajax/libs/zui/'+l(t.zui.version)+'/zui.js"',1),ms]),i(` `),Bs,i(` `),bs])])]),s("div",vs,[Ss,Is,s("pre",qs,[s("code",null,[Ps,i(` -`),zs,i(` `),Vs,i(` +`),zs,i(` `),Ns,i(` `),fs,i(` `),Rs,i(` `),s("span",ws,[Us,s("span",js,'"///unpkg.com/zui@'+l(t.zui.version)+'/zui.css"',1),xs]),i(` `),Zs,i(` `),Ms,i(` -`),Hs,i(` `),Js,i(` -`),s("span",Ls,[$s,Gs,Qs,Os,s("span",Ys,'"///unpkg.com/zui@'+l(t.zui.version)+'/zui.js"',1),Ks]),i(` -`),Ws,i(` +`),Hs,i(` +`),s("span",Gs,[Ls,$s,Os,Qs,s("span",Ws,'"///unpkg.com/zui@'+l(t.zui.version)+'/zui.js"',1),Ys]),i(` +`),Ks,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 fe1522c2db..c84f87bd4e 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 f8c3c87af3..5906b69c22 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 eb0c509a8a..e47681da9d 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 8e6e818684..53f348fc1e 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 18ba43cb08..3f6791febc 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 01ebd75254..02b32a67ef 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 08c24ec641..c5dda854c4 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 1445c8f57d..f34ca2590c 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 e6794fa78d..7b60d9801f 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 ad2340cfa1..d394ff4d70 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 5d140ac364..9e88d2e9e2 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 b7d7bc2b4d..4b42041fbb 100644 --- a/dev/guide/start/index.html +++ b/dev/guide/start/index.html @@ -12,10 +12,10 @@ - + - - + + @@ -36,7 +36,7 @@ <a class="btn" href="/">访问 ZUI 网站</a> <script src="./zui/zui.js"></script> </body> -</html>

使用 CDN

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

html
<!doctype html>
+</html>

使用 CDN

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

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

MIT License (MIT)

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

按钮组

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

使用方法

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

多组按钮

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

尺寸

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

外观

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

使用下拉菜单

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

CSS 类

按钮提供了如下 CSS 类:

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

参考

MIT License (MIT)

- + \ No newline at end of file diff --git a/dev/lib/components/button/index.html b/dev/lib/components/button/index.html index f8f4b07d35..71c7b3727c 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 184cf14c46..c5db08a330 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 ba8429e6ea..d91eba3138 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 e3488596c4..dfa6a9c77d 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 a052bbd432..05cdc1ee63 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 c481ebbf58..eb773e2703 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 96c5876c2a..ec400f741b 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 68b9d50fe3..5efbcfd643 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 e3b55bd943..4677346abe 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 f68d21415b..80c3911c8a 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 a89fc15e07..b6e8ef68d2 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)

    - +
    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 d72c45c320..38cb8823f4 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 d9983487e1..c0a7cde81e 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 2d536c66a7..484acfa9b0 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)

    - + \ No newline at end of file diff --git a/dev/lib/components/modal/trigger.html b/dev/lib/components/modal/trigger.html index 6489bb8f65..a9f8cf95c0 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 164564b3af..135d0e53e0 100644 --- a/dev/lib/components/nav/index.html +++ b/dev/lib/components/nav/index.html @@ -14,17 +14,17 @@ - - + + -
    Skip to content

    导航

    基础用法

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

    带标题的导航

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

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

    导航

    基础用法

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

    带标题的导航

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

    html
    <menu class="nav">
       <li class="nav-heading">导航标题</li>
       ...
    -</menu>

    导航样式

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

    主要导航 .nav-primary

    次要导航 .nav-secondary

    圆点导航 .nav-pills

    标签导航 .nav-tabs

    步骤条 .nav-steps

    垂直排列

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

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

    自适应宽度的导航

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

    提示

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

    CSS 类

    导航提供了如下 CSS 类

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

    CSS 变量

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

    MIT License (MIT)

    - +</menu>

    导航样式

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

    主要导航 .nav-primary

    次要导航 .nav-secondary

    圆点导航 .nav-pills

    标签导航 .nav-tabs

    步骤条 .nav-steps

    垂直排列

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

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

    自适应宽度的导航

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

    提示

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

    CSS 类

    导航提供了如下 CSS 类

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

    CSS 变量

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

    MIT License (MIT)

    + \ No newline at end of file diff --git a/dev/lib/components/nav/js.html b/dev/lib/components/nav/js.html index 92f7cd861d..625062a2c5 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 68b57a0795..d45342fe61 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 1421b729ac..65f2de1ae9 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 26a0d0c529..442e8714ef 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 de98f0514e..38b1b45d99 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 579564d950..12674856df 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 6357bfd2e6..bedf8f3bd1 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 88a2c4e346..8754ad1102 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 5f326b5c0a..73d310dcf9 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 9b0760a323..0866292c1e 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 e4d382cb26..f59cac6e8c 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 efdfaf0e3e..7492718ba1 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 38e661583c..304d5a2104 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 a6f0fcd3cf..24fe8051b2 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 c49ea410b3..7171bd8109 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 a18236a8b1..f119164b78 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 7a0d19a891..09e4ee9f06 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 8701bbb4b0..d1d3fb46b2 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 687639ac1d..958a8824fe 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 3b00593f0e..4625ea8c6c 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 5b5c8bbd00..83a6144ebe 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 f80e281924..528bbd9865 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 2616b5a58c..c3785d9140 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 faf3557650..781f804062 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 9eb30f3909..e2a4af040b 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 6b75579c1a..7e1b7a2170 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 68d5a3c4fe..b9aee2615f 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 de5716e1ed..acc1350554 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 743abcdf3d..30f8861b1a 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 0766bd43ee..3734c4d588 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 e397692a32..e9cabde6ca 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 70f9774326..593ab2e235 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 3314ca90ac..6be6a6ea34 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 ce72651adc..3644ed838d 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 ea3da3b657..392d73a4c6 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 7cc78e2f82..2797d73308 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 4d9ef7504d..1289587e29 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 f760ad850b..af4c54ecec 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 92a7bde30c..6a15978350 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 b8005ab10b..07f351ba06 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 92b30e620b..9c39855e82 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 e5846cffdc..08a4267742 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 5d2de8b747..cdf9539c77 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 49932f48fd..73dc5d055b 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 06559090d3..a9a852fa9d 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 11fe3c9115..6d5dfcaa69 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 cf4789497d..affe978729 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 09cfe64e04..f2b06cfd11 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 231aa1305c..ae57bef7f8 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 4a0d2112fc..b9c5892769 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 25ac5e8015..0535c2229a 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 e299818102..878ed750a8 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 0c2dc223e8..0e1330dd61 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 2b7a4a29b3..8e13b9c53f 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 94d0ecc446..deea39a3c5 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 a7cda6d847..2a75ec0403 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 fa6407dd9a..03d4fd5f0e 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 511a199988..cdb61f1f1c 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 ea9eee5307..e6637266fc 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 fa443fc4cc..a6e2e4a970 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 5538276674..9d0d8bde92 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 fdcd4ca810..508a7887c6 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 5182be0379..cd5d7da960 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 2669e05d79..33a3694b85 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 c91e643361..55e389f9a7 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 7fe006d1ad..2d61b3236a 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 cdb4855d68..cb24235701 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 0c94e44b4b..bf9fffbe71 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 f67e14d472..2b1cc858f2 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 73e99661e0..6711a5b4fb 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 d0a46bd35b..cc27fb4113 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 8ce8147b3c..65911cd4ab 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 b93f96e107..115c218b0a 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 21a12a6588..4bc390c962 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 8a59f6cfaa..8a7d50f776 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 4ac2d78372..7e7369f563 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 829808b398..3429f55248 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 65df8dff06..c40f017adb 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 a4528a04e3..d3293123b5 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 d99abee2a5..746d33e417 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 5012376156..6b76de6f76 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 a5a53ecc17..c8d5c546d2 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 b37d6aca80..a416cdcd47 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 e430bcd7a5..48e42dbd2c 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 717fbe0d0a..6ca7382018 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 0ce0267438..5a41bd0f4e 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 5612b766f2..7c6f4ab1b6 100644 --- a/dev/utilities/typography/utilities/font-family.html +++ b/dev/utilities/typography/utilities/font-family.html @@ -14,14 +14,14 @@ - - + + -
    Skip to content

    字体风格

    定义

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

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

    无衬线字体 font-sans

    The quick brown fox jumps over the lazy dog.

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

    衬线字体 font-serif

    The quick brown fox jumps over the lazy dog.

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

    等宽字体 font-mono

    The quick brown fox jumps over the lazy dog.

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

    参考

    MIT License (MIT)

    - +
    Skip to content

    字体风格

    定义

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

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

    无衬线字体 font-sans

    The quick brown fox jumps over the lazy dog.

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

    衬线字体 font-serif

    The quick brown fox jumps over the lazy dog.

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

    等宽字体 font-mono

    The quick brown fox jumps over the lazy dog.

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

    参考

    MIT License (MIT)

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

    字体大小

    定义

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

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

    示例

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

    MIT License (MIT)

    - +
    Skip to content

    字体大小

    定义

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

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

    示例

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

    MIT License (MIT)

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

    字体粗细

    定义

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

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

    示例

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

    MIT License (MIT)

    - +
    Skip to content

    字体粗细

    定义

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

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

    示例

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

    MIT License (MIT)

    + \ No newline at end of file diff --git a/dev/utilities/typography/utilities/leading.html b/dev/utilities/typography/utilities/leading.html index 5aea9ccb1a..1ca89a1140 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 fac1d86874..b5796dd202 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 82751e9b88..1f1c08b49d 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 a45a38f2ac..afcb043099 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 3c950aef47..d79e6652a5 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 1f99d3e1a2..fec8b335d5 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 64e573e673..3fcf057088 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 5e283f0299..d6fc4cc92f 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 8f0381c7a3..4b4f775092 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 e4634fd36c..b19f3e5749 100644 --- a/dev/utilities/typography/utilities/whitespace.html +++ b/dev/utilities/typography/utilities/whitespace.html @@ -14,22 +14,22 @@ - - + + -
    Skip to content

    空白处理

    定义

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

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

    示例

    不保留空格不自动换行

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

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

    空白处理

    定义

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

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

    示例

    不保留空格不自动换行

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

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

    保留空格不自动换行

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

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

    保留空格不自动换行

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

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

    不保留空格自动换行

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

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

    不保留空格自动换行

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

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

    保留空格自动换行

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

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

    保留空格自动换行

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

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

    MIT License (MIT)

    - + \ No newline at end of file diff --git a/dev/utilities/typography/utilities/word-break.html b/dev/utilities/typography/utilities/word-break.html index 1247fbd27d..241cd47082 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 a1104df940e4e2107f423d64102943867d9ce915..2751a08ef2211ced23834ff70bd8d3a5942adcb6 100644 GIT binary patch delta 598406 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

    `GD5AVA2~J}nml{5Aq9oAiS%JWM!lCk^4dz5 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[@P;SH~9H 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 SUQU*I7mx*Kp&j@y{Qm%e6)I`~ delta 598212 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%0Dw)hPiz&h&Wxe9$DzX47d|YHNi0bI^ey9|C!lryw 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

    A;*&Pmwoi_Nfe%JJI&@vSkm)%7q`vdPO-DWFI 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�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 diff --git a/dev/zui/zui.esm.js b/dev/zui/zui.esm.js index 11650afccd..3203ff059f 100644 --- a/dev/zui/zui.esm.js +++ b/dev/zui/zui.esm.js @@ -8,7 +8,7 @@ var lt = (s, t, e) => (yn(s, t, "read from private field"), e ? e.call(s) : t.ge t instanceof WeakSet ? t.add(s) : t.set(s, e); }, vt = (s, t, e, n) => (yn(s, t, "write to private field"), n ? n.call(s, e) : t.set(s, e), e); var vn = (s, t, e) => (yn(s, t, "access private method"), e); -const md = "3.0.0", _d = 1726818126620, yd = "production", Ht = document, xs = window, io = Ht.documentElement, fe = Ht.createElement.bind(Ht), ro = fe("div"), bn = fe("table"), xl = fe("tbody"), gr = fe("tr"), { isArray: Ys, prototype: oo } = Array, { concat: kl, filter: ci, indexOf: ao, map: lo, push: Tl, slice: co, some: hi, splice: $l } = oo, Nl = /^#(?:[\w-]|\\.|[^\x00-\xa0])*$/, El = /^\.(?:[\w-]|\\.|[^\x00-\xa0])*$/, Al = /<.+>/, Ml = /^\w+$/; +const md = "3.0.0", _d = 1727156884287, yd = "production", Ht = document, xs = window, io = Ht.documentElement, fe = Ht.createElement.bind(Ht), ro = fe("div"), bn = fe("table"), xl = fe("tbody"), gr = fe("tr"), { isArray: Ys, prototype: oo } = Array, { concat: kl, filter: ci, indexOf: ao, map: lo, push: Tl, slice: co, some: hi, splice: $l } = oo, Nl = /^#(?:[\w-]|\\.|[^\x00-\xa0])*$/, El = /^\.(?:[\w-]|\\.|[^\x00-\xa0])*$/, Al = /<.+>/, Ml = /^\w+$/; function ui(s, t) { const e = Il(t); return !s || !e && !ce(t) && !tt(t) ? [] : !e && El.test(s) ? t.getElementsByClassName(s.slice(1).replace(/\\/g, "")) : !e && Ml.test(s) ? t.getElementsByTagName(s) : t.querySelectorAll(s); @@ -5162,7 +5162,7 @@ let wt = class extends _t { */ static isItemMatch(t, e, n = ["keys", "text", "title", "subtitle"]) { return e.length ? e.every((i) => n.some((r) => { - const o = t[r]; + const o = typeof r == "function" ? r(t) : t[r]; return typeof o == "string" && o.length && o.toLowerCase().includes(i); })) : !0; } diff --git a/dev/zui/zui.esm.js.map b/dev/zui/zui.esm.js.map index 887079fc4e..a21a3784da 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":["/* eslint-disable @typescript-eslint/naming-convention */\n\ndeclare const __APP_VERSION__: string;\n\ndeclare const __BUILD_TIME__: number;\n\ndeclare const __BUILD_MODE__: string;\n\nexport const VERSION = __APP_VERSION__;\nexport const BUILD = __BUILD_TIME__;\nexport const BUILD_MODE = __BUILD_MODE__;\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 {AjaxBeforeSendCallback, AjaxCallbackMap, AjaxCompleteCallback, AjaxErrorCallback, AjaxFormItemValue, AjaxOptionsModifier, 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 static globalBeforeSends: AjaxBeforeSendCallback[] = [];\n\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 (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\n const beforeSends = [...(this.constructor as typeof Ajax).globalBeforeSends, beforeSend];\n for (const callback of beforeSends) {\n if (!callback) {\n continue;\n }\n const result = callback.call(this, initOptions);\n if (result === false) {\n return;\n }\n if (result) {\n Object.assign(initOptions, result);\n }\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, 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.resetOptions(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 const finalOptions = {\n ...this.constructor.DEFAULT,\n ...(options?.$optionsFromDataset !== false ? this.$element.dataset() : {}),\n ...options,\n } as ComponentOptions;\n const {$options} = finalOptions;\n if ($options) {\n const extraOptions = typeof $options === 'function' ? $options(this.element, finalOptions) : $options;\n if (extraOptions) {\n $.extend(finalOptions, extraOptions);\n }\n delete finalOptions.$options;\n }\n this._options = finalOptions;\n } else if (options) {\n $.extend(this._options, options);\n }\n return this._options!;\n }\n\n resetOptions(options?: Partial>) {\n return this.setOptions(options, true);\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\nexport interface CommandContext {\n name: string,\n options: Record,\n event: Event,\n scope: string,\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type CommandCallback = (context: CommandContext, ...params: any[]) => any;\n\nexport type CommandEventCallback = (event: Event, data: [context: CommandContext, params: unknown[]]) => void;\n\ninterface CommandExecutionOptions {\n execute: (context: CommandContext, ...params: unknown[]) => unknown;\n event: Event;\n scope: string;\n options: 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 {options: executeOptions} = options;\n executeOptions = {\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 ...executeOptions,\n };\n return execute({name, options: executeOptions, 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 type CommandsBindOptions = {scope?: string, events?: string, execute?: CommandCallback, commands?: Record};\n\nexport function bindCommands(element?: Selector, options?: CommandsBindOptions | 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 = `z-commands${scope ? `-${scope}` : ''}`;\n if (typeof $element.attr(dataAttr) === 'string') {\n return;\n }\n\n const cmdAttr = scope ? `zui-command-${scope}` : 'zui-command';\n $element.attr(dataAttr, '').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: (context, ...params) => {\n initialExecute?.(context, ...params);\n const commandExecute = commands?.[context.name];\n commandExecute?.(context, ...params);\n const {name} = context;\n const eventData = [context, params];\n $target.trigger('command', eventData).trigger(`command:${scope ? `${name}.${scope}` : name}`, eventData);\n if (scope) {\n $target.trigger(`command:.${scope}`, eventData);\n }\n },\n event,\n scope,\n options: {},\n });\n });\n}\n\nexport function unbindCommands(element: Selector, scope?: string) {\n const dataAttr = `z-commands${scope ? `-${scope}` : ''}`;\n $(element).removeAttr(dataAttr).off(`.zui.command${scope ? `.${scope}` : ''}`);\n}\n\ndeclare module 'cash-dom' {\n interface Cash {\n command(this: Cash, scopedName: string, callback: CommandEventCallback): Cash;\n offCommand(this: Cash, scopedName: string, callback?: CommandEventCallback): Cash;\n\n commands(this: Cash, options?: CommandsBindOptions | CommandCallback | string): Cash;\n unbindCommands(this: Cash, scope?: string): Cash;\n }\n}\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?: CommandsBindOptions | CommandCallback | string): Cash {\n this.each((_, element) => bindCommands(element, options));\n return this;\n};\n\n$.fn.unbindCommands = function (this: Cash, scope?: string): Cash {\n this.each((_, element) => unbindCommands(element, 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 LoadJSModuleOptions extends LoadJSOptions {\n type: 'module',\n imports?: string | Record;\n srcList?: {src: string, imports?: string | Record}[];\n globalVar?: boolean | string;\n resolve?: (result: T) => void;\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 */\nexport function 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\nexport function 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\nexport function loadModule(options: string | LoadJSModuleOptions): Promise {\n return new Promise((resolve) => {\n if (typeof options === 'string') {\n options = {type: 'module', src: options};\n }\n const {src, imports, srcList = [], id} = options;\n if (src) {\n srcList.unshift({src, imports});\n }\n\n const srcListID = srcList.map(x => x.src).join(',');\n const $oldScripts = $(id ? `#${id}` : `script[data-src-list=\"${srcListID}\"]`);\n if ($oldScripts.length) {\n const moduleResult = $oldScripts.data('module');\n if (moduleResult) {\n resolve(moduleResult);\n } else {\n const callbacks = $oldScripts.data('resolves') || [];\n callbacks.push(resolve);\n $oldScripts.data('resolves', callbacks);\n }\n return;\n }\n const {async = true, defer = false, integrity, globalVar, resolve: resolveCallback} = options;\n const script = document.createElement('script');\n const resolveID = `zui-module-resolve-${$.guid++}`;\n const $script = $(script);\n Object.assign(window, {[resolveID]: (result: T) => {\n const scriptResolves: ((result: T) => void)[] = $script.data('module', result).data('resolves') || [];\n scriptResolves.forEach(x => x(result));\n $script.removeData('resolves');\n resolveCallback?.(result);\n resolve(result);\n delete (window as unknown as Record)[resolveID];\n }});\n script.async = async;\n script.defer = defer;\n script.type = 'module';\n $script.attr('data-src-list', srcListID).attr('data-resolve-id', resolveID);\n const importNames: string[] = [];\n script.text = [\n ...srcList.map(({src: importSrc, imports: importMap}) => {\n if (imports) {\n if (typeof importMap === 'string') {\n importNames.push(importMap);\n return `import * as ${importMap} from '${importSrc}';`;\n }\n if (importMap) {\n importNames.push(...Object.values(importMap));\n return `import {${Object.entries(importMap).map(([key, value]) => `${key} as ${value}`).join(',')}} from '${importSrc}';`;\n }\n }\n return `import '${importSrc}';`;\n }),\n `const zuiImportResult = {${importNames.map(x => `${x}: ${x},`)}};`,\n globalVar ? `Object.assign(window, ${globalVar === true ? 'zuiImportResult' : `{${globalVar}: zuiImportResult}`});` : '',\n `if(window['${resolveID}']) window['${resolveID}'](zuiImportResult);`,\n ].join('\\n');\n if (integrity) {\n script.integrity = integrity;\n }\n $('head').append(script);\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 let moduleResult: T | undefined;\n const getLibVar = (): T | undefined => {\n return libVarName ? ((window as unknown as Record)[libVarName] as T || moduleResult) : 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 if (loadOptions.type === 'module') {\n moduleResult = await loadModule(loadOptions as LoadJSModuleOptions);\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 signals: SIGNALS;\n\n constructor(props: P) {\n super(props);\n\n this.signals = {} 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.signals[key as unknown as keyof SIGNALS] as Signal;\n if (sg) {\n sg.value = state[key as keyof S];\n } else {\n this.signals[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, iconClass, text, textClass, children, trailingIcon, trailingIconClass, 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 iconClass,\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 trailingIconClass,\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', className: 'item-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' : ''), props.hoverItemActions ? 'with-hover-actions' : ''];\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 =