diff --git a/css/app.1ccd3e31.css b/css/app.9b29359a.css similarity index 99% rename from css/app.1ccd3e31.css rename to css/app.9b29359a.css index 4415b68..7548311 100644 --- a/css/app.1ccd3e31.css +++ b/css/app.9b29359a.css @@ -17,4 +17,4 @@ /*! * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(../font/fontawesome-webfont.674f50d2.eot?v=4.7.0);src:url(../font/fontawesome-webfont.674f50d2.eot?#iefix&v=4.7.0) format("embedded-opentype"),url(../font/fontawesome-webfont.af7ae505.woff2?v=4.7.0) format("woff2"),url(../font/fontawesome-webfont.fee66e71.woff?v=4.7.0) format("woff"),url(../font/fontawesome-webfont.b06871f2.ttf?v=4.7.0) format("truetype"),url(../font/fontawesome-webfont.912ec66d.svg?v=4.7.0#fontawesomeregular) format("svg")}.fa{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto}.fa-lg{font-size:1.3333333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{text-align:center;width:1.2857142857em}.fa-ul{list-style-type:none;margin-left:2.1428571429em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2.1428571429em;position:absolute;text-align:center;top:.1428571429em;width:2.1428571429em}.fa-li.fa-lg{left:-1.8571428571em}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s linear infinite}.fa-pulse{animation:fa-spin 1s steps(8) infinite}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-bed:before,.fa-hotel:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-y-combinator:before,.fa-yc:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-television:before,.fa-tv:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:"\f2a3"}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-address-card:before,.fa-vcard:before{content:"\f2bb"}.fa-address-card-o:before,.fa-vcard-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}code[class*=language-],pre[class*=language-]{word-wrap:normal;background:none;color:#ccc;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;-webkit-hyphens:none;hyphens:none;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;text-align:left;white-space:pre;word-break:normal;word-spacing:normal}pre[class*=language-]{margin:.5em 0;overflow:auto;padding:1em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{border-radius:.3em;padding:.1em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#999}.token.punctuation{color:#ccc}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}div.code-toolbar{position:relative}div.code-toolbar>.toolbar{opacity:0;position:absolute;right:.2em;top:.3em;transition:opacity .3s ease-in-out;z-index:10}div.code-toolbar:hover>.toolbar{opacity:1}div.code-toolbar:focus-within>.toolbar{opacity:1}div.code-toolbar>.toolbar>.toolbar-item{display:inline-block}div.code-toolbar>.toolbar>.toolbar-item>a{cursor:pointer}div.code-toolbar>.toolbar>.toolbar-item>button{background:none;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}div.code-toolbar>.toolbar>.toolbar-item>a,div.code-toolbar>.toolbar>.toolbar-item>button,div.code-toolbar>.toolbar>.toolbar-item>span{background:#f5f2f0;background:hsla(0,0%,88%,.2);border-radius:.5em;box-shadow:0 2px 0 0 rgba(0,0,0,.2);color:#bbb;font-size:.8em;padding:0 .5em}div.code-toolbar>.toolbar>.toolbar-item>a:focus,div.code-toolbar>.toolbar>.toolbar-item>a:hover,div.code-toolbar>.toolbar>.toolbar-item>button:focus,div.code-toolbar>.toolbar>.toolbar-item>button:hover,div.code-toolbar>.toolbar>.toolbar-item>span:focus,div.code-toolbar>.toolbar>.toolbar-item>span:hover{color:inherit;text-decoration:none}h1{font-size:38px;line-height:46px}h2{font-size:30px;line-height:38px}h3{font-size:24px;line-height:32px}h4{font-size:20px;line-height:28px}h5{font-size:16px;line-height:24px}h6{font-size:14px;line-height:22px}.octicon{fill:currentColor;display:inline-block;vertical-align:text-top;vertical-align:text-bottom}.red{color:red}.green{color:green}.language-sh{color:#17ff0b!important}.balmui-placeholder{display:table;height:100%;width:100%}.balmui-placeholder .container{display:table-cell;text-align:center;vertical-align:middle}.balmui-placeholder h1{font:italic 68px/76px Times New Roman,Georgia,Arial,sans-serif;text-align:center;width:100%}.balmui-placeholder b{color:orange}.balmui-placeholder strong{color:#6200ee}.balmui-placeholder p{font-size:24px}a{color:#6200ee}.mdc-theme--text-primary-on-dark a{color:#ce93d8}.balmui-container{display:flex;flex-direction:column;min-height:100%}.balmui-test .balmui-container{display:block;min-height:auto}.balmui-head .github{line-height:1}.balmui-head .github>span{display:none}.top-app-toolbar{align-items:center;display:flex}.top-app-toolbar .pro{color:#fff;display:inline-block;text-align:center;width:48px}.global-message-banner{position:fixed;top:64px;z-index:3}.global-message-banner .mdc-banner__graphic{padding:8px 0}.global-message-banner a{font-weight:700}.balmui-body{display:flex;flex:1;justify-content:flex-start;max-width:100%}.balmui-drawer-container{min-width:280px}.balmui-drawer-container.balmui-drawer--mobile{min-width:auto}.balmui-drawer-container.balmui-drawer--mobile .balmui-menu{z-index:9}.balmui-menu{position:fixed;width:280px;z-index:2}.balmui-menu .mdc-drawer__header{border-bottom:1px solid rgba(0,0,0,.12)}.balmui-menu .balmui-version{font-weight:400}.balmui-menu .balmui-version .version{color:#e65100}.balmui-content{display:block;position:relative;width:100%}.catalog-list .mdc-deprecated-list-group__subheader{font-size:18px}.catalog-list .no-icon{padding-left:28px}.catalog-list .next,.catalog-list .plus{margin-left:5px}.catalog-list-icon{background-repeat:no-repeat;background-size:100%;height:24px;margin:0 24px 0 12px;width:24px}@media (min-width:1241px){.balmui-content{width:calc(100% - 280px)}#balmui-menu{display:none}}@media (max-width:599px){.global-message-banner{top:56px}.global-message-banner .mdc-banner__content{width:auto}.global-message-banner .mdc-banner__text{margin-right:24px}}.hero{position:relative}.hero:after,.hero:before{color:#fff;padding:4px;position:absolute}.hero:before{left:0;top:0}.hero:after{bottom:0;right:0}.hero.component:after,.hero.component:before{background-color:#2979ff;content:"component"}.hero.plugin:after,.hero.plugin:before{background-color:#ff1744;content:"plugin"}.hero.directive:after,.hero.directive:before{background-color:#00bfa5;content:"directive"}.ui-intro{padding:40px 0}.component-docs{margin-bottom:80px}.markdown-body table td:first-child{font-weight:700;white-space:nowrap}.markdown-body table td:nth-child(2){color:#c41d7f;font-size:13px}.component--typography table:nth-of-type(2) td:nth-child(2),.component--ui-card table td:nth-child(2),.component--ui-dialog table td:nth-child(2),.component--ui-drawer table td:nth-child(2),.component--ui-image-list table td:nth-child(2),.component--ui-list table td:nth-child(2),.component--ui-menu table td:nth-child(2),.component--ui-tabs table td:nth-child(2),.component--ui-textfield table td:nth-child(2){color:inherit;font-size:inherit}.supported-lang{cursor:pointer;margin:0}.supported-lang a.active{color:#fff;font-weight:bolder}.mdc-typography--body1>.mdc-typography--body2{padding:0 20px 40px}.mdc-typography--body1>.mdc-typography--body2.pure-docs{padding-top:20px}.mdc-typography--body1>.mdc-typography--body2>footer{display:flex;justify-content:space-between;margin-top:20px}@media (max-width:640px){.mdc-typography--body1>.mdc-typography--body2{padding:0 12px 24px}}.markdown-body{word-wrap:break-word;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;font-size:16px;line-height:1.5}.markdown-body kbd{background-color:#fafbfc;border:1px solid #d1d5da;border-radius:3px;box-shadow:inset 0 -1px 0 #d1d5da;color:#444d56;display:inline-block;font:11px SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;line-height:10px;padding:3px 5px;vertical-align:middle}.markdown-body:after,.markdown-body:before{content:"";display:table}.markdown-body:after{clear:both}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:#cb2431}.markdown-body .anchor{float:left;line-height:1;margin-left:-20px;padding-right:4px}.markdown-body .anchor:focus{outline:none}.markdown-body blockquote,.markdown-body details,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-bottom:16px;margin-top:0}.markdown-body hr{background-color:#e1e4e8;border:0;height:.25em;margin:24px 0;padding:0}.markdown-body blockquote{background:rgba(25,118,210,.05);border-left:.25em solid #1976d2;color:#6a737d;padding:0 1em}.markdown-body blockquote:after,.markdown-body blockquote:before{content:""}.markdown-body blockquote p{display:block;padding:14px 0}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{font-weight:600;line-height:1.25;margin-bottom:16px;margin-top:24px}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#1b1f23;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 code,.markdown-body h1 tt,.markdown-body h2 code,.markdown-body h2 tt,.markdown-body h3 code,.markdown-body h3 tt,.markdown-body h4 code,.markdown-body h4 tt,.markdown-body h5 code,.markdown-body h5 tt,.markdown-body h6 code,.markdown-body h6 tt{font-size:inherit}.markdown-body h1{font-size:2em}.markdown-body h1,.markdown-body h2{border-bottom:1px solid #eaecef;padding-bottom:.3em}.markdown-body h2{font-size:1.5em}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:.875em}.markdown-body h6{color:#6a737d;font-size:.85em}.markdown-body ol,.markdown-body ul{padding-left:2em}.markdown-body ol.no-list,.markdown-body ul.no-list{list-style-type:none;padding:0}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-bottom:0;margin-top:0}.markdown-body li{word-wrap:break-all}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{font-size:1em;font-style:italic;font-weight:600;margin-top:16px;padding:0}.markdown-body dl dd{margin-bottom:16px;padding:0 16px}.markdown-body table{display:block;overflow:auto;width:100%}.markdown-body table th{font-weight:600}.markdown-body table td,.markdown-body table th{border:1px solid #dfe2e5;padding:6px 13px}.markdown-body table tr{background-color:#fff;border-top:1px solid #c6cbd1}.markdown-body table tr:nth-child(2n){background-color:#f6f8fa}.markdown-body table img{background-color:initial}.markdown-body img{background-color:#fff;box-sizing:initial;max-width:100%}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{background-color:initial;max-width:none;vertical-align:text-top}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{border:1px solid #dfe2e5;display:block;float:left;margin:13px 0 0;overflow:hidden;padding:7px;width:auto}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{clear:both;color:#24292e;display:block;padding:5px 0 0}.markdown-body span.align-center{clear:both;display:block;overflow:hidden}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{clear:both;display:block;overflow:hidden}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{background-color:rgba(27,31,35,.05);border-radius:3px;font-size:85%;margin:0;padding:.2em .4em}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body pre{word-wrap:normal}.markdown-body pre>code{background:transparent;border:0;font-size:100%;margin:0;padding:0;white-space:pre;word-break:normal}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{border-radius:3px;font-size:14px;line-height:1.45;overflow:auto;padding:16px}.markdown-body pre code,.markdown-body pre tt{word-wrap:normal;background-color:initial;border:0;display:inline;line-height:inherit;margin:0;max-width:auto;overflow:visible;padding:0}.markdown-body .csv-data td,.markdown-body .csv-data th{font-size:12px;line-height:1;overflow:hidden;padding:5px;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{background:#fff;border:0;padding:10px 8px 9px;text-align:right}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{background:#f6f8fa;border-top:0;font-weight:600}.page-loading,.top-loading{position:fixed;z-index:5}.top-loading{left:0;right:0;top:0}.page-loading{right:16px;top:80px}.loading-enter-from,.loading-leave-to{opacity:0}.loading-enter-active,.loading-leave-active{transition:opacity .4s}.loading-leave-active{left:0;position:absolute;top:0;width:100%}.toc-affix{background:#fff;left:0;position:sticky;right:0;top:64px;z-index:2}.toc-affix .mdc-deprecated-list{display:flex}.toc-affix .mdc-deprecated-list-item{cursor:pointer}.toc-affix.toc-affix--bottom{bottom:0;position:fixed;top:auto}@media (max-width:599px){.toc-affix{top:56px}}.demo-ready-detect{position:relative}.catalog-title{font-family:Roboto Mono,monospace}.hero{align-items:center;background-color:#f7f7f7;display:flex;flex-flow:column nowrap;justify-content:center;min-height:360px;padding:40px 0}.hero>h1{font-size:3.14rem;font-weight:300}.hero .mdc-menu-surface{z-index:3}.hero .mdc-drawer--permanent{display:inherit;height:inherit}.hero .mdc-drawer--permanent .mdc-drawer__title{text-align:left}.hero .hero-demo,.hero .hero-demos{margin-bottom:20px}.hero .hero-demos,.hero .hero-options{align-items:center;display:flex;flex-wrap:wrap;justify-content:center}.hero .hero-option{margin:0 32px}.hero h3{text-align:center}.demo-wrapper{margin-bottom:32px}@media (max-width:599px){.hero .hero-option{margin:0}.hero .hero-options{flex-direction:column}.hero .hero-options .hero-options{flex-direction:row}.hero .hero-options .hero-option{margin-bottom:10px}.page-data-display_card .hero .hero-options .hero-options{align-items:flex-start;flex-direction:column}}.demo-text-field-custom-colors:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled) .mdc-line-ripple:before{border-bottom-color:rgba(0,0,255,.38)}.demo-text-field-custom-colors:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled):hover .mdc-line-ripple:before{border-bottom-color:rgba(0,0,255,.6)}.demo-text-field-custom-colors:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled) .mdc-line-ripple:after{border-bottom-color:blue}.demo-text-field-custom-colors:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled) .mdc-text-field__input{color:#000}.demo-text-field-custom-colors:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled) .mdc-floating-label{color:rgba(0,0,255,.5)}.demo-text-field-custom-colors:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.demo-text-field-custom-colors:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.demo-text-field-custom-colors:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled) .mdc-notched-outline__trailing{border-color:rgba(0,0,255,.38)}.demo-text-field-custom-colors:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__leading,.demo-text-field-custom-colors:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__notch,.demo-text-field-custom-colors:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__trailing{border-color:rgba(0,0,255,.6)}.demo-text-field-custom-colors:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,.demo-text-field-custom-colors:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,.demo-text-field-custom-colors:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing{border-color:blue}.demo-text-field-custom-colors:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled)+.mdc-text-field-helper-line .mdc-text-field-helper-text{color:rgba(0,0,255,.38)}.demo-text-field-custom-colors:not(.mdc-text-field--invalid) .mdc-text-field__input{caret-color:blue}.demo-text-field-custom-colors:not(.mdc-text-field--invalid).mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-floating-label{color:rgba(0,0,255,.87)}.demo-textarea:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled) .mdc-text-field__input{color:#000}.demo-textarea:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled) .mdc-floating-label{color:rgba(0,0,255,.5)}.demo-textarea:not(.mdc-text-field--invalid) .mdc-text-field__input{caret-color:blue}.demo-textarea:not(.mdc-text-field--invalid).mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-floating-label{color:rgba(0,0,255,.87)}.demo-textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input{color:orange}.demo-textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-floating-label{color:rgba(255,165,0,.5)}.demo-textarea.mdc-text-field--invalid .mdc-text-field__input{caret-color:orange}.demo-textarea.mdc-text-field--invalid.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-floating-label{color:rgba(255,165,0,.87)}.demo-fullwidth-input:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled) .mdc-text-field__input{color:#000}.demo-fullwidth-input:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled) .mdc-floating-label{color:rgba(0,0,255,.5)}.demo-fullwidth-input:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled) .mdc-line-ripple:after{border-bottom-color:blue}.demo-fullwidth-input:not(.mdc-text-field--invalid) .mdc-text-field__input{caret-color:blue}.demo-fullwidth-input:not(.mdc-text-field--invalid).mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-floating-label{color:rgba(0,0,255,.87)}.demo-fullwidth-input.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input{color:orange}.demo-fullwidth-input.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-floating-label{color:rgba(255,165,0,.5)}.demo-fullwidth-input.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple:after{border-bottom-color:orange}.demo-fullwidth-input.mdc-text-field--invalid .mdc-text-field__input{caret-color:orange}.demo-fullwidth-input.mdc-text-field--invalid.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-floating-label{color:rgba(255,165,0,.87)}.demo-text-field-custom-error-colors.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple:before{border-bottom-color:rgba(255,165,0,.38)}.demo-text-field-custom-error-colors.mdc-text-field--invalid:not(.mdc-text-field--disabled):hover .mdc-line-ripple:before{border-bottom-color:rgba(255,165,0,.6)}.demo-text-field-custom-error-colors.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple:after{border-bottom-color:orange}.demo-text-field-custom-error-colors.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input{color:orange}.demo-text-field-custom-error-colors.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-floating-label{color:rgba(255,165,0,.87)}.demo-text-field-custom-error-colors.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.demo-text-field-custom-error-colors.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.demo-text-field-custom-error-colors.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing{border-color:rgba(255,165,0,.38)}.demo-text-field-custom-error-colors.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__leading,.demo-text-field-custom-error-colors.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__notch,.demo-text-field-custom-error-colors.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__trailing{border-color:rgba(255,165,0,.6)}.demo-text-field-custom-error-colors.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,.demo-text-field-custom-error-colors.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,.demo-text-field-custom-error-colors.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing{border-color:orange}.demo-text-field-custom-error-colors.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--invalid+.mdc-text-field-helper-line .mdc-text-field-helper-text--validation-msg{color:rgba(255,165,0,.6)}.demo-text-field-custom-error-colors.mdc-text-field--invalid .mdc-text-field__input{caret-color:orange}.demo-text-field-custom-error-colors.mdc-text-field--invalid:not(.mdc-text-field--disabled)+.mdc-text-field-helper-line .mdc-text-field-helper-text{color:rgba(0,0,255,.6)}.demo-text-field-wrapper{margin-bottom:8px}.demo-tf-add-space{margin:10px 0}.demo-checkbox--custom-all .mdc-checkbox.mdc-checkbox--selected .mdc-checkbox__ripple:after,.demo-checkbox--custom-all .mdc-checkbox.mdc-checkbox--selected .mdc-checkbox__ripple:before{background-color:#f44336;background-color:var(--mdc-ripple-color,#f44336)}.demo-checkbox--custom-all .mdc-checkbox.mdc-checkbox--selected.mdc-ripple-surface--hover .mdc-checkbox__ripple:before,.demo-checkbox--custom-all .mdc-checkbox.mdc-checkbox--selected:hover .mdc-checkbox__ripple:before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity,.04)}.demo-checkbox--custom-all .mdc-checkbox.mdc-checkbox--selected.mdc-ripple-upgraded--background-focused .mdc-checkbox__ripple:before,.demo-checkbox--custom-all .mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded):focus .mdc-checkbox__ripple:before{opacity:.12;opacity:var(--mdc-ripple-focus-opacity,.12);transition-duration:75ms}.demo-checkbox--custom-all .mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded) .mdc-checkbox__ripple:after{transition:opacity .15s linear}.demo-checkbox--custom-all .mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded):active .mdc-checkbox__ripple:after{opacity:.12;opacity:var(--mdc-ripple-press-opacity,.12);transition-duration:75ms}.demo-checkbox--custom-all .mdc-checkbox.mdc-checkbox--selected.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity,0.12)}.demo-checkbox--custom-all .mdc-checkbox.mdc-ripple-upgraded--background-focused.mdc-checkbox--selected .mdc-checkbox__ripple:after,.demo-checkbox--custom-all .mdc-checkbox.mdc-ripple-upgraded--background-focused.mdc-checkbox--selected .mdc-checkbox__ripple:before,.demo-checkbox--custom-all .mdc-checkbox:after,.demo-checkbox--custom-all .mdc-checkbox:before{background-color:#f44336;background-color:var(--mdc-ripple-color,#f44336)}.demo-checkbox--custom-all .mdc-checkbox.mdc-ripple-surface--hover:before,.demo-checkbox--custom-all .mdc-checkbox:hover:before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity,.04)}.demo-checkbox--custom-all .mdc-checkbox.mdc-ripple-upgraded--background-focused:before,.demo-checkbox--custom-all .mdc-checkbox:not(.mdc-ripple-upgraded):focus:before{opacity:.12;opacity:var(--mdc-ripple-focus-opacity,.12);transition-duration:75ms}.demo-checkbox--custom-all .mdc-checkbox:not(.mdc-ripple-upgraded):after{transition:opacity .15s linear}.demo-checkbox--custom-all .mdc-checkbox:not(.mdc-ripple-upgraded):active:after{opacity:.12;opacity:var(--mdc-ripple-press-opacity,.12);transition-duration:75ms}.demo-checkbox--custom-all .mdc-checkbox.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity,0.12)}.demo-checkbox--custom-all .mdc-checkbox .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{background-color:rgba(244,67,54,.25);border-color:#f44336;border-color:var(--mdc-checkbox-unchecked-color,#f44336)}.demo-checkbox--custom-all .mdc-checkbox .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.demo-checkbox--custom-all .mdc-checkbox .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background,.demo-checkbox--custom-all .mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true]:enabled~.mdc-checkbox__background{background-color:#f44336;background-color:var(--mdc-checkbox-checked-color,var(--mdc-theme-secondary,#f44336));border-color:#018786;border-color:var(--mdc-checkbox-checked-color,var(--mdc-theme-secondary,#018786))}@keyframes mdc-checkbox-fade-in-background-FFF44336FF01878640F44336FFF44336{0%{background-color:rgba(244,67,54,.25);border-color:#f44336;border-color:var(--mdc-checkbox-unchecked-color,#f44336)}50%{background-color:#f44336;background-color:var(--mdc-checkbox-checked-color,var(--mdc-theme-secondary,#f44336));border-color:#018786;border-color:var(--mdc-checkbox-checked-color,var(--mdc-theme-secondary,#018786))}}@keyframes mdc-checkbox-fade-out-background-FFF44336FF01878640F44336FFF44336{0%,80%{background-color:#f44336;background-color:var(--mdc-checkbox-checked-color,var(--mdc-theme-secondary,#f44336));border-color:#018786;border-color:var(--mdc-checkbox-checked-color,var(--mdc-theme-secondary,#018786))}to{background-color:rgba(244,67,54,.25);border-color:#f44336;border-color:var(--mdc-checkbox-unchecked-color,#f44336)}}.demo-checkbox--custom-all .mdc-checkbox.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.demo-checkbox--custom-all .mdc-checkbox.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-in-background-FFF44336FF01878640F44336FFF44336}.demo-checkbox--custom-all .mdc-checkbox.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.demo-checkbox--custom-all .mdc-checkbox.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-out-background-FFF44336FF01878640F44336FFF44336}.demo-checkbox--custom-stroke-and-fill .mdc-checkbox .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{background-color:transparent;border-color:#2196f3;border-color:var(--mdc-checkbox-unchecked-color,#2196f3)}.demo-checkbox--custom-stroke-and-fill .mdc-checkbox .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.demo-checkbox--custom-stroke-and-fill .mdc-checkbox .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background,.demo-checkbox--custom-stroke-and-fill .mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true]:enabled~.mdc-checkbox__background{background-color:#9c27b0;background-color:var(--mdc-checkbox-checked-color,var(--mdc-theme-secondary,#9c27b0));border-color:#018786;border-color:var(--mdc-checkbox-checked-color,var(--mdc-theme-secondary,#018786))}@keyframes mdc-checkbox-fade-in-background-FF2196F3FF01878600000000FF9C27B0{0%{background-color:transparent;border-color:#2196f3;border-color:var(--mdc-checkbox-unchecked-color,#2196f3)}50%{background-color:#9c27b0;background-color:var(--mdc-checkbox-checked-color,var(--mdc-theme-secondary,#9c27b0));border-color:#018786;border-color:var(--mdc-checkbox-checked-color,var(--mdc-theme-secondary,#018786))}}@keyframes mdc-checkbox-fade-out-background-FF2196F3FF01878600000000FF9C27B0{0%,80%{background-color:#9c27b0;background-color:var(--mdc-checkbox-checked-color,var(--mdc-theme-secondary,#9c27b0));border-color:#018786;border-color:var(--mdc-checkbox-checked-color,var(--mdc-theme-secondary,#018786))}to{background-color:transparent;border-color:#2196f3;border-color:var(--mdc-checkbox-unchecked-color,#2196f3)}}.demo-checkbox--custom-stroke-and-fill .mdc-checkbox.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.demo-checkbox--custom-stroke-and-fill .mdc-checkbox.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-in-background-FF2196F3FF01878600000000FF9C27B0}.demo-checkbox--custom-stroke-and-fill .mdc-checkbox.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.demo-checkbox--custom-stroke-and-fill .mdc-checkbox.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-out-background-FF2196F3FF01878600000000FF9C27B0}.demo-radio--custom .mdc-radio .mdc-radio__native-control:enabled:checked+.mdc-radio__background .mdc-radio__outer-circle,.demo-radio--custom .mdc-radio .mdc-radio__native-control:enabled:not(:checked)+.mdc-radio__background .mdc-radio__outer-circle{border-color:#f44336}.demo-radio--custom .mdc-radio .mdc-radio__native-control:enabled+.mdc-radio__background .mdc-radio__inner-circle{border-color:#ff9800}.demo-radio--custom .mdc-radio .mdc-radio__background:before{background-color:#f44336}.demo-radio--custom .mdc-radio:after,.demo-radio--custom .mdc-radio:before{background-color:#f44336;background-color:var(--mdc-ripple-color,#f44336)}.demo-radio--custom .mdc-radio.mdc-ripple-surface--hover:before,.demo-radio--custom .mdc-radio:hover:before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity,.04)}.demo-radio--custom .mdc-radio.mdc-ripple-upgraded--background-focused:before,.demo-radio--custom .mdc-radio:not(.mdc-ripple-upgraded):focus:before{opacity:.12;opacity:var(--mdc-ripple-focus-opacity,.12);transition-duration:75ms}.demo-radio--custom .mdc-radio:not(.mdc-ripple-upgraded):after{transition:opacity .15s linear}.demo-radio--custom .mdc-radio:not(.mdc-ripple-upgraded):active:after{opacity:.12;opacity:var(--mdc-ripple-press-opacity,.12);transition-duration:75ms}.demo-radio--custom .mdc-radio.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity,0.12)}.demo-select-custom-colors:not(.mdc-select--disabled) .mdc-select__selected-text{color:blue}.demo-select-custom-colors:not(.mdc-select--disabled) .mdc-floating-label{color:rgba(0,0,255,.6)}.demo-select-custom-colors:not(.mdc-select--disabled) .mdc-line-ripple:before{border-bottom-color:rgba(0,0,255,.5)}.demo-select-custom-colors.mdc-select--box:not(.mdc-select--disabled) .mdc-select__anchor{background-color:rgba(0,0,255,.1)}.demo-select-custom-colors.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__leading,.demo-select-custom-colors.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__notch,.demo-select-custom-colors.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__trailing{border-color:rgba(0,0,255,.6)}.button-container{margin:8px 0}.mdc-switch.demo-switch--custom.mdc-switch--selected:enabled .mdc-switch__handle:after{background:#f44336;background:var(--mdc-switch-selected-handle-color,#f44336)}.mdc-switch.demo-switch--custom.mdc-switch--selected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle:after{background:#7a3b36;background:var(--mdc-switch-selected-hover-handle-color,#7a3b36)}.mdc-switch.demo-switch--custom.mdc-switch--selected:enabled:focus:not(:active) .mdc-switch__handle:after{background:#7a3b36;background:var(--mdc-switch-selected-focus-handle-color,#7a3b36)}.mdc-switch.demo-switch--custom.mdc-switch--selected:enabled:active .mdc-switch__handle:after{background:#7a3b36;background:var(--mdc-switch-selected-pressed-handle-color,#7a3b36)}.mdc-switch.demo-switch--custom.mdc-switch--selected:enabled:hover:not(:focus) .mdc-switch__ripple:after,.mdc-switch.demo-switch--custom.mdc-switch--selected:enabled:hover:not(:focus) .mdc-switch__ripple:before{background-color:#f44336;background-color:var(--mdc-switch-selected-hover-state-layer-color,#f44336)}.mdc-switch.demo-switch--custom.mdc-switch--selected:enabled:focus .mdc-switch__ripple:after,.mdc-switch.demo-switch--custom.mdc-switch--selected:enabled:focus .mdc-switch__ripple:before{background-color:#f44336;background-color:var(--mdc-switch-selected-focus-state-layer-color,#f44336)}.mdc-switch.demo-switch--custom.mdc-switch--selected:enabled:active .mdc-switch__ripple:after,.mdc-switch.demo-switch--custom.mdc-switch--selected:enabled:active .mdc-switch__ripple:before{background-color:#f44336;background-color:var(--mdc-switch-selected-pressed-state-layer-color,#f44336)}.mdc-switch.demo-switch--custom:enabled .mdc-switch__track:after{background:#fcd0cd;background:var(--mdc-switch-selected-track-color,#fcd0cd)}.mdc-switch.demo-switch--custom:enabled:hover:not(:focus):not(:active) .mdc-switch__track:after{background:#fcd0cd;background:var(--mdc-switch-selected-hover-track-color,#fcd0cd)}.mdc-switch.demo-switch--custom:enabled:focus:not(:active) .mdc-switch__track:after{background:#fcd0cd;background:var(--mdc-switch-selected-focus-track-color,#fcd0cd)}.mdc-switch.demo-switch--custom:enabled:active .mdc-switch__track:after{background:#fcd0cd;background:var(--mdc-switch-selected-pressed-track-color,#fcd0cd)}.demo-elevation--custom-color{box-shadow:0 8px 10px -5px rgba(1,135,134,.3),0 16px 24px 2px rgba(1,135,134,.24),0 6px 30px 5px rgba(1,135,134,.22)}.demo-linear-progress--custom .mdc-linear-progress__bar-inner{border-color:#f44336}.demo-linear-progress--custom .mdc-linear-progress__buffer-dots{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' preserveAspectRatio='none slice' viewBox='0 0 5 2'%3E%3Ccircle cx='1' cy='1' r='1' fill='%23ffcdd2'/%3E%3C/svg%3E")}.demo-linear-progress--custom .mdc-linear-progress__buffer-bar{background-color:#ffcdd2}.demo-typography--section-baseline{border:1px solid #ddd;margin:24px;max-width:350px;padding:0 24px 24px;position:relative}.demo-typography__title:before{content:"";display:inline-block;height:34px;vertical-align:0;width:0}.demo-typography__title:after{content:"";display:inline-block;height:22px;vertical-align:-22px;width:0}.demo-typography__subtitle{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.demo-typography__subtitle:before{content:"";display:inline-block;height:22px;vertical-align:0;width:0}.demo-typography__subtitle:after{content:"";display:inline-block;height:28px;vertical-align:-28px;width:0}.demo-typography__body{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.demo-typography__body:before{content:"";display:inline-block;height:28px;vertical-align:0;width:0}.demo-typography-line-1,.demo-typography-line-2,.demo-typography-line-3{border-top:1px solid #fd2549;color:#fd2549;font-size:10px;left:0;position:absolute;right:0;text-align:right;width:100%}.demo-typography-line-1{top:34px}.demo-typography-line-2{top:56px}.demo-typography-line-3{top:84px}.custom-tab .mdc-tab__text-label{color:#64b5f6}.custom-tab .mdc-tab__icon{fill:currentColor;color:#ffb74d}.custom-tab .custom-tab-indicator .mdc-tab-indicator__content--underline{border-color:#c51162;border-top-left-radius:5px;border-top-right-radius:5px;border-top-width:5px}.custom-tab .mdc-tab__ripple:after,.custom-tab .mdc-tab__ripple:before{background-color:#f8bbd0;background-color:var(--mdc-ripple-color,#f8bbd0)}.custom-tab .mdc-tab__ripple.mdc-ripple-surface--hover:before,.custom-tab .mdc-tab__ripple:hover:before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity,.08)}.custom-tab .mdc-tab__ripple.mdc-ripple-upgraded--background-focused:before,.custom-tab .mdc-tab__ripple:not(.mdc-ripple-upgraded):focus:before{opacity:.24;opacity:var(--mdc-ripple-focus-opacity,.24);transition-duration:75ms}.custom-tab .mdc-tab__ripple:not(.mdc-ripple-upgraded):after{transition:opacity .15s linear}.custom-tab .mdc-tab__ripple:not(.mdc-ripple-upgraded):active:after{opacity:.24;opacity:var(--mdc-ripple-press-opacity,.24);transition-duration:75ms}.custom-tab .mdc-tab__ripple.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity,0.24)}.custom-tab.mdc-tab--active .mdc-tab__text-label{color:#0d47a1}.custom-tab.mdc-tab--active .mdc-tab__icon{fill:currentColor;color:#e65100}.hero-demo-tab-bar{background-color:#f2f2f2;max-width:420px}.custom-demo-tab-bar .mdc-tab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;flex:0 1 120px;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle1-font-family,var(--mdc-typography-font-family,Roboto,sans-serif));font-size:1rem;font-size:var(--mdc-typography-subtitle1-font-size,1rem);font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight,400);letter-spacing:.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing,.009375em);line-height:1.75rem;line-height:var(--mdc-typography-subtitle1-line-height,1.75rem);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform,inherit)}.custom-demo-tab-bar .mdc-tab .mdc-tab__text-label{color:#1e88e5}.custom-demo-tab-bar .mdc-tab .mdc-tab__icon{fill:currentColor;color:#fb8c00}.custom-demo-tab-bar .mdc-tab__ripple:after,.custom-demo-tab-bar .mdc-tab__ripple:before{background-color:#fbc02d;background-color:var(--mdc-ripple-color,#fbc02d)}.custom-demo-tab-bar .mdc-tab__ripple.mdc-ripple-surface--hover:before,.custom-demo-tab-bar .mdc-tab__ripple:hover:before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity,.08)}.custom-demo-tab-bar .mdc-tab__ripple.mdc-ripple-upgraded--background-focused:before,.custom-demo-tab-bar .mdc-tab__ripple:not(.mdc-ripple-upgraded):focus:before{opacity:.24;opacity:var(--mdc-ripple-focus-opacity,.24);transition-duration:75ms}.custom-demo-tab-bar .mdc-tab__ripple:not(.mdc-ripple-upgraded):after{transition:opacity .15s linear}.custom-demo-tab-bar .mdc-tab__ripple:not(.mdc-ripple-upgraded):active:after{opacity:.24;opacity:var(--mdc-ripple-press-opacity,.24);transition-duration:75ms}.custom-demo-tab-bar .mdc-tab__ripple.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity,0.24)}.custom-demo-tab-bar .mdc-tab--active .mdc-tab__text-label{color:#0d47a1}.custom-demo-tab-bar .mdc-tab--active .mdc-tab__icon{fill:currentColor;color:#0d47a1}.custom-demo-tab-bar .mdc-tab-indicator .mdc-tab-indicator__content--underline{border-color:#fbc02d;border-top-width:5px}.demo-scroller{outline:1px solid #bdbdbd;width:360px}.demo-cube{height:43px;margin:10px;width:43px}.demo-cube:first-child{background-color:#3c6f6e}.demo-cube:nth-child(2){background-color:#99c268}.demo-cube:nth-child(3){background-color:#ce32af}.demo-cube:nth-child(4){background-color:#705a81}.demo-cube:nth-child(5){background-color:#bb9879}.demo-cube:nth-child(6){background-color:#6d7881}.demo-cube:nth-child(7){background-color:#477082}.demo-cube:nth-child(8){background-color:#9977ba}.demo-cube:nth-child(9){background-color:#9d1daf}.demo-cube:nth-child(10){background-color:#b25944}.demo-cube:nth-child(11){background-color:#a4e151}.demo-cube:nth-child(12){background-color:#97757c}.demo-cube:nth-child(13){background-color:#9d2f81}.demo-cube:nth-child(14){background-color:#3ec941}.demo-cube:nth-child(15){background-color:#708bd2}.demo-cube:nth-child(16){background-color:#2cb698}.demo-cube:nth-child(17){background-color:#b920b9}.demo-cube:nth-child(18){background-color:#895078}.demo-cube:nth-child(19){background-color:#38348a}.demo-cube:nth-child(20){background-color:#42ae41}.demo-cube:nth-child(21){background-color:#1a381a}.demo-cube:nth-child(22){background-color:#c246e2}.demo-cube:nth-child(23){background-color:#60c376}.demo-cube:nth-child(24){background-color:#737964}.demo-cube:nth-child(25){background-color:#72b4b7}.demo-cube:nth-child(26){background-color:#1e62d7}.demo-cube:nth-child(27){background-color:#4e6b39}.demo-cube:nth-child(28){background-color:#2e23b5}.demo-cube:nth-child(29){background-color:#4fefa2}.demo-cube:nth-child(30){background-color:#52d581}.demo-cube:nth-child(31){background-color:#b09969}.demo-cube:nth-child(32){background-color:#bb22ef}.demo-cube:nth-child(33){background-color:#2bec8f}.demo-cube:nth-child(34){background-color:#1820de}.demo-controller{padding:10px 0}.demo-controller-row{padding:5px 0}.page-not-found{text-align:center}.page-home .hero{overflow:hidden}.page-home .pure-docs{text-align:center}.page-actions_button .demo-controls{margin-bottom:16px}.page-actions_button .demo .mdc-button{margin:0 16px 16px 0}.page-containment_card .hero{height:auto;padding:24px}.page-containment_card .demo{align-items:flex-start;display:flex;flex-wrap:wrap;justify-content:center}.page-containment_card .demo-card-toggles{margin:24px;padding:24px;text-align:center}.page-containment_card .demo-card{width:320px}.page-containment_card .demo-card--photo{width:200px}.page-containment_card .demo-card__media{background-image:url(../img/1-1.dfff3193.jpg)}.page-containment_card .demo-card__media--16-9{background-image:url(../img/16-9.058d7ce0.jpg)}.page-containment_card .demo-card__media-content--with-title{display:flex;flex-direction:column;justify-content:flex-end}.page-containment_card .demo-card__media-title{background-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,.5));color:#fff;padding:8px 16px}.page-containment_card .demo-card__primary{padding:1rem}.page-containment_card .demo-card__title{margin:0}.page-containment_card .demo-card__subtitle{margin:0}.page-containment_card .demo-card__secondary,.page-containment_card .demo-card__subtitle{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.page-containment_card .demo-card__secondary{padding:0 1rem 8px}.page-containment_card .demo-card-article-group-heading{padding:8px 16px}.page-containment_card .demo-card-article{color:inherit;padding:16px;text-decoration:none}.page-containment_card .demo-card-article__title{margin:0 0 4px}.page-containment_card .demo-card-article__snippet{margin:0}.page-containment_card .demo-card--music{border-bottom-left-radius:4px;border-bottom-right-radius:24px;border-top-left-radius:24px;border-top-right-radius:4px}.page-containment_card .demo-card--music[dir=rtl],[dir=rtl] .page-containment_card .demo-card--music{border-bottom-left-radius:24px;border-bottom-right-radius:4px;border-top-left-radius:4px;border-top-right-radius:24px}.page-containment_card .demo-card__music-row{border-top-left-radius:inherit;display:flex}.page-containment_card .demo-card__music-row[dir=rtl],[dir=rtl] .page-containment_card .demo-card__music-row{border-top-left-radius:0;border-top-right-radius:inherit}.page-containment_card .demo-card__media--music{border-top-left-radius:inherit;width:110px}.page-containment_card .demo-card__media--music[dir=rtl],[dir=rtl] .page-containment_card .demo-card__media--music{border-top-left-radius:0;border-top-right-radius:inherit}.page-containment_card .demo-card__music-info{display:flex;flex-direction:column;padding:8px 16px}.page-containment_card .demo-card__action-buttons--text-only{margin-left:8px}.page-containment_card .demo-card__action-icon--star{cursor:pointer;margin-left:4px;margin-right:4px}.page-selection_checkbox .demo{margin-bottom:5px}.page-selection_checkbox .mdc-button code{text-transform:none}.page-containment_dialog .hero-dialog{position:relative;z-index:auto}.demo-confirmation-dialog .mdc-dialog__surface{max-height:268px}.balmui-navigation_dismissible-drawer-full-height-drawer .balmui-container,.balmui-navigation_permanent-drawer-above-toolbar .balmui-container,.balmui-navigation_permanent-drawer-below-toolbar .balmui-container{display:block;min-height:auto}.page-navigation_drawer .hero-demo h3{text-align:left}.page-navigation_drawer .demo-app-content{height:100%;overflow:auto;padding-left:18px;padding-right:18px}.page-navigation_permanent-drawer-above-toolbar .demo-content{position:relative}.page-navigation_permanent-drawer-above-toolbar .demo-app-bar{position:absolute}.page-navigation_dismissible-drawer-below-top-app-bar .demo-app-content,.page-navigation_dismissible-drawer-full-height-drawer .demo-content,.page-navigation_permanent-drawer-above-toolbar .demo-content,.page-navigation_permanent-drawer-below-toolbar .demo-app-content{width:100%}.page-navigation_dismissible-drawer-below-top-app-bar .demo-app-bar{z-index:7}.page-styles_elevation .demo{display:flex;flex-direction:row;flex-wrap:wrap}.page-styles_elevation .demo-surface{align-items:center;background:#fff;border-radius:3px;color:#9e9e9e;display:flex;font-size:.8em;height:80px;justify-content:center;width:160px}.page-styles_elevation .hero .demo-surface{background-color:#212121;color:#f0f0f0;height:48px;margin:24px;width:120px}.page-styles_elevation #hover-el{align-items:center;border-radius:4px;display:flex;justify-content:center;padding:2rem}.page-actions_fab .demo{display:flex;flex-wrap:wrap}.page-actions_fab figcaption>div{margin:8px}.page-actions_fab .mdc-fab{margin:16px}.page-actions_fab .demo-absolute-fab,.page-actions_fab .demo-fixed-fab{bottom:1rem;position:absolute;right:1rem;z-index:2}.page-actions_fab .demo-fixed-fab{position:fixed}@media (min-width:1024px){.page-actions_fab .demo-fixed-fab{bottom:1.5rem;right:1.5rem}}.page-actions_fab .fab-motion-container{border:1px solid #ccc;height:150px;overflow:hidden;padding:0 10px;position:relative;width:300px}.page-actions_fab .fab-motion-container__view{background-color:#fff;box-sizing:border-box;height:100%;position:absolute;transition:transform 375ms cubic-bezier(0,0,.2,1);width:100%;will-change:transform}.page-actions_fab .fab-motion-container__view--exited{transform:translateY(100%);transition-timing-function:cubic-bezier(.4,0,1,1)}.page-actions_icon-button .demo{display:flex;flex-wrap:wrap}.page-actions_icon-button .toggle-example{margin:0 24px 24px 0}.page-actions_icon-button .example{display:flex;justify-content:center}.page-containment_grid{width:100%}.page-containment_grid .demo-grid{background-color:#ddd;margin-bottom:32px}.page-containment_grid .demo-cell{background-color:#666;box-sizing:border-box;color:#fff;font-size:1.5em;height:200px;padding:8px}.page-containment_grid .demo-parent-cell{background-color:#aaa;position:relative}.page-containment_grid .demo-child-cell{position:relative}.page-containment_grid .demo-child-cell>span{bottom:8px;color:#ddd;position:absolute;right:8px}.page-containment_grid .demo-grid.max-width{max-width:1280px}.page-containment_grid .demo-grid-legend{margin:16px 0 8px}.page-containment_grid .demo-ruler{align-items:center;background:#000;bottom:0;color:#fff;display:flex;height:20px;justify-content:center;left:0;margin:0;position:fixed;width:100%;z-index:1}.page-containment_grid .demo-controls{display:none;margin-bottom:8px}.page-containment_grid .demo-warning:after{content:"This browser does not support custom properties, so margins and gutters cannot be changed at runtime."}@supports (--foo:green){.page-containment_grid .demo-controls{display:block}.page-containment_grid .demo-warning:after{content:""}}.page-containment_grid .hero .demo-grid{min-width:320px}.page-containment_grid .hero .demo-cell{height:60px}.page-containment_grid .demo-parent-cell .mdc-layout-grid__inner>span{color:#fff;font-size:1.5em;left:8px;position:absolute;top:8px}.page-communication_progress .example{margin-bottom:64px}.page-containment_list .mdc-deprecated-list,.page-containment_list .mdc-deprecated-list-group{max-width:600px}.page-containment_list .demo-wrapper .mdc-deprecated-list,.page-containment_list .demo-wrapper .mdc-deprecated-list-group{border:1px solid rgba(0,0,0,.1)}.page-containment_list .demo-wrapper .mdc-deprecated-list-group .mdc-deprecated-list{border:none}.page-containment_list .demo-wrapper h2{margin-bottom:.8em;margin-left:24px}.page-containment_list .demo-wrapper h3{margin-bottom:.8em}.page-containment_list .hero-demo .mdc-deprecated-list{background-color:#fff;box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);min-width:320px}.page-selection_menu>.mdc-typography--body2{overflow-x:hidden}.page-selection_menu .hero .mdc-menu-surface{position:static;z-index:1}.page-selection_menu .demo-content{border:1px solid;position:relative}.page-selection_menu .demo-controls{padding:40px 20px}.page-selection_menu .mdc-text-field input{width:3em}.page-selection_menu .demo-button__long-text,.page-selection_menu .demo-button__normal-text{display:none}.page-selection_menu .demo-button--long .demo-button__long-text,.page-selection_menu .demo-button--long .demo-button__normal-text,.page-selection_menu .demo-button--normal .demo-button__normal-text{display:inline}.page-selection_menu .standard-image-list{width:200px}.page-selection_menu .standard-image-list .mdc-image-list__image-aspect-container{padding-bottom:66.66667%}.page-selection_menu .standard-image-list .mdc-image-list__item{margin:2px;width:calc(100% - 5px)}.page-selection_menu #demo-menu{width:336px}.page-selection_menu #demo-menu-2{width:280px}.page-selection_menu #demo-menu-3{width:224px}.page-selection_slider .hero .mdc-form{width:100%}.page-selection_slider #hero-slider-wrapper{--mdc-slider-bg-color-behind-component:#f2f2f2;margin:0 auto;max-width:600px;width:100%}.page-selection_slider #hero-slider-wrapper .mdc-slider{flex:1}.page-selection_slider .custom-bg{--mdc-slider-bg-color-behind-component:#eee;background-color:#eee}.page-selection_slider .mdc-typography--headline6{margin:0}.page-selection_slider .demo-param-field-group+.demo-param-field-group{margin-top:16px}.page-selection_slider .demo-param-field{display:block}.page-selection_slider .demo-param-input-label{display:inline-block;min-width:2.5em}.page-selection_slider .example-slider-wrapper{padding:0 16px}.page-communication_snackbar .loading .example .mdc-snackbar{transform:translateY(200%)}.page-communication_snackbar .hero .mdc-snackbar{left:auto;position:relative;z-index:0}.page-communication_snackbar .hero .mdc-snackbar--active{transform:none}.page-selection_switch .demo .mdc-form-field{margin-right:20px}.page-navigation_tabs .hero-demo .mdc-tab-bar.long{width:450px}.page-navigation_tabs .demo-tab{flex:0 1 auto}@media (max-width:599px){.page-navigation_tabs .hero-demo .mdc-tab-bar{max-width:320px}}.page-text-inputs_textfield .hero .mdc-text-field{min-width:240px}.page-text-inputs_textfield .hero-demo .mdc-text-field-character-counter{display:none}.page-text-inputs_textfield .hero-demo .show-counter .mdc-text-field-character-counter{display:block}.page-text-inputs_textfield .demo-with-icon{margin-bottom:16px}.page-text-inputs_textfield .full-width-textarea-example{margin-top:16px}.demo-theme{background-color:gray;display:flex;flex-wrap:wrap;padding:8px}.demo-theme dd,.demo-theme dt{height:80px;margin-bottom:1px;padding:8px}.demo-theme dt{width:100%}.demo-theme dd{margin-left:0;width:50%}.demo-text-theme{background-color:gray;padding:2px}.demo-text-theme ul{display:flex;margin:0;padding:0}.demo-text-theme li{border-right:1px solid;height:40px;line-height:40px;list-style:none;text-align:center;width:20%}.demo-text-theme li:last-child{margin:0}.page-styles_color figure{margin-left:0;margin-right:0}.page-styles_color .hero button{margin:24px}.page-styles_color .demo-fixed-theme{position:fixed;right:0;top:70px;z-index:3}@media (max-width:599px){.page-styles_color .demo-fixed-theme{top:110px}}.page-styles_color .demo-main{display:flex;flex-wrap:wrap}.page-styles_color .demo-component-section{position:relative}.page-styles_color .demo-component-section+.demo-component-section{margin-top:48px}.page-styles_color .demo-component-section:before{background:#fbc02d;bottom:-16px;content:"";display:block;left:-16px;opacity:0;position:absolute;right:-16px;top:-16px;transition:opacity 1s;z-index:-1}.page-styles_color .demo-component-section--flash:before{opacity:.5;transition:none}.page-styles_color .demo-component-section__permalink{color:inherit;opacity:0}.demo-component-section:hover .page-styles_color .demo-component-section__permalink,.demo-component-section__heading--focus-within .page-styles_color .demo-component-section__permalink{opacity:1}.page-styles_color .demo-theme-color-section+.demo-theme-color-section{margin-top:36px}.page-styles_color .demo-theme-color-section__row{display:flex;flex-wrap:wrap}.page-styles_color .demo-fieldset--color{margin-right:36px}.page-styles_color .demo-theme-color-group{padding:16px 0}.page-styles_color .demo-theme-color-swatches{display:inline-flex;flex-direction:column;margin-right:16px}.page-styles_color .demo-theme-color-swatch{border-radius:4px;box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);box-sizing:border-box;display:inline-block;height:50px;line-height:50px;margin-bottom:8px;text-align:center;width:150px}.page-styles_color .demo-theme-bg--low-luminance{background-color:#3e2723}.page-styles_color .demo-theme-bg--high-luminance{background-color:#fff8e1}.page-styles_color .demo-theme-bg--custom-light{background-color:#ddd}.page-styles_color .demo-theme-bg--custom-dark{background-color:#1d1d1d}.page-styles_color .demo-theme-text-row{align-items:center;border:1px solid #f0f0f0;box-sizing:border-box;display:inline-flex;flex-direction:column;padding:16px}@media (min-width:768px){.page-styles_color .demo-theme-text-row{flex-direction:row}}.page-styles_color .demo-theme-text-style{padding:0 16px}.page-styles_color .demo-fieldset--button+.demo-fieldset--button{margin-top:16px}.page-styles_color .demo-button__code{font-size:smaller;text-transform:none}.page-styles_color .demo-card-wrapper{display:inline-block;margin:0 24px 24px 0;vertical-align:top}.page-styles_color .demo-card__media{background-image:url(../img/1-1.dfff3193.jpg)}.page-styles_color .demo-card__media--16-9{background-image:url(../img/16-9.058d7ce0.jpg)}.page-styles_color .demo-checkbox-row{align-items:center;display:flex;flex-wrap:wrap}.page-styles_color .demo-checkbox-toggle-button,.page-styles_color .demo-checkbox-wrapper{margin-right:10px}.page-styles_color .demo-checkbox-wrapper+.demo-checkbox-toggle-button{margin-left:20px}.page-styles_color .demo-dialog{justify-content:flex-start;position:relative;z-index:auto}.page-styles_color .demo-drawer-toggle{cursor:pointer;vertical-align:middle}.page-styles_color .demo-drawer-toggle:after,.page-styles_color .demo-drawer-toggle:before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.page-styles_color .demo-drawer-toggle.mdc-ripple-surface--hover:before,.page-styles_color .demo-drawer-toggle:hover:before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity,.08)}.page-styles_color .demo-drawer-toggle.mdc-ripple-upgraded--background-focused:before,.page-styles_color .demo-drawer-toggle:not(.mdc-ripple-upgraded):focus:before{opacity:.24;opacity:var(--mdc-ripple-focus-opacity,.24);transition-duration:75ms}.page-styles_color .demo-drawer-toggle:not(.mdc-ripple-upgraded):after{transition:opacity .15s linear}.page-styles_color .demo-drawer-toggle:not(.mdc-ripple-upgraded):active:after{opacity:.24;opacity:var(--mdc-ripple-press-opacity,.24);transition-duration:75ms}.page-styles_color .demo-drawer-toggle.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity,0.24)}.page-styles_color .demo-fab-row{display:flex;flex-wrap:wrap}.page-styles_color .demo-fab{margin:16px 0 0}.page-styles_color .demo-fab-tile{margin:0 48px 1em 0}.page-styles_color .demo-fab-tile__title{font-weight:500}.page-styles_color .demo-fab-tile__snippet{height:2em}.page-styles_color .mdc-icon-button{display:inline-flex}.page-styles_color .demo-icon-toggle-row{display:flex;flex-wrap:wrap}.page-styles_color .demo-icon-toggle-tile{border-radius:5px;margin:0 10px 10px 0;padding:20px;text-align:center;width:200px}.page-styles_color .demo-progress-row{margin:32px 0}.page-styles_color .demo-progress-row+.demo-progress-row{margin-top:64px}.page-styles_color .demo-radio-group{display:inline-block;margin:0 24px 24px 0}.page-styles_color .demo-radio-form-field{margin-right:8px}.page-styles_color .demo-switch-wrapper{display:inline-block;margin:16px 16px 0 0}.page-styles_color .demo-figure--tab-bar+.demo-figure--tab-bar{margin-top:36px}.page-styles_color .demo-tab-bar{margin:0}.page-styles_color .demo-text-field-wrapper{display:inline-block;margin:16px 16px 0 0}.page-styles_color .demo-text-field{margin-top:0!important}.component-section{margin:10px 5% 40px;min-height:240px;width:90%}.component-section .mdc-typography--headline6{margin-top:0}.component-section .component-wrapper{align-items:center;display:flex;justify-content:center;position:relative}.component-section .component-wrapper.space-around{justify-content:space-around}.component-section .component-wrapper.no-flex{display:block}.component-section .component-wrapper .mdc-drawer,.component-section .component-wrapper .mdc-top-app-bar{display:block;position:static;top:auto!important;z-index:0}.component-section .component-wrapper .mdc-drawer{border-style:solid;border-width:1px}.component-section .component-wrapper .mdc-menu-surface{z-index:1}.component-section .component-wrapper .mdc-image-list__item{margin-bottom:16px}.component-section .list-component,.component-section .select-component,.component-section .textfield-component{display:block}.component-section .list-component .mdc-form-field,.component-section .select-component .mdc-form-field,.component-section .textfield-component .mdc-form-field{margin-bottom:16px}.component-section .list-component .mdc-deprecated-list,.component-section .select-component .mdc-deprecated-list,.component-section .textfield-component .mdc-deprecated-list{background:#fff;border:1px solid rgba(0,0,0,.1)}.component-section .menu-component .mdc-menu-surface{top:0}.component-section .mdc-image-list{-moz-column-count:2;column-count:2;-moz-column-gap:16px;column-gap:16px;max-height:600px;max-width:400px}@media (min-width:1241px){.component-section{margin:10px 5% 20px;width:40%}}.switch-theme .demo-theme-color-radio{border:1px solid #9e9e9e;border-radius:50%;display:block}.switch-theme .demo-theme-color-radio__inner{border:11px solid;border-radius:50%;display:block}.switch-theme [data-theme=baseline] .demo-theme-color-radio__inner{border-color:#6200ea #1de9b6 #1de9b6 #6200ea}.switch-theme [data-theme=black] .demo-theme-color-radio__inner{border-color:#212121 #64dd17 #64dd17 #212121}.switch-theme [data-theme=dark] .demo-theme-color-radio__inner{border-color:#ffd54f #ec407a #ec407a #ffd54f}.switch-theme [data-theme=shrine] .demo-theme-color-radio__inner{border-color:#442b2d #fcb8ab #fcb8ab #442b2d}.switch-theme .demo-theme-menu{min-width:320px}.switch-theme .demo-theme-menu__list-item--selected{background-color:#bdbdbd}.switch-theme .demo-theme-list{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-light,rgba(0,0,0,.87))}.mdc-typography--custom-style-1{color:red}.mdc-typography--custom-style-2{color:blue}.page-styles_typography .demo-typography--section{border:1px solid #ddd;margin:24px;padding:24px}.page-styles_typography .demo-typography--section>div{margin-bottom:20px}.page-styles_typography .demo-typography--headline>*{word-wrap:normal;display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-styles_typography .demo-typography--heading-baseline{margin-left:24px}.page-styles_typography .markdown-body table td:nth-child(2){color:currentColor;font-size:16px}.page-icons .icons-preview-code{display:flex;text-align:center}.page-icons .search-area{background-color:#fff;margin:0;position:sticky;top:112px;z-index:1}.page-icons .search-area-inner{display:flex}.page-icons .search-area-inner .mdc-text-field{flex:1}.page-icons .search-area-inner .mdc-select__anchor{width:auto}.page-icons #search{flex:1;text-indent:14px}.page-icons .search-helper{font-size:14px;padding:10px 16px}.page-icons .search-helper b{color:#6200ee}.page-icons .material-icons{overflow:hidden}.page-icons .mdc-deprecated-list-group__subheader{text-transform:capitalize}.page-icons .mdc-image-list__item{align-items:center;background:transparent;color:#757575;display:flex;flex-direction:column;height:120px;padding:8px;transition:all .4s;width:120px}.page-icons .mdc-image-list__item:hover{background-color:#e0e0e0}.page-icons .mdc-image-list__image-aspect-container{align-items:center;display:flex;flex:1;padding:0;position:static}.page-icons .mdc-image-list__image-aspect-container i{cursor:pointer}.page-icons .mdc-image-list__supporting{word-wrap:normal;display:inline-block;font-size:12px;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-icons .new-badge{background:#fe6363;border-radius:2px;color:#fff;font-size:10px;font-weight:500;padding:2px 3px;position:absolute;right:0;top:5px}@media (max-width:599px){.page-icons .search-area{top:104px}.page-icons #icon-type{min-width:auto}.page-icons .coloring-example .icons-preview-code{align-items:center;flex-wrap:wrap;justify-content:center}.page-icons .mdc-image-list__item{height:88px;width:88px}.page-icons .mdc-image-list__item .md-48{font-size:24px;height:24px;width:24px}.page-icons .mdc-image-list__item .mdc-image-list__supporting{display:none}}.page-icons .category-affix{background:#fff;bottom:0;box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);height:200px;overflow-y:auto;position:fixed;right:0;width:auto;z-index:11}.page-icons .category-affix .mdc-tab{justify-content:start;width:100%}.icons-preview{align-items:center;background-color:#f9f9f9;display:flex;flex-flow:column;padding:16px;width:128px}.icons-preview .icon-caption{font-size:13px;margin-top:8px}.icons-preview.icons-dark-bg{background-color:#333}.icons-preview.icons-dark-bg .icon-caption{color:#fff}.icons-preview .orange600{color:#fb8c00}.page-navigation_top-app-bar{width:100%}.page-navigation_top-app-bar .demo-paragraph{margin:0;padding:20px 28px}@media (max-width:599px){.page-navigation_top-app-bar .demo-paragraph{padding:16px}}.page-navigation_top-app-bar .demo-body{box-sizing:border-box;margin:0;padding:0}.page-containment_image-list .hero-image-list{margin:0;width:300px}.page-containment_image-list .hero-image-list .mdc-image-list__item{margin:2px;width:calc(20% - 4.2px)}.page-containment_image-list .hero-image-list .mdc-image-list__image{background-color:#000}.page-containment_image-list .standard-image-list{max-width:1000px}.page-containment_image-list .standard-image-list .mdc-image-list__image-aspect-container{padding-bottom:66.66667%}.page-containment_image-list .standard-image-list .mdc-image-list__item{margin:2px;width:calc(20% - 4.2px)}.page-containment_image-list .masonry-image-list{-moz-column-count:5;column-count:5;-moz-column-gap:16px;column-gap:16px;max-width:1000px}.page-containment_image-list .masonry-image-list .mdc-image-list__item{margin-bottom:16px}.page-containment_image-list .hide-supporting .mdc-image-list__supporting{display:none}.page-containment_image-list .rounded-corners .mdc-image-list__image{border-radius:8px}.page-containment_image-list .rounded-corners.mdc-image-list--with-text-protection .mdc-image-list__supporting{border-bottom-left-radius:8px;border-bottom-right-radius:8px;border-top-left-radius:0;border-top-right-radius:0}@media (max-width:599px){.page-containment_image-list .standard-image-list .mdc-image-list__item{margin:2px;width:calc(33.33333% - 4.33333px)}.page-containment_image-list .masonry-image-list{-moz-column-count:3;column-count:3;-moz-column-gap:16px;column-gap:16px}.page-containment_image-list .masonry-image-list .mdc-image-list__item{margin-bottom:16px}}.page-misc_ripple .hero{display:block;height:360px;padding:0}.page-misc_ripple .hero>div{height:100%;width:100%}.page-misc_ripple .demo-surface{align-items:center;cursor:pointer;display:flex;height:100px;justify-content:center;padding:1rem;-moz-user-select:none;user-select:none;-webkit-user-select:none;width:200px}.page-misc_ripple .demo-surface[data-mdc-ripple-is-unbounded]{height:24px;padding:12px;width:24px}.page-misc_ripple button.demo-surface{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;display:inline-block}.page-misc_ripple .demo{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-around}.page-misc_ripple .mdc-typography--headline6{margin:10px 0}@media (max-width:599px){.page-misc_ripple .demo{flex-direction:column;width:100%}.page-misc_ripple .demo-surface{margin:0 auto}}.page-misc_anchor .anchor-example-inner{display:flex;flex-direction:column;height:1000px;justify-content:space-around}.page-selection_file .list-enter,.page-selection_file .list-leave-to{opacity:0;transform:translateY(100%)}.page-selection_file .list-leave-active{position:absolute}.page-selection_file .preview-list{display:flex;flex-wrap:wrap;padding:1em 0 0 1em;position:relative}.page-selection_file .preview-list>.item{list-style:none;margin-bottom:1em;padding-right:1em;transition:all 1s;width:12.5%}.page-selection_file .preview-list>.item .inner{width:100%}.page-selection_file .preview-list>.item .preview{background-position:50%;background-repeat:no-repeat;background-size:cover;border:1px solid #ddd;border-radius:3px;display:block;height:0;padding-bottom:100%;width:100%}.page-selection_file .preview-list>.item .name{display:block;line-height:1.8em;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.page-selection_file .preview-list>.item .actions{align-items:center;display:flex;height:48px;justify-content:space-around}.page-selection_file .preview-list>.item.add-btn .mdc-file{background-color:#fff;border:1px solid #ddd;border-radius:3px;cursor:pointer;height:0;padding-bottom:100%;position:relative;width:100%}.page-selection_file .preview-list>.item.add-btn .add-icon{font-size:48px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}@media (max-width:640px){.page-selection_file .preview-list>.item{width:33.333%}}.page-containment_divider .hero-demo{align-items:center;display:flex;height:128px;justify-content:center;width:50%}.page-containment_divider .vertical-divider-demo{border:1px solid;height:120px;padding:10px;width:300px}.page-containment_divider .vertical-divider-demo .block{height:80px;width:80px}.page-containment_divider .vertical-divider-demo .red{background-color:red}.page-containment_divider .vertical-divider-demo .blue{background-color:blue}.page-misc_validator .form-item{margin-bottom:10px}.page-communication_skeleton .demo{max-width:600px}.page-communication_badge .demo{display:flex;flex-flow:wrap;justify-content:space-around}.page-communication_badge .demo .mdc-badge{margin-bottom:10px}.page-containment_form .mdc-form{border:1px solid;padding:10px}.page-containment_form .conditions-form .mdc-form__item>label{flex-basis:80px;margin-right:10px;text-align:right}.page-containment_form .conditions-form .mdc-select,.page-containment_form .conditions-form .mdc-text-field{min-width:200px}.page-communication_banner .hero-demo{width:100%}.page-communication_banner .hero-banner{height:52px;position:relative;z-index:auto}.page-communication_banner .hero-banner.mdc-banner--with-image{height:72px}.page-styles_shape .demos{display:flex;flex-wrap:wrap}.page-styles_shape .demo{align-items:center;background:#e5e5e5;display:flex;height:128px;justify-content:center;margin:0 10px 10px 0;width:128px}.page-styles_shape .mdc-shape--rounded.mdc-shape--medium{border-radius:16px}.page-styles_shape .mdc-shape--rounded.mdc-shape--large{border-radius:24px}.page-styles_shape .mdc-shape--cut.mdc-shape--small{-webkit-clip-path:polygon(0 4px,4px 0,calc(100% - 4px) 0,100% 4px,100% calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,0 calc(100% - 4px));clip-path:polygon(0 4px,4px 0,calc(100% - 4px) 0,100% 4px,100% calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,0 calc(100% - 4px))}.page-styles_shape .mdc-shape--cut.mdc-shape--medium{-webkit-clip-path:polygon(0 8px,8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px));clip-path:polygon(0 8px,8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px))}.page-styles_shape .mdc-shape--cut.mdc-shape--large{-webkit-clip-path:polygon(0 12px,12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px));clip-path:polygon(0 12px,12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px))}.ql-bubble .ql-tooltip,.ql-snow .ql-tooltip{z-index:2}.preview-dialog .mdc-dialog__title .close{position:absolute;right:0;top:0}.preview-dialog .mdc-dialog__surface{max-width:1024px}.preview-dialog .preview-content{margin:0 auto;min-height:320px;min-width:280px;padding:20px}.preview-code{word-wrap:break-word;overflow-wrap:break-word}.page-donate .hero{overflow:hidden}.page-donate .donate-method{background:none 50% no-repeat;background-size:contain;height:300px;list-style:none;margin:0 auto;width:256px}.page-donate .donate-method.alipay{background-image:url(../img/alipay.c0897c3c.png)}.page-donate .donate-method.wechatpay{background-image:url(../img/wechatpay.a1551a21.png)}.laravel-admin{background:url(../img/support/laravel-admin.85ddd851.png) 50% no-repeat;background-size:contain;display:block;height:73px;overflow:hidden;text-indent:100%;white-space:nowrap;width:320px}.page-misc_lazyload .masonry-image-list{-moz-column-count:5;column-count:5;-moz-column-gap:16px;column-gap:16px;max-width:1000px}.page-misc_lazyload .masonry-image-list .mdc-image-list__item{margin-bottom:16px} \ No newline at end of file + */@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(../font/fontawesome-webfont.674f50d2.eot?v=4.7.0);src:url(../font/fontawesome-webfont.674f50d2.eot?#iefix&v=4.7.0) format("embedded-opentype"),url(../font/fontawesome-webfont.af7ae505.woff2?v=4.7.0) format("woff2"),url(../font/fontawesome-webfont.fee66e71.woff?v=4.7.0) format("woff"),url(../font/fontawesome-webfont.b06871f2.ttf?v=4.7.0) format("truetype"),url(../font/fontawesome-webfont.912ec66d.svg?v=4.7.0#fontawesomeregular) format("svg")}.fa{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto}.fa-lg{font-size:1.3333333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{text-align:center;width:1.2857142857em}.fa-ul{list-style-type:none;margin-left:2.1428571429em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2.1428571429em;position:absolute;text-align:center;top:.1428571429em;width:2.1428571429em}.fa-li.fa-lg{left:-1.8571428571em}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s linear infinite}.fa-pulse{animation:fa-spin 1s steps(8) infinite}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-bed:before,.fa-hotel:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-y-combinator:before,.fa-yc:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-television:before,.fa-tv:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:"\f2a3"}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-address-card:before,.fa-vcard:before{content:"\f2bb"}.fa-address-card-o:before,.fa-vcard-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}code[class*=language-],pre[class*=language-]{word-wrap:normal;background:none;color:#ccc;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;-webkit-hyphens:none;hyphens:none;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;text-align:left;white-space:pre;word-break:normal;word-spacing:normal}pre[class*=language-]{margin:.5em 0;overflow:auto;padding:1em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{border-radius:.3em;padding:.1em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#999}.token.punctuation{color:#ccc}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}div.code-toolbar{position:relative}div.code-toolbar>.toolbar{opacity:0;position:absolute;right:.2em;top:.3em;transition:opacity .3s ease-in-out;z-index:10}div.code-toolbar:hover>.toolbar{opacity:1}div.code-toolbar:focus-within>.toolbar{opacity:1}div.code-toolbar>.toolbar>.toolbar-item{display:inline-block}div.code-toolbar>.toolbar>.toolbar-item>a{cursor:pointer}div.code-toolbar>.toolbar>.toolbar-item>button{background:none;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}div.code-toolbar>.toolbar>.toolbar-item>a,div.code-toolbar>.toolbar>.toolbar-item>button,div.code-toolbar>.toolbar>.toolbar-item>span{background:#f5f2f0;background:hsla(0,0%,88%,.2);border-radius:.5em;box-shadow:0 2px 0 0 rgba(0,0,0,.2);color:#bbb;font-size:.8em;padding:0 .5em}div.code-toolbar>.toolbar>.toolbar-item>a:focus,div.code-toolbar>.toolbar>.toolbar-item>a:hover,div.code-toolbar>.toolbar>.toolbar-item>button:focus,div.code-toolbar>.toolbar>.toolbar-item>button:hover,div.code-toolbar>.toolbar>.toolbar-item>span:focus,div.code-toolbar>.toolbar>.toolbar-item>span:hover{color:inherit;text-decoration:none}h1{font-size:38px;line-height:46px}h2{font-size:30px;line-height:38px}h3{font-size:24px;line-height:32px}h4{font-size:20px;line-height:28px}h5{font-size:16px;line-height:24px}h6{font-size:14px;line-height:22px}.octicon{fill:currentColor;display:inline-block;vertical-align:text-top;vertical-align:text-bottom}.red{color:red}.green{color:green}.language-sh{color:#17ff0b!important}.balmui-placeholder{display:table;height:100%;width:100%}.balmui-placeholder .container{display:table-cell;text-align:center;vertical-align:middle}.balmui-placeholder h1{font:italic 68px/76px Times New Roman,Georgia,Arial,sans-serif;text-align:center;width:100%}.balmui-placeholder b{color:orange}.balmui-placeholder strong{color:#6200ee}.balmui-placeholder p{font-size:24px}a{color:#6200ee}.mdc-theme--text-primary-on-dark a{color:#ce93d8}.balmui-container{display:flex;flex-direction:column;min-height:100%}.balmui-test .balmui-container{display:block;min-height:auto}.balmui-head .github{line-height:1}.balmui-head .github>span{display:none}.top-app-toolbar{align-items:center;display:flex}.top-app-toolbar .pro{color:#fff;display:inline-block;text-align:center;width:48px}.global-message-banner{position:fixed;top:64px;z-index:3}.global-message-banner .mdc-banner__graphic{padding:8px 0}.global-message-banner a{font-weight:700}.balmui-body{display:flex;flex:1;justify-content:flex-start;max-width:100%}.balmui-drawer-container{min-width:280px}.balmui-drawer-container.balmui-drawer--mobile{min-width:auto}.balmui-drawer-container.balmui-drawer--mobile .balmui-menu{z-index:9}.balmui-menu{position:fixed;width:280px;z-index:2}.balmui-menu .mdc-drawer__header{border-bottom:1px solid rgba(0,0,0,.12)}.balmui-menu .balmui-version{font-weight:400}.balmui-menu .balmui-version .version{color:#e65100}.balmui-content{display:block;position:relative;width:100%}.catalog-list .mdc-deprecated-list-group__subheader{font-size:18px}.catalog-list .no-icon{padding-left:28px}.catalog-list .next,.catalog-list .plus{margin-left:5px}.catalog-list-icon{background-repeat:no-repeat;background-size:100%;height:24px;margin:0 24px 0 12px;width:24px}@media (min-width:1241px){.balmui-content{width:calc(100% - 280px)}#balmui-menu{display:none}}@media (max-width:599px){.global-message-banner{top:56px}.global-message-banner .mdc-banner__content{width:auto}.global-message-banner .mdc-banner__text{margin-right:24px}}.hero{position:relative}.hero:after,.hero:before{color:#fff;padding:4px;position:absolute}.hero:before{left:0;top:0}.hero:after{bottom:0;right:0}.hero.component:after,.hero.component:before{background-color:#2979ff;content:"component"}.hero.plugin:after,.hero.plugin:before{background-color:#ff1744;content:"plugin"}.hero.directive:after,.hero.directive:before{background-color:#00bfa5;content:"directive"}.ui-intro{padding:40px 0}.component-docs{margin-bottom:80px}.markdown-body table td:first-child{font-weight:700;white-space:nowrap}.markdown-body table td:nth-child(2){color:#c41d7f;font-size:13px}.component--typography table:nth-of-type(2) td:nth-child(2),.component--ui-card table td:nth-child(2),.component--ui-dialog table td:nth-child(2),.component--ui-drawer table td:nth-child(2),.component--ui-image-list table td:nth-child(2),.component--ui-list table td:nth-child(2),.component--ui-menu table td:nth-child(2),.component--ui-tabs table td:nth-child(2),.component--ui-textfield table td:nth-child(2){color:inherit;font-size:inherit}.supported-lang{cursor:pointer;margin:0}.supported-lang a.active{color:#fff;font-weight:bolder}.mdc-typography--body1>.mdc-typography--body2{padding:0 20px 40px}.mdc-typography--body1>.mdc-typography--body2.pure-docs{padding-top:20px}.mdc-typography--body1>.mdc-typography--body2>footer{display:flex;justify-content:space-between;margin-top:20px}@media (max-width:640px){.mdc-typography--body1>.mdc-typography--body2{padding:0 12px 24px}}.markdown-body{word-wrap:break-word;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;font-size:16px;line-height:1.5}.markdown-body kbd{background-color:#fafbfc;border:1px solid #d1d5da;border-radius:3px;box-shadow:inset 0 -1px 0 #d1d5da;color:#444d56;display:inline-block;font:11px SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;line-height:10px;padding:3px 5px;vertical-align:middle}.markdown-body:after,.markdown-body:before{content:"";display:table}.markdown-body:after{clear:both}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:#cb2431}.markdown-body .anchor{float:left;line-height:1;margin-left:-20px;padding-right:4px}.markdown-body .anchor:focus{outline:none}.markdown-body blockquote,.markdown-body details,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-bottom:16px;margin-top:0}.markdown-body hr{background-color:#e1e4e8;border:0;height:.25em;margin:24px 0;padding:0}.markdown-body blockquote{background:rgba(25,118,210,.05);border-left:.25em solid #1976d2;color:#6a737d;padding:0 1em}.markdown-body blockquote:after,.markdown-body blockquote:before{content:""}.markdown-body blockquote p{display:block;padding:14px 0}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{font-weight:600;line-height:1.25;margin-bottom:16px;margin-top:24px}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#1b1f23;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 code,.markdown-body h1 tt,.markdown-body h2 code,.markdown-body h2 tt,.markdown-body h3 code,.markdown-body h3 tt,.markdown-body h4 code,.markdown-body h4 tt,.markdown-body h5 code,.markdown-body h5 tt,.markdown-body h6 code,.markdown-body h6 tt{font-size:inherit}.markdown-body h1{font-size:2em}.markdown-body h1,.markdown-body h2{border-bottom:1px solid #eaecef;padding-bottom:.3em}.markdown-body h2{font-size:1.5em}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:.875em}.markdown-body h6{color:#6a737d;font-size:.85em}.markdown-body ol,.markdown-body ul{padding-left:2em}.markdown-body ol.no-list,.markdown-body ul.no-list{list-style-type:none;padding:0}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-bottom:0;margin-top:0}.markdown-body li{word-wrap:break-all}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{font-size:1em;font-style:italic;font-weight:600;margin-top:16px;padding:0}.markdown-body dl dd{margin-bottom:16px;padding:0 16px}.markdown-body table{display:block;overflow:auto;width:100%}.markdown-body table th{font-weight:600}.markdown-body table td,.markdown-body table th{border:1px solid #dfe2e5;padding:6px 13px}.markdown-body table tr{background-color:#fff;border-top:1px solid #c6cbd1}.markdown-body table tr:nth-child(2n){background-color:#f6f8fa}.markdown-body table img{background-color:initial}.markdown-body img{background-color:#fff;box-sizing:initial;max-width:100%}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{background-color:initial;max-width:none;vertical-align:text-top}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{border:1px solid #dfe2e5;display:block;float:left;margin:13px 0 0;overflow:hidden;padding:7px;width:auto}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{clear:both;color:#24292e;display:block;padding:5px 0 0}.markdown-body span.align-center{clear:both;display:block;overflow:hidden}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{clear:both;display:block;overflow:hidden}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{background-color:rgba(27,31,35,.05);border-radius:3px;font-size:85%;margin:0;padding:.2em .4em}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body pre{word-wrap:normal}.markdown-body pre>code{background:transparent;border:0;font-size:100%;margin:0;padding:0;white-space:pre;word-break:normal}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{border-radius:3px;font-size:14px;line-height:1.45;overflow:auto;padding:16px}.markdown-body pre code,.markdown-body pre tt{word-wrap:normal;background-color:initial;border:0;display:inline;line-height:inherit;margin:0;max-width:auto;overflow:visible;padding:0}.markdown-body .csv-data td,.markdown-body .csv-data th{font-size:12px;line-height:1;overflow:hidden;padding:5px;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{background:#fff;border:0;padding:10px 8px 9px;text-align:right}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{background:#f6f8fa;border-top:0;font-weight:600}.page-loading,.top-loading{position:fixed;z-index:5}.top-loading{left:0;right:0;top:0}.page-loading{right:16px;top:80px}.loading-enter-from,.loading-leave-to{opacity:0}.loading-enter-active,.loading-leave-active{transition:opacity .4s}.loading-leave-active{left:0;position:absolute;top:0;width:100%}.toc-affix{background:#fff;left:0;position:sticky;right:0;top:64px;z-index:2}.toc-affix .mdc-deprecated-list{display:flex}.toc-affix .mdc-deprecated-list-item{cursor:pointer}.toc-affix.toc-affix--bottom{bottom:0;position:fixed;top:auto}@media (max-width:599px){.toc-affix{top:56px}}.demo-ready-detect{position:relative}.catalog-title{font-family:Roboto Mono,monospace}.hero{align-items:center;background-color:#f7f7f7;display:flex;flex-flow:column nowrap;justify-content:center;min-height:360px;padding:40px 0}.hero>h1{font-size:3.14rem;font-weight:300}.hero .mdc-menu-surface{z-index:3}.hero .mdc-drawer--permanent{display:inherit;height:inherit}.hero .mdc-drawer--permanent .mdc-drawer__title{text-align:left}.hero .hero-demo,.hero .hero-demos{margin-bottom:20px}.hero .hero-demos,.hero .hero-options{align-items:center;display:flex;flex-wrap:wrap;justify-content:center}.hero .hero-option{margin:0 32px}.hero h3{text-align:center}.demo-wrapper{margin-bottom:32px}@media (max-width:599px){.hero .hero-option{margin:0}.hero .hero-options{flex-direction:column}.hero .hero-options .hero-options{flex-direction:row}.hero .hero-options .hero-option{margin-bottom:10px}.page-data-display_card .hero .hero-options .hero-options{align-items:flex-start;flex-direction:column}}.demo-text-field-custom-colors:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled) .mdc-line-ripple:before{border-bottom-color:rgba(0,0,255,.38)}.demo-text-field-custom-colors:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled):hover .mdc-line-ripple:before{border-bottom-color:rgba(0,0,255,.6)}.demo-text-field-custom-colors:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled) .mdc-line-ripple:after{border-bottom-color:blue}.demo-text-field-custom-colors:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled) .mdc-text-field__input{color:#000}.demo-text-field-custom-colors:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled) .mdc-floating-label{color:rgba(0,0,255,.5)}.demo-text-field-custom-colors:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.demo-text-field-custom-colors:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.demo-text-field-custom-colors:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled) .mdc-notched-outline__trailing{border-color:rgba(0,0,255,.38)}.demo-text-field-custom-colors:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__leading,.demo-text-field-custom-colors:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__notch,.demo-text-field-custom-colors:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__trailing{border-color:rgba(0,0,255,.6)}.demo-text-field-custom-colors:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,.demo-text-field-custom-colors:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,.demo-text-field-custom-colors:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing{border-color:blue}.demo-text-field-custom-colors:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled)+.mdc-text-field-helper-line .mdc-text-field-helper-text{color:rgba(0,0,255,.38)}.demo-text-field-custom-colors:not(.mdc-text-field--invalid) .mdc-text-field__input{caret-color:blue}.demo-text-field-custom-colors:not(.mdc-text-field--invalid).mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-floating-label{color:rgba(0,0,255,.87)}.demo-textarea:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled) .mdc-text-field__input{color:#000}.demo-textarea:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled) .mdc-floating-label{color:rgba(0,0,255,.5)}.demo-textarea:not(.mdc-text-field--invalid) .mdc-text-field__input{caret-color:blue}.demo-textarea:not(.mdc-text-field--invalid).mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-floating-label{color:rgba(0,0,255,.87)}.demo-textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input{color:orange}.demo-textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-floating-label{color:rgba(255,165,0,.5)}.demo-textarea.mdc-text-field--invalid .mdc-text-field__input{caret-color:orange}.demo-textarea.mdc-text-field--invalid.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-floating-label{color:rgba(255,165,0,.87)}.demo-fullwidth-input:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled) .mdc-text-field__input{color:#000}.demo-fullwidth-input:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled) .mdc-floating-label{color:rgba(0,0,255,.5)}.demo-fullwidth-input:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled) .mdc-line-ripple:after{border-bottom-color:blue}.demo-fullwidth-input:not(.mdc-text-field--invalid) .mdc-text-field__input{caret-color:blue}.demo-fullwidth-input:not(.mdc-text-field--invalid).mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-floating-label{color:rgba(0,0,255,.87)}.demo-fullwidth-input.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input{color:orange}.demo-fullwidth-input.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-floating-label{color:rgba(255,165,0,.5)}.demo-fullwidth-input.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple:after{border-bottom-color:orange}.demo-fullwidth-input.mdc-text-field--invalid .mdc-text-field__input{caret-color:orange}.demo-fullwidth-input.mdc-text-field--invalid.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-floating-label{color:rgba(255,165,0,.87)}.demo-text-field-custom-error-colors.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple:before{border-bottom-color:rgba(255,165,0,.38)}.demo-text-field-custom-error-colors.mdc-text-field--invalid:not(.mdc-text-field--disabled):hover .mdc-line-ripple:before{border-bottom-color:rgba(255,165,0,.6)}.demo-text-field-custom-error-colors.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple:after{border-bottom-color:orange}.demo-text-field-custom-error-colors.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input{color:orange}.demo-text-field-custom-error-colors.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-floating-label{color:rgba(255,165,0,.87)}.demo-text-field-custom-error-colors.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.demo-text-field-custom-error-colors.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.demo-text-field-custom-error-colors.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing{border-color:rgba(255,165,0,.38)}.demo-text-field-custom-error-colors.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__leading,.demo-text-field-custom-error-colors.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__notch,.demo-text-field-custom-error-colors.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__trailing{border-color:rgba(255,165,0,.6)}.demo-text-field-custom-error-colors.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,.demo-text-field-custom-error-colors.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,.demo-text-field-custom-error-colors.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing{border-color:orange}.demo-text-field-custom-error-colors.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--invalid+.mdc-text-field-helper-line .mdc-text-field-helper-text--validation-msg{color:rgba(255,165,0,.6)}.demo-text-field-custom-error-colors.mdc-text-field--invalid .mdc-text-field__input{caret-color:orange}.demo-text-field-custom-error-colors.mdc-text-field--invalid:not(.mdc-text-field--disabled)+.mdc-text-field-helper-line .mdc-text-field-helper-text{color:rgba(0,0,255,.6)}.demo-text-field-wrapper{margin-bottom:8px}.demo-tf-add-space{margin:10px 0}.demo-checkbox--custom-all .mdc-checkbox.mdc-checkbox--selected .mdc-checkbox__ripple:after,.demo-checkbox--custom-all .mdc-checkbox.mdc-checkbox--selected .mdc-checkbox__ripple:before{background-color:#f44336;background-color:var(--mdc-ripple-color,#f44336)}.demo-checkbox--custom-all .mdc-checkbox.mdc-checkbox--selected.mdc-ripple-surface--hover .mdc-checkbox__ripple:before,.demo-checkbox--custom-all .mdc-checkbox.mdc-checkbox--selected:hover .mdc-checkbox__ripple:before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity,.04)}.demo-checkbox--custom-all .mdc-checkbox.mdc-checkbox--selected.mdc-ripple-upgraded--background-focused .mdc-checkbox__ripple:before,.demo-checkbox--custom-all .mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded):focus .mdc-checkbox__ripple:before{opacity:.12;opacity:var(--mdc-ripple-focus-opacity,.12);transition-duration:75ms}.demo-checkbox--custom-all .mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded) .mdc-checkbox__ripple:after{transition:opacity .15s linear}.demo-checkbox--custom-all .mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded):active .mdc-checkbox__ripple:after{opacity:.12;opacity:var(--mdc-ripple-press-opacity,.12);transition-duration:75ms}.demo-checkbox--custom-all .mdc-checkbox.mdc-checkbox--selected.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity,0.12)}.demo-checkbox--custom-all .mdc-checkbox.mdc-ripple-upgraded--background-focused.mdc-checkbox--selected .mdc-checkbox__ripple:after,.demo-checkbox--custom-all .mdc-checkbox.mdc-ripple-upgraded--background-focused.mdc-checkbox--selected .mdc-checkbox__ripple:before,.demo-checkbox--custom-all .mdc-checkbox:after,.demo-checkbox--custom-all .mdc-checkbox:before{background-color:#f44336;background-color:var(--mdc-ripple-color,#f44336)}.demo-checkbox--custom-all .mdc-checkbox.mdc-ripple-surface--hover:before,.demo-checkbox--custom-all .mdc-checkbox:hover:before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity,.04)}.demo-checkbox--custom-all .mdc-checkbox.mdc-ripple-upgraded--background-focused:before,.demo-checkbox--custom-all .mdc-checkbox:not(.mdc-ripple-upgraded):focus:before{opacity:.12;opacity:var(--mdc-ripple-focus-opacity,.12);transition-duration:75ms}.demo-checkbox--custom-all .mdc-checkbox:not(.mdc-ripple-upgraded):after{transition:opacity .15s linear}.demo-checkbox--custom-all .mdc-checkbox:not(.mdc-ripple-upgraded):active:after{opacity:.12;opacity:var(--mdc-ripple-press-opacity,.12);transition-duration:75ms}.demo-checkbox--custom-all .mdc-checkbox.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity,0.12)}.demo-checkbox--custom-all .mdc-checkbox .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{background-color:rgba(244,67,54,.25);border-color:#f44336;border-color:var(--mdc-checkbox-unchecked-color,#f44336)}.demo-checkbox--custom-all .mdc-checkbox .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.demo-checkbox--custom-all .mdc-checkbox .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background,.demo-checkbox--custom-all .mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true]:enabled~.mdc-checkbox__background{background-color:#f44336;background-color:var(--mdc-checkbox-checked-color,var(--mdc-theme-secondary,#f44336));border-color:#018786;border-color:var(--mdc-checkbox-checked-color,var(--mdc-theme-secondary,#018786))}@keyframes mdc-checkbox-fade-in-background-FFF44336FF01878640F44336FFF44336{0%{background-color:rgba(244,67,54,.25);border-color:#f44336;border-color:var(--mdc-checkbox-unchecked-color,#f44336)}50%{background-color:#f44336;background-color:var(--mdc-checkbox-checked-color,var(--mdc-theme-secondary,#f44336));border-color:#018786;border-color:var(--mdc-checkbox-checked-color,var(--mdc-theme-secondary,#018786))}}@keyframes mdc-checkbox-fade-out-background-FFF44336FF01878640F44336FFF44336{0%,80%{background-color:#f44336;background-color:var(--mdc-checkbox-checked-color,var(--mdc-theme-secondary,#f44336));border-color:#018786;border-color:var(--mdc-checkbox-checked-color,var(--mdc-theme-secondary,#018786))}to{background-color:rgba(244,67,54,.25);border-color:#f44336;border-color:var(--mdc-checkbox-unchecked-color,#f44336)}}.demo-checkbox--custom-all .mdc-checkbox.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.demo-checkbox--custom-all .mdc-checkbox.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-in-background-FFF44336FF01878640F44336FFF44336}.demo-checkbox--custom-all .mdc-checkbox.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.demo-checkbox--custom-all .mdc-checkbox.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-out-background-FFF44336FF01878640F44336FFF44336}.demo-checkbox--custom-stroke-and-fill .mdc-checkbox .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{background-color:transparent;border-color:#2196f3;border-color:var(--mdc-checkbox-unchecked-color,#2196f3)}.demo-checkbox--custom-stroke-and-fill .mdc-checkbox .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.demo-checkbox--custom-stroke-and-fill .mdc-checkbox .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background,.demo-checkbox--custom-stroke-and-fill .mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true]:enabled~.mdc-checkbox__background{background-color:#9c27b0;background-color:var(--mdc-checkbox-checked-color,var(--mdc-theme-secondary,#9c27b0));border-color:#018786;border-color:var(--mdc-checkbox-checked-color,var(--mdc-theme-secondary,#018786))}@keyframes mdc-checkbox-fade-in-background-FF2196F3FF01878600000000FF9C27B0{0%{background-color:transparent;border-color:#2196f3;border-color:var(--mdc-checkbox-unchecked-color,#2196f3)}50%{background-color:#9c27b0;background-color:var(--mdc-checkbox-checked-color,var(--mdc-theme-secondary,#9c27b0));border-color:#018786;border-color:var(--mdc-checkbox-checked-color,var(--mdc-theme-secondary,#018786))}}@keyframes mdc-checkbox-fade-out-background-FF2196F3FF01878600000000FF9C27B0{0%,80%{background-color:#9c27b0;background-color:var(--mdc-checkbox-checked-color,var(--mdc-theme-secondary,#9c27b0));border-color:#018786;border-color:var(--mdc-checkbox-checked-color,var(--mdc-theme-secondary,#018786))}to{background-color:transparent;border-color:#2196f3;border-color:var(--mdc-checkbox-unchecked-color,#2196f3)}}.demo-checkbox--custom-stroke-and-fill .mdc-checkbox.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.demo-checkbox--custom-stroke-and-fill .mdc-checkbox.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-in-background-FF2196F3FF01878600000000FF9C27B0}.demo-checkbox--custom-stroke-and-fill .mdc-checkbox.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.demo-checkbox--custom-stroke-and-fill .mdc-checkbox.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-out-background-FF2196F3FF01878600000000FF9C27B0}.demo-radio--custom .mdc-radio .mdc-radio__native-control:enabled:checked+.mdc-radio__background .mdc-radio__outer-circle,.demo-radio--custom .mdc-radio .mdc-radio__native-control:enabled:not(:checked)+.mdc-radio__background .mdc-radio__outer-circle{border-color:#f44336}.demo-radio--custom .mdc-radio .mdc-radio__native-control:enabled+.mdc-radio__background .mdc-radio__inner-circle{border-color:#ff9800}.demo-radio--custom .mdc-radio .mdc-radio__background:before{background-color:#f44336}.demo-radio--custom .mdc-radio:after,.demo-radio--custom .mdc-radio:before{background-color:#f44336;background-color:var(--mdc-ripple-color,#f44336)}.demo-radio--custom .mdc-radio.mdc-ripple-surface--hover:before,.demo-radio--custom .mdc-radio:hover:before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity,.04)}.demo-radio--custom .mdc-radio.mdc-ripple-upgraded--background-focused:before,.demo-radio--custom .mdc-radio:not(.mdc-ripple-upgraded):focus:before{opacity:.12;opacity:var(--mdc-ripple-focus-opacity,.12);transition-duration:75ms}.demo-radio--custom .mdc-radio:not(.mdc-ripple-upgraded):after{transition:opacity .15s linear}.demo-radio--custom .mdc-radio:not(.mdc-ripple-upgraded):active:after{opacity:.12;opacity:var(--mdc-ripple-press-opacity,.12);transition-duration:75ms}.demo-radio--custom .mdc-radio.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity,0.12)}.demo-select-custom-colors:not(.mdc-select--disabled) .mdc-select__selected-text{color:blue}.demo-select-custom-colors:not(.mdc-select--disabled) .mdc-floating-label{color:rgba(0,0,255,.6)}.demo-select-custom-colors:not(.mdc-select--disabled) .mdc-line-ripple:before{border-bottom-color:rgba(0,0,255,.5)}.demo-select-custom-colors.mdc-select--box:not(.mdc-select--disabled) .mdc-select__anchor{background-color:rgba(0,0,255,.1)}.demo-select-custom-colors.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__leading,.demo-select-custom-colors.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__notch,.demo-select-custom-colors.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__trailing{border-color:rgba(0,0,255,.6)}.button-container{margin:8px 0}.mdc-switch.demo-switch--custom.mdc-switch--selected:enabled .mdc-switch__handle:after{background:#f44336;background:var(--mdc-switch-selected-handle-color,#f44336)}.mdc-switch.demo-switch--custom.mdc-switch--selected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle:after{background:#7a3b36;background:var(--mdc-switch-selected-hover-handle-color,#7a3b36)}.mdc-switch.demo-switch--custom.mdc-switch--selected:enabled:focus:not(:active) .mdc-switch__handle:after{background:#7a3b36;background:var(--mdc-switch-selected-focus-handle-color,#7a3b36)}.mdc-switch.demo-switch--custom.mdc-switch--selected:enabled:active .mdc-switch__handle:after{background:#7a3b36;background:var(--mdc-switch-selected-pressed-handle-color,#7a3b36)}.mdc-switch.demo-switch--custom.mdc-switch--selected:enabled:hover:not(:focus) .mdc-switch__ripple:after,.mdc-switch.demo-switch--custom.mdc-switch--selected:enabled:hover:not(:focus) .mdc-switch__ripple:before{background-color:#f44336;background-color:var(--mdc-switch-selected-hover-state-layer-color,#f44336)}.mdc-switch.demo-switch--custom.mdc-switch--selected:enabled:focus .mdc-switch__ripple:after,.mdc-switch.demo-switch--custom.mdc-switch--selected:enabled:focus .mdc-switch__ripple:before{background-color:#f44336;background-color:var(--mdc-switch-selected-focus-state-layer-color,#f44336)}.mdc-switch.demo-switch--custom.mdc-switch--selected:enabled:active .mdc-switch__ripple:after,.mdc-switch.demo-switch--custom.mdc-switch--selected:enabled:active .mdc-switch__ripple:before{background-color:#f44336;background-color:var(--mdc-switch-selected-pressed-state-layer-color,#f44336)}.mdc-switch.demo-switch--custom:enabled .mdc-switch__track:after{background:#fcd0cd;background:var(--mdc-switch-selected-track-color,#fcd0cd)}.mdc-switch.demo-switch--custom:enabled:hover:not(:focus):not(:active) .mdc-switch__track:after{background:#fcd0cd;background:var(--mdc-switch-selected-hover-track-color,#fcd0cd)}.mdc-switch.demo-switch--custom:enabled:focus:not(:active) .mdc-switch__track:after{background:#fcd0cd;background:var(--mdc-switch-selected-focus-track-color,#fcd0cd)}.mdc-switch.demo-switch--custom:enabled:active .mdc-switch__track:after{background:#fcd0cd;background:var(--mdc-switch-selected-pressed-track-color,#fcd0cd)}.demo-elevation--custom-color{box-shadow:0 8px 10px -5px rgba(1,135,134,.3),0 16px 24px 2px rgba(1,135,134,.24),0 6px 30px 5px rgba(1,135,134,.22)}.demo-linear-progress--custom .mdc-linear-progress__bar-inner{border-color:#f44336}.demo-linear-progress--custom .mdc-linear-progress__buffer-dots{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' preserveAspectRatio='none slice' viewBox='0 0 5 2'%3E%3Ccircle cx='1' cy='1' r='1' fill='%23ffcdd2'/%3E%3C/svg%3E")}.demo-linear-progress--custom .mdc-linear-progress__buffer-bar{background-color:#ffcdd2}.demo-typography--section-baseline{border:1px solid #ddd;margin:24px;max-width:350px;padding:0 24px 24px;position:relative}.demo-typography__title:before{content:"";display:inline-block;height:34px;vertical-align:0;width:0}.demo-typography__title:after{content:"";display:inline-block;height:22px;vertical-align:-22px;width:0}.demo-typography__subtitle{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.demo-typography__subtitle:before{content:"";display:inline-block;height:22px;vertical-align:0;width:0}.demo-typography__subtitle:after{content:"";display:inline-block;height:28px;vertical-align:-28px;width:0}.demo-typography__body{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.demo-typography__body:before{content:"";display:inline-block;height:28px;vertical-align:0;width:0}.demo-typography-line-1,.demo-typography-line-2,.demo-typography-line-3{border-top:1px solid #fd2549;color:#fd2549;font-size:10px;left:0;position:absolute;right:0;text-align:right;width:100%}.demo-typography-line-1{top:34px}.demo-typography-line-2{top:56px}.demo-typography-line-3{top:84px}.custom-tab .mdc-tab__text-label{color:#64b5f6}.custom-tab .mdc-tab__icon{fill:currentColor;color:#ffb74d}.custom-tab .custom-tab-indicator .mdc-tab-indicator__content--underline{border-color:#c51162;border-top-left-radius:5px;border-top-right-radius:5px;border-top-width:5px}.custom-tab .mdc-tab__ripple:after,.custom-tab .mdc-tab__ripple:before{background-color:#f8bbd0;background-color:var(--mdc-ripple-color,#f8bbd0)}.custom-tab .mdc-tab__ripple.mdc-ripple-surface--hover:before,.custom-tab .mdc-tab__ripple:hover:before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity,.08)}.custom-tab .mdc-tab__ripple.mdc-ripple-upgraded--background-focused:before,.custom-tab .mdc-tab__ripple:not(.mdc-ripple-upgraded):focus:before{opacity:.24;opacity:var(--mdc-ripple-focus-opacity,.24);transition-duration:75ms}.custom-tab .mdc-tab__ripple:not(.mdc-ripple-upgraded):after{transition:opacity .15s linear}.custom-tab .mdc-tab__ripple:not(.mdc-ripple-upgraded):active:after{opacity:.24;opacity:var(--mdc-ripple-press-opacity,.24);transition-duration:75ms}.custom-tab .mdc-tab__ripple.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity,0.24)}.custom-tab.mdc-tab--active .mdc-tab__text-label{color:#0d47a1}.custom-tab.mdc-tab--active .mdc-tab__icon{fill:currentColor;color:#e65100}.hero-demo-tab-bar{background-color:#f2f2f2;max-width:420px}.custom-demo-tab-bar .mdc-tab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;flex:0 1 120px;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle1-font-family,var(--mdc-typography-font-family,Roboto,sans-serif));font-size:1rem;font-size:var(--mdc-typography-subtitle1-font-size,1rem);font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight,400);letter-spacing:.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing,.009375em);line-height:1.75rem;line-height:var(--mdc-typography-subtitle1-line-height,1.75rem);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform,inherit)}.custom-demo-tab-bar .mdc-tab .mdc-tab__text-label{color:#1e88e5}.custom-demo-tab-bar .mdc-tab .mdc-tab__icon{fill:currentColor;color:#fb8c00}.custom-demo-tab-bar .mdc-tab__ripple:after,.custom-demo-tab-bar .mdc-tab__ripple:before{background-color:#fbc02d;background-color:var(--mdc-ripple-color,#fbc02d)}.custom-demo-tab-bar .mdc-tab__ripple.mdc-ripple-surface--hover:before,.custom-demo-tab-bar .mdc-tab__ripple:hover:before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity,.08)}.custom-demo-tab-bar .mdc-tab__ripple.mdc-ripple-upgraded--background-focused:before,.custom-demo-tab-bar .mdc-tab__ripple:not(.mdc-ripple-upgraded):focus:before{opacity:.24;opacity:var(--mdc-ripple-focus-opacity,.24);transition-duration:75ms}.custom-demo-tab-bar .mdc-tab__ripple:not(.mdc-ripple-upgraded):after{transition:opacity .15s linear}.custom-demo-tab-bar .mdc-tab__ripple:not(.mdc-ripple-upgraded):active:after{opacity:.24;opacity:var(--mdc-ripple-press-opacity,.24);transition-duration:75ms}.custom-demo-tab-bar .mdc-tab__ripple.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity,0.24)}.custom-demo-tab-bar .mdc-tab--active .mdc-tab__text-label{color:#0d47a1}.custom-demo-tab-bar .mdc-tab--active .mdc-tab__icon{fill:currentColor;color:#0d47a1}.custom-demo-tab-bar .mdc-tab-indicator .mdc-tab-indicator__content--underline{border-color:#fbc02d;border-top-width:5px}.demo-scroller{outline:1px solid #bdbdbd;width:360px}.demo-cube{height:43px;margin:10px;width:43px}.demo-cube:first-child{background-color:#810c55}.demo-cube:nth-child(2){background-color:#b20da9}.demo-cube:nth-child(3){background-color:#c1bce2}.demo-cube:nth-child(4){background-color:#26562c}.demo-cube:nth-child(5){background-color:#ab0c17}.demo-cube:nth-child(6){background-color:#bbd21b}.demo-cube:nth-child(7){background-color:#936e48}.demo-cube:nth-child(8){background-color:#283e5e}.demo-cube:nth-child(9){background-color:#c54511}.demo-cube:nth-child(10){background-color:#6c118f}.demo-cube:nth-child(11){background-color:#f0a3ca}.demo-cube:nth-child(12){background-color:#ded8a7}.demo-cube:nth-child(13){background-color:#ec31de}.demo-cube:nth-child(14){background-color:#71b8b2}.demo-cube:nth-child(15){background-color:#577cc3}.demo-cube:nth-child(16){background-color:#297978}.demo-cube:nth-child(17){background-color:#97e9d4}.demo-cube:nth-child(18){background-color:#1018c8}.demo-cube:nth-child(19){background-color:#de97a7}.demo-cube:nth-child(20){background-color:#217017}.demo-cube:nth-child(21){background-color:#a9d528}.demo-cube:nth-child(22){background-color:#156940}.demo-cube:nth-child(23){background-color:#78614d}.demo-cube:nth-child(24){background-color:#78c9be}.demo-cube:nth-child(25){background-color:#6cafc4}.demo-cube:nth-child(26){background-color:#4da5e1}.demo-cube:nth-child(27){background-color:#949741}.demo-cube:nth-child(28){background-color:#7e9bb1}.demo-cube:nth-child(29){background-color:#8ce4c2}.demo-cube:nth-child(30){background-color:#b8ca3a}.demo-cube:nth-child(31){background-color:#128bf0}.demo-cube:nth-child(32){background-color:#9a12c8}.demo-cube:nth-child(33){background-color:#66bd7d}.demo-cube:nth-child(34){background-color:#8fa647}.demo-controller{padding:10px 0}.demo-controller-row{padding:5px 0}.page-not-found{text-align:center}.page-home .hero{overflow:hidden}.page-home .pure-docs{text-align:center}.page-actions_button .demo-controls{margin-bottom:16px}.page-actions_button .demo .mdc-button{margin:0 16px 16px 0}.page-containment_card .hero{height:auto;padding:24px}.page-containment_card .demo{align-items:flex-start;display:flex;flex-wrap:wrap;justify-content:center}.page-containment_card .demo-card-toggles{margin:24px;padding:24px;text-align:center}.page-containment_card .demo-card{width:320px}.page-containment_card .demo-card--photo{width:200px}.page-containment_card .demo-card__media{background-image:url(../img/1-1.dfff3193.jpg)}.page-containment_card .demo-card__media--16-9{background-image:url(../img/16-9.058d7ce0.jpg)}.page-containment_card .demo-card__media-content--with-title{display:flex;flex-direction:column;justify-content:flex-end}.page-containment_card .demo-card__media-title{background-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,.5));color:#fff;padding:8px 16px}.page-containment_card .demo-card__primary{padding:1rem}.page-containment_card .demo-card__title{margin:0}.page-containment_card .demo-card__subtitle{margin:0}.page-containment_card .demo-card__secondary,.page-containment_card .demo-card__subtitle{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.page-containment_card .demo-card__secondary{padding:0 1rem 8px}.page-containment_card .demo-card-article-group-heading{padding:8px 16px}.page-containment_card .demo-card-article{color:inherit;padding:16px;text-decoration:none}.page-containment_card .demo-card-article__title{margin:0 0 4px}.page-containment_card .demo-card-article__snippet{margin:0}.page-containment_card .demo-card--music{border-bottom-left-radius:4px;border-bottom-right-radius:24px;border-top-left-radius:24px;border-top-right-radius:4px}.page-containment_card .demo-card--music[dir=rtl],[dir=rtl] .page-containment_card .demo-card--music{border-bottom-left-radius:24px;border-bottom-right-radius:4px;border-top-left-radius:4px;border-top-right-radius:24px}.page-containment_card .demo-card__music-row{border-top-left-radius:inherit;display:flex}.page-containment_card .demo-card__music-row[dir=rtl],[dir=rtl] .page-containment_card .demo-card__music-row{border-top-left-radius:0;border-top-right-radius:inherit}.page-containment_card .demo-card__media--music{border-top-left-radius:inherit;width:110px}.page-containment_card .demo-card__media--music[dir=rtl],[dir=rtl] .page-containment_card .demo-card__media--music{border-top-left-radius:0;border-top-right-radius:inherit}.page-containment_card .demo-card__music-info{display:flex;flex-direction:column;padding:8px 16px}.page-containment_card .demo-card__action-buttons--text-only{margin-left:8px}.page-containment_card .demo-card__action-icon--star{cursor:pointer;margin-left:4px;margin-right:4px}.page-selection_checkbox .demo{margin-bottom:5px}.page-selection_checkbox .mdc-button code{text-transform:none}.page-containment_dialog .hero-dialog{position:relative;z-index:auto}.demo-confirmation-dialog .mdc-dialog__surface{max-height:268px}.balmui-navigation_dismissible-drawer-full-height-drawer .balmui-container,.balmui-navigation_permanent-drawer-above-toolbar .balmui-container,.balmui-navigation_permanent-drawer-below-toolbar .balmui-container{display:block;min-height:auto}.page-navigation_drawer .hero-demo h3{text-align:left}.page-navigation_drawer .demo-app-content{height:100%;overflow:auto;padding-left:18px;padding-right:18px}.page-navigation_permanent-drawer-above-toolbar .demo-content{position:relative}.page-navigation_permanent-drawer-above-toolbar .demo-app-bar{position:absolute}.page-navigation_dismissible-drawer-below-top-app-bar .demo-app-content,.page-navigation_dismissible-drawer-full-height-drawer .demo-content,.page-navigation_permanent-drawer-above-toolbar .demo-content,.page-navigation_permanent-drawer-below-toolbar .demo-app-content{width:100%}.page-navigation_dismissible-drawer-below-top-app-bar .demo-app-bar{z-index:7}.page-styles_elevation .demo{display:flex;flex-direction:row;flex-wrap:wrap}.page-styles_elevation .demo-surface{align-items:center;background:#fff;border-radius:3px;color:#9e9e9e;display:flex;font-size:.8em;height:80px;justify-content:center;width:160px}.page-styles_elevation .hero .demo-surface{background-color:#212121;color:#f0f0f0;height:48px;margin:24px;width:120px}.page-styles_elevation #hover-el{align-items:center;border-radius:4px;display:flex;justify-content:center;padding:2rem}.page-actions_fab .demo{display:flex;flex-wrap:wrap}.page-actions_fab figcaption>div{margin:8px}.page-actions_fab .mdc-fab{margin:16px}.page-actions_fab .demo-absolute-fab,.page-actions_fab .demo-fixed-fab{bottom:1rem;position:absolute;right:1rem;z-index:2}.page-actions_fab .demo-fixed-fab{position:fixed}@media (min-width:1024px){.page-actions_fab .demo-fixed-fab{bottom:1.5rem;right:1.5rem}}.page-actions_fab .fab-motion-container{border:1px solid #ccc;height:150px;overflow:hidden;padding:0 10px;position:relative;width:300px}.page-actions_fab .fab-motion-container__view{background-color:#fff;box-sizing:border-box;height:100%;position:absolute;transition:transform 375ms cubic-bezier(0,0,.2,1);width:100%;will-change:transform}.page-actions_fab .fab-motion-container__view--exited{transform:translateY(100%);transition-timing-function:cubic-bezier(.4,0,1,1)}.page-actions_icon-button .demo{display:flex;flex-wrap:wrap}.page-actions_icon-button .toggle-example{margin:0 24px 24px 0}.page-actions_icon-button .example{display:flex;justify-content:center}.page-containment_grid{width:100%}.page-containment_grid .demo-grid{background-color:#ddd;margin-bottom:32px}.page-containment_grid .demo-cell{background-color:#666;box-sizing:border-box;color:#fff;font-size:1.5em;height:200px;padding:8px}.page-containment_grid .demo-parent-cell{background-color:#aaa;position:relative}.page-containment_grid .demo-child-cell{position:relative}.page-containment_grid .demo-child-cell>span{bottom:8px;color:#ddd;position:absolute;right:8px}.page-containment_grid .demo-grid.max-width{max-width:1280px}.page-containment_grid .demo-grid-legend{margin:16px 0 8px}.page-containment_grid .demo-ruler{align-items:center;background:#000;bottom:0;color:#fff;display:flex;height:20px;justify-content:center;left:0;margin:0;position:fixed;width:100%;z-index:1}.page-containment_grid .demo-controls{display:none;margin-bottom:8px}.page-containment_grid .demo-warning:after{content:"This browser does not support custom properties, so margins and gutters cannot be changed at runtime."}@supports (--foo:green){.page-containment_grid .demo-controls{display:block}.page-containment_grid .demo-warning:after{content:""}}.page-containment_grid .hero .demo-grid{min-width:320px}.page-containment_grid .hero .demo-cell{height:60px}.page-containment_grid .demo-parent-cell .mdc-layout-grid__inner>span{color:#fff;font-size:1.5em;left:8px;position:absolute;top:8px}.page-communication_progress .example{margin-bottom:64px}.page-containment_list .mdc-deprecated-list,.page-containment_list .mdc-deprecated-list-group{max-width:600px}.page-containment_list .demo-wrapper .mdc-deprecated-list,.page-containment_list .demo-wrapper .mdc-deprecated-list-group{border:1px solid rgba(0,0,0,.1)}.page-containment_list .demo-wrapper .mdc-deprecated-list-group .mdc-deprecated-list{border:none}.page-containment_list .demo-wrapper h2{margin-bottom:.8em;margin-left:24px}.page-containment_list .demo-wrapper h3{margin-bottom:.8em}.page-containment_list .hero-demo .mdc-deprecated-list{background-color:#fff;box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);min-width:320px}.page-selection_menu>.mdc-typography--body2{overflow-x:hidden}.page-selection_menu .hero .mdc-menu-surface{position:static;z-index:1}.page-selection_menu .demo-content{border:1px solid;position:relative}.page-selection_menu .demo-controls{padding:40px 20px}.page-selection_menu .mdc-text-field input{width:3em}.page-selection_menu .demo-button__long-text,.page-selection_menu .demo-button__normal-text{display:none}.page-selection_menu .demo-button--long .demo-button__long-text,.page-selection_menu .demo-button--long .demo-button__normal-text,.page-selection_menu .demo-button--normal .demo-button__normal-text{display:inline}.page-selection_menu .standard-image-list{width:200px}.page-selection_menu .standard-image-list .mdc-image-list__image-aspect-container{padding-bottom:66.66667%}.page-selection_menu .standard-image-list .mdc-image-list__item{margin:2px;width:calc(100% - 5px)}.page-selection_menu #demo-menu{width:336px}.page-selection_menu #demo-menu-2{width:280px}.page-selection_menu #demo-menu-3{width:224px}.page-selection_slider .hero .mdc-form{width:100%}.page-selection_slider #hero-slider-wrapper{--mdc-slider-bg-color-behind-component:#f2f2f2;margin:0 auto;max-width:600px;width:100%}.page-selection_slider #hero-slider-wrapper .mdc-slider{flex:1}.page-selection_slider .custom-bg{--mdc-slider-bg-color-behind-component:#eee;background-color:#eee}.page-selection_slider .mdc-typography--headline6{margin:0}.page-selection_slider .demo-param-field-group+.demo-param-field-group{margin-top:16px}.page-selection_slider .demo-param-field{display:block}.page-selection_slider .demo-param-input-label{display:inline-block;min-width:2.5em}.page-selection_slider .example-slider-wrapper{padding:0 16px}.page-communication_snackbar .loading .example .mdc-snackbar{transform:translateY(200%)}.page-communication_snackbar .hero .mdc-snackbar{left:auto;position:relative;z-index:0}.page-communication_snackbar .hero .mdc-snackbar--active{transform:none}.page-selection_switch .demo .mdc-form-field{margin-right:20px}.page-navigation_tabs .hero-demo .mdc-tab-bar.long{width:450px}.page-navigation_tabs .demo-tab{flex:0 1 auto}@media (max-width:599px){.page-navigation_tabs .hero-demo .mdc-tab-bar{max-width:320px}}.page-text-inputs_textfield .hero .mdc-text-field{min-width:240px}.page-text-inputs_textfield .hero-demo .mdc-text-field-character-counter{display:none}.page-text-inputs_textfield .hero-demo .show-counter .mdc-text-field-character-counter{display:block}.page-text-inputs_textfield .demo-with-icon{margin-bottom:16px}.page-text-inputs_textfield .full-width-textarea-example{margin-top:16px}.demo-theme{background-color:gray;display:flex;flex-wrap:wrap;padding:8px}.demo-theme dd,.demo-theme dt{height:80px;margin-bottom:1px;padding:8px}.demo-theme dt{width:100%}.demo-theme dd{margin-left:0;width:50%}.demo-text-theme{background-color:gray;padding:2px}.demo-text-theme ul{display:flex;margin:0;padding:0}.demo-text-theme li{border-right:1px solid;height:40px;line-height:40px;list-style:none;text-align:center;width:20%}.demo-text-theme li:last-child{margin:0}.page-styles_color figure{margin-left:0;margin-right:0}.page-styles_color .hero button{margin:24px}.page-styles_color .demo-fixed-theme{position:fixed;right:0;top:70px;z-index:3}@media (max-width:599px){.page-styles_color .demo-fixed-theme{top:110px}}.page-styles_color .demo-main{display:flex;flex-wrap:wrap}.page-styles_color .demo-component-section{position:relative}.page-styles_color .demo-component-section+.demo-component-section{margin-top:48px}.page-styles_color .demo-component-section:before{background:#fbc02d;bottom:-16px;content:"";display:block;left:-16px;opacity:0;position:absolute;right:-16px;top:-16px;transition:opacity 1s;z-index:-1}.page-styles_color .demo-component-section--flash:before{opacity:.5;transition:none}.page-styles_color .demo-component-section__permalink{color:inherit;opacity:0}.demo-component-section:hover .page-styles_color .demo-component-section__permalink,.demo-component-section__heading--focus-within .page-styles_color .demo-component-section__permalink{opacity:1}.page-styles_color .demo-theme-color-section+.demo-theme-color-section{margin-top:36px}.page-styles_color .demo-theme-color-section__row{display:flex;flex-wrap:wrap}.page-styles_color .demo-fieldset--color{margin-right:36px}.page-styles_color .demo-theme-color-group{padding:16px 0}.page-styles_color .demo-theme-color-swatches{display:inline-flex;flex-direction:column;margin-right:16px}.page-styles_color .demo-theme-color-swatch{border-radius:4px;box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);box-sizing:border-box;display:inline-block;height:50px;line-height:50px;margin-bottom:8px;text-align:center;width:150px}.page-styles_color .demo-theme-bg--low-luminance{background-color:#3e2723}.page-styles_color .demo-theme-bg--high-luminance{background-color:#fff8e1}.page-styles_color .demo-theme-bg--custom-light{background-color:#ddd}.page-styles_color .demo-theme-bg--custom-dark{background-color:#1d1d1d}.page-styles_color .demo-theme-text-row{align-items:center;border:1px solid #f0f0f0;box-sizing:border-box;display:inline-flex;flex-direction:column;padding:16px}@media (min-width:768px){.page-styles_color .demo-theme-text-row{flex-direction:row}}.page-styles_color .demo-theme-text-style{padding:0 16px}.page-styles_color .demo-fieldset--button+.demo-fieldset--button{margin-top:16px}.page-styles_color .demo-button__code{font-size:smaller;text-transform:none}.page-styles_color .demo-card-wrapper{display:inline-block;margin:0 24px 24px 0;vertical-align:top}.page-styles_color .demo-card__media{background-image:url(../img/1-1.dfff3193.jpg)}.page-styles_color .demo-card__media--16-9{background-image:url(../img/16-9.058d7ce0.jpg)}.page-styles_color .demo-checkbox-row{align-items:center;display:flex;flex-wrap:wrap}.page-styles_color .demo-checkbox-toggle-button,.page-styles_color .demo-checkbox-wrapper{margin-right:10px}.page-styles_color .demo-checkbox-wrapper+.demo-checkbox-toggle-button{margin-left:20px}.page-styles_color .demo-dialog{justify-content:flex-start;position:relative;z-index:auto}.page-styles_color .demo-drawer-toggle{cursor:pointer;vertical-align:middle}.page-styles_color .demo-drawer-toggle:after,.page-styles_color .demo-drawer-toggle:before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.page-styles_color .demo-drawer-toggle.mdc-ripple-surface--hover:before,.page-styles_color .demo-drawer-toggle:hover:before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity,.08)}.page-styles_color .demo-drawer-toggle.mdc-ripple-upgraded--background-focused:before,.page-styles_color .demo-drawer-toggle:not(.mdc-ripple-upgraded):focus:before{opacity:.24;opacity:var(--mdc-ripple-focus-opacity,.24);transition-duration:75ms}.page-styles_color .demo-drawer-toggle:not(.mdc-ripple-upgraded):after{transition:opacity .15s linear}.page-styles_color .demo-drawer-toggle:not(.mdc-ripple-upgraded):active:after{opacity:.24;opacity:var(--mdc-ripple-press-opacity,.24);transition-duration:75ms}.page-styles_color .demo-drawer-toggle.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity,0.24)}.page-styles_color .demo-fab-row{display:flex;flex-wrap:wrap}.page-styles_color .demo-fab{margin:16px 0 0}.page-styles_color .demo-fab-tile{margin:0 48px 1em 0}.page-styles_color .demo-fab-tile__title{font-weight:500}.page-styles_color .demo-fab-tile__snippet{height:2em}.page-styles_color .mdc-icon-button{display:inline-flex}.page-styles_color .demo-icon-toggle-row{display:flex;flex-wrap:wrap}.page-styles_color .demo-icon-toggle-tile{border-radius:5px;margin:0 10px 10px 0;padding:20px;text-align:center;width:200px}.page-styles_color .demo-progress-row{margin:32px 0}.page-styles_color .demo-progress-row+.demo-progress-row{margin-top:64px}.page-styles_color .demo-radio-group{display:inline-block;margin:0 24px 24px 0}.page-styles_color .demo-radio-form-field{margin-right:8px}.page-styles_color .demo-switch-wrapper{display:inline-block;margin:16px 16px 0 0}.page-styles_color .demo-figure--tab-bar+.demo-figure--tab-bar{margin-top:36px}.page-styles_color .demo-tab-bar{margin:0}.page-styles_color .demo-text-field-wrapper{display:inline-block;margin:16px 16px 0 0}.page-styles_color .demo-text-field{margin-top:0!important}.component-section{margin:10px 5% 40px;min-height:240px;width:90%}.component-section .mdc-typography--headline6{margin-top:0}.component-section .component-wrapper{align-items:center;display:flex;justify-content:center;position:relative}.component-section .component-wrapper.space-around{justify-content:space-around}.component-section .component-wrapper.no-flex{display:block}.component-section .component-wrapper .mdc-drawer,.component-section .component-wrapper .mdc-top-app-bar{display:block;position:static;top:auto!important;z-index:0}.component-section .component-wrapper .mdc-drawer{border-style:solid;border-width:1px}.component-section .component-wrapper .mdc-menu-surface{z-index:1}.component-section .component-wrapper .mdc-image-list__item{margin-bottom:16px}.component-section .list-component,.component-section .select-component,.component-section .textfield-component{display:block}.component-section .list-component .mdc-form-field,.component-section .select-component .mdc-form-field,.component-section .textfield-component .mdc-form-field{margin-bottom:16px}.component-section .list-component .mdc-deprecated-list,.component-section .select-component .mdc-deprecated-list,.component-section .textfield-component .mdc-deprecated-list{background:#fff;border:1px solid rgba(0,0,0,.1)}.component-section .menu-component .mdc-menu-surface{top:0}.component-section .mdc-image-list{-moz-column-count:2;column-count:2;-moz-column-gap:16px;column-gap:16px;max-height:600px;max-width:400px}@media (min-width:1241px){.component-section{margin:10px 5% 20px;width:40%}}.switch-theme .demo-theme-color-radio{border:1px solid #9e9e9e;border-radius:50%;display:block}.switch-theme .demo-theme-color-radio__inner{border:11px solid;border-radius:50%;display:block}.switch-theme [data-theme=baseline] .demo-theme-color-radio__inner{border-color:#6200ea #1de9b6 #1de9b6 #6200ea}.switch-theme [data-theme=black] .demo-theme-color-radio__inner{border-color:#212121 #64dd17 #64dd17 #212121}.switch-theme [data-theme=dark] .demo-theme-color-radio__inner{border-color:#ffd54f #ec407a #ec407a #ffd54f}.switch-theme [data-theme=shrine] .demo-theme-color-radio__inner{border-color:#442b2d #fcb8ab #fcb8ab #442b2d}.switch-theme .demo-theme-menu{min-width:320px}.switch-theme .demo-theme-menu__list-item--selected{background-color:#bdbdbd}.switch-theme .demo-theme-list{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-light,rgba(0,0,0,.87))}.mdc-typography--custom-style-1{color:red}.mdc-typography--custom-style-2{color:blue}.page-styles_typography .demo-typography--section{border:1px solid #ddd;margin:24px;padding:24px}.page-styles_typography .demo-typography--section>div{margin-bottom:20px}.page-styles_typography .demo-typography--headline>*{word-wrap:normal;display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-styles_typography .demo-typography--heading-baseline{margin-left:24px}.page-styles_typography .markdown-body table td:nth-child(2){color:currentColor;font-size:16px}.page-icons .icons-preview-code{display:flex;text-align:center}.page-icons .search-area{background-color:#fff;margin:0;position:sticky;top:112px;z-index:1}.page-icons .search-area-inner{display:flex}.page-icons .search-area-inner .mdc-text-field{flex:1}.page-icons .search-area-inner .mdc-select__anchor{width:auto}.page-icons #search{flex:1;text-indent:14px}.page-icons .search-helper{font-size:14px;padding:10px 16px}.page-icons .search-helper b{color:#6200ee}.page-icons .material-icons{overflow:hidden}.page-icons .mdc-deprecated-list-group__subheader{text-transform:capitalize}.page-icons .mdc-image-list__item{align-items:center;background:transparent;color:#757575;display:flex;flex-direction:column;height:120px;padding:8px;transition:all .4s;width:120px}.page-icons .mdc-image-list__item:hover{background-color:#e0e0e0}.page-icons .mdc-image-list__image-aspect-container{align-items:center;display:flex;flex:1;padding:0;position:static}.page-icons .mdc-image-list__image-aspect-container i{cursor:pointer}.page-icons .mdc-image-list__supporting{word-wrap:normal;display:inline-block;font-size:12px;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-icons .new-badge{background:#fe6363;border-radius:2px;color:#fff;font-size:10px;font-weight:500;padding:2px 3px;position:absolute;right:0;top:5px}@media (max-width:599px){.page-icons .search-area{top:104px}.page-icons #icon-type{min-width:auto}.page-icons .coloring-example .icons-preview-code{align-items:center;flex-wrap:wrap;justify-content:center}.page-icons .mdc-image-list__item{height:88px;width:88px}.page-icons .mdc-image-list__item .md-48{font-size:24px;height:24px;width:24px}.page-icons .mdc-image-list__item .mdc-image-list__supporting{display:none}}.page-icons .category-affix{background:#fff;bottom:0;box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);height:200px;overflow-y:auto;position:fixed;right:0;width:auto;z-index:11}.page-icons .category-affix .mdc-tab{justify-content:start;width:100%}.icons-preview{align-items:center;background-color:#f9f9f9;display:flex;flex-flow:column;padding:16px;width:128px}.icons-preview .icon-caption{font-size:13px;margin-top:8px}.icons-preview.icons-dark-bg{background-color:#333}.icons-preview.icons-dark-bg .icon-caption{color:#fff}.icons-preview .orange600{color:#fb8c00}.page-navigation_top-app-bar{width:100%}.page-navigation_top-app-bar .demo-paragraph{margin:0;padding:20px 28px}@media (max-width:599px){.page-navigation_top-app-bar .demo-paragraph{padding:16px}}.page-navigation_top-app-bar .demo-body{box-sizing:border-box;margin:0;padding:0}.page-containment_image-list .hero-image-list{margin:0;width:300px}.page-containment_image-list .hero-image-list .mdc-image-list__item{margin:2px;width:calc(20% - 4.2px)}.page-containment_image-list .hero-image-list .mdc-image-list__image{background-color:#000}.page-containment_image-list .standard-image-list{max-width:1000px}.page-containment_image-list .standard-image-list .mdc-image-list__image-aspect-container{padding-bottom:66.66667%}.page-containment_image-list .standard-image-list .mdc-image-list__item{margin:2px;width:calc(20% - 4.2px)}.page-containment_image-list .masonry-image-list{-moz-column-count:5;column-count:5;-moz-column-gap:16px;column-gap:16px;max-width:1000px}.page-containment_image-list .masonry-image-list .mdc-image-list__item{margin-bottom:16px}.page-containment_image-list .hide-supporting .mdc-image-list__supporting{display:none}.page-containment_image-list .rounded-corners .mdc-image-list__image{border-radius:8px}.page-containment_image-list .rounded-corners.mdc-image-list--with-text-protection .mdc-image-list__supporting{border-bottom-left-radius:8px;border-bottom-right-radius:8px;border-top-left-radius:0;border-top-right-radius:0}@media (max-width:599px){.page-containment_image-list .standard-image-list .mdc-image-list__item{margin:2px;width:calc(33.33333% - 4.33333px)}.page-containment_image-list .masonry-image-list{-moz-column-count:3;column-count:3;-moz-column-gap:16px;column-gap:16px}.page-containment_image-list .masonry-image-list .mdc-image-list__item{margin-bottom:16px}}.page-misc_ripple .hero{display:block;height:360px;padding:0}.page-misc_ripple .hero>div{height:100%;width:100%}.page-misc_ripple .demo-surface{align-items:center;cursor:pointer;display:flex;height:100px;justify-content:center;padding:1rem;-moz-user-select:none;user-select:none;-webkit-user-select:none;width:200px}.page-misc_ripple .demo-surface[data-mdc-ripple-is-unbounded]{height:24px;padding:12px;width:24px}.page-misc_ripple button.demo-surface{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;display:inline-block}.page-misc_ripple .demo{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-around}.page-misc_ripple .mdc-typography--headline6{margin:10px 0}@media (max-width:599px){.page-misc_ripple .demo{flex-direction:column;width:100%}.page-misc_ripple .demo-surface{margin:0 auto}}.page-misc_anchor .anchor-example-inner{display:flex;flex-direction:column;height:1000px;justify-content:space-around}.page-selection_file .list-enter,.page-selection_file .list-leave-to{opacity:0;transform:translateY(100%)}.page-selection_file .list-leave-active{position:absolute}.page-selection_file .preview-list{display:flex;flex-wrap:wrap;padding:1em 0 0 1em;position:relative}.page-selection_file .preview-list>.item{list-style:none;margin-bottom:1em;padding-right:1em;transition:all 1s;width:12.5%}.page-selection_file .preview-list>.item .inner{width:100%}.page-selection_file .preview-list>.item .preview{background-position:50%;background-repeat:no-repeat;background-size:cover;border:1px solid #ddd;border-radius:3px;display:block;height:0;padding-bottom:100%;width:100%}.page-selection_file .preview-list>.item .name{display:block;line-height:1.8em;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.page-selection_file .preview-list>.item .actions{align-items:center;display:flex;height:48px;justify-content:space-around}.page-selection_file .preview-list>.item.add-btn .mdc-file{background-color:#fff;border:1px solid #ddd;border-radius:3px;cursor:pointer;height:0;padding-bottom:100%;position:relative;width:100%}.page-selection_file .preview-list>.item.add-btn .add-icon{font-size:48px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}@media (max-width:640px){.page-selection_file .preview-list>.item{width:33.333%}}.page-containment_divider .hero-demo{align-items:center;display:flex;height:128px;justify-content:center;width:50%}.page-containment_divider .vertical-divider-demo{border:1px solid;height:120px;padding:10px;width:300px}.page-containment_divider .vertical-divider-demo .block{height:80px;width:80px}.page-containment_divider .vertical-divider-demo .red{background-color:red}.page-containment_divider .vertical-divider-demo .blue{background-color:blue}.page-misc_validator .form-item{margin-bottom:10px}.page-communication_skeleton .demo{max-width:600px}.page-communication_badge .demo{display:flex;flex-flow:wrap;justify-content:space-around}.page-communication_badge .demo .mdc-badge{margin-bottom:10px}.page-containment_form .mdc-form{border:1px solid;padding:10px}.page-containment_form .conditions-form .mdc-form__item>label{flex-basis:80px;margin-right:10px;text-align:right}.page-containment_form .conditions-form .mdc-select,.page-containment_form .conditions-form .mdc-text-field{min-width:200px}.page-communication_banner .hero-demo{width:100%}.page-communication_banner .hero-banner{height:52px;position:relative;z-index:auto}.page-communication_banner .hero-banner.mdc-banner--with-image{height:72px}.page-styles_shape .demos{display:flex;flex-wrap:wrap}.page-styles_shape .demo{align-items:center;background:#e5e5e5;display:flex;height:128px;justify-content:center;margin:0 10px 10px 0;width:128px}.page-styles_shape .mdc-shape--rounded.mdc-shape--medium{border-radius:16px}.page-styles_shape .mdc-shape--rounded.mdc-shape--large{border-radius:24px}.page-styles_shape .mdc-shape--cut.mdc-shape--small{-webkit-clip-path:polygon(0 4px,4px 0,calc(100% - 4px) 0,100% 4px,100% calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,0 calc(100% - 4px));clip-path:polygon(0 4px,4px 0,calc(100% - 4px) 0,100% 4px,100% calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,0 calc(100% - 4px))}.page-styles_shape .mdc-shape--cut.mdc-shape--medium{-webkit-clip-path:polygon(0 8px,8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px));clip-path:polygon(0 8px,8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px))}.page-styles_shape .mdc-shape--cut.mdc-shape--large{-webkit-clip-path:polygon(0 12px,12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px));clip-path:polygon(0 12px,12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px))}.ql-bubble .ql-tooltip,.ql-snow .ql-tooltip{z-index:2}.preview-dialog .mdc-dialog__title .close{position:absolute;right:0;top:0}.preview-dialog .mdc-dialog__surface{max-width:1024px}.preview-dialog .preview-content{margin:0 auto;min-height:320px;min-width:280px;padding:20px}.preview-code{word-wrap:break-word;overflow-wrap:break-word}.page-donate .hero{overflow:hidden}.page-donate .donate-method{background:none 50% no-repeat;background-size:contain;height:300px;list-style:none;margin:0 auto;width:256px}.page-donate .donate-method.alipay{background-image:url(../img/alipay.c0897c3c.png)}.page-donate .donate-method.wechatpay{background-image:url(../img/wechatpay.a1551a21.png)}.laravel-admin{background:url(../img/support/laravel-admin.85ddd851.png) 50% no-repeat;background-size:contain;display:block;height:73px;overflow:hidden;text-indent:100%;white-space:nowrap;width:320px}.page-misc_lazyload .masonry-image-list{-moz-column-count:5;column-count:5;-moz-column-gap:16px;column-gap:16px;max-width:1000px}.page-misc_lazyload .masonry-image-list .mdc-image-list__item{margin-bottom:16px} \ No newline at end of file diff --git a/index.html b/index.html index 9b85357..2059cdb 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -BalmUI

Hello BalmUI

A modular and customizable UI library based on Material Design and Vue 3

https://github.com/balmjs/balm-ui

\ No newline at end of file +BalmUI

Hello BalmUI

A modular and customizable UI library based on Material Design and Vue 3

https://github.com/balmjs/balm-ui

\ No newline at end of file diff --git a/js/app.a03b4498.js b/js/app.890acbc8.js similarity index 98% rename from js/app.a03b4498.js rename to js/app.890acbc8.js index f308589..5c4de26 100644 --- a/js/app.a03b4498.js +++ b/js/app.890acbc8.js @@ -1 +1 @@ -!function(){var e={65541:function(e,f,n){Promise.all([n.e(962),n.e(6095),n.e(7355),n.e(3800),n.e(7790),n.e(8233),n.e(569),n.e(8063),n.e(8966),n.e(238),n.e(5317),n.e(5349),n.e(7471),n.e(7324),n.e(9665),n.e(2815),n.e(3506),n.e(9256),n.e(7557),n.e(4763),n.e(7415),n.e(9315),n.e(6230),n.e(4970),n.e(4819),n.e(1041),n.e(3582)]).then(n.bind(n,54626))}},f={};function n(a){var t=f[a];if(void 0!==t)return t.exports;var c=f[a]={exports:{}};return e[a].call(c.exports,c,c.exports,n),c.exports}n.m=e,n.c=f,n.n=function(e){var f=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(f,{a:f}),f},function(){var e,f=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__};n.t=function(a,t){if(1&t&&(a=this(a)),8&t)return a;if("object"===typeof a&&a){if(4&t&&a.__esModule)return a;if(16&t&&"function"===typeof a.then)return a}var c=Object.create(null);n.r(c);var r={};e=e||[null,f({}),f([]),f(f)];for(var d=2&t&&a;"object"==typeof d&&!~e.indexOf(d);d=f(d))Object.getOwnPropertyNames(d).forEach((function(e){r[e]=function(){return a[e]}}));return r.default=function(){return a},n.d(c,r),c}}(),n.d=function(e,f){for(var a in f)n.o(f,a)&&!n.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:f[a]})},n.f={},n.e=function(e){return Promise.all(Object.keys(n.f).reduce((function(f,a){return n.f[a](e,f),f}),[]))},n.u=function(e){return"js/chunk/"+e+"."+{8:"62874f55",41:"e206455b",112:"1f91cea1",114:"2c8af894",211:"b054ae60",213:"424dd5f0",238:"3f196bef",249:"65dbd82c",252:"99d928bc",267:"20e50831",276:"a280793b",288:"c8105d82",353:"3f64315d",403:"e15d1be2",544:"0229e4a6",569:"7c5bff2f",598:"59c5e959",599:"83aeef0a",615:"1b5011b0",623:"b6512bd1",643:"1db9fcc4",679:"1e6f0c9e",680:"4ff6cf97",700:"15d92f5a",756:"cd2a9413",767:"a6af6d9d",785:"d035b387",791:"57dce3bd",801:"d3b6d1c4",813:"3e3dd1e9",872:"c4751d3b",901:"a350173a",953:"e73db08c",962:"f034ffb4",992:"72295188",1038:"43974f0d",1041:"2edc0493",1047:"49fb82c6",1049:"17553f46",1051:"95a0b918",1067:"d78aebec",1183:"ce3387b6",1189:"df5e3c70",1240:"45e9034a",1259:"83dee0b8",1272:"28308ec2",1279:"ec762351",1294:"85cb3cbb",1356:"ca5bcfd9",1394:"fe55cdba",1406:"d670e081",1407:"0bfa286a",1463:"63ce5b5c",1490:"b0186c2a",1497:"2e451175",1554:"af230b5b",1602:"eb4c773c",1676:"a570a560",1697:"6e2b687f",1709:"5a75f9bd",1711:"0ff279b1",1718:"cc1e94e7",1719:"bfce9ff5",1734:"e894e833",1767:"626480f5",1805:"0b519910",1892:"af2f60dc",1936:"e1a8bcc0",1958:"432f25e7",1965:"4f6228fe",1966:"26125f2a",1997:"68afc7f5",2009:"0a076850",2068:"ad833762",2126:"f00f4f9b",2152:"cf4786b8",2193:"21c02ef8",2221:"b27d7568",2259:"967d6edc",2285:"1b4455cb",2357:"2a3c3d43",2419:"467a94ae",2549:"e8adfbe8",2678:"bbff605a",2687:"69fee508",2693:"36f513f7",2703:"9bb16bcc",2787:"8ae07c56",2815:"b0487fd6",2869:"29afe3f2",2908:"e418659a",2945:"65ab3d82",2948:"7f5f8e03",2963:"9970da99",3e3:"48958cbb",3028:"e723c382",3058:"d7c65a8e",3104:"114ad5df",3137:"57a92d80",3148:"a9db2643",3185:"d7b409c8",3199:"ba640c27",3268:"27b28d9f",3282:"e1cd1c79",3406:"d81d74f9",3440:"cc4c87ca",3506:"6d941073",3535:"6fe4bd44",3546:"47c75af2",3574:"293cea76",3582:"4f787733",3600:"436fb75a",3603:"0814c0d8",3626:"b671d6b6",3664:"a7f061a7",3667:"8f6e505c",3678:"c28433ee",3701:"b998aded",3708:"473ab7d5",3719:"03bcc143",3727:"d74eed69",3732:"1050ec4c",3745:"8f9f2d43",3750:"b71bea9e",3800:"f9de3b92",3823:"cca270c0",3834:"ed666336",3873:"8ecc2645",3879:"5c59af56",3908:"25b4f45b",3913:"cee87e98",4026:"eb45e986",4039:"e80ae51e",4046:"937eb427",4085:"c5c7a301",4096:"a45be03e",4101:"b6e669ef",4102:"28646ec9",4146:"5361f689",4171:"c0138d5a",4182:"84a1d820",4184:"68a7069c",4189:"2a0eb0c2",4199:"628f2237",4203:"efab44ca",4223:"5fd0cce3",4245:"43574edd",4255:"2948f5d8",4256:"b60d7f64",4314:"4d510da9",4426:"950719f4",4432:"916bc830",4507:"4810594b",4517:"06be8b0a",4566:"7ede0fa3",4575:"70169d5c",4616:"ab8da783",4618:"c30c89e6",4644:"084311fe",4679:"d104994b",4725:"89696de0",4742:"5e5b82f8",4748:"eff94ba7",4763:"08f8b6b6",4775:"7606d543",4819:"b9832b4e",4840:"dcd66ace",4849:"83e59cc1",4912:"24c6a4de",4916:"1edcfd2a",4970:"baf58a7d",4985:"b257b1bf",5124:"919a31ad",5150:"4606921b",5166:"3428dc3f",5171:"1608d489",5202:"3a98302c",5317:"73498e53",5335:"f0b50a40",5348:"e98c120e",5349:"d30f3c27",5400:"cc83a0f4",5425:"e16ab52f",5454:"e36b4073",5523:"682986fe",5526:"79e1e5a8",5587:"0b80b91a",5632:"9eb99d52",5637:"9b9a9020",5779:"31e3ac2a",5877:"34960aca",5883:"2cc277c3",5904:"15fda5b8",5916:"fe230c53",5947:"ee2338c9",5969:"5dd42181",5977:"b985b3dd",5988:"5656547f",6065:"77013ec8",6068:"094c4d42",6090:"884919d9",6091:"729a29d5",6095:"20010ba0",6103:"939e010b",6127:"10fd8c4d",6230:"462cbe39",6239:"43079505",6269:"1b7b6088",6272:"d1400c2a",6293:"6c24aa9b",6311:"eadcd995",6335:"81b39920",6359:"9b9cb455",6371:"9a5c6f4d",6409:"7d51c249",6410:"5e4a7841",6435:"ff9435e0",6481:"b751eed7",6538:"f016aa12",6539:"68ee27cf",6622:"afdfe3c3",6728:"a4c540ae",6746:"ce2ce73f",6786:"4c079d74",6853:"8362f759",6881:"a689974d",6897:"f3f44ed6",6907:"e4a349c1",6947:"2e5155b1",6989:"a42f6eba",7027:"3f555a39",7038:"68a8d205",7054:"24cabcbc",7058:"30b7f686",7100:"229e1fba",7116:"1a90eed3",7154:"f90022e1",7163:"8d1e9a7f",7171:"e6e344bc",7215:"a8453a98",7228:"374fd2ca",7243:"e2bf8daa",7315:"94a93de9",7316:"213f9c41",7324:"6e8dadbb",7355:"6879655c",7394:"2b2c8c29",7415:"50c284bd",7419:"c0542ce0",7427:"875e0a5e",7446:"c9801120",7471:"8163a9fb",7474:"16e3e687",7478:"146c3d9d",7557:"e5271302",7656:"df05fe6f",7747:"7f714235",7790:"bb3b48ca",7793:"a37041bf",7810:"2831dd47",7819:"73e0f0fe",7847:"627d0a0a",7858:"57b2ecd7",7903:"2e5903fc",7919:"f02bdecb",7927:"9a661cad",7939:"2a98d174",7943:"884b911a",7964:"18570ebf",8023:"17c4bbd5",8063:"80d6efdc",8078:"643a203a",8132:"eff6d96f",8187:"d763d2f4",8233:"58d06813",8239:"b539460f",8241:"9e3d5fc5",8247:"da4889e1",8248:"fbb19a5c",8308:"8d26a4b7",8327:"2fdc80d9",8335:"e1364c3c",8437:"6642d2a3",8511:"786ce4c6",8543:"ae4511cb",8588:"f96303d6",8616:"77b58e62",8683:"2ae26d3a",8687:"7c84b3dd",8801:"b8de8136",8823:"8403c328",8833:"d6062d0c",8883:"473c86f9",8966:"a48226ca",9070:"aa5f9be7",9136:"dae316b0",9154:"42d3c138",9162:"1560eaf7",9256:"f8ff6bc7",9258:"8eb12598",9280:"4df794a8",9284:"0ba21873",9298:"afd7c072",9315:"96510868",9345:"ddef24fe",9418:"3f670858",9479:"a5117edf",9530:"b07d6493",9541:"058947af",9581:"e68edd23",9607:"4fde00fc",9610:"9a94bb05",9632:"b98d10a4",9643:"177399ff",9665:"698d1634",9668:"c680698b",9705:"3f3ff1b4",9810:"93249528",9814:"2b8f935d",9821:"555753f7",9860:"ab51481d",9868:"f2176065",9875:"2623b14f",9880:"0a81afd0",9885:"f483e818",9886:"11efa024",9945:"b419b0b3"}[e]+".js"},n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}(),n.o=function(e,f){return Object.prototype.hasOwnProperty.call(e,f)},function(){var e={},f="balm-ui:";n.l=function(a,t,c,r){if(e[a])e[a].push(t);else{var d,b;if(void 0!==c)for(var u=document.getElementsByTagName("script"),o=0;o=0)){if(t.push(c),e[a])return e[a];n.o(n.S,a)||(n.S[a]={});var r=n.S[a],d="balm-ui",b=[];if("default"===a)!function(e,f,n,a){var t=r[e]=r[e]||{},c=t[f];(!c||!c.loaded&&(!a!=!c.eager?a:d>c.from))&&(t[f]={get:n,from:d,eager:!!a})}("vue","3.3.4",(function(){return n.e(5166).then((function(){return function(){return n(5166)}}))}));return b.length?e[a]=Promise.all(b).then((function(){return e[a]=1})):e[a]=1}}}(),n.p="https://material.balmjs.com/",function(){var e=function(e){var f=function(e){return e.split(".").map((function(e){return+e==e?+e:e}))},n=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),a=n[1]?f(n[1]):[];return n[2]&&(a.length++,a.push.apply(a,f(n[2]))),n[3]&&(a.push([]),a.push.apply(a,f(n[3]))),a},f=function(f,n){f=e(f),n=e(n);for(var a=0;;){if(a>=f.length)return a=n.length)return"u"==c;var r=n[a],d=(typeof r)[0];if(c!=d)return"o"==c&&"n"==d||"s"==d||"u"==c;if("o"!=c&&"u"!=c&&t!=r)return t=n.length||"o"==(o=(typeof(u=n[r]))[0]))return!b||("u"==i?d>t&&!c:""==i!=c);if("u"==o){if(!b||"u"!=i)return!1}else if(b)if(i==o)if(d<=t){if(u!=f[d])return!1}else{if(c?u>f[d]:u=0)){if(t.push(c),e[a])return e[a];n.o(n.S,a)||(n.S[a]={});var r=n.S[a],d="balm-ui",b=[];if("default"===a)!function(e,f,n,a){var t=r[e]=r[e]||{},c=t[f];(!c||!c.loaded&&(!a!=!c.eager?a:d>c.from))&&(t[f]={get:n,from:d,eager:!!a})}("vue","3.3.4",(function(){return n.e(5166).then((function(){return function(){return n(5166)}}))}));return b.length?e[a]=Promise.all(b).then((function(){return e[a]=1})):e[a]=1}}}(),n.p="https://material.balmjs.com/",function(){var e=function(e){var f=function(e){return e.split(".").map((function(e){return+e==e?+e:e}))},n=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),a=n[1]?f(n[1]):[];return n[2]&&(a.length++,a.push.apply(a,f(n[2]))),n[3]&&(a.push([]),a.push.apply(a,f(n[3]))),a},f=function(f,n){f=e(f),n=e(n);for(var a=0;;){if(a>=f.length)return a=n.length)return"u"==c;var r=n[a],d=(typeof r)[0];if(c!=d)return"o"==c&&"n"==d||"s"==d||"u"==c;if("o"!=c&&"u"!=c&&t!=r)return t=n.length||"o"==(o=(typeof(u=n[r]))[0]))return!b||("u"==i?d>t&&!c:""==i!=c);if("u"==o){if(!b||"u"!=i)return!1}else if(b)if(i==o)if(d<=t){if(u!=f[d])return!1}else{if(c?u>f[d]:u[(0,d.createTextVNode)(" \u2190 "+(0,d.toDisplayString)(o.prev.name),1)])),_:1},8,["to"])):((0,d.openBlock)(),(0,d.createElementBlock)("span",n)),o.next?((0,d.openBlock)(),(0,d.createBlock)(r,{key:2,to:{name:o.next.url}},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)((0,d.toDisplayString)(o.next.name)+" \u2192 ",1)])),_:1},8,["to"])):((0,d.openBlock)(),(0,d.createElementBlock)("span",a))])}]])},33724:function(t,e,o){"use strict";o.r(e),o.d(e,{default:function(){return l}});var d=o(73114);const n=["innerHTML"];var a={name:"UiMarkdown",props:{text:{type:String,default:""},code:{type:Boolean,default:!1}},data(){return{html:this.text}},computed:{className(){return this.code?"snippet-code":"markdown-body"}},watch:{text(t){this.html=t,this.init()}},mounted(){this.init()},methods:{init(){this.html&&this.$nextTick((()=>{this.$prism.highlightAll()}))}}};var l=(0,o(83744).Z)(a,[["render",function(t,e,o,a,l,i){const c=(0,d.resolveComponent)("ui-skeleton");return l.html?((0,d.openBlock)(),(0,d.createElementBlock)("div",{key:0,class:(0,d.normalizeClass)(i.className),innerHTML:l.html},null,10,n)):((0,d.openBlock)(),(0,d.createBlock)(c,{key:1,active:""}))}]])},48558:function(t,e,o){"use strict";o.r(e),o.d(e,{default:function(){return l}});var d=o(73114);const n={class:"snippet-content"};var a={name:"UiSnippet",props:{code:{type:String,default:""}},data(){return{show:!1}}};var l=(0,o(83744).Z)(a,[["render",function(t,e,o,a,l,i){const c=(0,d.resolveComponent)("ui-button"),r=(0,d.resolveComponent)("ui-markdown"),s=(0,d.resolveComponent)("ui-collapse");return(0,d.openBlock)(),(0,d.createBlock)(s,{modelValue:l.show,"onUpdate:modelValue":e[0]||(e[0]=t=>l.show=t),class:"ui-snippet"},{toggle:(0,d.withCtx)((()=>[(0,d.createVNode)(c,{icon:l.show?"code":"settings_ethernet"},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)((0,d.toDisplayString)(l.show?"Hide":"Show")+" Code ",1)])),_:1},8,["icon"])])),default:(0,d.withCtx)((()=>[(0,d.createElementVNode)("div",n,[(0,d.createVNode)(r,{code:"",text:o.code},null,8,["text"])])])),_:1},8,["modelValue"])}]])},10067:function(t,e,o){"use strict";o.r(e),o.d(e,{default:function(){return i}});var d=o(73114);const n={class:"octicon octicon-mark-github",width:"32",height:"32",viewBox:"0 0 16 16","aria-hidden":"true"},a=[(0,d.createElementVNode)("path",{"fill-rule":"evenodd",d:"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"},null,-1)];var l={name:"SvgGithub"};var i=(0,o(83744).Z)(l,[["render",function(t,e,o,l,i,c){return(0,d.openBlock)(),(0,d.createElementBlock)("svg",n,a)}]])},99023:function(t,e,o){"use strict";o.r(e),o.d(e,{default:function(){return i}});var d=o(73114);const n={viewBox:"0 0 24 24","aria-hidden":"true"},a=[(0,d.createElementVNode)("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),(0,d.createElementVNode)("path",{d:"M23 12c0-6.07-4.93-11-11-11S1 5.93 1 12s4.93 11 11 11 11-4.93 11-11zM5 17.64C3.75 16.1 3 14.14 3 12c0-2.13.76-4.08 2-5.63v11.27zM17.64 5H6.36C7.9 3.75 9.86 3 12 3s4.1.75 5.64 2zM12 14.53L8.24 7h7.53L12 14.53zM17 9v8h-4l4-8zm-6 8H7V9l4 8zm6.64 2c-1.55 1.25-3.51 2-5.64 2s-4.1-.75-5.64-2h11.28zM21 12c0 2.14-.75 4.1-2 5.64V6.37c1.24 1.55 2 3.5 2 5.63z"},null,-1)];var l={name:"SvgLogo"};var i=(0,o(83744).Z)(l,[["render",function(t,e,o,l,i,c){return(0,d.openBlock)(),(0,d.createElementBlock)("svg",n,a)}]])},63665:function(t,e,o){"use strict";o.r(e),o.d(e,{default:function(){return s}});var d=o(73114);const n=(0,d.createElementVNode)("i",{class:"demo-theme-color-radio"},[(0,d.createElementVNode)("span",{class:"demo-theme-color-radio__inner"})],-1),a=(0,d.createElementVNode)("i",{class:"demo-theme-color-radio"},[(0,d.createElementVNode)("span",{class:"demo-theme-color-radio__inner"})],-1);var l=o(13361);const i=[{label:"Baseline (default)",value:"baseline"},{label:"Dark background (custom)",value:"dark"},{label:"Black primary (custom)",value:"black"},{label:"Shrine (custom)",value:"shrine"}],c=()=>{const t=(0,d.reactive)({open:!1,selectedTheme:"baseline"}),e=(0,l.Fg)(),o=(0,l.oR)();return{...(0,d.toRefs)(t),onSelected:function(d){let n,a,l=i[d.index].value;switch(l){case"dark":n="#ffd54f",a="#ec407a";break;case"black":n="#212121",a="#64dd17";break;case"shrine":n="#fcb8ab",a="#feeae6";break;default:n="#6200ee",a="#018786"}e.colors="shrine"===l?{primary:n,secondary:a,"on-primary":"#442b2d","on-secondary":"#442b2d"}:{primary:n,secondary:a},o.getTheme(),t.selectedTheme=l}}};var r={setup(){return{themeColorList:i,...c()}}};var s=(0,o(83744).Z)(r,[["render",function(t,e,o,l,i,c){const r=(0,d.resolveComponent)("ui-button"),s=(0,d.resolveComponent)("ui-menuitem-icon"),u=(0,d.resolveComponent)("ui-menuitem"),p=(0,d.resolveComponent)("ui-menu"),m=(0,d.resolveComponent)("ui-menu-anchor");return(0,d.openBlock)(),(0,d.createBlock)(m,{class:"switch-theme"},{default:(0,d.withCtx)((()=>[(0,d.createVNode)(r,{title:"Change theme colors","data-theme":t.selectedTheme,onClick:e[0]||(e[0]=e=>t.open=!0)},{default:(0,d.withCtx)((()=>[n])),_:1},8,["data-theme"]),(0,d.createVNode)(p,{modelValue:t.open,"onUpdate:modelValue":e[1]||(e[1]=e=>t.open=e),class:"demo-theme-menu",onSelected:t.onSelected},{default:(0,d.withCtx)((()=>[((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(l.themeColorList,((e,o)=>((0,d.openBlock)(),(0,d.createBlock)(u,{key:o,class:(0,d.normalizeClass)({"demo-theme-menu__list-item--selected":t.selectedTheme===e.value}),"data-theme":e.value},{default:(0,d.withCtx)((()=>[(0,d.createVNode)(s,null,{default:(0,d.withCtx)((()=>[a])),_:1}),(0,d.createTextVNode)(" "+(0,d.toDisplayString)(e.label),1)])),_:2},1032,["class","data-theme"])))),128))])),_:1},8,["modelValue","onSelected"])])),_:1})}]])},33750:function(t,e,o){"use strict";o.r(e),o.d(e,{default:function(){return r}});var d=o(73114);const n={class:"toc-affix"};var a=o(85870),l=o(98197);const i=document.documentElement||document.body;var c={name:"UiTocAffix",props:{items:{type:Object,default(){return{}}},withoutApis:{type:Boolean,default:!1},withoutCss:{type:Boolean,default:!1}},setup(){const{t:t}=(0,a.QT)();return{t:t}},data(){return{active:0,lastScrollTop:0,lastScrollTopCache:0}},computed:{offset(){return window.innerWidth>=l.$MIN_WIDTH?128:104}},mounted(){window.IE&&window.IE<=11||(this.lastScrollTop=this.getScrollTop(),this.$nextTick((()=>{const t=["usage","demo","apis","sass"].map((t=>{const e=document.getElementById(`ui-${t}`);return e?this.getElementTop(e)-this.offset:0})),e=t.filter((t=>t)).length,o=.5*document.body.clientHeight;window.addEventListener("balmScroll",(()=>{const d=this.getScrollTop(),n=d+o;if(d>this.lastScrollTop)for(let o=this.active+1;o=t[o];o++)this.active!==o&&(this.active=o,this.lastScrollTopCache=d);else if(dl.active=t),i.onChange]},{default:(0,d.withCtx)((()=>[(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createBlock)(c,{class:"v-anchor"},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)((0,d.toDisplayString)(a.t("page.usage")),1)])),_:1})),[[s,"#ui-usage","href"]]),(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createBlock)(c,{class:"v-anchor"},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)((0,d.toDisplayString)(a.t("page.demo")),1)])),_:1})),[[s,"#ui-demo","href"]]),((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(o.items,((t,e)=>(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createBlock)(c,{key:e,class:"v-anchor"},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)((0,d.toDisplayString)(t.name),1)])),_:2},1024)),[[s,t.id,"href"]]))),128)),o.withoutApis?(0,d.createCommentVNode)("",!0):(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createBlock)(c,{key:0,class:"v-anchor"},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)((0,d.toDisplayString)(a.t("page.apis")),1)])),_:1})),[[s,"#ui-apis","href"]]),o.withoutCss?(0,d.createCommentVNode)("",!0):(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createBlock)(c,{key:1,class:"v-anchor"},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)((0,d.toDisplayString)(a.t("page.sass")),1)])),_:1})),[[s,"#ui-sass","href"]]),(0,d.renderSlot)(t.$slots,"default")])),_:3},8,["modelValue","onUpdate:modelValue"])])),[[u,[2,8],void 0,{transition:!0}]])}]])},32476:function(t,e,o){"use strict";o.r(e),o.d(e,{default:function(){return u}});var d=o(73114);const n={class:"top-app-toolbar"},a={class:"pro",href:"https://pro.balmjs.com/",target:"_blank",rel:"noopener","aria-describedby":"balm-ui-pro"},l={href:"https://github.com/balmjs/balm-ui",target:"_blank",rel:"noopener"};var i=o(63665),c=o(10067),r=o(98197),s={name:"TopAppToolbar",components:{SwitchTheme:i.default,SvgGithub:c.default},props:{itemClass:{type:String,required:!0}},setup(){return{translations:r.translations}}};var u=(0,o(83744).Z)(s,[["render",function(t,e,o,i,c,r){const s=(0,d.resolveComponent)("switch-theme"),u=(0,d.resolveComponent)("ui-icon-button"),p=(0,d.resolveComponent)("ui-menuitem"),m=(0,d.resolveComponent)("ui-menu"),h=(0,d.resolveComponent)("ui-menu-anchor"),g=(0,d.resolveComponent)("svg-github"),b=(0,d.resolveDirective)("tooltip");return(0,d.openBlock)(),(0,d.createElementBlock)(d.Fragment,null,["styles.color"===t.$route.name?((0,d.openBlock)(),(0,d.createBlock)(s,{key:0})):(0,d.createCommentVNode)("",!0),(0,d.createElementVNode)("div",n,[(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createElementBlock)("a",a,[(0,d.createTextVNode)(" PRO ")])),[[b,"BalmUI Pro is now released"]]),(0,d.createVNode)(h,null,{default:(0,d.withCtx)((()=>[(0,d.createVNode)(u,{icon:"language",onClick:e[0]||(e[0]=e=>t.$store.showTranslations=!0)}),(0,d.createVNode)(m,{modelValue:t.$store.showTranslations,"onUpdate:modelValue":e[1]||(e[1]=e=>t.$store.showTranslations=e),onSelected:t.$store.setLang},{default:(0,d.withCtx)((()=>[((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(i.translations,(e=>((0,d.openBlock)(),(0,d.createBlock)(p,{key:e.value,item:e,selected:e.value===t.$store.lang},null,8,["item","selected"])))),128))])),_:1},8,["modelValue","onSelected"])])),_:1}),(0,d.withDirectives)((0,d.createVNode)(u,{class:(0,d.normalizeClass)([o.itemClass,"donate"]),icon:"support","aria-describedby":"donate",onClick:e[2]||(e[2]=e=>t.$router.push({name:"donate"}))},null,8,["class"]),[[b,"Support BalmUI"]]),(0,d.createElementVNode)("a",l,[(0,d.createVNode)(u,{class:(0,d.normalizeClass)([o.itemClass,"github"]),"aria-describedby":"github"},{default:(0,d.withCtx)((()=>[(0,d.createVNode)(g)])),_:1},8,["class"])])])],64)}]])},91355:function(t,e,o){"use strict";o.r(e),o.d(e,{default:function(){return l}});var d=o(73114);const n={class:"hero"};var a={name:"PageHome",metaInfo(){return{subtitle:"Home"}}};var l=(0,o(83744).Z)(a,[["render",function(t,e,o,a,l,i){const c=(0,d.resolveComponent)("ui-button"),r=(0,d.resolveDirective)("ripple");return(0,d.openBlock)(),(0,d.createElementBlock)("div",{class:(0,d.normalizeClass)(t.$tt("body1"))},[(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createElementBlock)("header",n,[(0,d.createElementVNode)("h1",{class:(0,d.normalizeClass)(t.$tt("headline1"))},"BalmUI for Vue3",2)])),[[r,void 0,void 0,{unbounded:!0}]]),(0,d.createElementVNode)("div",{class:(0,d.normalizeClass)([t.$tt("body2"),"pure-docs"])},[(0,d.createElementVNode)("p",{class:(0,d.normalizeClass)(t.$tt("subtitle1"))},(0,d.toDisplayString)(t.$t("home.slogan")),3),(0,d.createElementVNode)("p",{class:(0,d.normalizeClass)(t.$tt("subtitle2"))},(0,d.toDisplayString)(t.$t("home.title")),3),(0,d.createVNode)(c,{raised:"",onClick:e[0]||(e[0]=e=>t.$router.push({name:"guide.introduction"}))},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)((0,d.toDisplayString)(t.$t("home.get-started")),1)])),_:1})],2)],2)}]])},50873:function(t,e,o){"use strict";o.r(e),o.d(e,{default:function(){return y}});var d=o(73114),n=o(22201),a=o(85870),l=o(13361),i=o(32476),c=o(35125),r=o(98197),s=o(41536);const u={class:"balmui-body"},p=["href","onClick"],m={class:"balmui-version"},h={class:"version"},g=(0,d.createElementVNode)("a",{href:"https://balm.js.org/",target:"_blank",rel:"noopener"}," BalmJS ",-1),b={class:"version"},f="BalmUI",v={name:"AppLayout",inheritAttrs:!1,customOptions:{title:f,VERSION:r.VERSION,lazyLoadedTime:r.lazyLoadedTime,$MIN_WIDTH:r.$MIN_WIDTH,menu:s.default},metaInfo(){return{title:f}}};var y=Object.assign(v,{setup(t){const e=document.documentElement||document.body,o=(0,d.reactive)({drawerType:"permanent",drawerOpen:!1,isWideScreen:!0,httpLoading:!1,pageLoad:{loading:!1,progress:0,timer:null},showBanner:!1,hasNewVersion:!1}),{drawerType:v,drawerOpen:y,isWideScreen:k,pageLoad:w,showBanner:x,hasNewVersion:T}=(0,d.toRefs)(o),C=(0,d.ref)(null),q=(0,n.yj)(),S=(0,l.xN)(),{t:I,locale:$}=(0,a.QT)(),E=(0,l.oR)(),N=(0,l.VY)();function B(){o.isWideScreen=window.innerWidth>=r.$MIN_WIDTH,o.drawerType=o.isWideScreen?"permanent":"modal"}function D(){o.pageLoad.progress=1,clearInterval(o.pageLoad.timer)}function V(){o.pageLoad.progress<1?(o.pageLoad.progress+=.2,o.pageLoad.progress=+o.pageLoad.progress.toFixed(2)):D()}const j=(0,d.computed)((()=>(0,c.getPageClassName)("page",q.name)));function U(){o.showBanner=!1,o.hasNewVersion&&(E.serviceWorker.postMessage({action:"skipWaiting"}),o.hasNewVersion=!1)}function O(t,e){o.drawerOpen=!1,window.innerWidth{(0,d.nextTick)((()=>C.value.parentNode.removeAttribute("class"))),S.on("request",(()=>{o.httpLoading=!0})),S.on("response",(()=>{o.httpLoading=!1})),S.on("on-error",(t=>{N(t)})),S.on("page-loading",(()=>{o.pageLoad.loading=!0,o.pageLoad.progress=0,clearInterval(o.pageLoad.timer),o.pageLoad.timer=setInterval(V,r.lazyLoadedTime/5)})),S.on("page-loaded",(()=>{D(),setTimeout((()=>{o.pageLoad.loading=!1,e.scrollTop=0}),1)})),S.on("global-message",(t=>{o.showBanner=t})),S.on("switch-lang",(t=>{$.value=t})),S.on("refresh",(()=>{o.hasNewVersion=!0,o.showBanner=!0})),B(),window.addEventListener("balmResize",B),E.isFirstLoad&&(o.pageLoad.loading=!1,e.scrollTop=0),setTimeout((()=>{$.value=E.lang}),1)})),(0,d.onBeforeUnmount)((()=>{S.off(),window.removeEventListener("balmResize",B)})),(t,e)=>{const o=(0,d.resolveComponent)("ui-progress"),n=(0,d.resolveComponent)("router-view"),a=(0,d.resolveComponent)("router-link"),l=(0,d.resolveComponent)("ui-top-app-bar"),c=(0,d.resolveComponent)("ui-icon"),q=(0,d.resolveComponent)("ui-button"),S=(0,d.resolveComponent)("ui-banner"),$=(0,d.resolveComponent)("ui-drawer-title"),E=(0,d.resolveComponent)("ui-drawer-subtitle"),N=(0,d.resolveComponent)("ui-drawer-header"),B=(0,d.resolveComponent)("ui-badge"),D=(0,d.resolveComponent)("ui-nav-item"),V=(0,d.resolveComponent)("ui-list-divider"),_=(0,d.resolveComponent)("ui-list-group-subheader"),z=(0,d.resolveComponent)("ui-nav"),A=(0,d.resolveComponent)("ui-drawer-content"),M=(0,d.resolveComponent)("ui-drawer"),L=(0,d.resolveComponent)("ui-spinner");return(0,d.openBlock)(),(0,d.createElementBlock)("div",{ref_key:"root",ref:C,class:"balmui-container"},[(0,d.unref)(w).loading?((0,d.openBlock)(),(0,d.createBlock)(o,{key:0,class:"top-loading",progress:(0,d.unref)(w).progress},null,8,["progress"])):(0,d.createCommentVNode)("",!0),t.$store.noLayout?((0,d.openBlock)(),(0,d.createBlock)(n,{key:1,class:(0,d.normalizeClass)(j.value)},null,8,["class"])):((0,d.openBlock)(),(0,d.createElementBlock)(d.Fragment,{key:2},[(0,d.createVNode)(l,{class:"balmui-head","content-selector":".balmui-content","nav-id":"balmui-menu",fixed:"",onNav:e[0]||(e[0]=t=>y.value=!(0,d.unref)(y))},{toolbar:(0,d.withCtx)((t=>{let{toolbarItemClass:e}=t;return[(0,d.createVNode)((0,d.unref)(i.default),{"item-class":e},null,8,["item-class"])]})),default:(0,d.withCtx)((()=>[(0,d.createVNode)(a,{to:{name:"home"},class:(0,d.normalizeClass)(["catalog-title",t.$theme.getThemeClass("on-primary")])},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)((0,d.toDisplayString)(f))])),_:1},8,["class"])])),_:1}),(0,d.createVNode)(S,{modelValue:(0,d.unref)(x),"onUpdate:modelValue":e[1]||(e[1]=t=>(0,d.isRef)(x)?x.value=t:null),class:"global-message-banner",centered:"",fixed:"","with-image":"","mobile-stacked":""},{image:(0,d.withCtx)((()=>[(0,d.createVNode)(c,null,{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)((0,d.toDisplayString)((0,d.unref)(T)?"refresh":"celebration"),1)])),_:1})])),actions:(0,d.withCtx)((()=>[(0,d.createVNode)(q,{outlined:"",onClick:U},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)((0,d.toDisplayString)((0,d.unref)(T)?"Refresh":"Good Job"),1)])),_:1})])),default:(0,d.withCtx)((()=>[(0,d.unref)(T)?((0,d.openBlock)(),(0,d.createElementBlock)(d.Fragment,{key:0},[(0,d.createTextVNode)("New content is available.")],64)):((0,d.openBlock)(),(0,d.createElementBlock)(d.Fragment,{key:1},[(0,d.createTextVNode)("Welcome to BalmUI!")],64))])),_:1},8,["modelValue"]),(0,d.createElementVNode)("div",u,[(0,d.createElementVNode)("div",{class:(0,d.normalizeClass)(["balmui-drawer-container",{"balmui-drawer--mobile":!(0,d.unref)(k)}])},[(0,d.createVNode)(M,{modelValue:(0,d.unref)(y),"onUpdate:modelValue":e[2]||(e[2]=t=>(0,d.isRef)(y)?y.value=t:null),type:(0,d.unref)(v),class:"balmui-menu"},{default:(0,d.withCtx)((()=>[(0,d.createVNode)(N,null,{default:(0,d.withCtx)((()=>[(0,d.createVNode)($,null,{default:(0,d.withCtx)((()=>[(0,d.createVNode)(a,{to:{name:"home"},custom:""},{default:(0,d.withCtx)((t=>{let{navigate:e,href:o}=t;return[(0,d.createElementVNode)("a",{href:o,onClick:t=>O(t,e)}," BalmUI ",8,p)]})),_:1})])),_:1}),(0,d.createVNode)(E,null,{default:(0,d.withCtx)((()=>[(0,d.createElementVNode)("i",m,[(0,d.createTextVNode)(" v "),(0,d.createElementVNode)("span",h,(0,d.toDisplayString)((0,d.unref)(r.VERSION)),1)])])),_:1})])),_:1}),(0,d.createVNode)(A,null,{default:(0,d.withCtx)((()=>[(0,d.createVNode)(z,{class:"catalog-list"},{default:(0,d.withCtx)((()=>[((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)((0,d.unref)(s.default),((e,o)=>((0,d.openBlock)(),(0,d.createElementBlock)(d.Fragment,{key:`item${o}`},[e.url||e.isSubmenu?((0,d.openBlock)(),(0,d.createBlock)(a,{key:0,custom:"",to:{name:e.url}},{default:(0,d.withCtx)((o=>{let{navigate:n,href:a,isActive:l}=o;return[(0,d.createVNode)(D,{href:a,active:l,class:(0,d.normalizeClass)({submenu:e.isSubmenu,"no-icon":!e.icon}),onClick:t=>O(t,n)},{before:(0,d.withCtx)((o=>{let{iconClass:n}=o;return[e.icon?((0,d.openBlock)(),(0,d.createBlock)(c,{key:0,class:(0,d.normalizeClass)(["catalog-list-icon",n,t.$theme.getTextClass("secondary",t.$store.theme)])},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)((0,d.toDisplayString)(e.icon),1)])),_:2},1032,["class"])):(0,d.createCommentVNode)("",!0)]})),after:(0,d.withCtx)((()=>[e.plus?((0,d.openBlock)(),(0,d.createBlock)(B,{key:0,class:"plus",state:"info"},{badge:(0,d.withCtx)((()=>[(0,d.createTextVNode)("plus")])),_:1})):(0,d.createCommentVNode)("",!0),e.next?((0,d.openBlock)(),(0,d.createBlock)(B,{key:1,class:"next",state:"error"},{badge:(0,d.withCtx)((()=>[(0,d.createTextVNode)("next")])),_:1})):(0,d.createCommentVNode)("",!0)])),default:(0,d.withCtx)((()=>[(0,d.createElementVNode)("span",{class:(0,d.normalizeClass)(t.$theme.getTextClass("primary",t.$store.theme))},(0,d.toDisplayString)((0,d.unref)(I)(`menu.${e.name}`)),3)])),_:2},1032,["href","active","class","onClick"])]})),_:2},1032,["to"])):"-"===e?((0,d.openBlock)(),(0,d.createBlock)(V,{key:1})):"footer"===e?((0,d.openBlock)(),(0,d.createBlock)(_,{key:`footer${o}`},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)(" Powered by "),g])),_:2},1024)):((0,d.openBlock)(),(0,d.createBlock)(_,{key:3,class:(0,d.normalizeClass)(t.$theme.getTextClass("primary",t.$store.theme))},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)((0,d.toDisplayString)((0,d.unref)(I)(`menu.${e.name}`))+" ",1),(0,d.unref)(k)&&"guide"===e.name?((0,d.openBlock)(),(0,d.createElementBlock)("i",{key:0,class:(0,d.normalizeClass)(["balmui-version",t.$tt("subtitle2")])},[(0,d.createTextVNode)(" v "),(0,d.createElementVNode)("span",b,(0,d.toDisplayString)((0,d.unref)(r.VERSION)),1)],2)):(0,d.createCommentVNode)("",!0)])),_:2},1032,["class"]))],64)))),128))])),_:1})])),_:1})])),_:1},8,["modelValue","type"])],2),(0,d.createElementVNode)("div",{class:(0,d.normalizeClass)(["balmui-content",t.$theme.getThemeClass("background"),t.$theme.getTextClass("primary",t.$store.theme)])},[(0,d.unref)(w).loading?((0,d.openBlock)(),(0,d.createBlock)(L,{key:0,class:"page-loading",active:"","four-colored":""})):(0,d.createCommentVNode)("",!0),(0,d.createVNode)(n,null,{default:(0,d.withCtx)((t=>{let{Component:e}=t;return[(0,d.createVNode)(d.Transition,{name:"loading"},{default:(0,d.withCtx)((()=>[((0,d.openBlock)(),(0,d.createBlock)((0,d.resolveDynamicComponent)(e),{class:(0,d.normalizeClass)(j.value)},null,8,["class"]))])),_:2},1024)]})),_:1})],2)])],64))],512)}}})},62470:function(t,e,o){"use strict";o.r(e),o.d(e,{default:function(){return a}});var d=o(73114);var n={name:"BlankLayout",customOptions:{}};var a=(0,o(83744).Z)(n,[["render",function(t,e,o,n,a,l){const i=(0,d.resolveComponent)("router-view");return(0,d.openBlock)(),(0,d.createBlock)(i)}]])},82180:function(t,e,o){"use strict";o.r(e),o.d(e,{default:function(){return p}});var d=o(73114),n=o(13361),a=o(33445);const l={class:"ui-intro"},i=(0,d.createElementVNode)("p",null,"Coming Up...",-1),c={key:3},r={key:4},s={name:"DocsPage",customOptions:{}};var u=Object.assign(s,{props:{type:{type:String,default:"component"},name:{type:String,required:!0},demoCount:{type:[String,Number],default:0},apis:{type:Array,default(){return[]}},withoutCss:{type:Boolean,default:!1},bottomAffix:{type:Boolean,default:!1}},setup(t){const e=t,s=(0,n.oR)(),{t:u}=(0,a.default)(),p=(0,d.computed)((()=>["store","typography","validator"].includes(e.name))),m=(0,d.computed)((()=>function(t,e){let{type:o,name:d,apis:n,withoutCss:a}=t;const l={apis:n||[],css:!a||!1};let i={intro:"",usage:"",apis:[],css:""};if(i.intro=h(d,"intro",e),"utils"!==d){if(i.usage=h(d,"usage",e),l.apis){let t;if(l.apis.length)t=l.apis;else{t=["directive"===o?`v-${d}`:d]}i.apis=h(d,t,e)}l.css&&(i.css=h(d,"css",e))}return i}(e,p.value)));function h(t,e){let d,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];switch(e){case"css":let a=`${e}/${t}.md`,l=o(10909)(`./${a}`).default;d=l;break;case"usage":d={},(n?["requirement","default","individual"]:["default","individual"]).forEach((n=>{let a=`${e}/${t}/${n}.md`,l=o(10909)(`./${a}`).default;d[n]=l}));break;default:if(Array.isArray(e))d=e.map((e=>{let d=`${s.lang}/${t}/${e}.md`;return o(10909)(`./${d}`).default}));else{let n=`${s.lang}/${t}/${e}.md`,a=o(10909)(`./${n}`).default;d=a}}return d}return(0,d.onBeforeMount)((()=>s.initSnippet(e.name,e.demoCount))),(e,o)=>{const n=(0,d.resolveComponent)("ui-tab"),a=(0,d.resolveComponent)("ui-toc-affix"),s=(0,d.resolveComponent)("ui-markdown"),h=(0,d.resolveDirective)("anchor");return(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createElementBlock)("div",{class:(0,d.normalizeClass)(e.$tt("body1"))},[(0,d.createElementVNode)("header",{class:(0,d.normalizeClass)([e.$theme.getTextClassOnLight("primary"),"hero",t.type])},[(0,d.renderSlot)(e.$slots,"hero")],2),"icon"===t.name?((0,d.openBlock)(),(0,d.createBlock)(a,{key:0},{default:(0,d.withCtx)((()=>[(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createBlock)(n,{class:"v-anchor"},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)((0,d.toDisplayString)(e.$t("page.icons")),1)])),_:1})),[[h,"#ui-icons","href"]])])),_:1})):"theme"===t.name?((0,d.openBlock)(),(0,d.createBlock)(a,{key:1},{default:(0,d.withCtx)((()=>[(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createBlock)(n,{class:"v-anchor"},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)((0,d.toDisplayString)(e.$t("page.colors")),1)])),_:1})),[[h,"#ui-colors","href"]])])),_:1})):((0,d.openBlock)(),(0,d.createBlock)(a,{key:2,class:(0,d.normalizeClass)({"toc-affix--bottom":t.bottomAffix}),"without-apis":"store"===t.name,"without-css":t.withoutCss},null,8,["class","without-apis","without-css"])),(0,d.createElementVNode)("div",{class:(0,d.normalizeClass)(e.$tt("body2"))},[(0,d.createElementVNode)("div",l,[(0,d.createVNode)(s,{text:m.value.intro},null,8,["text"])]),(0,d.renderSlot)(e.$slots,"before"),(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createElementBlock)("h2",null,[(0,d.createTextVNode)("0. "+(0,d.toDisplayString)((0,d.unref)(u)("page.usage")),1)])),[[h,"ui-usage","id"]]),p.value?((0,d.openBlock)(),(0,d.createBlock)(s,{key:0,text:m.value.usage.requirement},null,8,["text"])):(0,d.createCommentVNode)("",!0),(0,d.createElementVNode)("h3",null,(0,d.toDisplayString)((0,d.unref)(u)("page.default-usage")),1),(0,d.createVNode)(s,{text:m.value.usage.default},null,8,["text"]),(0,d.createElementVNode)("h3",null,(0,d.toDisplayString)((0,d.unref)(u)("page.individual-usage")),1),(0,d.createVNode)(s,{text:m.value.usage.individual},null,8,["text"]),(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createElementBlock)("h2",null,[(0,d.createTextVNode)("1. "+(0,d.toDisplayString)((0,d.unref)(u)("page.demo")),1)])),[[h,"ui-demo","id"]]),"store"!==t.name?((0,d.openBlock)(),(0,d.createElementBlock)(d.Fragment,{key:1},[(0,d.renderSlot)(e.$slots,"default",{},(()=>[i])),(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createElementBlock)("h2",null,[(0,d.createTextVNode)("2. "+(0,d.toDisplayString)((0,d.unref)(u)("page.apis")),1)])),[[h,"ui-apis","id"]])],64)):(0,d.createCommentVNode)("",!0),((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(m.value.apis,((e,o)=>((0,d.openBlock)(),(0,d.createBlock)(s,{key:o,class:(0,d.normalizeClass)(["component-docs",t.apis[o]?`component--${t.apis[o]}`:""]),text:e},null,8,["class","text"])))),128)),t.withoutCss?(0,d.createCommentVNode)("",!0):((0,d.openBlock)(),(0,d.createElementBlock)(d.Fragment,{key:2},[(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createElementBlock)("h2",null,[(0,d.createTextVNode)("3. "+(0,d.toDisplayString)((0,d.unref)(u)("page.sass")),1)])),[[h,"ui-sass","id"]]),(0,d.createVNode)(s,{text:m.value.css},null,8,["text"])],64)),"icon"===t.name?(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createElementBlock)("h2",c,[(0,d.createTextVNode)(" 4. "+(0,d.toDisplayString)(e.$t("page.icon-list")),1)])),[[h,"ui-icons","id"]]):(0,d.createCommentVNode)("",!0),"theme"===t.name?(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createElementBlock)("h2",r,[(0,d.createTextVNode)(" 4. "+(0,d.toDisplayString)(e.$t("page.color-palette")),1)])),[[h,"ui-colors","id"]]):(0,d.createCommentVNode)("",!0),(0,d.renderSlot)(e.$slots,"after")],2)],2)),[[h,t.bottomAffix?64:128,void 0,{offset:!0}]])}}});var p=u},65049:function(t,e,o){"use strict";o.r(e),o.d(e,{default:function(){return l}});var d=o(73114),n=o(13361);const a={name:"PurePage",customOptions:{}};var l=Object.assign(a,{props:{name:{type:String,required:!0},prev:{type:[Object,null],default:null},next:{type:[Object,null],default:null}},setup(t){const e=t,a=(0,n.oR)(),l=(0,d.computed)((()=>{const t=`${a.lang}/guide/${e.name}.md`;return o(10909)(`./${t}`).default}));return(e,o)=>{const n=(0,d.resolveComponent)("ui-markdown"),a=(0,d.resolveComponent)("ui-footer-nav"),i=(0,d.resolveDirective)("anchor");return(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createElementBlock)("div",{class:(0,d.normalizeClass)(e.$tt("body1"))},[(0,d.createElementVNode)("div",{class:(0,d.normalizeClass)([e.$tt("body2"),"pure-docs"])},[(0,d.createVNode)(n,{text:l.value},null,8,["text"]),(0,d.createVNode)(a,{prev:t.prev,next:t.next},null,8,["prev","next"])],2)],2)),[[i,64,void 0,{html:!0,offset:!0}]])}}})},75802:function(t,e,o){"use strict";const d=o(2198).Z;e.default=d},98979:function(t,e,o){"use strict";const d=o(56611).Z;e.default=d},87244:function(t,e,o){"use strict";const d=o(38063).Z;e.default=d},54626:function(t,e,o){"use strict";o.r(e);var d=o(56510),n=o(67728);d.isIE?(0,d.killIE)():(0,n.default)()},76703:function(t,e,o){"use strict";o.r(e),o.d(e,{createAnalytics:function(){return l},statistics:function(){return i}});var d=o(98197);const n="G-KL224V1QB5";let a=null;function l(){if(d.isProd&&!a){function t(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],t("js",new Date),t("config",n),a=t}}function i(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Unknown";a?setTimeout((function(){a("set","page_path",t),a("event","page_view")}),200):l()}},57061:function(t,e,o){"use strict";o.r(e);var d=o(65049),n=o(82180),a=o(33724),l=o(48558),i=o(41468),c=o(33750),r=o(99023);e.default=function(t){t.component(d.default.name,d.default),t.component(n.default.name,n.default),t.component(a.default.name,a.default),t.component(l.default.name,l.default),t.component(i.default.name,i.default),t.component(c.default.name,c.default),t.component(r.default.name,r.default)}},50003:function(t,e,o){"use strict";o.r(e),o.d(e,{emotions:function(){return i},toolbar:function(){return n},toolbarOptions:function(){return l},toolbarTips:function(){return a}});const d=`${o(98197).domain}/images/demo/emoji`,n=[[{header:[!1,1,2,3,4,5,6]},{font:[]},{size:[]},{lineheight:[]}],["bold","italic","underline",{color:[]},{background:[]}],[{align:""},{align:"center"},{align:"right"},{align:"justify"}],[{list:"ordered"},{list:"bullet"},{indent:"+1"},{indent:"-1"},"blockquote","emoji"],["link","image","video"],["strike",{script:"super"},{script:"sub"},"divider"],["clean","undo","redo"],["preview"]],a={header:"Headline",font:"Font Famliy",size:"Font Size",lineheight:"Line Height",bold:"Bold",italic:"Italic",underline:"Underline",color:"Text Color",background:"Background Color",align:{default:"Left Align",center:"Center Align",right:"Right Align",justify:"Justify Align"},list:{ordered:"Ordered List",bullet:"Bullet List"},indent:{"+1":"Increase Indent","-1":"Decrease Indent"},blockquote:"Blockquote",emoji:"Emoji"},l={font:["Arial","Arial Black","Comic Sans MS","Courier New","Tahoma","Georgia","Helvetica","Segoe UI","Impact","Times New Roman","Verdana"],size:["8px","9px","10px","11px","12px","13px","14px","16px","18px","24px","36px","48px","60px","72px","96px"],lineheight:["1","1.2","1.5","1.6","1.8","2","2.4","2.8","3","4","5"]},i=[{type:"image",title:"Default",content:[{name:"oo",alt:"\u574f\u7b11",src:`${d}/p_huaixiao.png`},{name:"xx",alt:"\u8214\u5c4f",src:`${d}/p_tian.png`}]},{type:"emoji",title:"Emoji",content:[{name:"smile",value:"\ud83d\ude00"},{name:"cry",value:"\ud83d\ude06"}]},{type:"image",title:"Custom",content:[{name:"yy",alt:"\u795e\u517d",src:`${d}/g_shenshou.gif`},{name:"zz",alt:"\u6d6e\u4e91",src:`${d}/g_fuyun.gif`}]}]},98197:function(t,e,o){"use strict";o.r(e),o.d(e,{$MIN_WIDTH:function(){return r},MDI_INFO:function(){return n},VERSION:function(){return d},domain:function(){return i},isDev:function(){return a},isProd:function(){return l},lazyLoadedTime:function(){return c},themes:function(){return u},translations:function(){return s}});const d=o(4147).i8,n={version:"140",updated:"2023.04.06"},a=!1,l=!0,i=l?"//material.balmjs.com":"",c=1e3,r=1241,s=[{text:"English",value:"en"},{text:"\u4e2d\u6587",value:"zh"}],u={light:{primary:"#6200ee",secondary:"#018786",background:"#fff",surface:"#fff",error:"#b00020"},dark:{primary:"#bb86fc",secondary:"#03dac6",background:"#121212",surface:"#121212",error:"#cf6679"}}},41536:function(t,e,o){"use strict";o.r(e);const d=[{name:"guide",children:[{name:"introduction"},{name:"quick-start"},{name:"advanced"},{name:"ts"},{name:"kill-ie"},{name:"upgrade"}]},"-",{name:"styles",children:[{icon:"palette",name:"color"},{icon:"layers",name:"elevation"},{icon:"emoji_symbols",name:"icons"},{icon:"category",name:"shape"},{icon:"text_fields",name:"typography"}]},"-",{name:"actions",children:[{icon:"add_box",name:"button"},{icon:"add_circle_outline",name:"fab"},{icon:"add",name:"icon-button"},{icon:"add_box",name:"segmented-button"}]},"-",{name:"communication",children:[{icon:"feedback",name:"alert"},{icon:"category",name:"badge"},{icon:"trip_origin",name:"progress"},{icon:"pending",name:"spinner"},{icon:"call_to_action",name:"snackbar"},{icon:"call_to_action",name:"toast"},{icon:"notifications",name:"banner"},{icon:"feedback",name:"tooltip"},{icon:"notes",name:"skeleton",plus:!0}]},"-",{name:"containment",children:[{icon:"grid_on",name:"grid"},{icon:"video_label",name:"bottom-sheet",plus:!0},{icon:"video_label",name:"side-sheet",plus:!0},{icon:"category",name:"card"},{icon:"event_note",name:"dialog"},{icon:"event_note",name:"alert-dialog"},{icon:"event_note",name:"confirm-dialog"},{icon:"horizontal_rule",name:"divider"},{icon:"list",name:"list"},{icon:"view_comfy",name:"image-list"},{icon:"view_list",name:"form"},{icon:"table_view",name:"table"},{icon:"account_tree",name:"tree",plus:!0},{icon:"swap_vert",name:"collapse"}]},"-",{name:"navigation",children:[{icon:"video_label",name:"navigation-bar",plus:!0},{icon:"vertical_split",name:"drawer"},{icon:"tab",name:"tabs"},{icon:"web",name:"top-app-bar"},{icon:"pages",name:"pagination"}]},"-",{name:"selection",children:[{icon:"indeterminate_check_box",name:"chips"},{icon:"menu",name:"menu"},{icon:"menu",name:"select"},{icon:"check_box",name:"checkbox"},{icon:"radio_button_checked",name:"radio"},{icon:"linear_scale",name:"slider"},{icon:"toggle_off",name:"switch"},{icon:"today",name:"datepicker"},{icon:"date_range",name:"rangepicker"},{icon:"file_upload",name:"file"}]},"-",{name:"text-inputs",children:[{icon:"text_format",name:"textfield"},{icon:"text_format",name:"autocomplete"},{icon:"wysiwyg",name:"editor",plus:!0}]},"-",{name:"misc",children:[{icon:"api",name:"event"},{icon:"api",name:"validator"},{icon:"mouse",name:"debounce"},{icon:"texture",name:"ripple"},{icon:"anchor",name:"anchor",plus:!0},{icon:"content_copy",name:"copy",plus:!0},{icon:"touch_app",name:"longpress",plus:!0}]},"-",{icon:"storage",name:"store",link:!0},"-",{icon:"widgets",name:"utils",link:!0},"-","footer"];let n=[];for(let a of d)if("-"===a||"footer"===a)n.push(a);else if(n.push({icon:a.icon,name:a.name,url:!!a.link&&a.name}),a.children)for(let t of a.children){let e="icons"===t.name?t.name:`${a.name}.${t.name}`;n.push({isSubmenu:!0,icon:t.icon,name:t.name,url:e,plus:t.plus||!1})}e.default=n},41235:function(t,e,o){"use strict";o.r(e);var d=o(28325),n=o.n(d),a=(o(24335),o(29525),o(15251),o(35433),o(39980),o(57874),o(92447),o(96836),o(97193),o(75206),o(66263),o(98197));e.default=function(t){t.config.compilerOptions.isCustomElement=t=>t.startsWith("ui-"),t.config.globalProperties.$domain=a.domain,t.config.globalProperties.$prism=n(),t.config.globalProperties.$docs={props:{thead:["Name","Type","Default","Description"],tbody:["name","type","default",{field:"description",raw:!0}]},slots:{thead:["Name","Description","Slot"],tbody:["name","description","props"]},events:{thead:["Name","Type","Description"],tbody:["name","type","description"]},sass:{thead:["Variable","Description"],tbody:["var",{field:"description",raw:!0}]}}}},70533:function(t,e,o){"use strict";o.r(e);var d=o(13361);e.default={required:{validate(t){return!d.BM.isEmpty(t)},message:"%s is required"},mobile:{validate(t){return/^1[0-9]\d{9}$/.test(t)},message:"Invalid phone number"},password:{validate(t){return/^\w+$/.test(t)},message:"%s must be a letter, digit or underline"},email:{validate(t){return/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/.test(t)},message:"Invalid E-mail"}}},56510:function(t,e,o){"use strict";o.r(e),o.d(e,{isIE:function(){return n},killIE:function(){return a}});const d=(0,o(13361).Nt)();window.IE=d;const n=d&&d<=11,a=()=>{document.getElementsByTagName("body")[0].innerHTML='
\n

Your browser is out-of-date. Please download one of the up-to-date, free and excellent browsers for better security, speed and comfort.

\n

Recommended Choice\uff1aChrome

\n
'}},26452:function(t,e,o){"use strict";o.r(e);var d=o(85870),n=o(45286),a=o(48702);const l=new d.o({locale:"en",messages:{en:n,zh:a}});e.default=l},67728:function(t,e,o){"use strict";o.r(e),o.d(e,{default:function(){return ft}});var d=o(73114),n=o(94268),a=o(26452),l=o(80353),i=o(50873),c=o(57061),r=o(41235),s=o(13361),u=(o(25474),o(40100)),p=o(66326);const m={key:0,class:"mdc-skeleton__header"},h={class:"mdc-skeleton__content"},g={key:1,class:"mdc-skeleton-paragraph"},b={name:"UiSkeleton",customOptions:{}};var f=Object.assign(b,{props:{loading:{type:Boolean,default:!0},active:{type:Boolean,default:!1},avatar:{type:[Boolean,Object],default:!1},title:{type:[Boolean,Object],default:!0},paragraph:{type:[Boolean,Object],default:!0}},setup(t){const e=t,o=(0,d.computed)((()=>e.loading?{"mdc-skeleton":!0,"mdc-skeleton--with-avatar":e.avatar,"mdc-skeleton--active":e.active}:{})),n=(0,d.computed)((()=>"object"===(0,p.Z)(e.avatar)?e.avatar:{})),a=(0,d.computed)((()=>({"mdc-skeleton-avatar":!0,"mdc-skeleton-avatar--circle":"square"!==n.value.shape,"mdc-skeleton-avatar--large":"large"===n.value.size,"mdc-skeleton-avatar--small":"small"===n.value.size}))),l=(0,d.computed)((()=>{const{size:t}=n.value;return"number"===(0,p.Z)(t)?{width:`${t}px`,height:`${t}px`,lineHeight:`${t}px`}:{}})),i=(0,d.computed)((()=>{let t={};return!e.avatar&&e.paragraph&&(t={width:"38%"}),e.avatar&&e.paragraph&&(t={width:"50%"}),"object"===(0,p.Z)(e.title)&&e.title.width&&(t={width:e.title.width}),t})),c=(0,d.computed)((()=>{let t={};return e.avatar&&e.title||(t={width:"61%"}),"object"===(0,p.Z)(e.paragraph)&&e.paragraph.width&&(t={width:e.paragraph.width}),t})),r=(0,d.computed)((()=>{let t=0;return t=!e.avatar&&e.title?3:2,"object"===(0,p.Z)(e.paragraph)&&e.paragraph.rows&&(t=e.paragraph.rows),t}));return(e,n)=>((0,d.openBlock)(),(0,d.createElementBlock)("div",{class:(0,d.normalizeClass)(o.value)},[t.loading?((0,d.openBlock)(),(0,d.createElementBlock)(d.Fragment,{key:0},[t.avatar?((0,d.openBlock)(),(0,d.createElementBlock)("div",m,[(0,d.createElementVNode)("i",{class:(0,d.normalizeClass)(a.value),style:(0,d.normalizeStyle)(l.value)},null,6)])):(0,d.createCommentVNode)("",!0),(0,d.createElementVNode)("div",h,[t.title?((0,d.openBlock)(),(0,d.createElementBlock)("h3",{key:0,class:"mdc-skeleton-title",style:(0,d.normalizeStyle)(i.value)},null,4)):(0,d.createCommentVNode)("",!0),r.value?((0,d.openBlock)(),(0,d.createElementBlock)("ul",g,[((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(r.value,(t=>((0,d.openBlock)(),(0,d.createElementBlock)("li",{key:t,style:(0,d.normalizeStyle)(t===r.value?c.value:{})},null,4)))),128))])):(0,d.createCommentVNode)("",!0)])],64)):(0,d.renderSlot)(e.$slots,"default",{key:1})],2))}});var v=o(99315).Z,y=o(76580);var k=o(55415).Z;const w={dataFormat:{label:"label",value:"value",children:"children",hasChildren:"hasChildren",isLeaf:"isLeaf",disabled:"disabled"},EVENTS:{CHANGE:"update:modelValue",SELECTED:"selected"}},x={name:"UiTree",customOptions:{UI_TREE:w}};var T=Object.assign(x,{props:{modelValue:{type:[String,Array],default:""},filterParentNode:{type:Boolean,default:!1},data:{type:Array,default:()=>[]},dataFormat:{type:Object,default:()=>({})},maxLevel:{type:Number,default:0},multiple:{type:Boolean,default:!1},singleChecked:{type:Boolean,default:!1},loadData:{type:[Function,null],default:null},autoExpandParent:{type:Boolean,default:!1},defaultExpandedKeys:{type:Array,default:()=>[]},autoExpandSelected:{type:Boolean,default:!1},autoExpandAll:{type:Boolean,default:!1}},emits:[w.EVENTS.CHANGE,w.EVENTS.SELECTED],setup(t,e){let{expose:o,emit:n}=e;const a=t,l=(0,d.reactive)({$tree:null,nodeList:[],treeData:{dataFormat:Object.assign(w.dataFormat,a.dataFormat),maxLevel:a.maxLevel,nodeMap:new Map,selectedValue:a.modelValue,filterParentNode:a.filterParentNode,multiple:a.multiple,singleChecked:a.singleChecked,loadData:a.loadData,selectedEvent:{}}}),{nodeList:i,treeData:c}=(0,d.toRefs)(l),r=(0,d.computed)((()=>({"mdc-tree":!0,"mdc-tree--multiple":a.multiple})));function s(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a.data;l.nodeList=l.$tree.getData(t),l.nodeList.length&&(y.w.setExpanded(l.treeData,l.nodeList,{autoExpandParent:a.autoExpandParent,defaultExpandedKeys:a.defaultExpandedKeys,autoExpandAll:a.autoExpandAll}),y.w.setSelected(l.treeData,l.treeData.selectedValue,{nodeList:l.nodeList,autoExpandSelected:a.autoExpandSelected}))}function u(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];(0,d.nextTick)((()=>{e.length&&y.w.resetSelected(l.treeData,e),y.w.setSelected(l.treeData,t,{nodeList:l.nodeList,autoExpandSelected:a.autoExpandSelected}),l.treeData.selectedValue=t}))}(0,d.watch)((()=>a.modelValue),((t,e)=>{Array.isArray(t)?((t,e)=>{for(const o of new Set([...t,...e]))if(t.filter((t=>t===o)).length!==e.filter((t=>t===o)).length)return!1;return!0})(l.treeData.selectedValue,t)||u(t,e):l.treeData.selectedValue!==t&&u(t)})),(0,d.watch)((()=>a.data),(t=>s(t))),(0,d.watch)((()=>l.treeData.selectedValue),(t=>{n(w.EVENTS.CHANGE,t,l.treeData.selectedEvent),n(w.EVENTS.SELECTED,Array.isArray(t)?t.map((t=>p(t))):p(t))})),(0,d.onBeforeMount)((()=>{if(a.multiple&&!Array.isArray(l.treeData.selectedValue))throw new Error("[UiTree]: The 'modelValue' prop must be an array in the multiple tree")})),(0,d.onMounted)((()=>{l.$tree=new y.w(l.treeData),s()}));const p=t=>l.treeData.nodeMap.get(t);return o({updateNode:function(t,e,o){switch(t){case"create":y.w.createNode(l.treeData,e,o);break;case"delete":y.w.deleteNode(l.treeData,e,o);break;default:y.w.updateNode(l.treeData,e,o)}},getNode:p}),(t,e)=>((0,d.openBlock)(),(0,d.createElementBlock)("div",{class:(0,d.normalizeClass)(r.value)},[(0,d.renderSlot)(t.$slots,"default"),(0,d.createVNode)(k,{children:(0,d.unref)(i),"tree-data":(0,d.unref)(c)},(0,d.createSlots)({_:2},[(0,d.renderList)(t.$slots,((e,o)=>({name:o,fn:(0,d.withCtx)((e=>[(0,d.renderSlot)(t.$slots,o,(0,d.normalizeProps)((0,d.guardReactiveProps)(e)))]))})))]),1032,["children","tree-data"])],2))}});var C=T;const q={class:"mdc-navigation-bar__destinations"},S="UiNavigationBar",I={FIXED_ADJUST:{STANDARD:"mdc-navigation-bar--fixed-adjust",STACKED:"mdc-navigation-bar--stacked-fixed-adjust"}},$={name:S,customOptions:{name:S,UI_NAVIGATION_BAR:I}};var E=Object.assign($,{props:{contentSelector:{type:String,required:!0},stacked:{type:Boolean,default:!1},min:{type:Boolean,default:!1},max:{type:Boolean,default:!1}},setup(t){const e=t,o=(0,d.reactive)({destinations:4}),n=(0,d.computed)((()=>{let t=["mdc-navigation-bar",{"mdc-navigation-bar--stacked":e.stacked}];const d=Math.floor(100/o.destinations);return t.push(`mdc-navigation-bar--dest-${d}`),t}));return(0,d.onBeforeMount)((()=>{e.contentSelector||console.error(`[${S}]: The 'contentSelector' prop is required`),e.min?o.destinations=3:e.max&&(o.destinations=5)})),(0,d.onMounted)((()=>function(){const t=document.querySelector(e.contentSelector),o=document.createElement("div");o.classList.add(e.stacked?I.FIXED_ADJUST.STACKED:I.FIXED_ADJUST.STANDARD),t.appendChild(o)}())),(t,e)=>((0,d.openBlock)(),(0,d.createElementBlock)("div",{class:(0,d.normalizeClass)(n.value)},[(0,d.createElementVNode)("div",q,[(0,d.renderSlot)(t.$slots,"default")])],2))}});const N={key:0,class:"mdc-bottom-sheet__content"},B={EVENTS:{CHANGE:"update:modelValue"}},D={name:"UiBottomSheet",customOptions:{UI_BOTTOM_SHEET:B}};var V=Object.assign(D,{props:{modelValue:{type:Boolean,default:!1}},emits:[B.EVENTS.CHANGE],setup(t,e){let{emit:o}=e;const n=t,a=(0,d.reactive)({closing:!1}),l=(0,d.computed)((()=>({"mdc-bottom-sheet":!0,"mdc-bottom-sheet--open":n.modelValue,"mdc-bottom-sheet--closing":a.closing})));function i(){a.closing=!0,setTimeout((()=>{o(B.EVENTS.CHANGE,!1),a.closing=!1}),300)}return(e,o)=>((0,d.openBlock)(),(0,d.createElementBlock)("div",{class:(0,d.normalizeClass)(l.value)},[(0,d.createVNode)(d.Transition,{name:"mdc-slide"},{default:(0,d.withCtx)((()=>[t.modelValue?((0,d.openBlock)(),(0,d.createElementBlock)("div",N,[(0,d.renderSlot)(e.$slots,"default")])):(0,d.createCommentVNode)("",!0)])),_:3}),(0,d.createElementVNode)("div",{class:"mdc-bottom-sheet__scrim",onClick:i})],2))}});const j={class:"mdc-navigation-rail"},U={class:"mdc-navigation-rail__menu"},O={class:"mdc-navigation-rail__key-action"},_={class:"mdc-navigation-rail__destinations"},z={key:0},A={name:"UiNavigationRail",customOptions:{}};var M=Object.assign(A,{props:{items:{type:Array,default:()=>[]}},setup(t){return(e,o)=>{const n=(0,d.resolveComponent)("mdc-icon-button");return(0,d.openBlock)(),(0,d.createElementBlock)("div",j,[(0,d.createElementVNode)("div",U,[(0,d.renderSlot)(e.$slots,"menu",{},(()=>[e.hasMenu?((0,d.openBlock)(),(0,d.createBlock)(n,{key:0,class:"mdc-navigation-rail__navigation-icon"},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)(" menu ")])),_:1})):(0,d.createCommentVNode)("",!0)]))]),(0,d.createElementVNode)("div",O,[(0,d.renderSlot)(e.$slots,"key-action")]),(0,d.createElementVNode)("div",_,[(0,d.renderSlot)(e.$slots,"default",{},(()=>[t.items.length?((0,d.openBlock)(),(0,d.createElementBlock)("ul",z,[((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(t.items,((e,o)=>((0,d.openBlock)(),(0,d.createElementBlock)("li",{key:o},(0,d.toDisplayString)(t.items),1)))),128))])):(0,d.createCommentVNode)("",!0)]))])])}}}),L=o(1065);const P={key:0,class:"mdc-side-sheet__container"},R={class:"mdc-side-sheet__wrapper"},F={key:0,class:"mdc-side-sheet__header"},H={class:"mdc-side-sheet__title"},G={class:"mdc-side-sheet__content"},Z={key:0,class:"mdc-side-sheet__actions"},W={EVENTS:{CHANGE:"update:modelValue"}},K={name:"UiSideSheet",customOptions:{UI_SIDE_SHEET:W}};var Y=Object.assign(K,{props:{modelValue:{type:Boolean,default:!1},closable:{type:Boolean,default:!1}},emits:[W.EVENTS.CHANGE],setup(t,e){let{emit:o}=e;const n=t,a=(0,d.useSlots)(),l=(0,d.reactive)({closing:!1}),i=(0,d.computed)((()=>({"mdc-side-sheet":!0,"mdc-side-sheet--open":n.modelValue,"mdc-side-sheet--closing":l.closing}))),c=(0,d.computed)((()=>a.title||n.closable)),r=(0,d.computed)((()=>a.actions));function s(){l.closing=!0,setTimeout((()=>{o(W.EVENTS.CHANGE,!1),l.closing=!1}),300)}return(e,o)=>((0,d.openBlock)(),(0,d.createElementBlock)("div",{class:(0,d.normalizeClass)(i.value)},[(0,d.createVNode)(d.Transition,{name:"mdc-side-sheet"},{default:(0,d.withCtx)((()=>[t.modelValue?((0,d.openBlock)(),(0,d.createElementBlock)("div",P,[(0,d.createElementVNode)("div",R,[c.value?((0,d.openBlock)(),(0,d.createElementBlock)("header",F,[(0,d.createElementVNode)("h4",H,[(0,d.renderSlot)(e.$slots,"title")]),t.closable?((0,d.openBlock)(),(0,d.createBlock)(L.Z,{key:0,tabindex:"-1",onClick:o[0]||(o[0]=t=>s())},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)(" close ")])),_:1})):(0,d.createCommentVNode)("",!0)])):(0,d.createCommentVNode)("",!0),(0,d.createElementVNode)("div",G,[(0,d.renderSlot)(e.$slots,"default")])]),r.value?((0,d.openBlock)(),(0,d.createElementBlock)("footer",Z,[(0,d.renderSlot)(e.$slots,"actions")])):(0,d.createCommentVNode)("",!0)])):(0,d.createCommentVNode)("",!0)])),_:3}),(0,d.createElementVNode)("div",{class:"mdc-side-sheet__scrim",onClick:s})],2))}});const J={src:"",delay:300,scrollEvent:"scroll"};let X=J,Q=!0;const tt=(t,e)=>{const o="IMG"===t.tagName?t:t.querySelector("img");if(!o||"IMG"!==o.tagName)throw Q=!1,new Error("[v-lazyload]: element not found");e(o)},et={init(t,e){t.setAttribute("data-src",e),t.setAttribute("src",X.src)},observe(t){new IntersectionObserver((e=>{const o=t.dataset.src;e[0].isIntersecting&&o&&(t.src=o,t.removeAttribute("data-src"))})).observe(t)},listenerScroll(t){const e=et.throttle(et.load,X.delay);et.load(t),window.addEventListener(X.scrollEvent,(()=>{e(t)}))},load(t){const e=document.documentElement.clientHeight,o=t.getBoundingClientRect().top,d=t.getBoundingClientRect().bottom;if(o-e<0&&d>0){const e=t.dataset.src;e&&(t.src=e,t.removeAttribute("data-src"))}},throttle(t,e){let o,d;return function(){for(var n=arguments.length,a=new Array(n),l=0;le)return d=i,t.apply(c,a),void clearTimeout(o);o=setTimeout((function(){d=Date.now(),o=null,t.apply(c,a)}),e)}}},ot={name:"lazyload",definition:{beforeMount(t,e){let{value:o}=e;Q&&tt(t,(t=>{et.init(t,o)}))},mounted(t){Q&&tt(t,(t=>IntersectionObserver?et.observe(t):et.listenerScroll(t)))}}};const dt={install:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};X=Object.assign({},J,e),t.directive(ot.name,ot.definition)}};let nt={cssClasses:{outer:"v-anchor--html",inner:"v-anchor"},body:null,offset:0};const at=t=>{let e=document.querySelector(t);e?nt.body.scrollTop=e.offsetTop-nt.offset:console.warn("[v-anchor]",`Invalid anchor: ${t}`)},lt=(t,e,o)=>{let{value:d,arg:n,modifiers:a}=o;switch(n){case"href":e.dataset.href=d,e[`${t}EventListener`]("click",(()=>{at(d)}));break;case"id":e.setAttribute("id",d)}a.html&&e.classList[t](nt.cssClasses.outer)},it=function(t){let e=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:document).querySelectorAll(`.${nt.cssClasses.outer} .${nt.cssClasses.inner}`);e.length&&e.forEach((e=>{e[`${t}EventListener`]("click",(()=>{at(e.dataset.href)}))}))};function ct(t,e){let{callback:o,delay:d}=e,n=null;function a(t){"click"===t.type&&0!==t.button||null===n&&(n=setTimeout((()=>{!function(t){o(t)}(t)}),d||2e3))}function l(t){null!==n&&(clearTimeout(n),n=null)}t.addEventListener("mousedown",a),t.addEventListener("touchstart",a),t.addEventListener("click",l),t.addEventListener("mouseout",l),t.addEventListener("touchend",l),t.addEventListener("touchcancel",l)}const rt={UiEditor:v,UiSideSheet:Y,UiSkeleton:f,UiTree:C,UiTreeNode:k,UiBottomSheet:V,UiNavigationBar:E,UiNavigationRail:M},st={$lazyload:dt},ut={vAnchor:{name:"anchor",beforeMount(t,e){lt("add",t,e)},mounted(t,e){((t,e)=>{let{value:o,modifiers:d}=e;Object.keys(d).length&&(nt.body=d.bodyElement?t:document.documentElement||document.body,nt.offset=d.offset?o:nt.body.dataset.vanchorOffset||0)})(t,e),e.modifiers.html&&it("add")},updated(t,e,o){e.modifiers.html&&it("add",o.el)},beforeUnmount(t,e){t===nt.body&&(nt.body=document.documentElement||document.body),lt("remove",t,e),e.modifiers.html&&it("remove")}},vCopy:{name:"copy",beforeMount(t,e){let{value:o}=e;if("object"!==(0,p.Z)(o))throw new Error("[v-copy]: The 'value' must be an object ({ text: string; success: Function; error?: Function })");{const{text:e,success:d,error:n}=o;"function"!==(0,p.Z)(d)&&console.warn("[v-copy]: The 'success' must be a function"),t.$value=e,t.handler=()=>{if(!t.$value)return void(n&&n());const e=document.createElement("textarea");e.readOnly=!0,e.style.position="absolute",e.style.left="-9999px",e.value=t.$value,document.body.appendChild(e),e.select();document.execCommand("copy")&&d(),document.body.removeChild(e)},t.addEventListener("click",t.handler)}},updated(t,e){let{value:o}=e;t.$value=o.text},unmounted(t){t.removeEventListener("click",t.handler)}},vLongpress:{name:"longpress",beforeMount(t,e){let{value:o}=e;if("function"===(0,p.Z)(o))ct(t,{callback:o});else{if("object"!==(0,p.Z)(o))throw new Error("[v-longpress]: The 'value' must be an object ({ callback: Function, delay?: number })");"function"!==(0,p.Z)(o.callback)&&console.warn("[v-longpress]: The 'callback' must be a function"),ct(t,o)}},updated(t,e){let{value:o}=e;t.$value=o},unmounted(t){t.removeEventListener("click",t.handler)}}},pt={install:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,u.Z)(t,e,{Components:rt,Plugins:st,Directives:ut})}};var mt=pt,ht=o(4919),gt=o(70533),bt=o(50003);o(61784);var ft=function(){const t=(0,d.createApp)(i.default);t.use(n.default),t.use(a.default),t.use(l.default),t.use(s.ZP,{$store:ht.default,$typography:["custom-style-1","custom-style-2"],$validator:gt.default}),t.use(mt,{UiEditor:{toolbarTips:bt.toolbarTips,toolbarOptions:bt.toolbarOptions,emotions:bt.emotions}}),(0,c.default)(t),(0,r.default)(t),n.default.isReady().then((()=>t.mount("#app")))}},61784:function(t,e,o){"use strict";o.r(e);var d=o(13361);o(98197).isProd&&"serviceWorker"in navigator&&window.addEventListener("load",(()=>{let t;navigator.serviceWorker.register("/sw.js").then((t=>{let e;console.log("THX BalmJS - https://github.com/balmjs/balm"),t.addEventListener("updatefound",(()=>{e=t.installing,e.addEventListener("statechange",(()=>{if("installed"===e.state)if(navigator.serviceWorker.controller){const t=(0,d.xN)();(0,d.oR)().serviceWorker=e,t.emit("refresh")}}))}))})).catch((t=>console.error("GG",t))),navigator.serviceWorker.addEventListener("controllerchange",(()=>{t||(window.location.reload(),t=!0)}))}))},80353:function(t,e,o){"use strict";o.r(e),o.d(e,{useHttp:function(){return a}});var d=o(52861);const n=(0,o(13361).xN)();d.Z.interceptors.request.use((t=>(t.loading&&n.emit("request"),t)),(t=>Promise.reject(t))),d.Z.interceptors.response.use((t=>(t.config.loading&&n.emit("response"),t.data)),(t=>(t.response?n.emit("on-error","Response Error"):t.request?n.emit("on-error","Request Error"):n.emit("on-error","Unknown Error"),Promise.reject(t))));const a=()=>d.Z;e.default={install(t){t.config.globalProperties.$http=d.Z,t.provide("http",d.Z)}}},94268:function(t,e,o){"use strict";o.r(e);var d=o(22201),n=o(5031),a=o(69100);const l=(0,d.PO)(),i=(0,d.p7)({history:l,routes:n.default});(0,a.initRouter)(i),e.default=i},5031:function(t,e,o){"use strict";o.r(e);var d=o(91355),n=o(62470),a=o(38822),l=o(35517),i=o(70222),c=o(64558),r=o(82104),s=o(21889),u=o(29177),p=o(88584),m=o(43554),h=o(12889);const g=[{path:"/",name:"home",component:d.default},{path:"/guide",name:"guide",redirect:{name:"guide.introduction"},component:n.default,children:a.default},{path:"/styles",name:"styles",redirect:{name:"styles.color"},component:n.default,children:l.default},{path:"/actions",name:"actions",redirect:{name:"actions.button"},component:n.default,children:i.default},{path:"/communication",name:"communication",redirect:{name:"communication.alert"},component:n.default,children:c.default},{path:"/containment",name:"containment",redirect:{name:"containment.grid"},component:n.default,children:r.default},{path:"/navigation",name:"navigation",redirect:{name:"navigation.drawer"},component:n.default,children:s.default},{path:"/selection",name:"selection",redirect:{name:"selection.chips"},component:n.default,children:u.default},{path:"/text-inputs",name:"text-inputs",redirect:{name:"text-inputs.textfield"},component:n.default,children:p.default},{path:"/misc",name:"misc",redirect:{name:"misc.event"},component:n.default,children:m.default},{path:"/store",name:"store",component:()=>o.e(813).then(o.bind(o,10813))},{path:"/utils",name:"utils",component:()=>o.e(2869).then(o.bind(o,42869))},{path:"/donate",name:"donate",component:()=>o.e(1997).then(o.bind(o,81997))},...h.default,{path:"/:catchAll(.*)",component:()=>o.e(9885).then(o.bind(o,19885))}];e.default=g},69100:function(t,e,o){"use strict";o.r(e),o.d(e,{initRouter:function(){return i}});var d=o(13361),n=o(35125),a=o(76703);const l="balmui";function i(t){const e=(0,d.xN)();t.beforeEach(((t,o,n)=>{const a=(0,d.oR)();a.noLayout=t.matched.some((t=>t.meta.noLayout)),a.isFirstLoad=!o.name,a&&!a.isFirstLoad&&e.emit("page-loading"),n()})),t.afterEach(((t,o)=>{const i=(0,d.oR)(),c=document.querySelector("html").classList,r=o.name,s=t.name;if(!s||(s.indexOf("-drawer")>-1||s.indexOf("-toolbar")>-1||["layouts.grid","layouts.top-app-bar","test"].includes(s))?c.add(`${l}-no-layout`):c.remove(`${l}-no-layout`),r){const t=(0,n.getPageClassName)(l,r);c.remove(...t)}if(s){const t=(0,n.getPageClassName)(l,s);c.add(...t)}s!==r&&(0,a.statistics)(t.fullPath),i&&!i.isFirstLoad&&e.emit("page-loaded")}))}},70222:function(t,e,o){"use strict";o.r(e);e.default=[{path:"button",name:"actions.button",component:()=>o.e(1676).then(o.bind(o,31676))},{path:"fab",name:"actions.fab",component:()=>o.e(8883).then(o.bind(o,48883))},{path:"icon-button",name:"actions.icon-button",component:()=>o.e(6435).then(o.bind(o,66435))},{path:"segmented-button",name:"actions.segmented-button",component:()=>o.e(6359).then(o.bind(o,30854))}]},64558:function(t,e,o){"use strict";o.r(e);e.default=[{path:"alert",name:"communication.alert",component:()=>o.e(4916).then(o.bind(o,24916))},{path:"badge",name:"communication.badge",component:()=>o.e(8683).then(o.bind(o,38683))},{path:"progress",name:"communication.progress",component:()=>o.e(9136).then(o.bind(o,38634))},{path:"spinner",name:"communication.spinner",component:()=>o.e(2357).then(o.bind(o,72357))},{path:"snackbar",name:"communication.snackbar",component:()=>o.e(4725).then(o.bind(o,34725))},{path:"toast",name:"communication.toast",component:()=>o.e(4146).then(o.bind(o,64146))},{path:"banner",name:"communication.banner",component:()=>o.e(5877).then(o.bind(o,45877))},{path:"tooltip",name:"communication.tooltip",component:()=>o.e(1356).then(o.bind(o,61356))},{path:"skeleton",name:"communication.skeleton",component:()=>o.e(6853).then(o.bind(o,90429))}]},82104:function(t,e,o){"use strict";o.r(e);e.default=[{path:"grid",name:"containment.grid",component:()=>o.e(7819).then(o.bind(o,27819)),meta:{noLayout:!0}},{path:"bottom-sheet",name:"containment.bottom-sheet",component:()=>o.e(4566).then(o.bind(o,64566))},{path:"side-sheet",name:"containment.side-sheet",component:()=>o.e(8248).then(o.bind(o,28248))},{path:"card",name:"containment.card",component:()=>o.e(9280).then(o.bind(o,49280))},{path:"dialog",name:"containment.dialog",component:()=>o.e(8437).then(o.bind(o,68437))},{path:"alert-dialog",name:"containment.alert-dialog",component:()=>o.e(2703).then(o.bind(o,52703))},{path:"confirm-dialog",name:"containment.confirm-dialog",component:()=>o.e(9345).then(o.bind(o,49345))},{path:"divider",name:"containment.divider",component:()=>o.e(9868).then(o.bind(o,69868))},{path:"list",name:"containment.list",component:()=>o.e(3406).then(o.bind(o,13406))},{path:"image-list",name:"containment.image-list",component:()=>o.e(8327).then(o.bind(o,28327))},{path:"form",name:"containment.form",component:()=>o.e(7116).then(o.bind(o,67116))},{path:"table",name:"containment.table",component:()=>o.e(8).then(o.bind(o,8))},{path:"tree",name:"containment.tree",component:()=>o.e(7927).then(o.bind(o,47927))},{path:"collapse",name:"containment.collapse",component:()=>o.e(6239).then(o.bind(o,56239))},{path:"lazyload",name:"containment.lazyload",component:()=>o.e(4223).then(o.bind(o,14223))}]},38822:function(t,e,o){"use strict";o.r(e);e.default=[{path:"introduction",name:"guide.introduction",component:()=>o.e(7943).then(o.bind(o,83390))},{path:"quick-start",name:"guide.quick-start",component:()=>o.e(767).then(o.bind(o,80767))},{path:"advanced",name:"guide.advanced",component:()=>o.e(8132).then(o.bind(o,8132))},{path:"typescript-support",name:"guide.ts",component:()=>o.e(7171).then(o.bind(o,17171))},{path:"kill-ie",name:"guide.kill-ie",component:()=>o.e(5904).then(o.bind(o,45904))},{path:"upgrade",name:"guide.upgrade",component:()=>o.e(1259).then(o.bind(o,9136))}]},43554:function(t,e,o){"use strict";o.r(e);e.default=[{path:"event",name:"misc.event",component:()=>o.e(1958).then(o.bind(o,31958))},{path:"validator",name:"misc.validator",component:()=>o.e(7903).then(o.bind(o,97903))},{path:"debounce",name:"misc.debounce",component:()=>o.e(2787).then(o.bind(o,22787))},{path:"ripple",name:"misc.ripple",component:()=>o.e(9880).then(o.bind(o,78767))},{path:"anchor",name:"misc.anchor",component:()=>o.e(9154).then(o.bind(o,19154))},{path:"copy",name:"misc.copy",component:()=>o.e(6335).then(o.bind(o,6335))},{path:"longpress",name:"misc.longpress",component:()=>o.e(6293).then(o.bind(o,66293))}]},21889:function(t,e,o){"use strict";o.r(e);e.default=[{path:"navigation-bar",name:"navigation.navigation-bar",component:()=>o.e(9530).then(o.bind(o,99530)),meta:{noLayout:!0}},{path:"drawer",name:"navigation.drawer",component:()=>o.e(9162).then(o.bind(o,79162))},{path:"permanent-drawer-above-toolbar",name:"navigation.permanent-drawer-above-toolbar",component:()=>o.e(5202).then(o.bind(o,95202)),meta:{noLayout:!0}},{path:"permanent-drawer-below-toolbar",name:"navigation.permanent-drawer-below-toolbar",component:()=>o.e(8241).then(o.bind(o,68241)),meta:{noLayout:!0}},{path:"dismissible-drawer-full-height-drawer",name:"navigation.dismissible-drawer-full-height-drawer",component:()=>o.e(4644).then(o.bind(o,64644)),meta:{noLayout:!0}},{path:"dismissible-drawer-below-top-app-bar",name:"navigation.dismissible-drawer-below-top-app-bar",component:()=>o.e(4189).then(o.bind(o,34189)),meta:{noLayout:!0}},{path:"modal-drawer",name:"navigation.modal-drawer",component:()=>o.e(6127).then(o.bind(o,46127)),meta:{noLayout:!0}},{path:"navigation-rail",name:"navigation.navigation-rail",component:()=>o.e(9668).then(o.bind(o,9668)),meta:{noLayout:!0}},{path:"tabs",name:"navigation.tabs",component:()=>o.e(9643).then(o.bind(o,99643))},{path:"top-app-bar",name:"navigation.top-app-bar",component:()=>o.e(8308).then(o.bind(o,78308)),meta:{noLayout:!0}},{path:"pagination",name:"navigation.pagination",component:()=>o.e(4102).then(o.bind(o,44102))}]},29177:function(t,e,o){"use strict";o.r(e);e.default=[{path:"menu",name:"selection.menu",component:()=>o.e(7228).then(o.bind(o,47228))},{path:"select",name:"selection.select",component:()=>o.e(3708).then(o.bind(o,53708))},{path:"checkbox",name:"selection.checkbox",component:()=>o.e(1711).then(o.bind(o,41711))},{path:"radio",name:"selection.radio",component:()=>o.e(7316).then(o.bind(o,37316))},{path:"chips",name:"selection.chips",component:()=>o.e(9418).then(o.bind(o,99418))},{path:"switch",name:"selection.switch",component:()=>o.e(7858).then(o.bind(o,37858))},{path:"slider",name:"selection.slider",component:()=>o.e(7939).then(o.bind(o,77939))},{path:"file",name:"selection.file",component:()=>o.e(801).then(o.bind(o,801))},{path:"datepicker",name:"selection.datepicker",component:()=>o.e(680).then(o.bind(o,60680))},{path:"rangepicker",name:"selection.rangepicker",component:()=>o.e(8801).then(o.bind(o,8801))}]},35517:function(t,e,o){"use strict";o.r(e);e.default=[{path:"color",name:"styles.color",component:()=>Promise.all([o.e(2152),o.e(4039)]).then(o.bind(o,4039))},{path:"elevation",name:"styles.elevation",component:()=>o.e(5779).then(o.bind(o,25779))},{path:"/icons",name:"icons",component:()=>Promise.all([o.e(2152),o.e(8239)]).then(o.bind(o,38578))},{path:"shape",name:"styles.shape",component:()=>o.e(5454).then(o.bind(o,85454))},{path:"typography",name:"styles.typography",component:()=>o.e(1965).then(o.bind(o,1965))}]},12889:function(t,e,o){"use strict";o.r(e);var d=o(62470);e.default=[{path:"/test",name:"test",redirect:{name:"test.composition"},component:d.default,children:[{path:"composition/:id?",name:"test.composition",component:()=>o.e(288).then(o.bind(o,288)),meta:{noLayout:!0}},{path:"options/:id?",name:"test.options",component:()=>o.e(4775).then(o.bind(o,34775)),meta:{noLayout:!0}}]}]},88584:function(t,e,o){"use strict";o.r(e);e.default=[{path:"textfield",name:"text-inputs.textfield",component:()=>o.e(9860).then(o.bind(o,19860))},{path:"autocomplete",name:"text-inputs.autocomplete",component:()=>o.e(2259).then(o.bind(o,22259))},{path:"editor",name:"text-inputs.editor",component:()=>o.e(1718).then(o.bind(o,61718))}]},4919:function(t,e,o){"use strict";o.r(e);var d=o(87684),n=o(18439),a=o(5635),l=o(83393);e.default={...(0,d.default)(),...(0,n.default)(),...(0,a.default)(),...(0,l.default)()}},18439:function(t,e,o){"use strict";o.r(e);var d=o(73114);const n=(0,o(13361).xN)(),a=(0,d.reactive)({lang:"",showTranslations:!1});function l(){return localStorage.getItem("lang")||"en"}function i(t){let{value:e}=t;a.lang=e,localStorage.setItem("lang",e),n.emit("switch-lang",e)}a.lang=l();e.default=()=>({...(0,d.toRefs)(a),getLang:l,setLang:i})},87684:function(t,e,o){"use strict";o.r(e);var d=o(73114);const n=(0,d.reactive)({noLayout:!1,isFirstLoad:!0,serviceWorker:null});e.default=()=>({...(0,d.toRefs)(n)})},83393:function(t,e,o){"use strict";o.r(e);var d=o(73114),n=o(35125);const a=(0,d.ref)([]);async function l(t,e){if(a.value=[],"utils"!==t&&e){a.value=[""];for(let o=1;o<=e;o++){const e=`snippets/${t}/demo${o}.md`,d=await(0,n.loadAsset)(e);a.value.push(d)}}}e.default=()=>({demos:a,initSnippet:l})},5635:function(t,e,o){"use strict";o.r(e);var d=o(73114),n=o(13361),a=o(98197);const l=(0,n.Fg)(),i=(0,d.reactive)({theme:"",themeColors:{}});function c(){return localStorage.getItem("theme")||"light"}function r(){["background","primary","on-primary","secondary","on-secondary","surface","on-surface","error","on-error"].forEach((t=>{i.themeColors[t]=l.getThemeColor(t)}))}function s(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i.theme;const e=a.themes[t];localStorage.setItem("theme",t),l.colors=e,r()}function u(){const t="dark"===i.theme?"light":"dark";i.theme=t,s(t)}i.theme=c(),s();e.default=()=>({...(0,d.toRefs)(i),getThemeName:c,getTheme:r,setTheme:s,switchTheme:u})},35125:function(t,e,o){"use strict";function d(t,e){const o=e?e.split("."):"",d=o[0]?`${t}-${o[0]}`:"";return[d,o[1]?`${d}_${o[1]}`:""].filter((t=>t))}async function n(t){try{return(await o(47562)(`./${t}`)).default}catch(e){console.warn(e.toString())}}function a(t){const e=document.createElement("a");e.setAttribute("href",t),e.setAttribute("target","_blank"),e.setAttribute("rel","noopener"),e.click()}o.r(e),o.d(e,{getPageClassName:function(){return d},loadAsset:function(){return n},openInNewTab:function(){return a}})},33445:function(t,e,o){"use strict";o.r(e);var d=o(85870);e.default=()=>{const{t:t}=(0,d.QT)();return{t:t}}},13361:function(t,e,o){"use strict";o.d(e,{ZP:function(){return Rc},Nt:function(){return zc},BM:function(){return _c},VY:function(){return Ii},xN:function(){return Tl},zX:function(){return xl},oR:function(){return Nl},Fg:function(){return Jl},pm:function(){return Zi},ny:function(){return tc}});o(25474);var d=o(40100),n=o(73114),a=o(5522),l=o(42818);const i="UiIcon",c={TYPES:{filled:0,outlined:1,round:2,twoTone:3,sharp:4},DEFAULT_SIZE:24},r={name:i,customOptions:{name:i,UI_GLOBAL:a.Z,UI_ICON:c}};var s=Object.assign(r,{props:{type:{type:[String,Number],default:0},outlined:{type:Boolean,default:!1},round:{type:Boolean,default:!1},twoTone:{type:Boolean,default:!1},sharp:{type:Boolean,default:!1},size:{type:[Number,String],default:c.DEFAULT_SIZE},dark:{type:Boolean,default:!1},light:{type:Boolean,default:!1},inactive:{type:Boolean,default:!1}},emits:[a.Z.EVENTS.CLICK],setup(t,e){let{emit:o}=e;const d=t,{handleClick:r}=(0,a.O)({emit:o}),s=(0,n.computed)((()=>(0,l.Z)(d,c.TYPES,"filled"))),u=(0,n.computed)((()=>(0,l.Z)(d,c.TYPES,"outlined"))),p=(0,n.computed)((()=>(0,l.Z)(d,c.TYPES,"round"))),m=(0,n.computed)((()=>(0,l.Z)(d,c.TYPES,"twoTone"))),h=(0,n.computed)((()=>(0,l.Z)(d,c.TYPES,"sharp"))),g=(0,n.computed)((()=>d.dark&&d.light)),b=(0,n.computed)((()=>d.dark||d.light)),f=(0,n.computed)((()=>{let t={"material-icons":s.value,"material-icons-outlined":u.value,"material-icons-round":p.value,"material-icons-two-tone":m.value,"material-icons-sharp":h.value,"md-dark":d.dark&&!d.light,"md-light":d.light&&!d.dark,"md-inactive":d.inactive};return+d.size!==c.DEFAULT_SIZE&&d.size>0&&(t[`md-${d.size}`]=!0),t}));return(0,n.onBeforeMount)((()=>{(g.value||!b.value&&d.inactive)&&console.warn(`[${i}]: Invalid dark or light icon`)})),(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("i",{class:(0,n.normalizeClass)(f.value),"aria-hidden":"true",onClick:e[0]||(e[0]=function(){return(0,n.unref)(r)&&(0,n.unref)(r)(...arguments)})},[(0,n.renderSlot)(t.$slots,"default")],2))}});var u=s,p=o(43800),m=(o(58167),o(74507));function h(t){return new p.F(t)}function g(t,e){(0,n.onMounted)((()=>{const o=t.value;h(o),(0,n.watch)((()=>e.type),(()=>h(o)))}))}var b=o(29221),f=o(66326);const v={action:"mdc-card__actions",button:"mdc-card__action-buttons",icon:"mdc-card__action-icons"};let y={cardButton:!1,cardIcon:!1};function k(t){const e=(0,n.computed)((()=>({"mdc-card__action":y.cardButton||y.cardIcon,"mdc-card__action--button":y.cardButton,"mdc-card__action--icon":y.cardIcon})));return(0,n.onMounted)((()=>{var e;const o=null===(e=t.value)||void 0===e?void 0:e.parentNode;o&&"htmldivelement"===(0,f.Z)(o)&&(y.cardButton=o.classList.contains(v.button)||o.classList.contains(v.action),y.cardIcon=o.classList.contains(v.icon))})),{cardActionClasses:e}}const w=["type"],x=(0,n.createElementVNode)("span",{class:"mdc-button__ripple"},null,-1),T=(0,n.createElementVNode)("span",{class:"mdc-button__focus-ring"},null,-1),C=["textContent"],q={TYPES:{text:0,outlined:1,raised:2,unelevated:3},cssClasses:{icon:"mdc-button__icon",label:"mdc-button__label",touch:"mdc-button--touch"}},S={name:"UiButton",customOptions:{UI_GLOBAL:a.Z,UI_BUTTON:q}};var I=Object.assign(S,{props:{type:{type:[String,Number],default:0},outlined:{type:Boolean,default:!1},raised:{type:Boolean,default:!1},unelevated:{type:Boolean,default:!1},...b.U,nativeType:{type:String,default:"button"}},emits:[a.Z.EVENTS.CLICK],setup(t,e){let{emit:o}=e;const d=t,i=(0,n.ref)(null),{handleClick:c}=(0,a.O)({emit:o});g(i,d);const{materialIcon:r}=(0,b.J)(d),{cardActionClasses:s}=k(i),u=(0,n.computed)((()=>(0,l.Z)(d,q.TYPES,"outlined"))),p=(0,n.computed)((()=>(0,l.Z)(d,q.TYPES,"raised"))),m=(0,n.computed)((()=>(0,l.Z)(d,q.TYPES,"unelevated"))),h=(0,n.computed)((()=>i.value&&i.value.classList.contains(q.cssClasses.touch))),f=(0,n.computed)((()=>[{"mdc-button":!0,"mdc-button--outlined":u.value,"mdc-button--raised":p.value,"mdc-button--unelevated":m.value,"mdc-button--touch":h.value},s.value]));return(e,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("button",{ref_key:"button",ref:i,type:t.nativeType,class:(0,n.normalizeClass)(f.value),onClick:o[0]||(o[0]=function(){return(0,n.unref)(c)&&(0,n.unref)(c)(...arguments)})},[x,T,(0,n.renderSlot)(e.$slots,"before",{iconClass:q.cssClasses.icon},(()=>[(0,n.unref)(r)?((0,n.openBlock)(),(0,n.createElementBlock)("i",{key:0,class:(0,n.normalizeClass)((0,n.unref)(a.Z).getMaterialIconClass(q.cssClasses.icon)),"aria-hidden":"true",textContent:(0,n.toDisplayString)((0,n.unref)(r))},null,10,C)):(0,n.createCommentVNode)("",!0)])),(0,n.createElementVNode)("span",{class:(0,n.normalizeClass)(q.cssClasses.label)},[(0,n.renderSlot)(e.$slots,"default")],2),(0,n.renderSlot)(e.$slots,"after",{iconClass:q.cssClasses.icon})],10,w))}});var $=I,E={TYPES:{regular:0,extended:1},cssClasses:{icon:"mdc-fab__icon",touch:"mdc-fab--touch"}};const N=(0,n.createElementVNode)("div",{class:"mdc-fab__ripple"},null,-1),B=(0,n.createElementVNode)("div",{class:"mdc-fab__focus-ring"},null,-1),D=["textContent"],V={class:"mdc-fab__label"},j=["textContent"],U={name:"UiFab",customOptions:{UI_GLOBAL:a.Z,UI_FAB:E}};var O=Object.assign(U,{props:{type:{type:[String,Number],default:0},extended:{type:Boolean,default:!1},...b.U,mini:{type:Boolean,default:!1},exited:{type:Boolean,default:!1}},emits:[a.Z.EVENTS.CLICK],setup(t,e){let{emit:o}=e;const d=t,i=(0,n.ref)(null),{handleClick:c}=(0,a.O)({emit:o});g(i,d);const{materialIcon:r}=(0,b.J)(d),s=(0,n.computed)((()=>(0,l.Z)(d,E.TYPES,"extended"))),u=(0,n.computed)((()=>i.value&&i.value.classList.contains(E.cssClasses.touch))),p=(0,n.computed)((()=>({"mdc-fab":!0,"mdc-fab--extended":s.value,"mdc-fab--mini":d.mini,"mdc-fab--exited":d.exited,"mdc-fab--touch":u.value})));return(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("button",{ref_key:"fab",ref:i,type:"button",class:(0,n.normalizeClass)(p.value),onClick:e[0]||(e[0]=function(){return(0,n.unref)(c)&&(0,n.unref)(c)(...arguments)})},[N,B,s.value?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},[(0,n.renderSlot)(t.$slots,"before",{iconClass:(0,n.unref)(E).cssClasses.icon},(()=>[(0,n.unref)(r)?((0,n.openBlock)(),(0,n.createElementBlock)("i",{key:0,class:(0,n.normalizeClass)((0,n.unref)(a.Z).getMaterialIconClass((0,n.unref)(E).cssClasses.icon)),textContent:(0,n.toDisplayString)((0,n.unref)(r))},null,10,D)):(0,n.createCommentVNode)("",!0)])),(0,n.createElementVNode)("span",V,[(0,n.renderSlot)(t.$slots,"default")]),(0,n.renderSlot)(t.$slots,"after",{iconClass:(0,n.unref)(E).cssClasses.icon})],64)):(0,n.renderSlot)(t.$slots,"default",{key:1,iconClass:(0,n.unref)(E).cssClasses.icon},(()=>[(0,n.unref)(r)?((0,n.openBlock)(),(0,n.createElementBlock)("i",{key:0,class:(0,n.normalizeClass)((0,n.unref)(a.Z).getMaterialIconClass((0,n.unref)(E).cssClasses.icon)),textContent:(0,n.toDisplayString)((0,n.unref)(r))},null,10,j)):(0,n.createCommentVNode)("",!0)]))],2))}});var _=O,z=o(97582),A=o(48315),M=o(85099),L={ICON_BUTTON_ON:"mdc-icon-button--on",ROOT:"mdc-icon-button"},P={ARIA_LABEL:"aria-label",ARIA_PRESSED:"aria-pressed",DATA_ARIA_LABEL_OFF:"data-aria-label-off",DATA_ARIA_LABEL_ON:"data-aria-label-on",CHANGE_EVENT:"MDCIconButtonToggle:change"},R=function(t){function e(o){var d=t.call(this,(0,z.pi)((0,z.pi)({},e.defaultAdapter),o))||this;return d.hasToggledAriaLabel=!1,d}return(0,z.ZT)(e,t),Object.defineProperty(e,"cssClasses",{get:function(){return L},enumerable:!1,configurable:!0}),Object.defineProperty(e,"strings",{get:function(){return P},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{addClass:function(){},hasClass:function(){return!1},notifyChange:function(){},removeClass:function(){},getAttr:function(){return null},setAttr:function(){}}},enumerable:!1,configurable:!0}),e.prototype.init=function(){var t=this.adapter.getAttr(P.DATA_ARIA_LABEL_ON),e=this.adapter.getAttr(P.DATA_ARIA_LABEL_OFF);if(t&&e){if(null!==this.adapter.getAttr(P.ARIA_PRESSED))throw new Error("MDCIconButtonToggleFoundation: Button should not set `aria-pressed` if it has a toggled aria label.");this.hasToggledAriaLabel=!0}else this.adapter.setAttr(P.ARIA_PRESSED,String(this.isOn()))},e.prototype.handleClick=function(){this.toggle(),this.adapter.notifyChange({isOn:this.isOn()})},e.prototype.isOn=function(){return this.adapter.hasClass(L.ICON_BUTTON_ON)},e.prototype.toggle=function(t){if(void 0===t&&(t=!this.isOn()),t?this.adapter.addClass(L.ICON_BUTTON_ON):this.adapter.removeClass(L.ICON_BUTTON_ON),this.hasToggledAriaLabel){var e=t?this.adapter.getAttr(P.DATA_ARIA_LABEL_ON):this.adapter.getAttr(P.DATA_ARIA_LABEL_OFF);this.adapter.setAttr(P.ARIA_LABEL,e||"")}else this.adapter.setAttr(P.ARIA_PRESSED,""+t)},e}(M.K),F=R.strings,H=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.rippleComponent=e.createRipple(),e}return(0,z.ZT)(e,t),e.attachTo=function(t){return new e(t)},e.prototype.initialSyncWithDOM=function(){var t=this;this.handleClick=function(){t.foundation.handleClick()},this.listen("click",this.handleClick)},e.prototype.destroy=function(){this.unlisten("click",this.handleClick),this.ripple.destroy(),t.prototype.destroy.call(this)},e.prototype.getDefaultFoundation=function(){var t=this;return new R({addClass:function(e){return t.root.classList.add(e)},hasClass:function(e){return t.root.classList.contains(e)},notifyChange:function(e){t.emit(F.CHANGE_EVENT,e)},removeClass:function(e){return t.root.classList.remove(e)},getAttr:function(e){return t.root.getAttribute(e)},setAttr:function(e,o){return t.root.setAttribute(e,o)}})},Object.defineProperty(e.prototype,"ripple",{get:function(){return this.rippleComponent},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"on",{get:function(){return this.foundation.isOn()},set:function(t){this.foundation.toggle(t)},enumerable:!1,configurable:!0}),e.prototype.createRipple=function(){var t=new p.F(this.root);return t.unbounded=!0,t},e}(A.B);const G=(0,n.createElementVNode)("div",{class:"mdc-icon-button__ripple"},null,-1),Z=(0,n.createElementVNode)("span",{class:"mdc-icon-button__focus-ring"},null,-1),W=["textContent"],K=["textContent"],Y={cssClasses:{off:"mdc-icon-button__icon",on:"mdc-icon-button__icon mdc-icon-button__icon--on"},EVENTS:{CHANGE:"update:modelValue"}},J={name:"UiIconButton",customOptions:{UI_GLOBAL:a.Z,UI_ICON_BUTTON:Y}};var X=Object.assign(J,{props:{modelValue:{type:Boolean,default:!1},...b.U,toggle:{type:Object,default:()=>({})}},emits:[a.Z.EVENTS.CLICK,Y.EVENTS.CHANGE],setup(t,e){let{emit:o}=e;const d=t,l=(0,n.ref)(null),{handleClick:i}=(0,a.O)({emit:o}),{cardActionClasses:c}=k(l),r=(0,n.computed)((()=>d.toggle.on&&d.toggle.off)),s=(0,n.computed)((()=>[{"mdc-icon-button":!0,"material-icons":!r.value},c.value]));return(0,n.onMounted)((()=>{const t=new H(l.value);t.listen(P.CHANGE_EVENT,(t=>{let{detail:e}=t;o(Y.EVENTS.CHANGE,e.isOn)})),t.on=d.modelValue,(0,n.watch)((()=>d.modelValue),(e=>t.on=e))})),(e,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("button",{ref_key:"iconButton",ref:l,type:"button",class:(0,n.normalizeClass)(s.value),onClick:o[0]||(o[0]=function(){return(0,n.unref)(i)&&(0,n.unref)(i)(...arguments)})},[G,Z,r.value?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},[(0,n.createElementVNode)("i",{class:(0,n.normalizeClass)((0,n.unref)(a.Z).getMaterialIconClass(Y.cssClasses.off)),textContent:(0,n.toDisplayString)(t.toggle.off)},null,10,W),(0,n.createElementVNode)("i",{class:(0,n.normalizeClass)((0,n.unref)(a.Z).getMaterialIconClass(Y.cssClasses.on)),textContent:(0,n.toDisplayString)(t.toggle.on)},null,10,K)],64)):(0,n.renderSlot)(e.$slots,"default",{key:1,onClass:Y.cssClasses.on,offClass:Y.cssClasses.off},(()=>[(0,n.createTextVNode)((0,n.toDisplayString)(e.icon),1)]))],2))}});var Q=X;var tt=o(24292).Z,et=o(98979);var ot=o(87415).Z;const dt={class:"mdc-layout-grid__inner"};var nt={name:"UiGridInner"},at=o(83744);var lt=(0,at.Z)(nt,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("div",dt,[(0,n.renderSlot)(t.$slots,"default")])}]]);const it="UiGrid",ct={POSITIONS:["left","right"]},rt={name:it,customOptions:{name:it,UI_GRID:ct}};var st=Object.assign(rt,{props:{fixedColumnWidth:{type:Boolean,default:!1},position:{type:String,default:""}},setup(t){const e=t,o=(0,n.computed)((()=>{let t=["mdc-layout-grid"];if(e.fixedColumnWidth&&t.push("mdc-layout-grid--fixed-column-width"),e.position){const o=e.position;ct.POSITIONS.includes(o)?t.push(`mdc-layout-grid--align-${o}`):console.warn(`[${it}]: Invalid `)}return t}));return(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{class:(0,n.normalizeClass)(o.value)},[(0,n.createVNode)(lt,null,{default:(0,n.withCtx)((()=>[(0,n.renderSlot)(t.$slots,"default")])),_:3})],2))}});const ut="UiGridCell",pt={cssClasses:"mdc-layout-grid__cell",TYPE:{COLUMNS:"span",ORDER:"order",ALIGN:"align"},TYPE_OF_DEVICE:["desktop","tablet","phone"],POSITION:["top","middle","bottom"]},mt={name:ut,customOptions:{UI_GRID_CELL:pt}};var ht=Object.assign(mt,{props:{nested:{type:Boolean,default:!1},columns:{type:[Number,String,Object],default:4},order:{type:[Number,String],default:0},align:{type:String,default:""}},setup(t){const e=t;function o(t,e,o){if("object"===(0,f.Z)(o))for(let d in o){let n=o[d];pt.TYPE_OF_DEVICE.includes(d)?e.push(`${pt.cssClasses}--${t}-${n}-${d}`):"default"===d&&e.push(`${pt.cssClasses}--${t}-${n}`)}else{let d=o;e.push(`${pt.cssClasses}--${t}-${d}`)}return e}const d=(0,n.computed)((()=>{let t=[pt.cssClasses];if(e.columns&&(t=o(pt.TYPE.COLUMNS,t,e.columns)),e.order){let d=+e.order;d>=1&&d<=12?t=o(pt.TYPE.ORDER,t,d):console.warn(`[${ut}]: Order is an integer between 1 and 12`)}if(e.align){let d=e.align.toLowerCase();pt.POSITION.includes(d)&&(t=o(pt.TYPE.ALIGN,t,d))}return t}));return(e,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{class:(0,n.normalizeClass)(d.value)},[t.nested?((0,n.openBlock)(),(0,n.createBlock)(lt,{key:0},{default:(0,n.withCtx)((()=>[(0,n.renderSlot)(e.$slots,"default")])),_:3})):(0,n.renderSlot)(e.$slots,"default",{key:1})],2))}});var gt=ht;const bt={class:"mdc-divider__text"},ft={key:1,class:"mdc-divider__text"},vt={TYPES:{horizontal:0,vertical:1}},yt={name:"UiDivider",customOptions:{UI_DIVIDER:vt}};var kt=Object.assign(yt,{props:{type:{type:[String,Number],default:0}},setup(t){const e=t,o=(0,n.useSlots)(),d=(0,n.computed)((()=>(0,l.Z)(e,vt.TYPES,"vertical")||"|"===e.type)),a=(0,n.computed)((()=>!!o.default)),i=(0,n.computed)((()=>({"mdc-divider":!0,"mdc-divider--horizontal":!d.value,"mdc-divider--vertical":d.value,"mdc-divider--no-text":!a.value})));return(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{class:(0,n.normalizeClass)(i.value)},[a.value?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},[d.value?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},[(0,n.renderSlot)(t.$slots,"left"),(0,n.createElementVNode)("span",bt,[(0,n.createElementVNode)("span",null,[(0,n.renderSlot)(t.$slots,"default")])]),(0,n.renderSlot)(t.$slots,"right")],64)):((0,n.openBlock)(),(0,n.createElementBlock)("span",ft,[(0,n.createElementVNode)("span",null,[(0,n.renderSlot)(t.$slots,"default")])]))],64)):(0,n.createCommentVNode)("",!0)],2))}});var wt=o(14970).Z;const xt={class:"mdc-drawer__header"};var Tt={name:"UiDrawerHeader"};var Ct=(0,at.Z)(Tt,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("header",xt,[(0,n.renderSlot)(t.$slots,"default")])}]]);const qt={class:"mdc-drawer__title"};var St={name:"UiDrawerTitle"};var It=(0,at.Z)(St,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("h3",qt,[(0,n.renderSlot)(t.$slots,"default")])}]]);const $t={class:"mdc-drawer__subtitle"};var Et={name:"UiDrawerSubtitle"};var Nt=(0,at.Z)(Et,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("h6",$t,[(0,n.renderSlot)(t.$slots,"default")])}]]);const Bt={class:"mdc-drawer__content"};var Dt={name:"UiDrawerContent"};var Vt=(0,at.Z)(Dt,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("div",Bt,[(0,n.renderSlot)(t.$slots,"default")])}]]);const jt={class:"mdc-drawer-app-content"};var Ut={name:"UiDrawerAppContent"};var Ot=(0,at.Z)(Ut,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("div",jt,[(0,n.renderSlot)(t.$slots,"default")])}]]);var _t=o(90238).Z,zt=o(17436);const At="UiTabIndicator",Mt={name:At,customOptions:{name:At,UI_GLOBAL:a.Z,UI_TAB_INDICATOR:zt.gA}};var Lt=Object.assign(Mt,{props:{type:{type:String,default:zt.gA.UNDERLINE},fade:{type:Boolean,default:!1}},setup(t){const e=t,o=(0,n.getCurrentInstance)().parent,d=(0,n.ref)(null),l=(0,n.computed)((()=>o&&o.props.modelValue)),i=(0,n.computed)((()=>({"mdc-tab-indicator":!0,"mdc-tab-indicator--active":l.value,"mdc-tab-indicator--fade":e.fade}))),c=(0,n.computed)((()=>{let t=["mdc-tab-indicator__content",`mdc-tab-indicator__content--${e.type}`];return e.type===zt.gA.ICON&&t.push(a.Z.cssClasses.icon),t.join(" ")}));return(0,n.onBeforeMount)((()=>{Object.values(zt.gA).includes(e.type)||console.warn(`[${At}]: Invalid tab indicator type`)})),(e,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("span",{ref_key:"tabIndicator",ref:d,class:(0,n.normalizeClass)(i.value)},[(0,n.createElementVNode)("span",{class:(0,n.normalizeClass)(c.value)},[t.type===(0,n.unref)(zt.gA).ICON?(0,n.renderSlot)(e.$slots,"default",{key:0}):(0,n.createCommentVNode)("",!0)],2)],2))}});const Pt={type:{type:[String,Number],default:0},stacked:{type:Boolean,default:!1},minWidth:{type:Boolean,default:!1},contentIndicator:{type:Boolean,default:!1}};const Rt={class:"mdc-tab__content"},Ft=["textContent"],Ht={class:"mdc-tab__text-label"},Gt=["textContent"],Zt={key:2,class:"mdc-tab__text-label"},Wt=(0,n.createElementVNode)("span",{class:"mdc-tab__ripple"},null,-1),Kt=(0,n.createElementVNode)("div",{class:"mdc-tab__focus-ring"},null,-1),Yt={name:"UiTab",customOptions:{UI_GLOBAL:a.Z,UI_TAB:zt.a1}};var Jt=Object.assign(Yt,{props:{...Pt,...b.U,text:{type:String,default:""}},emits:[a.Z.EVENTS.CLICK],setup(t,e){let{emit:o}=e;const d=t,i=(0,n.getCurrentInstance)().parent,c=(0,n.ref)(null),{handleClick:r}=(0,a.O)({emit:o}),{isTextWithIcon:s,isIconOnly:u}=function(t){return{isTextWithIcon:(0,n.computed)((()=>(0,l.Z)(t,zt.a1.TYPES,"textWithIcon"))),isIconOnly:(0,n.computed)((()=>(0,l.Z)(t,zt.a1.TYPES,"iconOnly")))}}(d),{materialIcon:p}=(0,b.J)(d),m=(0,n.computed)((()=>c.value&&c.value.classList.contains(zt.a1.cssClasses.active))),h=(0,n.computed)((()=>({"mdc-tab":!0,"mdc-tab--stacked":d.stacked,"mdc-tab--min-width":d.minWidth,"mdc-tab--active":m.value})));return(0,n.onUpdated)((()=>{try{var t,e;null===(t=i.parent)||void 0===t||null===(e=t.exposed)||void 0===e||e.updated()}catch(o){}})),(e,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("button",{ref_key:"tab",ref:c,class:(0,n.normalizeClass)(h.value),role:"tab","aria-selected":"false",tabindex:"-1",onClick:o[0]||(o[0]=function(){return(0,n.unref)(r)&&(0,n.unref)(r)(...arguments)})},[(0,n.createElementVNode)("span",Rt,[(0,n.unref)(s)?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},[(0,n.renderSlot)(e.$slots,"icon",{iconClass:(0,n.unref)(zt.a1).cssClasses.icon},(()=>[(0,n.unref)(p)?((0,n.openBlock)(),(0,n.createElementBlock)("i",{key:0,class:(0,n.normalizeClass)((0,n.unref)(a.Z).getMaterialIconClass((0,n.unref)(zt.a1).cssClasses.icon)),"aria-hidden":"true",textContent:(0,n.toDisplayString)((0,n.unref)(p))},null,10,Ft)):(0,n.createCommentVNode)("",!0)])),(0,n.createElementVNode)("span",Ht,[(0,n.renderSlot)(e.$slots,"default",{},(()=>[(0,n.createTextVNode)((0,n.toDisplayString)(t.text),1)]))])],64)):(0,n.unref)(u)?(0,n.renderSlot)(e.$slots,"icon",{key:1,iconClass:(0,n.unref)(zt.a1).cssClasses.icon},(()=>[(0,n.unref)(p)?((0,n.openBlock)(),(0,n.createElementBlock)("i",{key:0,class:(0,n.normalizeClass)((0,n.unref)(a.Z).getMaterialIconClass((0,n.unref)(zt.a1).cssClasses.icon)),"aria-hidden":"true",textContent:(0,n.toDisplayString)((0,n.unref)(p))},null,10,Gt)):(0,n.createCommentVNode)("",!0)])):((0,n.openBlock)(),(0,n.createElementBlock)("span",Zt,[(0,n.renderSlot)(e.$slots,"default",{},(()=>[(0,n.createTextVNode)((0,n.toDisplayString)(t.text),1)]))])),e.contentIndicator?(0,n.renderSlot)(e.$slots,"indicator",{key:3},(()=>[(0,n.createVNode)(Lt)])):(0,n.createCommentVNode)("",!0)]),e.contentIndicator?(0,n.createCommentVNode)("",!0):(0,n.renderSlot)(e.$slots,"indicator",{key:0},(()=>[(0,n.createVNode)(Lt)])),Wt,Kt],2))}});var Xt=Jt,Qt=o(82990),te=o(54811);const ee={name:"UiTabs",customOptions:{UI_TAB_BAR:zt.Y2}};var oe=Object.assign(ee,{props:{...Qt.m,...te.o,...Pt,items:{type:Array,default:()=>[]}},emits:[zt.Y2.EVENTS.CHANGE],setup(t,e){let{emit:o}=e;const{handleChange:d}=(0,Qt.f)({emit:o});return(e,o)=>((0,n.openBlock)(),(0,n.createBlock)(_t,{"model-value":e.modelValue,align:e.align,"onUpdate:modelValue":(0,n.unref)(d)},{default:(0,n.withCtx)((()=>[(0,n.renderSlot)(e.$slots,"default",{},(()=>[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(t.items,((t,o)=>((0,n.openBlock)(),(0,n.createBlock)(Xt,{key:o,type:e.type,text:t.text||null,icon:t.icon||null,stacked:e.stacked,"min-width":e.minWidth,"content-indicator":e.contentIndicator},null,8,["type","text","icon","stacked","min-width","content-indicator"])))),128))]))])),_:3},8,["model-value","align","onUpdate:modelValue"]))}});var de=oe,ne=o(87244);const ae={cssClasses:{active:"active"},EVENTS:{CHANGE:"update:modelValue"}},le={name:"UiPanels",customOptions:{UI_PANEL:ae}};var ie=Object.assign(le,{props:{modelValue:{type:Number,default:0}},setup(t){const e=t,o=(0,n.ref)(null);function d(t){const e=o.value;if(e){const o=e.querySelectorAll(".mdc-panel");o.length&&o.forEach(((e,o)=>{o!==t||e.classList.contains(ae.cssClasses.active)?e.classList.remove(ae.cssClasses.active):e.classList.add(ae.cssClasses.active)}))}}return(0,n.onMounted)((()=>{d(e.modelValue),(0,n.watch)((()=>e.modelValue),(t=>d(t)))})),(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{ref_key:"panels",ref:o,class:"mdc-panels"},[(0,n.renderSlot)(t.$slots,"default")],512))}});var ce=ie;const re={class:"mdc-panel",role:"tabpanel"};var se={name:"UiPanel"};var ue=(0,at.Z)(se,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("div",re,[(0,n.renderSlot)(t.$slots,"default")])}]]);const pe="UiMenuAnchor",me=["top left","top right","middle left","middle right","bottom left","bottom right"],he={name:pe,customOptions:{name:pe,ANCHOR_POSITIONS:me}};var ge=Object.assign(he,{props:{position:{type:String,default:""},absolute:{type:Boolean,default:!1}},setup(t){const e=t,o=(0,n.computed)((()=>({"mdc-menu-surface--anchor":!0,"mdc-menu-surface--absolute":e.absolute}))),d=(0,n.computed)((()=>{let t="",o=e.position;if(o)if(me.includes(o)){let e=o.split(" ");t="middle"===e[0]?`top:50%;${e[1]}:0;transform:translateY(-50%);`:e.map((t=>`${t}:0`)).join(";")}else console.warn(`[${pe}]: Invalid anchor position`);return t}));return(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{class:(0,n.normalizeClass)(o.value),style:(0,n.normalizeStyle)(d.value)},[(0,n.renderSlot)(t.$slots,"default")],6))}}),be=o(78200),fe=o(64008);o(79282),o(49329);var ve=o(39311),ye={name:"UiMenuitemIcon",data(){return{UI_ITEM:ve.WR}}};var ke=(0,at.Z)(ye,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("span",{class:(0,n.normalizeClass)([a.UI_ITEM.cssClasses.firstTile,"mdc-menu__selection-group-icon"])},[(0,n.renderSlot)(t.$slots,"default")],2)}]]);var we={name:"UiMenuitemText",data(){return{deprecatedListClassNameMap:ve.Yc}}};var xe=(0,at.Z)(we,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("span",{class:(0,n.normalizeClass)(a.deprecatedListClassNameMap["mdc-list-item__text"])},[(0,n.renderSlot)(t.$slots,"default")],2)}]]),Te=o(42361);const Ce=["role","data-value"],qe={key:0,class:"mdc-menu__selection-group"},Se=["textContent"],Ie={name:"UiMenuitem",customOptions:{UI_GLOBAL:a.Z}};var $e=Object.assign(Ie,{props:{nested:{type:Boolean,default:!1},item:{type:Object,default:()=>({})},value:{type:null,default:null},disabled:{type:Boolean,default:!1},selected:{type:Boolean,default:!1}},emits:[a.Z.EVENTS.CLICK],setup(t,e){let{emit:o}=e;const d=t,l=(0,n.ref)(null),{handleClick:i}=(0,a.O)({emit:o}),{deprecatedListClassNameMap:c}=(0,Te.y)(l);function r(t){return[c["mdc-list-item"],...(0,Te.p)({disabled:d.disabled||t.disabled}),{"mdc-menu-item--selected":d.selected||t.selected}]}return(0,n.onMounted)((()=>{d.nested||h(l.value)})),(e,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("li",{ref_key:"menuitem",ref:l,class:(0,n.normalizeClass)(t.nested?null:r(t.item)),role:t.nested?null:"menuitem","data-value":t.item.value||t.value,onClick:o[0]||(o[0]=function(){return(0,n.unref)(i)&&(0,n.unref)(i)(...arguments)})},[t.nested?((0,n.openBlock)(),(0,n.createElementBlock)("ul",qe,[(0,n.renderSlot)(e.$slots,"default")])):((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[(0,n.createElementVNode)("span",{class:(0,n.normalizeClass)((0,n.unref)(c)["mdc-list-item__ripple"])},null,2),(0,n.renderSlot)(e.$slots,"default",{},(()=>[t.item.icon?((0,n.openBlock)(),(0,n.createBlock)(ke,{key:0},{default:(0,n.withCtx)((()=>[(0,n.createElementVNode)("i",{class:(0,n.normalizeClass)((0,n.unref)(a.Z).cssClasses.icon),"aria-hidden":"true",textContent:(0,n.toDisplayString)(t.item.icon)},null,10,Se)])),_:1})):(0,n.createCommentVNode)("",!0),t.item.text?((0,n.openBlock)(),(0,n.createBlock)(xe,{key:1},{default:(0,n.withCtx)((()=>[(0,n.createTextVNode)((0,n.toDisplayString)(t.item.text),1)])),_:1})):(0,n.createCommentVNode)("",!0)]))],64))],10,Ce))}});var Ee=$e;const Ne={padded:{type:Boolean,default:!1},inset:{type:Boolean,default:!1}};function Be(t){return{className:(0,n.computed)((()=>({"mdc-deprecated-list-divider":!0,"mdc-deprecated-list-divider--padded":t.padded,"mdc-deprecated-list-divider--inset":t.inset})))}}const De={name:"UiItemDivider",customOptions:{}};var Ve=Object.assign(De,{props:Ne,setup(t){const e=t,{className:o}=Be(e);return(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("li",{class:(0,n.normalizeClass)((0,n.unref)(o)),role:"separator"},null,2))}});const je="UiMenu",Ue={DIVIDER:"-",MENU_POSITIONS:["TOP_LEFT","TOP_RIGHT","BOTTOM_LEFT","BOTTOM_RIGHT","TOP_START","TOP_END","BOTTOM_START","BOTTOM_END"],EVENTS:{SELECTED:"selected",CLOSED:"closed",OPENED:"opened",CHANGE:"update:modelValue"}},Oe={name:je,customOptions:{name:je,UI_MENU:Ue,getType:f.Z,deprecatedListClassNameMap:ve.Yc}};var _e=Object.assign(Oe,{props:{modelValue:{type:Boolean,default:!1},items:{type:Array,default:()=>[]},quickOpen:{type:Boolean,default:!1},position:{type:String,default:"TOP_LEFT"},distance:{type:Object,default:()=>({})},fixed:{type:Boolean,default:!1},fullwidth:{type:Boolean,default:!1},cssOnly:{type:Boolean,default:!1}},emits:[Ue.EVENTS.SELECTED,Ue.EVENTS.CLOSED,Ue.EVENTS.OPENED,Ue.EVENTS.CHANGE],setup(t,e){let{emit:o}=e;const d=t,a=(0,n.computed)((()=>({"mdc-menu":!0,"mdc-menu-surface":!0,"mdc-menu-surface--fixed":d.fixed,"mdc-menu-surface--fullwidth":d.fullwidth&&!d.fixed,"mdc-menu-surface--open":d.cssOnly}))),l=(0,n.ref)(null),i=(0,n.reactive)({$menu:null,currentItems:d.items,currentTextItems:[],currentItem:null}),{currentItems:c}=(0,n.toRefs)(i);(0,n.onMounted)((()=>{if(s(),!d.cssOnly){const t=l.value;i.$menu=new fe.g(t),t.addEventListener(`MDCMenu:${Ue.EVENTS.SELECTED}`,(t=>{let{detail:e}=t;const d=e.index,n=e.item.dataset.value,a=i.currentTextItems[d],l="object"===(0,f.Z)(a)?a:{value:a};i.currentItem=l,o(Ue.EVENTS.SELECTED,{index:d,text:i.$menu.getPrimaryTextAtIndex(d),value:l.value||n})})),t.addEventListener(`MDCMenuSurface:${Ue.EVENTS.CLOSED}`,(()=>{o(Ue.EVENTS.CHANGE,!1),o(Ue.EVENTS.CLOSED)})),t.addEventListener(`MDCMenuSurface:${Ue.EVENTS.OPENED}`,(()=>{o(Ue.EVENTS.OPENED)})),p(),h(),g(),(0,n.watch)((()=>d.modelValue),(t=>{i.$menu.open!==t&&(i.$menu.open=t)})),(0,n.watch)((()=>d.items),(t=>{i.currentItems=t,s()})),(0,n.watch)((()=>d.quickOpen),(t=>{p(t)})),(0,n.watch)((()=>d.position),(t=>{h(t)})),(0,n.watch)((()=>d.distance),(t=>{g(t)}))}}));const r=t=>t===Ue.DIVIDER;function s(){i.currentTextItems=i.currentItems.filter((t=>"object"===(0,f.Z)(t)?t.text!==Ue.DIVIDER:t!==Ue.DIVIDER))}function u(t){let e=!1;return e="object"===(0,f.Z)(t)&&"object"===(0,f.Z)(i.currentItem)?t.text===i.currentItem.text:t===i.currentItem,e}function p(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:d.quickOpen;i.$menu.quickOpen=t}function m(){const t=l.value;return t.parentElement&&t.parentElement.classList.contains("mdc-menu-surface--anchor")}function h(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:d.position;m()&&(Ue.MENU_POSITIONS.includes(t)?i.$menu.setAnchorCorner(be.Ns[t]):console.warn(`[${je}]: Invalid menu position`))}function g(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:d.distance;m()&&Object.keys(t).length&&i.$menu.setAnchorMargin(t)}return(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{ref_key:"menu",ref:l,class:(0,n.normalizeClass)(a.value)},[(0,n.createElementVNode)("ul",{class:(0,n.normalizeClass)((0,n.unref)(ve.Yc)["mdc-list"]),tabindex:"-1",role:"menu","aria-hidden":"true","aria-orientation":"vertical"},[(0,n.renderSlot)(t.$slots,"default",{},(()=>[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)((0,n.unref)(c),((t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:`menu-item-${e}`},["array"===(0,n.unref)(f.Z)(t)?((0,n.openBlock)(),(0,n.createBlock)(Ee,{key:`group${e}`,nested:""},{default:(0,n.withCtx)((()=>[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(t,((t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:`menu-subitem-${e}`},[r(t)?((0,n.openBlock)(),(0,n.createBlock)(Ve,{key:0})):((0,n.openBlock)(),(0,n.createBlock)(Ee,{key:1,item:"object"===(0,n.unref)(f.Z)(t)?t:{},selected:u(t)},{default:(0,n.withCtx)((()=>["string"===(0,n.unref)(f.Z)(t)?((0,n.openBlock)(),(0,n.createBlock)(xe,{key:0,textContent:(0,n.toDisplayString)(t)},null,8,["textContent"])):(0,n.createCommentVNode)("",!0)])),_:2},1032,["item","selected"]))],64)))),128))])),_:2},1024)):((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[r(t)?((0,n.openBlock)(),(0,n.createBlock)(Ve,{key:0})):((0,n.openBlock)(),(0,n.createBlock)(Ee,{key:1,item:"object"===(0,n.unref)(f.Z)(t)?t:{},selected:u(t)},{default:(0,n.withCtx)((()=>["string"===(0,n.unref)(f.Z)(t)?((0,n.openBlock)(),(0,n.createBlock)(xe,{key:0,textContent:(0,n.toDisplayString)(t)},null,8,["textContent"])):(0,n.createCommentVNode)("",!0)])),_:2},1032,["item","selected"]))],64))],64)))),128))]))],2)],2))}});var ze=_e;const Ae={name:"UiMenuitemDivider",customOptions:{}};var Me=Object.assign(Ae,{setup(t){const{className:e}=Be({});return(t,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("li",{class:(0,n.normalizeClass)((0,n.unref)(e)),role:"separator"},null,2))}}),Le=o(85574);const Pe={class:"mdc-data-table__pagination-trailing"},Re={key:0,class:"mdc-data-table__pagination-rows-per-page"},Fe={class:"mdc-data-table__pagination-rows-per-page-label"},He={class:"mdc-data-table__pagination-rows-per-page-select"},Ge={class:"mdc-data-table__pagination-navigation"},Ze={key:0,class:"mdc-data-table__pagination-total"},We={key:2,class:"mdc-data-table__pagination-page"},Ke={key:1,class:"mdc-button mdc-data-table__pagination-button mdc-pagination__button--ellipsis"},Ye=[(0,n.createElementVNode)("span",{class:"mdc-button__label"},"...",-1)],Je={key:1,class:"mdc-data-table__pagination-jumper"},Xe={class:"mdc-data-table__pagination-jumper-label"},Qe={class:"mdc-data-table__pagination-jumper-input"},to=["max"],eo={POSITIONS:["left","center","right"],MIN_PAGE_SPAN:3,EVENTS:{CHANGE:"update:modelValue",CHANGE_PAGE_SIZE:"update:pageSize"}},oo={name:"UiPagination",customOptions:{UI_GLOBAL:a.Z,UI_PAGINATION:eo}};var no=Object.assign(oo,{props:{modelValue:{type:Number,default:1},total:{type:Number,default:0},pageSpan:{type:[Number,Boolean],default:eo.MIN_PAGE_SPAN},showTotal:{type:Boolean,default:!1},pageSize:{type:[Number,Array],default:10},pageSizeText:{type:[String,Array],default:"Rows per page"},ofText:{type:String,default:"of"},unitText:{type:String,default:""},showJumper:{type:Boolean,default:!1},jumperText:{type:[String,Array],default:"Goto"},jumperButtonOutlined:{type:Boolean,default:!1},jumperButtonText:{type:String,default:""},position:{type:String,default:""},mini:{type:Boolean,default:!1}},emits:[eo.EVENTS.CHANGE,eo.EVENTS.CHANGE_PAGE_SIZE],setup(t,e){let{emit:o}=e;const d=t,l=(0,n.reactive)({currentPage:d.modelValue,currentPageSize:Array.isArray(d.pageSize)?d.pageSize[0]:d.pageSize,jumpPage:d.modelValue}),{currentPage:i,currentPageSize:c,jumpPage:r}=(0,n.toRefs)(l),s=(0,n.computed)((()=>{let t=["mdc-data-table__pagination","mdc-pagination",{"mdc-pagination--mini":d.mini}];return eo.POSITIONS.includes(d.position)&&t.push(`mdc-pagination--${d.position}`),t})),u=(0,n.computed)((()=>Math.ceil(d.total/l.currentPageSize))),p=(0,n.computed)((()=>l.currentPageSize*(l.currentPage-1)+1)),m=(0,n.computed)((()=>{const t=l.currentPageSize*l.currentPage;return t>d.total?d.total:t})),h=(0,n.computed)((()=>d.mini||d.pageSpan&&d.pageSpan>=eo.MIN_PAGE_SPAN)),g=(0,n.computed)((()=>Array.isArray(d.pageSizeText)?d.pageSizeText[0]:d.pageSizeText)),b=(0,n.computed)((()=>Array.isArray(d.pageSizeText)?d.pageSizeText[1]:"")),f=(0,n.computed)((()=>Array.isArray(d.jumperText)?d.jumperText[0]:d.jumperText)),v=(0,n.computed)((()=>Array.isArray(d.jumperText)?d.jumperText[1]:""));function y(t){let e=!1;switch(!0){case 1===t:case t===u.value:case l.currentPage>=t&&t>=l.currentPage-d.pageSpan:case l.currentPage<=t&&t<=l.currentPage+d.pageSpan:e=!0}return e}function k(t){let e=l.currentPage===t-d.pageSpan||l.currentPage===t+d.pageSpan,o=1!==t&&t!==u.value;return!(e&&o)}function w(t){switch(!0){case t>u.value:t=u.value;break;case t<1:t=1}return t}function x(t){l.currentPage!==t&&(isNaN(t)?l.jumpPage=l.currentPage:(t=w(t),l.jumpPage=t,o(eo.EVENTS.CHANGE,+t)))}function T(){const t=w(l.currentPage);l.currentPage!==t&&(l.jumpPage=t,o(eo.EVENTS.CHANGE,+t)),o(eo.EVENTS.CHANGE_PAGE_SIZE,{page:t,pageSize:l.currentPageSize,pageCount:u.value})}return(0,n.watch)((()=>d.modelValue),(t=>{l.currentPage=t,l.jumpPage=t})),(0,n.watch)((()=>d.total),(()=>{p.value>m.value&&T()})),(0,n.watch)((()=>d.pageSize),(t=>{Array.isArray(t)||(l.currentPageSize=t)})),(e,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{class:(0,n.normalizeClass)(s.value)},[(0,n.createElementVNode)("div",Pe,[!t.mini&&Array.isArray(t.pageSize)?((0,n.openBlock)(),(0,n.createElementBlock)("div",Re,[(0,n.createElementVNode)("div",Fe,(0,n.toDisplayString)(g.value),1),(0,n.createElementVNode)("div",He,[(0,n.withDirectives)((0,n.createElementVNode)("select",{"onUpdate:modelValue":o[0]||(o[0]=t=>(0,n.isRef)(c)?c.value=t:null),onChange:T},[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(t.pageSize,(t=>((0,n.openBlock)(),(0,n.createElementBlock)("option",{key:`pageSize-${t}`},(0,n.toDisplayString)(t),1)))),128))],544),[[n.vModelSelect,(0,n.unref)(c)]])]),(0,n.createElementVNode)("span",null,(0,n.toDisplayString)(b.value),1)])):(0,n.createCommentVNode)("",!0),(0,n.createElementVNode)("div",Ge,[t.showTotal?((0,n.openBlock)(),(0,n.createElementBlock)("div",Ze,[(0,n.renderSlot)(e.$slots,"default",(0,n.normalizeProps)((0,n.guardReactiveProps)({currentMinRow:p.value,currentMaxRow:m.value})),(()=>[(0,n.createTextVNode)((0,n.toDisplayString)(p.value)+"\u2011"+(0,n.toDisplayString)(m.value)+" "+(0,n.toDisplayString)(t.ofText)+" "+(0,n.toDisplayString)(t.total)+" "+(0,n.toDisplayString)(t.unitText),1)]))])):(0,n.createCommentVNode)("",!0),h.value?(0,n.createCommentVNode)("",!0):((0,n.openBlock)(),(0,n.createBlock)(Le.Z,{key:1,class:"mdc-data-table__pagination-button mdc-data-table__pagination-first-button","no-label":"",disabled:1===(0,n.unref)(i),"data-first-page":"true",onClick:o[1]||(o[1]=t=>x(1))},{default:(0,n.withCtx)((()=>[(0,n.renderSlot)(e.$slots,"first",{},(()=>[(0,n.createElementVNode)("i",{class:(0,n.normalizeClass)((0,n.unref)(a.Z).cssClasses.icon)},"first_page",2)]))])),_:3},8,["disabled"])),(0,n.createVNode)(Le.Z,{class:"mdc-data-table__pagination-button mdc-data-table__pagination-prev-button","no-label":"",disabled:1===(0,n.unref)(i),"data-prev-page":"true",onClick:o[2]||(o[2]=t=>x((0,n.unref)(i)-1))},{default:(0,n.withCtx)((()=>[(0,n.renderSlot)(e.$slots,"prev",{},(()=>[(0,n.createElementVNode)("i",{class:(0,n.normalizeClass)((0,n.unref)(a.Z).cssClasses.icon)},"chevron_left",2)]))])),_:3},8,["disabled"]),!t.mini&&h.value?((0,n.openBlock)(),(0,n.createElementBlock)("div",We,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(u.value,(t=>((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:`page-${t}`},[y(t)?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},[k(t)?((0,n.openBlock)(),(0,n.createBlock)(Le.Z,{key:0,class:(0,n.normalizeClass)({"mdc-data-table__pagination-button":!0,"mdc-pagination__button--active":t===(0,n.unref)(i)}),onClick:e=>x(t)},{default:(0,n.withCtx)((()=>[(0,n.createTextVNode)((0,n.toDisplayString)(t),1)])),_:2},1032,["class","onClick"])):((0,n.openBlock)(),(0,n.createElementBlock)("button",Ke,Ye))],64)):(0,n.createCommentVNode)("",!0)],64)))),128))])):(0,n.createCommentVNode)("",!0),(0,n.createVNode)(Le.Z,{class:"mdc-data-table__pagination-button mdc-data-table__pagination-next-button",disabled:(0,n.unref)(i)===u.value,"no-label":"","data-next-page":"true",onClick:o[3]||(o[3]=t=>x((0,n.unref)(i)+1))},{default:(0,n.withCtx)((()=>[(0,n.renderSlot)(e.$slots,"next",{},(()=>[(0,n.createElementVNode)("i",{class:(0,n.normalizeClass)((0,n.unref)(a.Z).cssClasses.icon)},"chevron_right",2)]))])),_:3},8,["disabled"]),h.value?(0,n.createCommentVNode)("",!0):((0,n.openBlock)(),(0,n.createBlock)(Le.Z,{key:3,class:"mdc-data-table__pagination-button mdc-data-table__pagination-last-button",disabled:(0,n.unref)(i)===u.value,"no-label":"","data-last-page":"true",onClick:o[4]||(o[4]=t=>x(u.value))},{default:(0,n.withCtx)((()=>[(0,n.renderSlot)(e.$slots,"last",{},(()=>[(0,n.createElementVNode)("i",{class:(0,n.normalizeClass)((0,n.unref)(a.Z).cssClasses.icon)},"last_page",2)]))])),_:3},8,["disabled"]))]),!t.mini&&t.showJumper?((0,n.openBlock)(),(0,n.createElementBlock)("div",Je,[(0,n.createElementVNode)("div",Xe,(0,n.toDisplayString)(f.value),1),(0,n.createElementVNode)("div",Qe,[(0,n.withDirectives)((0,n.createElementVNode)("input",{"onUpdate:modelValue":o[5]||(o[5]=t=>(0,n.isRef)(r)?r.value=t:null),type:"number",min:"1",max:u.value,onKeydown:o[6]||(o[6]=(0,n.withKeys)((0,n.withModifiers)((t=>x(t.target.value)),["prevent"]),["enter"]))},null,40,to),[[n.vModelText,(0,n.unref)(r)]]),(0,n.createElementVNode)("span",null,(0,n.toDisplayString)(v.value),1),t.jumperButtonText?((0,n.openBlock)(),(0,n.createBlock)(Le.Z,{key:0,outlined:t.jumperButtonOutlined,unelevated:!t.jumperButtonOutlined,onClick:o[7]||(o[7]=t=>x((0,n.unref)(r)))},{default:(0,n.withCtx)((()=>[(0,n.createTextVNode)((0,n.toDisplayString)(t.jumperButtonText),1)])),_:1},8,["outlined","unelevated"])):(0,n.createCommentVNode)("",!0)])])):(0,n.createCommentVNode)("",!0)])],2))}});var ao=no;const lo={TYPES:{horizontal:0,vertical:1},cssClasses:{item:"mdc-form__item",subitem:"mdc-form__subitem",actions:"mdc-form__actions"}},io={name:"UiForm",customOptions:{UI_FORM:lo}};var co=Object.assign(io,{props:{type:{type:[String,Number],default:0},nowrap:{type:Boolean,default:!1},labelTopAligned:{type:Boolean,default:!1},labelRightAligned:{type:Boolean,default:!1},labelTopRightAligned:{type:Boolean,default:!1},itemMarginBottom:{type:[String,Number],default:0},actionAlign:{type:String,default:"left"},labelWidth:{type:[String,Number],default:0},labelMarginRight:{type:[String,Number],default:0},labelMarginBottom:{type:[String,Number],default:0}},setup(t){const e=t,o=(0,n.computed)((()=>(0,l.Z)(e,lo.TYPES,"vertical")||"|"===e.type)),d=(0,n.computed)((()=>({"mdc-form":!0,"mdc-form--horizontal":!o.value,"mdc-form--vertical":o.value,"mdc-form--nowrap":e.nowrap,"mdc-form--label-top-aligned":e.labelTopAligned,"mdc-form--label-right-aligned":e.labelRightAligned,"mdc-form--label-top-right-aligned":e.labelTopRightAligned,"mdc-form--actions-center":"center"===e.actionAlign,"mdc-form--actions-right":"right"===e.actionAlign}))),a=(0,n.ref)(null);return(0,n.onBeforeMount)((()=>{o.value?(e.labelWidth||e.labelMarginRight)&&console.warn("[UiForm]","The 'labelWidth'/'labelMarginRight' prop only takes effect in the horizontal type form"):e.labelMarginBottom&&console.warn("[UiForm]","The 'labelMarginBottom' prop only takes effect in the vertical type form")})),(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{ref_key:"form",ref:a,class:(0,n.normalizeClass)(d.value)},[(0,n.renderSlot)(t.$slots,"default",{itemClass:lo.cssClasses.item,subitemClass:lo.cssClasses.subitem,actionClass:lo.cssClasses.actions})],2))}}),ro={ROOT:"mdc-form-field"},so={LABEL_SELECTOR:".mdc-form-field > label"},uo=function(t){function e(o){var d=t.call(this,(0,z.pi)((0,z.pi)({},e.defaultAdapter),o))||this;return d.click=function(){d.handleClick()},d}return(0,z.ZT)(e,t),Object.defineProperty(e,"cssClasses",{get:function(){return ro},enumerable:!1,configurable:!0}),Object.defineProperty(e,"strings",{get:function(){return so},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{activateInputRipple:function(){},deactivateInputRipple:function(){},deregisterInteractionHandler:function(){},registerInteractionHandler:function(){}}},enumerable:!1,configurable:!0}),e.prototype.init=function(){this.adapter.registerInteractionHandler("click",this.click)},e.prototype.destroy=function(){this.adapter.deregisterInteractionHandler("click",this.click)},e.prototype.handleClick=function(){var t=this;this.adapter.activateInputRipple(),requestAnimationFrame((function(){t.adapter.deactivateInputRipple()}))},e}(M.K),po=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return(0,z.ZT)(e,t),e.attachTo=function(t){return new e(t)},e.prototype.labelEl=function(){var t=uo.strings.LABEL_SELECTOR;return this.root.querySelector(t)},e.prototype.getDefaultFoundation=function(){var t=this;return new uo({activateInputRipple:function(){t.input&&t.input.ripple&&t.input.ripple.activate()},deactivateInputRipple:function(){t.input&&t.input.ripple&&t.input.ripple.deactivate()},deregisterInteractionHandler:function(e,o){var d=t.labelEl();d&&d.removeEventListener(e,o)},registerInteractionHandler:function(e,o){var d=t.labelEl();d&&d.addEventListener(e,o)}})},e}(A.B);const mo={name:"UiFormField",customOptions:{}};var ho=Object.assign(mo,{props:{nowrap:{type:Boolean,default:!1},alignEnd:{type:Boolean,default:!1},spaceBetween:{type:Boolean,default:!1}},setup(t,e){let{expose:o}=e;const d=t,a=(0,n.useSlots)(),l=(0,n.getCurrentInstance)(),i=l.parent,c=(0,n.ref)(null),r=(0,n.reactive)({$formField:null,form:null}),{$formField:s}=(0,n.toRefs)(r),u=(0,n.computed)((()=>"UiForm"===i.type.name)),p=(0,n.computed)((()=>({"mdc-form__item":u.value,"mdc-form-field":!0,"mdc-form-field--nowrap":d.nowrap,"mdc-form-field--align-end":d.alignEnd,"mdc-form-field--space-between":d.spaceBetween}))),m=(0,n.computed)((()=>c.value&&c.value.classList.contains("mdc-form__item"))),h=(0,n.computed)((()=>{const t=r.form;return t&&t.itemMarginBottom?{"margin-bottom":`${t.itemMarginBottom}px`}:0})),g=(0,n.computed)((()=>{const t=r.form;return t&&t.labelWidth?+t.labelWidth:0})),b=(0,n.computed)((()=>{const t=r.form;return t&&t.labelMarginRight?+t.labelMarginRight:0})),f=(0,n.computed)((()=>{const t=r.form;return t&&"left"===t.actionAlign&&(g.value||b.value)?g.value+b.value:0})),v=(0,n.computed)((()=>{const t=r.form;return t&&t.labelMarginBottom?+t.labelMarginBottom:0}));function y(t){const e=t.parent;return"UiForm"===e.type.name?e.props:m.value?y(e):null}return(0,n.onMounted)((()=>{r.$formField=new po(c.value),r.form=y(l),function(){if(a.default){const t=a.default().find((t=>"label"===t.type)),e=null===t||void 0===t?void 0:t.el;e&&(g.value&&(e.style.flexBasis=`${g.value}px`),b.value&&(e.style.marginRight=`${b.value}px`),v.value&&(e.style.marginBottom=`${v.value}px`));const o=c.value;o&&o.classList.contains("mdc-form__actions")&&f.value&&(o.style.paddingLeft=`${f.value}px`)}}()})),o({$formField:s}),(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{ref_key:"formField",ref:c,class:(0,n.normalizeClass)(p.value),style:(0,n.normalizeStyle)(h.value)},[(0,n.renderSlot)(t.$slots,"default")],6))}});var go=ho;var bo=o(80569).Z,fo=o(25256),vo=o(68713);const yo=["id"],ko="UiTextfieldHelper",wo={name:ko,customOptions:{name:ko}};var xo=Object.assign(wo,{props:{...vo.sL,withCounter:{type:Boolean,default:!1}},setup(t){const e=t,o=(0,n.ref)(null),{hasValidMsg:d,validMessage:a}=(0,vo.sD)(e),l=(0,n.computed)((()=>({"mdc-text-field-helper-text":!0,"mdc-text-field-helper-text--persistent":e.visible,"mdc-text-field-helper-text--validation-msg":d.value})));return(0,n.onBeforeMount)((()=>{!e.id&&e.withCounter&&console.warn(`[${ko}]: The 'helperTextId' prop is required for with outer counter`)})),(0,n.onMounted)((()=>{const t=o.value.previousElementSibling,d=t&&t.classList.contains("mdc-text-field");e.withCounter&&!d&&console.warn(`[${ko}]: Do not insert any tags between '' and '' with counter`)})),(e,d)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{ref_key:"textfieldHelper",ref:o,class:"mdc-text-field-helper-line"},[(0,n.createElementVNode)("div",{id:e.id,class:(0,n.normalizeClass)(l.value),"aria-hidden":"true"},[(0,n.renderSlot)(e.$slots,"default",{},(()=>[(0,n.createTextVNode)((0,n.toDisplayString)((0,n.unref)(a)),1)]))],10,yo),t.withCounter?((0,n.openBlock)(),(0,n.createBlock)(fo.Z,{key:0})):(0,n.createCommentVNode)("",!0)],512))}}),To=o(20601);const Co=["tabindex","role"],qo={name:"UiTextfieldIcon",customOptions:{UI_GLOBAL:a.Z,UI_TEXTFIELD_ICON:To.F}};var So=Object.assign(qo,{props:{trailing:{type:Boolean,default:!1},unclickable:{type:Boolean,default:!1}},emits:[a.Z.EVENTS.CLICK],setup(t,e){let{emit:o}=e;const d=t,l=(0,n.computed)((()=>{let t=[a.Z.cssClasses.icon,To.F.cssClasses.icon];return d.trailing?t.push(To.F.cssClasses.trailingIcon):t.push(To.F.cssClasses.leadingIcon),t}));function i(t){d.unclickable||o(a.Z.EVENTS.CLICK,t)}return(e,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("i",{class:(0,n.normalizeClass)(l.value),tabindex:t.unclickable?null:0,role:t.unclickable?null:"button",onClick:i},[(0,n.renderSlot)(e.$slots,"default")],10,Co))}});var Io=So,$o=o(26479);const Eo={CLICK:"click"};function No(t,e){return o=>{(function(t,e){let o=t.target,d=o===e;for(;o&&!d;)o=o.parentNode,o===e&&(d=!0);return d})(o,t)||e()}}function Bo(t){let{el:e,listener:o,callback:d}=t;o||(o=No(e,d)),document.addEventListener(Eo.CLICK,o,{capture:!0})}function Do(t){t&&document.removeEventListener(Eo.CLICK,t,{capture:!0})}function Vo(){return{createDatalistEventListener:No,addDatalistEventListener:Bo,removeDatalistEventListener:Do}}var jo=o(95586);const Uo=["textContent"],Oo=(0,n.createElementVNode)("div",{class:"mdc-drawer-scrim"},null,-1),_o=["data-index","onClick","innerHTML"],zo="UiAutocomplete",Ao={cssClasses:{selected:"selected"},EVENTS:{INPUT:"update:modelValue",SEARCH:"search",SELECTED:"selected",CLICK:"click",MOUSEMOVE:"mousemove",MOUSELEAVE:"mouseleave"}},Mo={UP:38,DOWN:40,ENTER:13},Lo={name:zo,customOptions:{name:zo,UI_GLOBAL:a.Z,UI_AUTOCOMPLETE:Ao,KEYCODE:Mo,deprecatedListClassNameMap:ve.Yc}};var Po=Object.assign(Lo,{props:{...$o.l,...b.U,outlined:{type:Boolean,default:!1},modelValue:{type:[String,Number],default:""},source:{type:Array,default:()=>[]},sourceFormat:{type:Object,default:()=>jo.A},inputId:{type:[String,null],default:null},autofocus:{type:Boolean,default:!1},delay:{type:[Number,String],default:300},minlength:{type:[Number,String],default:1},remote:{type:Boolean,default:!1},highlight:{type:Boolean,default:!1},filterKeywords:{type:Boolean,default:!1},inside:{type:Boolean,default:!1}},emits:[Ao.EVENTS.INPUT,Ao.EVENTS.SEARCH,Ao.EVENTS.SELECTED],setup(t,e){let{expose:o,emit:d}=e;const l=t,i=(0,n.useSlots)(),c=((0,n.getCurrentInstance)().parent,(0,n.ref)(null)),r=(0,n.ref)(null),s=(0,n.reactive)({open:!1,autocompleteListEl:null,$listener:null,inputValue:l.modelValue,currentSource:[],currentSuggestion:{data:[],index:-1},currentSelectedItem:null});let u=null,p={$view:null,viewHeight:0,listHeight:0,itemHeight:0,currentFirstIndex:0,currentLastIndex:0,defaultFirstIndex:0,defaultLastIndex:0,defaultReversedLastIndex:0,defaultReversedFirstIndex:0};const{inputValue:m,currentSuggestion:h}=(0,n.toRefs)(s),{createDatalistEventListener:g,removeDatalistEventListener:v}=Vo(),{materialIcon:y}=(0,b.J)(l),k=(0,n.computed)((()=>({"mdc-autocomplete":!0,"mdc-autocomplete--fullwidth":l.fullwidth,"mdc-autocomplete--in-dialog":l.inside}))),w=(0,n.computed)((()=>["mdc-autocomplete__menu","mdc-menu","mdc-menu-surface",{"mdc-menu-surface--fullwidth":l.fullwidth,"mdc-menu-surface--open":s.open}])),x=(0,n.computed)((()=>!(!l.withLeadingIcon&&!i.before))),T=(0,n.computed)((()=>!(!l.withTrailingIcon&&!i.after)));(0,n.onBeforeMount)((()=>(0,jo.C)(zo,l.sourceFormat))),(0,n.onMounted)((()=>{s.autocompleteListEl=r.value,s.autocompleteListEl.addEventListener(Ao.EVENTS.MOUSEMOVE,D),s.autocompleteListEl.addEventListener(Ao.EVENTS.MOUSELEAVE,V),I(l.source),(0,n.watch)((()=>l.modelValue),(t=>{m.value!==t&&(m.value=`${t}`)})),(0,n.watch)((()=>l.source),(t=>{I(t),q()}))})),(0,n.onBeforeUnmount)((()=>{v(s.$listener),s.autocompleteListEl.removeEventListener(Ao.EVENTS.MOUSEMOVE,D),s.autocompleteListEl.removeEventListener(Ao.EVENTS.MOUSELEAVE,V)}));const C=t=>t.replace(/&/g,"&").replace(//g,">").replace(/"/g,""");function q(){const t=m.value;if("string"!==(0,f.Z)(t))throw new Error("[UiAutocomplete]: The keywords value must be a string");!function(t){const e="("+t.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&")+")",o=new RegExp(e,"gi"),d=l.filterKeywords?s.currentSource.filter((e=>new RegExp(t,"i").test(e[l.sourceFormat.label]))):s.currentSource;s.currentSuggestion.data=d.map((t=>{const e=t[l.sourceFormat.label];return t.html=l.highlight?C(e.replace(o,"$1")).replace(/<(\/?strong)>/g,"<$1>"):C(e),t}))}(t.trim().toLowerCase()),t.length>=l.minlength&&s.currentSuggestion.data.length&&(s.open=!0,(0,n.nextTick)((()=>function(){const t=s.autocompleteListEl,e=t.querySelector("ul"),o=t.querySelector("li");p.$view||(p.$view=t,p.viewHeight=t.offsetHeight),p.item||(p.itemHeight=o.offsetHeight),p.list!==e.offsetHeight&&(p.listHeight=e.offsetHeight),p.defaultFirstIndex=0,p.defaultLastIndex=parseInt(p.viewHeight/p.itemHeight,10)-1;const d=s.currentSuggestion.data.length-1;p.defaultReversedLastIndex!==d&&(p.defaultReversedLastIndex=d,p.defaultReversedFirstIndex=p.defaultReversedLastIndex-p.defaultLastIndex),p.currentLastIndex=p.defaultLastIndex}())))}function S(){s.open=!1,s.currentSuggestion.index=-1,U()}function I(t){"array"===(0,f.Z)(t)&&(s.currentSource=t.map((t=>{let e={};return"string"===(0,f.Z)(t)||"number"===(0,f.Z)(t)?(e[l.sourceFormat.label]=t,e[l.sourceFormat.value]=t):"object"===(0,f.Z)(t)?e=t:console.warn(`[${zo}]: The item of the 'source' prop must be a string or object`),e})),s.currentSuggestion.data=s.currentSource)}function $(){l.autofocus&&q()}function E(t){if(s.currentSuggestion.data.length){const e=0,o=s.currentSuggestion.data.length-1;switch(t.keyCode){case Mo.DOWN:U(),s.currentSuggestion.index===o?(s.currentSuggestion.index=e,p.currentFirstIndex=p.defaultFirstIndex,p.currentLastIndex=p.defaultLastIndex,p.$view.scrollTop=0):(s.currentSuggestion.index++,s.currentSuggestion.index>p.currentLastIndex&&(p.currentFirstIndex++,p.currentLastIndex++,p.$view.scrollTop+=p.itemHeight)),s.autocompleteListEl.blur(),t.preventDefault();break;case Mo.UP:U(),s.currentSuggestion.index===e||-1===s.currentSuggestion.index?(s.currentSuggestion.index=o,p.currentFirstIndex=p.defaultReversedFirstIndex,p.currentLastIndex=p.defaultReversedLastIndex,p.$view.scrollTop=p.itemHeight*p.defaultReversedFirstIndex):(s.currentSuggestion.index--,s.currentSuggestion.index0){j(s.currentSuggestion.data[s.currentSuggestion.index=l.minlength?function(t){l.remote?(u&&clearTimeout(u),u=setTimeout((()=>{d(Ao.EVENTS.SEARCH,t)}),l.delay)):q()}(e):S()}function B(){if(!s.$listener){var t;const e=null===(t=c.value)||void 0===t?void 0:t.textfield;s.$listener=g(e,(()=>{v(s.$listener),S()}))}document.addEventListener(Eo.CLICK,s.$listener,{capture:!0})}function D(t){const e=t.target;"LI"!==e.tagName||e.classList.contains(Ao.cssClasses.selected)||(s.currentSelectedItem=e,U(),e.classList.add(Ao.cssClasses.selected),s.currentSuggestion.index=e.dataset.index)}function V(){s.currentSelectedItem&&s.currentSelectedItem.classList.remove(Ao.cssClasses.selected)}function j(t){S(),delete t[Ao.cssClasses.selected],delete t.html,d(Ao.EVENTS.INPUT,t[l.sourceFormat.label]),d(Ao.EVENTS.SELECTED,t)}function U(){const t=s.autocompleteListEl.querySelector(`li.${Ao.cssClasses.selected}`);t&&t.classList.remove(Ao.cssClasses.selected)}const O=t=>[ve.Yc["mdc-list-item"],{selected:t===s.currentSuggestion.index}];return o({hasLeadingIcon:x,hasTrailingIcon:T}),(e,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{class:(0,n.normalizeClass)(k.value)},[(0,n.createVNode)(bo,{ref_key:"autocomplete",ref:c,"model-value":(0,n.unref)(m),"input-id":t.inputId,outlined:t.outlined,label:e.label,placeholder:e.placeholder,disabled:e.disabled,required:e.required,fullwidth:e.fullwidth,"end-aligned":e.endAligned,"with-leading-icon":x.value,"with-trailing-icon":T.value,onFocus:$,onKeydown:E,"onUpdate:modelValue":N,onBlur:B},{before:(0,n.withCtx)((t=>{let{iconClass:o}=t;return[(0,n.unref)(y)?((0,n.openBlock)(),(0,n.createElementBlock)("i",{key:0,class:(0,n.normalizeClass)((0,n.unref)(a.Z).getMaterialIconClass(o)),textContent:(0,n.toDisplayString)((0,n.unref)(y))},null,10,Uo)):(0,n.renderSlot)(e.$slots,"before",{key:1,iconClass:o})]})),default:(0,n.withCtx)((()=>[(0,n.renderSlot)(e.$slots,"default")])),after:(0,n.withCtx)((t=>{let{iconClass:o}=t;return[(0,n.renderSlot)(e.$slots,"after",{iconClass:o})]})),_:3},8,["model-value","input-id","outlined","label","placeholder","disabled","required","fullwidth","end-aligned","with-leading-icon","with-trailing-icon"]),(0,n.withDirectives)((0,n.createElementVNode)("div",{ref_key:"autocompleteList",ref:r,class:(0,n.normalizeClass)(w.value)},[Oo,(0,n.createElementVNode)("ul",{class:(0,n.normalizeClass)((0,n.unref)(ve.Yc)["mdc-list"])},[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)((0,n.unref)(h).data,((t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("li",{key:e,"data-index":e,class:(0,n.normalizeClass)(O(e)),onClick:e=>j(t),innerHTML:t.html},null,10,_o)))),128))],2)],2),[[n.vShow,(0,n.unref)(h).data.length]])],2))}});var Ro=Po,Fo=o(78527),Ho=o(70592),Go=o.n(Ho);const Zo=["textContent"],Wo={key:0,class:"mdc-datepicker__toggle","data-toggle":""},Ko=(0,n.createElementVNode)("svg",{viewBox:"0 0 18 18"},[(0,n.createElementVNode)("path",{d:"M14 2v-1h-3v1h-5v-1h-3v1h-3v15h17v-15h-3zM12 2h1v2h-1v-2zM4 2h1v2h-1v-2zM16 16h-15v-8.921h15v8.921zM1 6.079v-3.079h2v2h3v-2h5v2h3v-2h2v3.079h-15z",fill:"#000000"})],-1),Yo=(0,n.createElementVNode)("svg",{viewBox:"0 0 18 18"},[(0,n.createElementVNode)("path",{d:"M9.207 8.5l6.646 6.646-0.707 0.707-6.646-6.646-6.646 6.646-0.707-0.707 6.646-6.646-6.647-6.646 0.707-0.707 6.647 6.646 6.646-6.646 0.707 0.707-6.646 6.646z",fill:"#000000"})],-1),Jo={MODE:{SINGLE:"single",MULTIPLE:"multiple",RANGE:"range",MONTH:"month",TIME:"time"},EVENTS:{CHANGE:"update:modelValue"}},Xo={name:"UiDatepicker",customOptions:{UI_GLOBAL:a.Z,UI_DATEPICKER:Jo}};var Qo=Object.assign(Xo,{props:{...$o.l,...b.U,outlined:{type:Boolean,default:!1},modelValue:{type:[String,Number,Array],default:""},inputId:{type:[String,null],default:null},config:{type:Object,default:()=>({})},toggle:{type:Boolean,default:!1},clear:{type:Boolean,default:!1},monthOptions:{type:Object,default:()=>({})}},emits:[Jo.EVENTS.CHANGE],setup(t,e){let{expose:o,emit:d}=e;const l=t,i=(0,n.useSlots)(),c=(0,n.ref)(null),r=(0,n.reactive)({picker:null,inputValue:l.modelValue,mode:l.config.mode||Jo.MODE.SINGLE,rangeSeparator:""}),{inputValue:s}=(0,n.toRefs)(r),{materialIcon:u}=(0,b.J)(l),p=(0,n.computed)((()=>!(!l.withLeadingIcon&&!i.before))),m=(0,n.computed)((()=>!!(l.withTrailingIcon||i.after||l.toggle||l.clear)));function h(t){r.picker&&r.picker.setDate(t)}function g(t){let e;switch(r.inputValue=t.target.value,r.mode){case Jo.MODE.MULTIPLE:let t=r.inputValue.replace(/\s,\s/,",").split(",");e=1===t.length?t[0]:t;break;case Jo.MODE.RANGE:let o=r.inputValue.split(r.rangeSeparator),d=o[0],n=o[1];d&&n&&(e=d===n?d:[d,n],h(e));break;default:e=r.inputValue}e&&d(Jo.EVENTS.CHANGE,e)}function f(t){r.inputValue||t.stopPropagation()}function v(t){if(Array.isArray(t)&&2===t.length){let e=t[0],o=t[1];r.inputValue=e===o?e:`${e}${r.rangeSeparator}${o}`}}return(0,n.onMounted)((()=>{const t=c.value.textfield,e=t.querySelector("input");if(e.dataset.input="",!r.picker){let o=Object.assign({},l.config);switch(o.mode){case Jo.MODE.MONTH:o=Object.assign(o,{mode:Jo.MODE.SINGLE,plugins:[new(Go())(l.monthOptions)]});break;case Jo.MODE.TIME:o=Object.assign(o,{enableTime:!0,noCalendar:!0,dateFormat:"H:i"})}o.disableMobile=!0,o.wrap=!0,o.onOpen=()=>{o.altInput&&c.value.$textField.foundation.activateFocus()},o.onClose=()=>{o.altInput&&c.value.$textField.foundation.deactivateFocus(),o.mode!==Jo.MODE.TIME||r.inputValue||(e.value=""),e.blur()},r.mode===Jo.MODE.RANGE?(r.rangeSeparator=o.locale?o.locale.rangeSeparator:" to ",v(l.modelValue)):(o.onReady=(t,e,o)=>{e&&(r.inputValue=e,d(Jo.EVENTS.CHANGE,e))},o.onChange=(t,e,o)=>!e&&d(Jo.EVENTS.CHANGE,e)),o.defaultDate=r.inputValue,r.picker=(0,Fo.Z)(t,o)}(0,n.watch)((()=>l.modelValue),(t=>{r.mode===Jo.MODE.RANGE?v(t):r.inputValue=t,h(r.inputValue)}))})),(0,n.onBeforeUnmount)((()=>{r.picker&&(r.picker.destroy(),r.picker=null)})),o({hasLeadingIcon:p,hasTrailingIcon:m}),(e,o)=>((0,n.openBlock)(),(0,n.createBlock)(bo,{ref_key:"datepicker",ref:c,"model-value":(0,n.unref)(s),class:"mdc-datepicker","input-id":t.inputId,outlined:t.outlined,label:e.label,placeholder:e.placeholder,disabled:e.disabled,required:e.required,fullwidth:e.fullwidth,"end-aligned":e.endAligned,"with-leading-icon":p.value,"with-trailing-icon":m.value,onChange:g},{before:(0,n.withCtx)((t=>{let{iconClass:o}=t;return[(0,n.unref)(u)?((0,n.openBlock)(),(0,n.createElementBlock)("i",{key:0,class:(0,n.normalizeClass)((0,n.unref)(a.Z).getMaterialIconClass(o)),textContent:(0,n.toDisplayString)((0,n.unref)(u))},null,10,Zo)):(0,n.renderSlot)(e.$slots,"before",{key:1,iconClass:o})]})),default:(0,n.withCtx)((()=>[(0,n.renderSlot)(e.$slots,"default")])),after:(0,n.withCtx)((o=>{let{iconClass:d}=o;return[t.toggle||t.clear?((0,n.openBlock)(),(0,n.createElementBlock)("span",{key:0,class:(0,n.normalizeClass)([d,"mdc-datepicker__icon"])},[t.toggle?((0,n.openBlock)(),(0,n.createElementBlock)("span",Wo,[(0,n.renderSlot)(e.$slots,"toggle",{},(()=>[Ko]))])):(0,n.createCommentVNode)("",!0),t.clear?((0,n.openBlock)(),(0,n.createElementBlock)("span",{key:1,class:"mdc-datepicker__clear","data-clear":"",onClickCapture:f},[(0,n.renderSlot)(e.$slots,"clear",{},(()=>[Yo]))],32)):(0,n.createCommentVNode)("",!0)],2)):(0,n.renderSlot)(e.$slots,"after",{key:1,iconClass:d})]})),_:3},8,["model-value","input-id","outlined","label","placeholder","disabled","required","fullwidth","end-aligned","with-leading-icon","with-trailing-icon"]))}});var td=Qo,ed=o(53550),od=o.n(ed);const dd={class:"mdc-rangepicker"},nd={class:"mdc-rangepicker__separator"},ad={EVENTS:{CHANGE:"update:modelValue"}},ld={name:"UiRangepicker",customOptions:{UI_RANGEPICKER:ad}};var id=Object.assign(ld,{props:{outlined:{type:Boolean,default:!1},modelValue:{type:Array,default:()=>[]},disabled:{type:Boolean,default:!1},placeholders:{type:Array,default:()=>[]},labels:{type:Array,default:()=>[]},config:{type:Object,default:()=>({})},disableRangePlugin:{type:Boolean,default:!1}},emits:[ad.EVENTS.CHANGE],setup(t,e){let{emit:o}=e;const d=t,a=(0,n.computed)((()=>d.labels[0]||"")),l=(0,n.computed)((()=>d.labels[1]||"")),i=(0,n.computed)((()=>d.placeholders[0]||"")),c=(0,n.computed)((()=>d.placeholders[1]||"")),r=(0,n.ref)(null),s=(0,n.ref)(null),u=(0,n.reactive)({picker:null,startInputValue:"",endInputValue:""}),{startInputValue:p,endInputValue:m}=(0,n.toRefs)(u);function h(t){let e=!1;if(2===t.length){const o=t.map((t=>t?Fo.Z.formatDate(new Date(t),d.config.dateFormat||"Y-m-d"):"")),n=o[0],a=o[1];u.startInputValue===n&&u.endInputValue===a||(u.startInputValue=n,u.endInputValue=a,e=n&&a)}return e}function g(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:u.picker;const e=u.startInputValue&&u.endInputValue?[u.startInputValue,u.endInputValue]:[];if(d.disableRangePlugin)u.picker&&2===u.picker.length&&u.picker.forEach(((t,e)=>t.setDate(d.modelValue[e])));else{t.setDate(e,!0);r.value.$textField.foundation.deactivateFocus()}}return(0,n.onMounted)((()=>{const t=r.value,e=t.textfield.querySelector("input"),a=s.value.textfield.querySelector("input");if(!u.picker){const n=function(t,e,n){let a=Object.assign({},d.config,{disableMobile:!0,plugins:d.disableRangePlugin?[]:[new(od())({input:n})]});a.onChange=(t,d,a)=>{h([e.value,n.value])&&o(ad.EVENTS.CHANGE,[u.startInputValue,u.endInputValue])},a.onClose=()=>{setTimeout((()=>{t.$textField.foundation.deactivateFocus(),e.blur()}),1)},a.onReady=(t,e,n)=>{h(d.modelValue)&&(g(n),o(ad.EVENTS.CHANGE,[u.startInputValue,u.endInputValue]))},d.disableRangePlugin||(a.onValueUpdate=()=>{!function(){if(d.config.enableTime){const t=s.value.$textField.value;if(t!==u.endInputValue){h([u.startInputValue,t])&&o(ad.EVENTS.CHANGE,[u.startInputValue,u.endInputValue])}}}()});return a}(t,e,a);u.picker=d.disableRangePlugin?[(0,Fo.Z)(e,n),(0,Fo.Z)(a,n)]:(0,Fo.Z)(e,n)}(0,n.watch)((()=>d.modelValue),((t,e)=>{const o=e[0]||e[1],d=t[0]&&t[1];!o&&d?(h(t),g()):o&&!d&&(u.startInputValue="",u.endInputValue="",g())}))})),(0,n.onBeforeUnmount)((function(){u.picker&&(d.disableRangePlugin?u.picker.forEach((t=>t.destroy())):u.picker.destroy(),u.picker=null)})),(e,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",dd,[(0,n.createVNode)(bo,{ref_key:"startDatepicker",ref:r,modelValue:(0,n.unref)(p),"onUpdate:modelValue":o[0]||(o[0]=t=>(0,n.isRef)(p)?p.value=t:null),class:"mdc-rangepicker__start",outlined:t.outlined,label:a.value,placeholder:i.value,disabled:t.disabled},null,8,["modelValue","outlined","label","placeholder","disabled"]),(0,n.createElementVNode)("span",nd,[(0,n.renderSlot)(e.$slots,"separator")]),(0,n.createVNode)(bo,{ref_key:"endDatepicker",ref:s,modelValue:(0,n.unref)(m),"onUpdate:modelValue":o[1]||(o[1]=t=>(0,n.isRef)(m)?m.value=t:null),class:"mdc-rangepicker__end",outlined:t.outlined,label:l.value,placeholder:c.value,disabled:t.disabled},null,8,["modelValue","outlined","label","placeholder","disabled"])]))}});var cd=id;var rd=o(33506).Z;const sd=["id"],ud="UiSelectHelper",pd={name:ud,customOptions:{name:ud}};var md=Object.assign(pd,{props:{...vo.sL},setup(t){const e=t,{hasValidMsg:o,validMessage:d}=(0,vo.sD)(e),a=(0,n.computed)((()=>!e.visible||o.value)),l=(0,n.computed)((()=>({"mdc-select-helper-text":!0,"mdc-select-helper-text--validation-msg-persistent":o.value,"mdc-select-helper-text--validation-msg":a.value})));return(0,n.onBeforeMount)((()=>{const t=e.visible||o.value;!e.id&&t&&console.warn(`[${ud}]: The 'helperTextId' prop is required for `)})),(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("p",{id:t.id,class:(0,n.normalizeClass)(l.value),"aria-hidden":"true"},[(0,n.renderSlot)(t.$slots,"default",{},(()=>[(0,n.createTextVNode)((0,n.toDisplayString)((0,n.unref)(d)),1)]))],10,sd))}});const hd=["tabindex","role"],gd={name:"UiSelectIcon",customOptions:{UI_GLOBAL:a.Z}};var bd=Object.assign(gd,{props:{unclickable:{type:Boolean,default:!1}},emits:[a.Z.EVENTS.CLICK],setup(t,e){let{emit:o}=e;const d=t;function l(t){d.unclickable||o(a.Z.EVENTS.CLICK,t)}return(e,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("i",{class:(0,n.normalizeClass)((0,n.unref)(a.Z).getMaterialIconClass("mdc-select__icon")),tabindex:t.unclickable?null:0,role:t.unclickable?null:"button",onClick:l},[(0,n.renderSlot)(e.$slots,"default")],10,hd))}});var fd=bd,vd=o(27567),yd=(o(73492),o(5543),o(22782)),kd=o(80703);const wd=["id","value","disabled","data-indeterminate"],xd={cssClasses:{touch:"mdc-checkbox--touch"},EVENTS:{CHANGE:"update:modelValue"}},Td={name:"UiCheckbox",customOptions:{UI_CHECKBOX:xd}};var Cd=Object.assign(Td,{props:{modelValue:{type:null,default:!1},indeterminate:{type:Boolean,default:!1},...kd.g,value:{type:[String,Number],default:""},disabled:{type:Boolean,default:!1}},emits:[xd.EVENTS.CHANGE],setup(t,e){let{emit:o}=e;const d=t,a=(0,n.getCurrentInstance)().parent,l=(0,n.ref)(null),i=(0,n.reactive)({$checkbox:null,selectedValue:u(d.modelValue)}),{selectedValue:c}=(0,n.toRefs)(i),r=(0,n.computed)((()=>{const t=l.value;return t&&t.mdcCheckbox.classList.contains(xd.cssClasses.touch)})),s=(0,n.computed)((()=>({"mdc-checkbox--disabled":d.disabled,"mdc-checkbox--touch":r.value})));function u(t){return Array.isArray(t)?[...t]:!!t}function p(){o(xd.EVENTS.CHANGE,i.selectedValue)}return(0,n.onMounted)((()=>{(0,n.nextTick)((()=>{var t;const e=l.value;i.$checkbox=new vd.B(e.mdcCheckbox),i.$checkbox.indeterminate=d.indeterminate;const o=null===a||void 0===a||null===(t=a.exposed)||void 0===t?void 0:t.$formField.value;o&&(o.input=i.$checkbox)})),(0,n.watch)((()=>d.modelValue),(t=>i.selectedValue=u(t))),(0,n.watch)((()=>d.indeterminate),(t=>i.$checkbox.indeterminate=t)),(0,n.watch)((()=>d.disabled),(t=>i.$checkbox.disabled=t))})),(e,o)=>((0,n.openBlock)(),(0,n.createBlock)(yd.Z,{ref_key:"checkbox",ref:l,class:(0,n.normalizeClass)(s.value)},{default:(0,n.withCtx)((()=>[(0,n.withDirectives)((0,n.createElementVNode)("input",(0,n.mergeProps)({id:e.inputId,"onUpdate:modelValue":o[0]||(o[0]=t=>(0,n.isRef)(c)?c.value=t:null),type:"checkbox",class:"mdc-checkbox__native-control",value:t.value,disabled:t.disabled,"data-indeterminate":t.indeterminate},e.attrs,{onChange:p}),null,16,wd),[[n.vModelCheckbox,(0,n.unref)(c)]])])),_:1},8,["class"]))}});var qd=Cd,Sd=o(75857),Id={NATIVE_CONTROL_SELECTOR:".mdc-radio__native-control"},$d={DISABLED:"mdc-radio--disabled",ROOT:"mdc-radio"},Ed=function(t){function e(o){return t.call(this,(0,z.pi)((0,z.pi)({},e.defaultAdapter),o))||this}return(0,z.ZT)(e,t),Object.defineProperty(e,"cssClasses",{get:function(){return $d},enumerable:!1,configurable:!0}),Object.defineProperty(e,"strings",{get:function(){return Id},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{addClass:function(){},removeClass:function(){},setNativeControlDisabled:function(){}}},enumerable:!1,configurable:!0}),e.prototype.setDisabled=function(t){var o=e.cssClasses.DISABLED;this.adapter.setNativeControlDisabled(t),t?this.adapter.addClass(o):this.adapter.removeClass(o)},e}(M.K),Nd=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.rippleSurface=e.createRipple(),e}return(0,z.ZT)(e,t),e.attachTo=function(t){return new e(t)},Object.defineProperty(e.prototype,"checked",{get:function(){return this.nativeControl.checked},set:function(t){this.nativeControl.checked=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return this.nativeControl.disabled},set:function(t){this.foundation.setDisabled(t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return this.nativeControl.value},set:function(t){this.nativeControl.value=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"ripple",{get:function(){return this.rippleSurface},enumerable:!1,configurable:!0}),e.prototype.destroy=function(){this.rippleSurface.destroy(),t.prototype.destroy.call(this)},e.prototype.getDefaultFoundation=function(){var t=this;return new Ed({addClass:function(e){return t.root.classList.add(e)},removeClass:function(e){return t.root.classList.remove(e)},setNativeControlDisabled:function(e){return t.nativeControl.disabled=e}})},e.prototype.createRipple=function(){var t=this,e=(0,z.pi)((0,z.pi)({},p.F.createAdapter(this)),{registerInteractionHandler:function(e,o){t.nativeControl.addEventListener(e,o,(0,Sd.K)())},deregisterInteractionHandler:function(e,o){t.nativeControl.removeEventListener(e,o,(0,Sd.K)())},isSurfaceActive:function(){return!1},isUnbounded:function(){return!0}});return new p.F(this.root,new m.l(e))},Object.defineProperty(e.prototype,"nativeControl",{get:function(){var t=Ed.strings.NATIVE_CONTROL_SELECTOR,e=this.root.querySelector(t);if(!e)throw new Error("Radio component requires a "+t+" element");return e},enumerable:!1,configurable:!0}),e}(A.B);const Bd=["id","value","disabled"],Dd=(0,n.createStaticVNode)('
',3),Vd={cssClasses:{touch:"mdc-radio--touch"},EVENTS:{CHANGE:"update:modelValue"}},jd={name:"UiRadio",customOptions:{UI_RADIO:Vd}};var Ud=Object.assign(jd,{props:{modelValue:{type:[String,Number],default:""},...kd.g,value:{type:[String,Number],default:""},disabled:{type:Boolean,default:!1}},emits:[Vd.EVENTS.CHANGE],setup(t,e){let{emit:o}=e;const d=t,a=(0,n.getCurrentInstance)().parent,l=(0,n.ref)(null),i=(0,n.reactive)({$radio:null,selectedValue:d.modelValue}),{selectedValue:c}=(0,n.toRefs)(i),r=(0,n.computed)((()=>l.value&&l.value.classList.contains(Vd.cssClasses.touch))),s=(0,n.computed)((()=>({"mdc-radio":!0,"mdc-radio--disabled":d.disabled,"mdc-radio--touch":r.value})));function u(){o(Vd.EVENTS.CHANGE,i.selectedValue)}return(0,n.onMounted)((()=>{(0,n.nextTick)((()=>{var t;i.$radio=new Nd(l.value);const e=null===a||void 0===a||null===(t=a.exposed)||void 0===t?void 0:t.$formField.value;e&&(e.input=i.$radio)})),(0,n.watch)((()=>d.modelValue),(t=>{i.selectedValue=t})),(0,n.watch)((()=>d.disabled),(t=>{i.$radio&&(i.$radio.disabled=t)}))})),(e,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{ref_key:"radio",ref:l,class:(0,n.normalizeClass)(s.value)},[(0,n.withDirectives)((0,n.createElementVNode)("input",(0,n.mergeProps)({id:e.inputId,"onUpdate:modelValue":o[0]||(o[0]=t=>(0,n.isRef)(c)?c.value=t:null),class:"mdc-radio__native-control",type:"radio",value:t.value,disabled:t.disabled},e.attrs,{onChange:u}),null,16,Bd),[[n.vModelRadio,(0,n.unref)(c)]]),Dd],2))}});var Od=Ud;var _d=o(42635).Z,zd=o(75802);var Ad=o(79256).Z;var Md=o(12815).Z,Ld=o(33321);const Pd=["id","accept","multiple","disabled"],Rd={EVENTS:{CHANGE:"change"}},Fd={name:"UiFile",customOptions:{UI_FILE:Rd}};var Hd=Object.assign(Fd,{props:{...kd.g,accept:{type:String,default:""},multiple:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},outlined:{type:Boolean,default:!1},text:{type:String,default:"Upload"},preview:{type:Boolean,default:!1}},emits:[Rd.EVENTS.CHANGE],setup(t,e){let{emit:o}=e;const d=t,a=(0,n.computed)((()=>({"mdc-file":!0,"mdc-file--single":!d.multiple,"mdc-file--multiple":d.multiple}))),l=(0,n.ref)(null);function i(){if(!d.disabled){const t=l.value;t&&t.click()}}function c(t){(0,Ld.Z)(d,t,(t=>o(Rd.EVENTS.CHANGE,t)))}return(e,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{class:(0,n.normalizeClass)(a.value),onClick:i},[(0,n.withDirectives)((0,n.createElementVNode)("input",(0,n.mergeProps)({id:e.inputId,ref_key:"file",ref:l,type:"file",accept:t.accept,multiple:t.multiple,disabled:t.disabled},e.attrs,{onChange:c}),null,16,Pd),[[n.vShow,!1]]),(0,n.renderSlot)(e.$slots,"default",{},(()=>[(0,n.createVNode)(Le.Z,{outlined:t.outlined,unelevated:!t.outlined,icon:"file_upload",disabled:t.disabled},{default:(0,n.withCtx)((()=>[(0,n.createTextVNode)((0,n.toDisplayString)(t.text),1)])),_:1},8,["outlined","unelevated","disabled"])]))],2))}});var Gd=Hd,Zd=o(97790),Wd=o(98473);o(62184);const Kd={type:{type:[String,Number],default:1},nonInteractive:{type:Boolean,default:!1},dense:{type:Boolean,default:!1},avatar:{type:Boolean,default:!1}},Yd=(0,n.reactive)({$list:null});function Jd(t,e,o){let{init:d,update:a}=o;const i=(0,n.computed)((()=>(0,l.Z)(e,ve.LW.TYPES,"twoLine"))),c=(0,n.computed)((()=>[ve.Yc["mdc-list"],{"mdc-deprecated-list--two-line":i.value,"mdc-deprecated-list--non-interactive":e.nonInteractive,"mdc-deprecated-list--dense":e.dense,"mdc-deprecated-list--avatar-list":e.avatar}]));return(0,n.onMounted)((()=>{Yd.$list=new Zd.e(t.value),d&&d(Yd.$list),function(t){const e=t.value.parentNode;if(e&&e.classList.contains("mdc-drawer__content")&&Yd.$list.listElements.length){const t=Yd.$list.listElements.find((t=>t.classList.contains(ve.WR.cssClasses.active)||t.classList.contains(ve.Yc["mdc-list-item--activated"])))||Yd.$list.listElements[0];t.setAttribute("tabindex",0)}}(t),(0,n.watch)((()=>e.modelValue),(t=>{Yd.$list&&(Yd.$list.selectedIndex=t)}))})),(0,n.onUpdated)((()=>a&&a(Yd.$list))),{className:c}}const Xd={name:"UiNav",customOptions:{}};var Qd=Object.assign(Xd,{props:{...Kd},setup(t){const e=t,o=(0,n.ref)(null),{className:d}=Jd(o,e,{});return(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("nav",{ref_key:"list",ref:o,class:(0,n.normalizeClass)((0,n.unref)(d))},[(0,n.renderSlot)(t.$slots,"default")],2))}});var tn=Qd;const en=["href"],on={name:"UiNavItem",customOptions:{UI_GLOBAL:a.Z,UI_ITEM:ve.WR}};var dn=Object.assign(on,{props:{href:{type:String,required:!0},active:{type:Boolean,default:!1}},emits:[a.Z.EVENTS.CLICK],setup(t,e){let{emit:o}=e;const d=t,l=(0,n.ref)(null),{handleClick:i}=(0,a.O)({emit:o}),{hasRipple:c,deprecatedListClassNameMap:r}=(0,Te.y)(l),s=(0,n.computed)((()=>[r["mdc-list-item"],...(0,Te.p)({activated:d.active})]));return(e,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("a",{ref_key:"item",ref:l,href:t.href,class:(0,n.normalizeClass)(s.value),onClick:o[0]||(o[0]=function(){return(0,n.unref)(i)&&(0,n.unref)(i)(...arguments)})},[(0,n.unref)(c)?((0,n.openBlock)(),(0,n.createElementBlock)("span",{key:0,class:(0,n.normalizeClass)((0,n.unref)(r)["mdc-list-item__ripple"])},null,2)):(0,n.createCommentVNode)("",!0),(0,n.renderSlot)(e.$slots,"before",{iconClass:(0,n.unref)(ve.WR).cssClasses.firstTile}),(0,n.renderSlot)(e.$slots,"default"),(0,n.renderSlot)(e.$slots,"after",{iconClass:(0,n.unref)(ve.WR).cssClasses.lastTile})],10,en))}});var nn=dn;const an=["role"],ln={name:"UiList",customOptions:{UI_LIST:ve.LW}};var cn=Object.assign(ln,{props:{...Kd,modelValue:{type:Number,default:-1},singleSelection:{type:Boolean,default:!1}},emits:[ve.LW.EVENTS.ACTION,ve.LW.EVENTS.SELECTED],setup(t,e){let{expose:o,emit:d}=e;const a=t,l=(0,n.ref)(null);function i(t){t&&(a.singleSelection&&~a.modelValue&&(t.singleSelection=!0,t.selectedIndex=a.modelValue),a.nonInteractive||t.listElements.forEach((e=>{h(e);const o=e.getAttribute("role");"checkbox"!==o&&"radio"!==o||t.layout()})))}const{className:c}=Jd(l,a,{init:function(t){t.listen(Wd.j2.ACTION_EVENT,(t=>{let{detail:e}=t;d(ve.LW.EVENTS.ACTION,e.index)})),i(t)},update:i}),r=(0,n.computed)((()=>l.value&&(l.value.getAttribute("role")||(a.singleSelection?"listbox":"list"))));return o({role:r}),(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("ul",{ref_key:"list",ref:l,class:(0,n.normalizeClass)((0,n.unref)(c)),role:r.value},[(0,n.renderSlot)(t.$slots,"default")],10,an))}});var rn=cn;const sn=["role"],un={name:"UiItem",customOptions:{UI_GLOBAL:a.Z,UI_ITEM:ve.WR}};var pn=Object.assign(un,{props:{selected:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:[a.Z.EVENTS.CLICK],setup(t,e){let{emit:o}=e;const d=t,l=(0,n.getCurrentInstance)().parent,i=(0,n.ref)(null),{handleClick:c}=(0,a.O)({emit:o}),{hasRipple:r,deprecatedListClassNameMap:s}=(0,Te.y)(i),u=(0,n.computed)((()=>[s["mdc-list-item"],...(0,Te.p)({selected:d.selected,disabled:d.disabled})])),p=(0,n.computed)((()=>{let t=null;var e;if(l)switch(null===l||void 0===l||null===(e=l.exposed)||void 0===e?void 0:e.role.value){case"listbox":t="option";break;case"radiogroup":t="radio";break;case"group":t="checkbox"}return t}));return(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("li",{ref_key:"item",ref:i,class:(0,n.normalizeClass)(u.value),role:p.value,onClick:e[0]||(e[0]=function(){return(0,n.unref)(c)&&(0,n.unref)(c)(...arguments)})},[(0,n.unref)(r)?((0,n.openBlock)(),(0,n.createElementBlock)("span",{key:0,class:(0,n.normalizeClass)((0,n.unref)(s)["mdc-list-item__ripple"])},null,2)):(0,n.createCommentVNode)("",!0),(0,n.renderSlot)(t.$slots,"before",{iconClass:(0,n.unref)(ve.WR).cssClasses.firstTile}),(0,n.renderSlot)(t.$slots,"default"),(0,n.renderSlot)(t.$slots,"after",{iconClass:(0,n.unref)(ve.WR).cssClasses.lastTile})],10,sn))}});var mn=pn;var hn={name:"UiItemTextContent",data(){return{deprecatedListClassNameMap:ve.Yc}}};var gn=(0,at.Z)(hn,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("span",{class:(0,n.normalizeClass)(a.deprecatedListClassNameMap["mdc-list-item__text"])},[(0,n.renderSlot)(t.$slots,"default")],2)}]]);var bn={name:"UiItemText1",data(){return{deprecatedListClassNameMap:ve.Yc}}};var fn=(0,at.Z)(bn,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("span",{class:(0,n.normalizeClass)(a.deprecatedListClassNameMap["mdc-list-item__primary-text"])},[(0,n.renderSlot)(t.$slots,"default")],2)}]]);var vn={name:"UiItemText2",data(){return{deprecatedListClassNameMap:ve.Yc}}};var yn=(0,at.Z)(vn,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("span",{class:(0,n.normalizeClass)(a.deprecatedListClassNameMap["mdc-list-item__secondary-text"])},[(0,n.renderSlot)(t.$slots,"default")],2)}]]);var kn={name:"UiItemFirstContent",data(){return{UI_ITEM:ve.WR}}};var wn=(0,at.Z)(kn,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("span",{class:(0,n.normalizeClass)(a.UI_ITEM.cssClasses.firstTile)},[(0,n.renderSlot)(t.$slots,"default")],2)}]]);var xn={name:"UiItemLastContent",data(){return{UI_ITEM:ve.WR}}};var Tn=(0,at.Z)(xn,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("span",{class:(0,n.normalizeClass)(a.UI_ITEM.cssClasses.lastTile)},[(0,n.renderSlot)(t.$slots,"default")],2)}]]);const Cn={name:"UiListDivider",customOptions:{}};var qn=Object.assign(Cn,{props:Ne,setup(t){const e=t,{className:o}=Be(e);return(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("hr",{class:(0,n.normalizeClass)((0,n.unref)(o))},null,2))}});var Sn={name:"UiListGroup",data(){return{deprecatedListClassNameMap:ve.Yc}}};var In=(0,at.Z)(Sn,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("div",{class:(0,n.normalizeClass)(a.deprecatedListClassNameMap["mdc-list-group"])},[(0,n.renderSlot)(t.$slots,"default")],2)}]]);var $n={name:"UiListGroupSubheader",data(){return{deprecatedListClassNameMap:ve.Yc}}};var En=(0,at.Z)($n,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("h3",{class:(0,n.normalizeClass)(a.deprecatedListClassNameMap["mdc-list-group__subheader"])},[(0,n.renderSlot)(t.$slots,"default")],2)}]]);const Nn={TYPES:{standard:0,masonry:1},cssClasses:{image:"mdc-image-list__image"},EVENTS:{CLICK:"click"}},Bn={name:"UiImageList",customOptions:{UI_IMAGE_LIST:Nn}};var Dn=Object.assign(Bn,{props:{type:{type:[String,Number],default:0},masonry:{type:Boolean,default:!1},textProtection:{type:Boolean,default:!1}},setup(t,e){let{expose:o}=e;const d=t,a=(0,n.computed)((()=>(0,l.Z)(d,Nn.TYPES,"masonry"))),i=(0,n.computed)((()=>({"mdc-image-list":!0,"mdc-image-list--masonry":a.value,"mdc-image-list--with-text-protection":d.textProtection})));return o({isMasonry:a}),(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("ul",{class:(0,n.normalizeClass)(i.value)},[(0,n.renderSlot)(t.$slots,"default")],2))}});const Vn=["src"],jn={key:1,class:"mdc-image-list__image-aspect-container"},Un=["src"],On="UiImageItem",_n={cssClasses:{image:"mdc-image-list__image"}},zn={name:On,customOptions:{name:On,UI_GLOBAL:a.Z,UI_IMAGE_ITEM:_n}};var An=Object.assign(zn,{props:{image:{type:[String,null],default:null},bgImage:{type:[String,null],default:null}},emits:[a.Z.EVENTS.CLICK],setup(t,e){let{emit:o}=e;const d=t,l=(0,n.getCurrentInstance)().parent,{handleClick:i}=(0,a.O)({emit:o}),c=(0,n.computed)((()=>({"background-image":`url(${d.bgImage})`})));return(0,n.onBeforeMount)((()=>{var t;null!==l&&void 0!==l&&null!==(t=l.exposed)&&void 0!==t&&t.isMasonry.value&&d.bgImage&&console.warn(`[${On}]: The 'bgImage' prop is not compatible with the masonry image list, you need to set the 'image' prop`)})),(e,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("li",{class:"mdc-image-list__item",onClick:o[0]||(o[0]=function(){return(0,n.unref)(i)&&(0,n.unref)(i)(...arguments)})},[e.$parent.isMasonry?(0,n.renderSlot)(e.$slots,"image",{key:0,imageClass:_n.cssClasses.image},(()=>[(0,n.createElementVNode)("img",{class:(0,n.normalizeClass)(_n.cssClasses.image),src:t.image},null,10,Vn)])):((0,n.openBlock)(),(0,n.createElementBlock)("div",jn,[(0,n.renderSlot)(e.$slots,"image",{imageClass:_n.cssClasses.image},(()=>[t.bgImage?((0,n.openBlock)(),(0,n.createElementBlock)("div",{key:0,class:(0,n.normalizeClass)(_n.cssClasses.image),style:(0,n.normalizeStyle)(c.value)},null,6)):((0,n.openBlock)(),(0,n.createElementBlock)("img",{key:1,class:(0,n.normalizeClass)(_n.cssClasses.image),src:t.image},null,10,Un))]))])),(0,n.renderSlot)(e.$slots,"default")]))}});var Mn=An;const Ln={class:"mdc-image-list__supporting"},Pn={class:"mdc-image-list__label"};var Rn={name:"UiImageText"};var Fn=(0,at.Z)(Rn,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("div",Ln,[(0,n.createElementVNode)("span",Pn,[(0,n.renderSlot)(t.$slots,"default")]),(0,n.renderSlot)(t.$slots,"action")])}]]);const Hn={name:"UiCard",customOptions:{}};var Gn=Object.assign(Hn,{props:{outlined:{type:Boolean,default:!1}},setup(t){const e=t,o=(0,n.computed)((()=>({"mdc-card":!0,"mdc-theme--on-surface":!0,"mdc-card--outlined":e.outlined})));return(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{class:(0,n.normalizeClass)(o.value)},[(0,n.renderSlot)(t.$slots,"default")],2))}});const Zn=(0,n.createElementVNode)("div",{class:"mdc-card__ripple"},null,-1),Wn={name:"UiCardContent",customOptions:{UI_GLOBAL:a.Z}};var Kn=Object.assign(Wn,{emits:[a.Z.EVENTS.CLICK],setup(t,e){let{emit:o}=e;const d=(0,n.ref)(null),{handleClick:l}=(0,a.O)({emit:o});return(0,n.onMounted)((()=>h(d.value))),(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{ref_key:"cardContent",ref:d,class:"mdc-card__primary-action",tabindex:"0",onClick:e[0]||(e[0]=function(){return(0,n.unref)(l)&&(0,n.unref)(l)(...arguments)})},[(0,n.renderSlot)(t.$slots,"default"),Zn],512))}});var Yn=Kn;const Jn={name:"UiCardMedia",customOptions:{}};var Xn=Object.assign(Jn,{props:{square:{type:Boolean,default:!1},rectangle:{type:Boolean,default:!1}},setup(t){const e=t,o=(0,n.computed)((()=>({"mdc-card__media":!0,"mdc-card__media--square":e.square,"mdc-card__media--16-9":e.rectangle})));return(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{class:(0,n.normalizeClass)(o.value)},[(0,n.renderSlot)(t.$slots,"default")],2))}});const Qn={class:"mdc-card__media-content"};var ta={name:"UiCardMediaContent"};var ea=(0,at.Z)(ta,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("div",Qn,[(0,n.renderSlot)(t.$slots,"default")])}]]);const oa={class:"mdc-card__text"};var da={name:"UiCardText"};var na=(0,at.Z)(da,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("div",oa,[(0,n.renderSlot)(t.$slots,"default")])}]]);const aa={name:"UiCardActions",customOptions:{}};var la=Object.assign(aa,{props:{fullBleed:{type:Boolean,default:!1}},setup(t){const e=t,o=(0,n.computed)((()=>({"mdc-card__actions":!0,"mdc-card__actions--full-bleed":e.fullBleed})));return(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{class:(0,n.normalizeClass)(o.value)},[(0,n.renderSlot)(t.$slots,"default")],2))}});const ia={class:"mdc-card__action-buttons"};var ca={name:"UiCardButtons"};var ra=(0,at.Z)(ca,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("div",ia,[(0,n.renderSlot)(t.$slots,"default")])}]]);const sa={class:"mdc-card__action-icons"};var ua={name:"UiCardIcons"};var pa=(0,at.Z)(ua,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("div",sa,[(0,n.renderSlot)(t.$slots,"default")])}]]);var ma=o(37471).Z;const ha=["success","info","warn","warning","error","help"],ga={defaults:{success:"check_circle",info:"error",error:"cancel",help:"help"},outlined:{success:"check_circle_outline",info:"error_outline",error:"highlight_off",help:"help_outline"}};function ba(t){const e=(0,n.computed)((()=>{let e=!1;if(ha.includes(t.state))switch(t.state){case"success":e="success";break;case"info":case"help":e="info";break;case"warn":case"warning":e="warning";break;case"error":e="error"}return e})),o=(0,n.computed)((()=>{let o="";return e.value&&(o=`md-${e.value}-icon`,t.stateOutlined&&(o+="--outlined")),o})),d=(0,n.computed)((()=>{let e=!1;if(ha.includes(t.state)){const o=t.stateOutlined?"outlined":"defaults";e=["info","warn","warning"].includes(t.state)?ga[o].info:ga[o][t.state]}return e}));return{stateType:e,stateClassName:o,materialIcon:d}}const fa={key:0,class:"mdc-badge__sup"},va={key:0},ya={name:"UiBadge",customOptions:{UI_GLOBAL:a.Z}};var ka=Object.assign(ya,{props:{count:{type:Number,default:0},overlap:{type:Boolean,default:!1},maxCount:{type:Number,default:99},dot:{type:Boolean,default:!1},state:{type:String,default:""}},emits:[a.Z.EVENTS.CLICK],setup(t,e){let{emit:o}=e;const d=t,{handleClick:l}=(0,a.O)({emit:o}),{stateType:i}=ba(d),c=(0,n.computed)((()=>({"mdc-badge":!0,"mdc-badge--overlap":d.overlap}))),r=(0,n.computed)((()=>d.count>d.maxCount?`${d.maxCount}+`:d.count)),s=(0,n.computed)((()=>[{"mdc-badge__sup":!0,"mdc-badge__sup--dot":d.dot},i.value?`mdc-badge__sup--${i.value}`:""]));return(e,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{class:(0,n.normalizeClass)(c.value),onClick:o[0]||(o[0]=function(){return(0,n.unref)(l)&&(0,n.unref)(l)(...arguments)})},[(0,n.renderSlot)(e.$slots,"default"),t.count?((0,n.openBlock)(),(0,n.createElementBlock)("sup",fa,(0,n.toDisplayString)(r.value),1)):((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[t.overlap&&!t.dot?((0,n.openBlock)(),(0,n.createElementBlock)("sup",va)):((0,n.openBlock)(),(0,n.createElementBlock)("sup",{key:1,class:(0,n.normalizeClass)(s.value)},[(0,n.renderSlot)(e.$slots,"badge")],2))],64))],2))}});var wa=ka;const xa=["aria-expanded"],Ta={class:"mdc-collapse__title"},Ca={class:"mdc-collapse__content"},qa={cssClasses:{icon:"mdc-collapse__icon"},EVENTS:{CHANGE:"update:modelValue"}},Sa={name:"UiCollapse",customOptions:{UI_GLOBAL:a.Z,UI_COLLAPSE:qa}};var Ia=Object.assign(Sa,{props:{modelValue:{type:Boolean,default:!1},withIcon:{type:Boolean,default:!1},iconEndAligned:{type:Boolean,default:!1},ripple:{type:[Boolean,Number],default:!1}},emits:[a.Z.EVENTS.CLICK,qa.EVENTS.CHANGE],setup(t,e){let{emit:o}=e;const d=t,l=(0,n.ref)(d.modelValue),{handleClick:i}=(0,a.O)({emit:o}),c=(0,n.computed)((()=>({"mdc-collapse":!0,"mdc-collapse--expanded":l.value,"mdc-collapse--with-icon":d.withIcon,"mdc-collapse--icon-end-aligned":d.iconEndAligned})));function r(){l.value=!l.value,o(qa.EVENTS.CHANGE,l.value)}return(0,n.watch)((()=>d.modelValue),(t=>l.value=t)),(e,o)=>{const d=(0,n.resolveDirective)("ripple");return(0,n.openBlock)(),(0,n.createElementBlock)("div",{class:(0,n.normalizeClass)(c.value),"aria-expanded":l.value,onClick:o[0]||(o[0]=function(){return(0,n.unref)(i)&&(0,n.unref)(i)(...arguments)})},[(0,n.withDirectives)(((0,n.openBlock)(),(0,n.createElementBlock)("div",{class:"mdc-collapse__header",onClick:r},[l.value?(0,n.renderSlot)(e.$slots,"expand-more-icon",{key:0,iconClass:qa.cssClasses.icon},(()=>[t.withIcon?((0,n.openBlock)(),(0,n.createElementBlock)("i",{key:0,class:(0,n.normalizeClass)((0,n.unref)(a.Z).getMaterialIconClass(qa.cssClasses.icon)),"aria-hidden":"true"}," expand_more ",2)):(0,n.createCommentVNode)("",!0)])):(0,n.renderSlot)(e.$slots,"expand-less-icon",{key:1,iconClass:qa.cssClasses.icon},(()=>[t.withIcon?((0,n.openBlock)(),(0,n.createElementBlock)("i",{key:0,class:(0,n.normalizeClass)((0,n.unref)(a.Z).getMaterialIconClass(qa.cssClasses.icon)),"aria-hidden":"true"}," chevron_right ",2)):(0,n.createCommentVNode)("",!0)])),(0,n.createElementVNode)("div",Ta,[(0,n.renderSlot)(e.$slots,"toggle")])])),[[d,t.ripple]]),(0,n.withDirectives)((0,n.createElementVNode)("div",Ca,[(0,n.renderSlot)(e.$slots,"default")],512),[[n.vShow,l.value]])],10,xa)}}});var $a=Ia;const Ea=["textContent"],Na={class:"mdc-alert__content"},Ba={name:"UiAlert",customOptions:{UI_GLOBAL:a.Z}};var Da=Object.assign(Ba,{props:{state:{type:String,default:""},stateOutlined:{type:Boolean,default:!1},closable:{type:Boolean,default:!1}},setup(t){const e=t,o=(0,n.reactive)({closed:!1,destroyed:!1}),{closed:d,destroyed:l}=(0,n.toRefs)(o),{stateType:i,stateClassName:c,materialIcon:r}=ba(e),s=(0,n.computed)((()=>["mdc-alert",`mdc-alert--${i.value}`,{"mdc-alert--closed":o.closed}]));function u(){o.closed=!0,setTimeout((()=>{o.destroyed=!0}),200)}return(e,o)=>(0,n.unref)(l)?(0,n.createCommentVNode)("",!0):((0,n.openBlock)(),(0,n.createElementBlock)("div",{key:0,class:(0,n.normalizeClass)(s.value)},[(0,n.renderSlot)(e.$slots,"icon",{},(()=>[(0,n.unref)(r)?((0,n.openBlock)(),(0,n.createElementBlock)("i",{key:0,class:(0,n.normalizeClass)((0,n.unref)(a.Z).getMaterialIconClass((0,n.unref)(c),"mdc-alert__icon")),textContent:(0,n.toDisplayString)((0,n.unref)(r))},null,10,Ea)):(0,n.createCommentVNode)("",!0)])),(0,n.createElementVNode)("div",Na,[(0,n.renderSlot)(e.$slots,"default")]),t.closable?((0,n.openBlock)(),(0,n.createElementBlock)("i",{key:0,class:(0,n.normalizeClass)((0,n.unref)(a.Z).getMaterialIconClass("mdc-alert__close-button")),onClick:u}," clear ",2)):(0,n.createCommentVNode)("",!0)],2))}});var Va=Da;var ja=o(97557).Z,Ua=o(1065);const Oa={class:"mdc-dialog__title"},_a={name:"UiDialogTitle",customOptions:{}};var za=Object.assign(_a,{props:{closable:{type:Boolean,default:!1}},setup(t){const e=t,o=(0,n.getCurrentInstance)().parent,d=(0,n.computed)((()=>({"mdc-dialog__header":!0,"mdc-dialog__title--closable":e.closable}))),a=(0,n.computed)((()=>o.props.fullscreen||e.closable));return(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{class:(0,n.normalizeClass)(d.value)},[(0,n.createElementVNode)("h2",Oa,[(0,n.renderSlot)(t.$slots,"default")]),a.value?((0,n.openBlock)(),(0,n.createBlock)(Ua.Z,{key:0,class:"mdc-dialog__close","data-mdc-dialog-action":"close"},{default:(0,n.withCtx)((()=>[(0,n.createTextVNode)(" close ")])),_:1})):(0,n.createCommentVNode)("",!0)],2))}});var Aa=o(53696),Ma={name:Aa.g.contentComponentName,data(){return{UI_DIALOG:Aa.g}}};var La=(0,at.Z)(Ma,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("div",{class:(0,n.normalizeClass)(a.UI_DIALOG.cssClasses.content)},[(0,n.renderSlot)(t.$slots,"default")],2)}]]);const Pa={class:"mdc-dialog__actions"},Ra={cssClasses:{button:"mdc-dialog__button"}},Fa={name:"UiDialogActions",customOptions:{UI_DIALOG_ACTION:Ra}};var Ha=Object.assign(Fa,{props:{acceptText:{type:String,default:"OK"},cancelText:{type:String,default:"Cancel"}},setup(t){const e=(0,n.getCurrentInstance)().parent,o=(0,n.computed)((()=>e.props.closable));return(e,d)=>((0,n.openBlock)(),(0,n.createElementBlock)("footer",Pa,[(0,n.renderSlot)(e.$slots,"default",{buttonClass:Ra.cssClasses.button},(()=>[(0,n.createVNode)(Le.Z,{class:(0,n.normalizeClass)(Ra.cssClasses.button),"data-mdc-dialog-action":o.value?"close":null,onClick:e.$parent.handleCancel},{default:(0,n.withCtx)((()=>[(0,n.createTextVNode)((0,n.toDisplayString)(t.cancelText),1)])),_:1},8,["class","data-mdc-dialog-action","onClick"]),(0,n.createVNode)(Le.Z,{class:(0,n.normalizeClass)(Ra.cssClasses.button),"data-mdc-dialog-action":o.value?"accept":null,"data-mdc-dialog-button-default":"",onClick:e.$parent.handleAccept},{default:(0,n.withCtx)((()=>[(0,n.createTextVNode)((0,n.toDisplayString)(t.acceptText),1)])),_:1},8,["class","data-mdc-dialog-action","onClick"])]))]))}});var Ga=o(66230).Z;var Za=o(94819).Z,Wa=o(90734),Ka=(o(24237),o(52714),o(31465)),Ya=o(50545),Ja=o(85880);const Xa="UiProgress",Qa={name:Xa,customOptions:{name:Xa,UI_PROGRESS:Ja.Z}};var tl=Object.assign(Qa,{props:{...Ya.O,buffer:{type:Number,default:0}},setup(t){const e=t,o=(0,n.ref)(null),d=(0,n.reactive)({$linearProgress:null}),a=(0,n.computed)((()=>({"mdc-linear-progress--indeterminate":e.active,"mdc-linear-progress--closed":e.closed})));function l(t){d.$linearProgress&&t>=Ja.Z.VALUE.MIN&&t<=Ja.Z.VALUE.MAX?d.$linearProgress.buffer=t:console.warn(`[${Xa}]: The 'buffer' prop value should be between [0, 1]`)}return(0,n.watch)((()=>e.buffer),(t=>l(t))),(0,n.onMounted)((()=>{const t=o.value.mdcLinearProgress;d.$linearProgress=new Wa.c(t);const{setProgress:n}=(0,Ya.S)(d.$linearProgress,e);n(e.progress),t.dataset.buffer&&l(e.buffer)})),(e,d)=>((0,n.openBlock)(),(0,n.createBlock)(Ka.Z,{ref_key:"linearProgress",ref:o,class:(0,n.normalizeClass)(a.value),"aria-label":e.label,"aria-valuemin":"0","aria-valuemax":"1","data-buffer":!!t.buffer},null,8,["class","aria-label","data-buffer"]))}});var el=tl;var ol=o(31041).Z;const dl={class:"mdc-tooltip-wrapper--rich"};var nl={name:"UiTooltipAnchor"};var al=(0,at.Z)(nl,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("div",dl,[(0,n.renderSlot)(t.$slots,"default")])}]]);var ll=o(97324).Z;var il=function(){if("function"===typeof window.CustomEvent)return!1;window.CustomEvent=function(t,e){e=e||{bubbles:!1,cancelable:!1,detail:null};const o=document.createEvent("CustomEvent");return o.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),o}};var cl=function(t,e,o){o=o||window;let d=!1;o.addEventListener(t,(function(){d||(d=!0,requestAnimationFrame((function(){o.dispatchEvent(new CustomEvent(e)),d=!1})))}))};var rl=function(){il(),cl("resize","balmResize"),cl("scroll","balmScroll")};const sl=new Map,ul=new Map;function pl(t){sl.has(t)&&sl.delete(t)}const ml={on:function(t,e){sl.set(t,e)},once:function(t,e){ul.set(t,e)},off:function(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];t?Array.isArray(t)?t.forEach((e=>pl(t))):pl(t):sl.clear()},emit:function(t){for(var e=arguments.length,o=new Array(e>1?e-1:0),d=1;d{};let bl=!1;function fl(t,e){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;const d=t.shift(),n=o?o[d]:this[d];t.length?fl.call(this,t,e,n):o?o[d]=e:this[d]=e}function vl(t,e,o){"function"===(0,f.Z)(new Function)?new Function("value",`this.${e} = value;`).call(t,o):fl.call(t,e.split("."),o)}function yl(t,e){const o=t.split(".")[0];if(o){const{setupState:d,data:n}=this;if(d.hasOwnProperty(o))vl(d,t,e);else{if(!n.hasOwnProperty(o))throw new Error("[$event]: Only support 'setup' or 'data' state.");vl(n,t,e)}}}function kl(t){let e,o=(0,f.Z)(t);return e="function"===o||"generatorfunction"===o?t():t,e}class wl{constructor(){const t=(0,n.getCurrentInstance)();this.instance=t}onChange(t,e){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:gl;return yl.call(this.instance,t,e),kl(o)}onOpen(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:gl;return yl.call(this.instance,t,!0),kl(e)}onClose(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:gl;return yl.call(this.instance,t,!1),kl(e)}onShow(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:gl;return yl.call(this.instance,t,!0),kl(e)}onHide(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:gl;return yl.call(this.instance,t,!1),kl(e)}}const xl=()=>new wl,Tl=()=>hl;var Cl={install:function(t){t.mixin({mounted(){bl||(bl=!0,rl())}}),t.config.globalProperties.$bus=hl,t.provide("bus",hl),t.config.globalProperties.$throttle=cl,t.provide("throttle",cl)}};var ql="undefined"===typeof window?n.createSSRApp:n.createApp;function Sl(t){const e=document.createElement("div");return e.id=t,document.body.appendChild(e),e}let Il={};function $l(t,e){Sl(t);const o=t.replace(/^\S/,(t=>t.toUpperCase()));return ql({name:`BalmUI${o}`,setup:()=>e,render:()=>""}).mount(`#${t}`).$.setupState}const El={install:function(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e)if("object"===(0,f.Z)(e)){const o=(e.name||"store").toLowerCase();Il=$l(o,e),t.config.globalProperties[`$${o}`]=Il,t.provide(`$${o}`,Il)}else{if(!Array.isArray(e))throw new Error("[$store]: The '$store' of BalmUI must be an object or array");for(let o=0,d=e.length;o0&&void 0!==arguments[0]?arguments[0]:"";return t?Il[t]:Il};var Bl=El;const Dl=["margin","gutter","column-width"],Vl=["desktop","tablet","phone"];const jl=new class{set(t,e,o){if(!Dl.includes(t))throw new Error("[$grid]: Please set a grid property: "+JSON.stringify(Dl));if(!Vl.includes(e))throw new Error("[$grid]: Please set a device type: "+JSON.stringify(Vl));document.documentElement.style.setProperty(`--mdc-layout-grid-${t}-${e}`,o)}};var Ul={install:function(t){t.config.globalProperties.$setGrid=()=>console.warn("[$grid]","The '$setGrid' has been deprecated. Use the '$grid.set' instead"),t.config.globalProperties.$grid=jl,t.provide("grid",jl)}};function Ol(t){return"dark"===function(t){var e,o,d;return t.match(/^rgb/)?(e=(t=t.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+(?:\.\d+)?))?\)$/))[1],o=t[2],d=t[3]):(e=(t=+("0x"+t.slice(1).replace(t.length<5&&/./g,"$&$&")))>>16,o=t>>8&255,d=255&t),Math.sqrt(e*e*.299+o*o*.587+d*d*.114)>127.5?"light":"dark"}(t)?"light":"dark"}const _l=["primary","secondary","background","surface","error","on-primary","on-secondary","on-surface","on-error"],zl=[..._l,"primary-bg","secondary-bg"],Al=["primary","secondary","hint","disabled","icon"],Ml=["background","light","dark"],Ll="Please choose a theme style: "+JSON.stringify(_l),Pl="Please choose a theme style: "+JSON.stringify(zl),Rl="Please choose a text style: "+JSON.stringify(Al),Fl="Please choose a theme tone: "+JSON.stringify(Ml),Hl=new Map,Gl=new Map;class Zl{get themeColors(){return Hl}get textColors(){return Gl}getTheme(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o="";if(!zl.includes(t))throw new Error(`[$theme]: Theme ${e?"Class":"Color"}]: ${Pl}`);return o=e?`mdc-theme--${t}`:Hl.get(t),o}setTheme(t,e){document.documentElement.style.setProperty(`--mdc-theme-${t}`,e),Hl.set(t,e)}themeText(t,e,o){let d="";if(!Al.includes(t))throw new Error(`[$theme]: ${Rl}`);if(!Ml.includes(e))throw new Error(`[$theme]: ${Fl}`);return d=o(),d}getText(t,e){let o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return this.themeText(t,e,(()=>o?`mdc-theme--text-${t}-on-${e}`:Gl.get(`${t}-on-${e}`)))}setText(t,e,o){this.themeText(t,e,(()=>{document.documentElement.style.setProperty(`--mdc-theme-text-${t}-on-${e}`,o),Gl.set(`${t}-on-${e}`,o)}))}}const Wl=new class extends Zl{get primary(){return Hl.get("primary")}set primary(t){this.setTheme("primary",t),this.setTheme("on-primary","dark"===Ol(t)?"#000":"#fff")}get secondary(){return Hl.get("secondary")}set secondary(t){this.setTheme("secondary",t),this.setTheme("on-secondary","dark"===Ol(t)?"#000":"#fff")}get background(){return Hl.get("background")}set background(t){this.setTheme("background",t)}get surface(){return Hl.get("surface")}set surface(t){this.setTheme("surface",t),this.setTheme("on-surface","dark"===Ol(t)?"#000":"#fff")}get error(){return Hl.get("error")}set error(t){this.setTheme("error",t),this.setTheme("on-error","dark"===Ol(t)?"#000":"#fff")}get onPrimary(){return Hl.get("on-primary")}set onPrimary(t){this.setTheme("on-primary",t)}get onSecondary(){return Hl.get("on-secondary")}set onSecondary(t){this.setTheme("on-secondary",t)}get onSurface(){return Hl.get("on-surface")}set onSurface(t){this.setTheme("on-surface",t)}get onError(){return Hl.get("on-error")}set onError(t){this.setTheme("on-error",t)}set colors(t){const e=Object.keys(t);if(!e.every((t=>_l.includes(t))))throw new Error(`[$theme]: ${Ll}`);e.forEach((e=>this.setTheme(e,t[e]))),["primary","secondary","surface","error"].forEach((o=>{e.includes(o)&&!e.includes(`on-${o}`)&&this.setTheme(`on-${o}`,"dark"===Ol(t[o])?"#000":"#fff")}))}getThemeColor(t){return this.getTheme(t)}getThemeClass(t){let e="";return e=Array.isArray(t)?t.map((t=>this.getTheme(t,!0))):this.getTheme(t,!0),e}getTextColor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"background";return this.getText(t,e)}getTextClass(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"background";return this.getText(t,e,!0)}setTextColor(t,e){this.setText(t,"background",e)}getTextColorOnLight(t){return this.getTextColor(t,"light")}getTextClassOnLight(t){return this.getTextClass(t,"light")}setTextColorOnLight(t,e){this.setText(t,"light",e)}getTextColorOnDark(t){return this.getTextColor(t,"dark")}getTextClassOnDark(t){return this.getTextClass(t,"dark")}setTextColorOnDark(t,e){this.setText(t,"dark",e)}};let Kl=!1;const Yl={install:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t.mixin({mounted(){Kl||(Kl=!0,Wl.colors=e)}}),t.config.globalProperties.$theme=Wl,t.provide("theme",Wl)}},Jl=()=>Wl;var Xl=Yl;const Ql="mdc-typography",ti=["headline1","headline2","headline3","headline4","headline5","headline6","subtitle1","subtitle2","body1","body2","caption","button","overline"];let ei;function oi(t){let e="";if(!ei.includes(t))throw new Error("[$typography]: Please set a valid typographic style:\n"+JSON.stringify(ei));return e=`${Ql}--${t}`,e}const di={install:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];ei=Array.isArray(e)?ti.concat(e):ti,t.mixin({mounted(){const t=document.querySelector("body").classList;t.contains(Ql)||t.add(Ql)}}),t.config.globalProperties.$tt=oi,t.provide("tt",oi)}};var ni=di;const ai={class:"mdc-dialog__container"},li={class:"mdc-dialog__surface"},ii={key:0,class:"mdc-dialog__title"},ci=["innerHTML"],ri={class:"mdc-alert-dialog__message"},si={class:"mdc-dialog__actions"},ui=(0,n.createElementVNode)("div",{class:"mdc-dialog__scrim"},null,-1),pi={name:"MdcDialog",customOptions:{UI_GLOBAL:a.Z,UI_DIALOG:Aa.g}};var mi=Object.assign(pi,{props:{open:{type:Boolean,default:!1},options:{type:Object,default:()=>({})}},setup(t){const e=t,o=(0,n.reactive)({opening:!0,opened:!1,state:"",stateOutlined:!1}),{stateClassName:d,materialIcon:l}=ba(o),i=(0,n.computed)((()=>["mdc-dialog",e.options.className,{"mdc-dialog--opening":o.opening,"mdc-dialog--open":o.opened}]));return(0,n.watch)((()=>e.open),(t=>{t?setTimeout((()=>{o.opened=!0,setTimeout((()=>{o.opening=!1}),150)}),150):(o.opening=!0,o.opened=!1)})),(0,n.onBeforeMount)((()=>{e.options.state&&(o.state=e.options.state,o.stateOutlined=e.options.stateOutlined)})),(e,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{class:(0,n.normalizeClass)(i.value)},[(0,n.createElementVNode)("div",ai,[(0,n.createElementVNode)("div",li,[t.options.title?((0,n.openBlock)(),(0,n.createElementBlock)("h2",ii,(0,n.toDisplayString)(t.options.title),1)):(0,n.createCommentVNode)("",!0),t.options.raw?((0,n.openBlock)(),(0,n.createElementBlock)("div",{key:1,class:(0,n.normalizeClass)((0,n.unref)(Aa.g).cssClasses.content),innerHTML:t.options.message},null,10,ci)):((0,n.openBlock)(),(0,n.createElementBlock)("div",{key:2,class:(0,n.normalizeClass)((0,n.unref)(Aa.g).cssClasses.content)},[(0,n.unref)(l)?((0,n.openBlock)(),(0,n.createElementBlock)("i",{key:0,class:(0,n.normalizeClass)((0,n.unref)(a.Z).getMaterialIconClass([(0,n.unref)(d),"mdc-alert-dialog__icon"]))},(0,n.toDisplayString)((0,n.unref)(l)),3)):(0,n.createCommentVNode)("",!0),(0,n.createElementVNode)("span",ri,(0,n.toDisplayString)(t.options.message),1)],2)),(0,n.createElementVNode)("footer",si,[(0,n.renderSlot)(e.$slots,"default")])])]),ui],2))}});var hi=mi;function gi(t,e){let o=Object.assign({},t);return"string"===(0,f.Z)(e)?o.message=`${e}`:"object"===(0,f.Z)(e)&&(o=Object.assign({},o,e)),o}function bi(t){return document.getElementById(t)||Sl(t)}function fi(t){!function(t){document.body.removeChild(t)}(t)}const vi="balmui-alert-dialog";function yi(t){let{app:e,el:o,constants:d,options:a,done:l,callback:i}=t;const c=(0,n.reactive)({open:!1,options:a});return(0,n.onMounted)((()=>(0,n.nextTick)((()=>c.open=!0)))),(0,n.onBeforeUnmount)((()=>fi(o))),{...(0,n.toRefs)(c),handleClick:function(t){c.open=!1,e.unmount(`#${d.id}`),"function"===typeof c.options.callback?c.options.callback(t):d.id===vi?l():i(t)}}}const ki={id:vi},wi={className:"",title:"",state:"",stateOutlined:!1,message:"",raw:!1,buttonText:"OK",callback:!1};let xi,Ti=wi;const Ci='\n \n';function qi(){const t=gi(Ti,arguments.length>0&&void 0!==arguments[0]?arguments[0]:{});return new Promise((e=>{(function(t,e){const o=bi(ki.id);return xi=ql({name:"AlertDialog",components:{MdcDialog:hi},setup(){return yi({app:xi,el:o,constants:ki,options:t,done:e})},template:Ci}),xi})(t,e).mount(`#${ki.id}`)}))}const Si={install:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Ti=Object.assign({},wi,e),t.config.globalProperties.$alert=qi,t.provide("alert",qi)}},Ii=()=>qi;var $i=Si;const Ei={id:"balmui-confirm-dialog"},Ni={className:"",title:"",state:"",stateOutlined:!1,message:"",raw:!1,acceptText:"OK",cancelText:"Cancel",callback:!1};let Bi,Di=Ni;const Vi='\n \n \n';function ji(){const t=gi(Di,arguments.length>0&&void 0!==arguments[0]?arguments[0]:{});return new Promise((e=>{(function(t,e){const o=bi(Ei.id);return Bi=ql({name:"ConfirmDialog",components:{MdcDialog:hi},setup(){return yi({app:Bi,el:o,constants:Ei,options:t,callback:e})},template:Vi}),Bi})(t,e).mount(`#${Ei.id}`)}))}const Ui={install:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Di=Object.assign({},Ni,e),t.config.globalProperties.$confirm=ji,t.provide("confirm",ji)}};var Oi=Ui;const _i={id:"balmui-toast",timeoutMs:{MIN:2e3,MAX:3500,DEFAULTS:2750},position:{TOP:"top",BOTTOM:"bottom",CENTER:"center"}},zi={className:"",timeoutMs:_i.timeoutMs.DEFAULTS,message:"",position:_i.position.BOTTOM};let Ai,Mi,Li,Pi=zi;const Ri='
\n
\n
\n
\n
';function Fi(t){return bi(_i.id),ql({name:"Toast",expose:["render"],setup(){const e=(0,n.reactive)({open:!1,opening:!0,opened:!1,options:t}),o=(0,n.computed)((()=>["top","center"].includes(e.options.position)?`mdc-toast--${e.options.position}`:"")),d=(0,n.computed)((()=>["mdc-snackbar","mdc-toast",o.value,e.options.className,{"mdc-snackbar--opening":e.opening,"mdc-snackbar--open":e.opened}])),a=(0,n.computed)((()=>e.options.message));function l(){e.open=!0,Mi=setTimeout((()=>{e.open=!1}),e.options.timeoutMs)}function i(t){if(!(t.timeoutMs<=_i.timeoutMs.MAX&&t.timeoutMs>=_i.timeoutMs.MIN))throw new Error(`[$toast]: The timeoutMs of the toast must be between ${_i.timeoutMs.MIN} and ${_i.timeoutMs.MAX}`);e.options=t,l()}return(0,n.watch)((()=>e.open),(t=>{t?setTimeout((()=>{e.opened=!0,setTimeout((()=>{e.opening=!1}),150)}),150):(e.opening=!0,e.opened=!1)})),(0,n.onMounted)((()=>i(t))),{className:d,message:a,render:i}},template:Ri})}function Hi(){const t=gi(Pi,arguments.length>0&&void 0!==arguments[0]?arguments[0]:{});Ai?(clearTimeout(Mi),clearTimeout(Li),Ai.render(t)):Ai=Fi(t).mount(`#${_i.id}`)}const Gi={install:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Pi=Object.assign({},zi,e),t.config.globalProperties.$toast=Hi,t.provide("toast",Hi)}},Zi=()=>Hi;var Wi=Gi;const Ki={required:{validate(t){return t&&t.length>0},message:"%s is required"}};let Yi={};function Ji(t,e){console.warn("[$validator]",`The '${t}' has been deprecated. Use the '${e}' instead`)}class Xi{constructor(){const t=(0,n.getCurrentInstance)();this.instance=t,this.validations=[],this.customValidations=[]}validate(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o={valid:!0,validFields:[],invalidFields:[],messages:[],message:"",validMsg:{}},d=[];if(this.instance){const{setupState:t,data:e}=this.instance;d=t.validations||e.validations||[]}if(this.validations=this.customValidations.length?this.customValidations:d,!Array.isArray(this.validations))throw new Error("[$validator]: validations must be an array in 10.7.0");for(let n=0,a=this.validations.length;nt.trim()));let a=!0;for(let l=0,i=n.length;l{o.validMsg[t]=o.messages[e]}))),o.validFields.forEach((t=>{o.validMsg[t]=""})),o}resetValidations(){Ji("resetValidations","clear")}setValidations(){Ji("setValidations","set")}clear(){this.customValidations=[]}get(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return t?this.customValidations.find((e=>{let{key:o}=e;return o===t})):this.customValidations}set(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Array.isArray(t))this.customValidations=t;else{const o=this.customValidations.findIndex((e=>{let{key:o}=e;return o===t}));~o?this.customValidations[o]=Object.assign({},e):this.customValidations=[Object.assign({key:t},e)]}}}const Qi={install:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Yi=Object.assign({},Ki,e);const o=new Xi;t.config.globalProperties.$validator=o,t.provide("validator",o)}},tc=()=>new Xi;var ec=Qi;const oc={cssClasses:{base:"mdc-button",outlined:"mdc-button--outlined",raised:"mdc-button--raised",unelevated:"mdc-button--unelevated"}},dc=(t,e)=>{let{modifiers:o}=e;"A"===t.tagName?(((t,e)=>{t.classList.add(oc.cssClasses.base);for(const o of Object.keys(e))if(oc.cssClasses[o]){t.classList.add(oc.cssClasses[o]);break}})(t,o),(t=>{const e=t.innerHTML;t.innerHTML="";const o=document.createElement("div");o.className="mdc-button__ripple";const d=document.createElement("div");d.className="mdc-button__label",d.innerHTML=e,t.appendChild(o),t.appendChild(d)})(t),(t=>{new p.F(t)})(t)):console.warn("[v-button]","You need one element for link button")};var nc={name:"button",mounted(t,e){dc(t,e)}};const ac={base:"mdc-ripple-surface",primary:"mdc-ripple-surface--primary",secondary:"mdc-ripple-surface--secondary"},lc=(t,e,o)=>{let{value:d}=o;if(!1!==d){let o=[ac.base];switch(d){case 1:case"primary":o.push(ac.primary);break;case 2:case"secondary":o.push(ac.secondary)}e.classList[t](...o)}},ic={name:"ripple",beforeMount(t,e){lc("add",t,e)},mounted(t,e){((t,e)=>{let{value:o,arg:d,modifiers:n}=e;if(!1!==o&&"cssOnly"!==d){const e=new p.F(t);n.unbounded&&(e.unbounded=!0)}})(t,e)},beforeUnmount(t,e){lc("remove",t,e)}};var cc=ic;const rc="mdc-shape--rounded",sc="mdc-shape--cut",uc={small:"mdc-shape--small",medium:"mdc-shape--medium",large:"mdc-shape--large"},pc=(t,e)=>{let{value:o,modifiers:d}=e;if(d.cut){let e=o.split(" ").map((t=>t)),d=`0% ${e[0]}, ${e[0]} 0%`,n=`calc(100% - ${e[1]}) 0, 100% ${e[1]}`,a=`100% calc(100% - ${e[2]}), calc(100% - ${e[2]}) 100%`,l=`${e[3]} 100%, 0px calc(100% - ${e[3]})`;t.style.clipPath=`polygon(${d}, ${n}, ${a}, ${l})`}else t.style.borderRadius=o},mc=(t,e,o)=>{let{value:d,modifiers:n}=o;if("update"===t)d&&pc(e,{value:d,modifiers:n});else if(d)pc(e,{value:d,modifiers:n});else{let o=n.cut?[sc]:[rc];n.small?o.push(uc.small):n.large?o.push(uc.large):o.push(uc.medium),e.classList[t](...o)}};var hc={name:"shape",beforeMount(t,e){mc("add",t,e)},updated(t,e){mc("update",t,e)},beforeUnmount(t,e){mc("remove",t,e)}};const gc={MIN:0,MAX:24},bc={transition:"mdc-elevation-transition",overlay:"mdc-elevation-overlay"},fc=t=>{let e="";return t>=gc.MIN&&t<=gc.MAX?e=`mdc-elevation--z${t}`:console.warn("[v-shadow]","The elevation values are mapped out in a 'z-space' and range from 0 to 24"),e},vc=(t,e,o)=>{let{value:d,modifiers:n}=o,a=[];if(n.transition)if(Array.isArray(d)&&2===d.length){let o=fc(d[0]),n=fc(d[1]);a.push(o),a.push(bc.transition),e[`${t}EventListener`]("mouseenter",(()=>{e.classList.add(n)})),e[`${t}EventListener`]("mouseleave",(()=>{e.classList.remove(n)}))}else console.warn("[v-shadow]","Invalid elevation value");else a.push(fc(d));if(e.classList[t](...a),n.overlay){const t=document.createElement("div");t.className=bc.overlay,e.insertBefore(t,e.firstChild)}};var yc={name:"shadow",beforeMount(t,e){vc("add",t,e)},beforeUnmount(t,e){vc("remove",t,e)}};const kc={components:{button:"mdc-button",checkbox:"mdc-checkbox",chip:"mdc-chip",radio:"mdc-radio",miniFab:"mdc-fab--mini"},cssClasses:{wrapper:"mdc-touch-target-wrapper",button:{outer:"mdc-button--touch",inner:"mdc-button__touch"},checkbox:{outer:"mdc-checkbox--touch"},chip:{outer:"mdc-chip--touch",inner:"mdc-chip__touch"},radio:{outer:"mdc-radio--touch"},miniFab:{outer:"mdc-fab--touch",inner:"mdc-fab__touch"},segmentedButton:{outer:"mdc-segmented-button--touch",inner:"mdc-segmented-button__touch"}}},wc=t=>{let e=(t=>{let e=!1;const o=Object.keys(kc.components);for(let d=0,n=o.length;d1&&void 0!==arguments[1]?arguments[1]:0;e?t.classList.remove(Tc.hide):t.classList.add(Tc.hide),t.textContent=e>Cc?`${Cc}+`:e};var Sc={name:"badge",mounted(t,e){((t,e)=>{let{value:o,modifiers:d}=e;if(t.parentNode&&!t.parentNode.classList.contains(Tc.outer)){const e=document.createElement("div");e.className=Tc.outer;const n=document.createElement("sup");n.className=Tc.inner,d.overlap&&e.classList.add(Tc.overlap),d.dot?n.classList.add(Tc.dot):qc(n,o),t.parentNode.insertBefore(e,t),t.parentNode.removeChild(t),e.appendChild(t),e.appendChild(n)}})(t,e)},updated(t,e){((t,e)=>{let{value:o,modifiers:d}=e;if(!d.dot){const e=t.nextElementSibling;qc(e,o)}})(t,e)}},Ic=o(41047);let $c={globalAnchor:{el:null,id:"mdc-tooltip-anchor",className:"mdc-tooltip-wrapper--rich"},attrs:{ariaId:"aria-describedby"}};const Ec=()=>{$c.globalAnchor.el||(document.body.appendChild((()=>{const t=document.createElement("div");return t.id=$c.globalAnchor.id,t.className=$c.globalAnchor.className,t})()),$c.globalAnchor.el=document.getElementById($c.globalAnchor.id))},Nc={name:"tooltip",mounted(t,e){((t,e)=>{let{value:o}=e;Ec();const d=t.getAttribute($c.attrs.ariaId);if(d){let t=((t,e)=>``)(d,o),e=document.createRange().createContextualFragment(t);$c.globalAnchor.el.appendChild(e),new Ic.US(document.getElementById(d))}else console.warn("[v-tooltip]",`The '${$c.attrs.ariaId}' attribute is required for plain tooltip`)})(t,e)},beforeUnmount(t){(t=>{const e=t.getAttribute($c.attrs.ariaId),o=document.getElementById(e);$c.globalAnchor.el.removeChild(o)})(t)}};var Bc=Nc;const Dc={name:"debounce",mounted(t,e){let{value:o}=e;if("object"!==(0,f.Z)(o))throw new Error("[v-debounce]: The 'value' must be an object ({ callback: Function, delay?: number })");{const{callback:e,delay:d}=o;let n;"function"!==(0,f.Z)(e)&&console.warn("[v-debounce]: The 'callback' must be a function"),t.addEventListener("click",(()=>{n&&clearTimeout(n),n=setTimeout((()=>{e()}),d||250)}))}}};var Vc=Dc;f.Z;var jc=o(9996);const Uc=[void 0,null,!1,0,"","0"],Oc=function(t,e){let o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t===e)return!0;if("function"===typeof t&&"function"===typeof e)return t.toString()===e.toString();if(t instanceof Date&&e instanceof Date)return t.getTime()===e.getTime();const d=!o||Oc(Object.getPrototypeOf(t),Object.getPrototypeOf(e),!0),n=Object.getOwnPropertyNames(t),a=Object.getOwnPropertyNames(e);return n.length===a.length&&d&&n.every((o=>Oc(t[o],e[o])))};var _c={merge:o.n(jc)(),isEmpty:t=>{let e=!1;switch((0,f.Z)(t)){case"array":e=!t.length;break;case"map":case"set":e=!t.size;break;case"object":e=!Object.keys(t).length;break;default:let o=Uc.length;for(;o--;)if(t===Uc[o]){e=!0;break}}return e},jsonEqual:(t,e)=>JSON.stringify(t)===JSON.stringify(e),isDeepEqual:Oc,toCamelCase:t=>(t=t.replace(/[-_\s]+(.)?/g,((t,e)=>e?e.toUpperCase():""))).substr(0,1).toLowerCase()+t.substr(1),toCapitalize:t=>t.toLowerCase().replace(/^\w/,(t=>t.toUpperCase()))};var zc=()=>{const t=window.navigator.userAgent,e=/\b(MSIE |Trident.*?rv:)(\d+)/.exec(t);if(e)return parseInt(e[2],10);const o=t.indexOf("Edge/");return o>0&&parseInt(t.substring(o+5,t.indexOf(".",o)),10)};const Ac={UiAlert:Va,UiAutocomplete:Ro,UiBadge:wa,UiBanner:Za,UiButton:$,UiCard:Gn,UiCardActions:la,UiCardButtons:ra,UiCardContent:Yn,UiCardMedia:Xn,UiCardMediaContent:ea,UiCardText:na,UiCardIcons:pa,UiCheckbox:qd,UiChip:zd.default,UiChips:_d,UiCollapse:$a,UiDatepicker:td,UiDialog:ja,UiDialogActions:Ha,UiDialogContent:La,UiDialogTitle:za,UiDivider:kt,UiDrawer:wt,UiDrawerHeader:Ct,UiDrawerTitle:It,UiDrawerSubtitle:Nt,UiDrawerContent:Vt,UiDrawerAppContent:Ot,UiFab:_,UiFile:Gd,UiForm:co,UiFormField:go,UiGrid:st,UiGridCell:gt,UiIcon:u,UiIconButton:Q,UiImageItem:Mn,UiImageList:Dn,UiImageText:Fn,UiItem:mn,UiItemTextContent:gn,UiItemText1:fn,UiItemText2:yn,UiItemFirstContent:wn,UiItemLastContent:Tn,UiItemDivider:Ve,UiList:rn,UiListDivider:qn,UiListGroup:In,UiListGroupSubheader:En,UiMenuAnchor:ge,UiMenu:ze,UiMenuitem:Ee,UiMenuitemIcon:ke,UiMenuitemText:xe,UiMenuitemDivider:Me,UiNav:tn,UiNavItem:nn,UiPagination:ao,UiPanels:ce,UiPanel:ue,UiProgress:el,UiRadio:Od,UiRangepicker:cd,UiSegmentedButtons:tt,UiSegmentedButton:et.default,UiSelect:rd,UiSelectHelper:md,UiSelectIcon:fd,UiSlider:Md,UiSnackbar:Ga,UiSpinner:ol,UiSwitch:Ad,UiTable:ma,UiTabs:de,UiTab:Xt,UiTabBar:_t,UiTabScroller:ne.default,UiTabIndicator:Lt,UiTextfield:bo,UiTextfieldHelper:xo,UiTextfieldIcon:Io,UiTooltipAnchor:al,UiTooltip:ll,UiTopAppBar:ot},Mc={$alert:$i,$confirm:Oi,$event:Cl,$grid:Ul,$store:Bl,$theme:Xl,$toast:Wi,$typography:ni,$validator:ec},Lc={vAccessibility:xc,vBadge:Sc,vButton:nc,vDebounce:Vc,vRipple:cc,vShadow:yc,vShape:hc,vTooltip:Bc},Pc={install:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,d.Z)(t,e,{Components:Ac,Plugins:Mc,Directives:Lc})}};var Rc=Pc},40100:function(t,e,o){"use strict";o.d(e,{Z:function(){return s}});var d=o(9996),n=o.n(d),a=o(66326);const l=t=>{let{componentProps:e,propName:o,props:d}=t,l=d[o];if("object"===(0,a.Z)(l)){const t=e[o].default;e[o].default=()=>n()(t,l)}else Array.isArray(l)?e[o].default=()=>l:e[o].default=l},i=t=>{let{componentMixins:e,propName:o,props:d}=t;if(e.length){let t=e.length;for(;t--;)if(e[t].props&&void 0!==e[t].props[o]){l({componentProps:e[t].props,propName:o,props:d});break}}};var c=(t,e)=>{for(const o of Object.keys(e))t.props?void 0===t.props[o]?i({componentMixins:t.mixins,propName:o,props:e}):l({componentProps:t.props,propName:o,props:e}):i({componentMixins:t.mixins,propName:o,props:e})};var r=(t,e)=>{for(const o of Object.keys(e))if(/^Ui[A-Z]{1}[A-Za-z]+$/.test(o)){const d=t[o],n=e[o];c(d,n)}};var s=(t,e,o)=>{let{Components:d,Plugins:n,Directives:a}=o;r(d,e);for(const l in d){const e=d[l];t.component(e.name,e)}for(const l in n){const o=n[l];e[l]?t.use(o,e[l]):t.use(o)}for(const l in a){const e=a[l];t.directive(e.name,e)}}},25474:function(t,e,o){"use strict";o(4147).i8},45286:function(t){"use strict";t.exports=JSON.parse('{"home":{"slogan":"Build beautiful products, faster for Vue.js","title":"BalmUI is a Google Material design system \u2013 backed by open-source code \u2013 that helps teams build high-quality digital experiences.","get-started":"Get started"},"menu":{"guide":"Guide","introduction":"Introduction","quick-start":"Quick Start","advanced":"Advanced Usage","ts":"TypeScript Support","upgrade":"Upgrade Guide","kill-ie":"Kill IE","styles":"Styles","color":"Color","elevation":"Elevation","icons":"Icons","shape":"Shape","typography":"Typography","actions":"Actions","button":"Common Buttons","fab":"Floating Action Buttons","icon-button":"Icon Buttons","segmented-button":"Segmented Buttons","communication":"Communication","alert":"Alert","badge":"Badge","progress":"Linear Progress","spinner":"Circular Progress","snackbar":"Snackbar","toast":"Toast","banner":"Banner","tooltip":"Tooltip","skeleton":"Skeleton","containment":"Containment","grid":"Layout Grid","bottom-sheet":"Bottom Sheet","side-sheet":"Side Sheet","card":"Card","dialog":"Dialog","alert-dialog":"Alert Dialog","confirm-dialog":"Confirm Dialog","divider":"Divider","list":"List","image-list":"Image List","form":"Form","table":"Data Table","tree":"Tree","collapse":"Collapse","navigation":"Navigation","navigation-bar":"Navigation Bar","drawer":"Drawer","navigation-rail":"Navigation Rail","tabs":"Tabs","top-app-bar":"Top App Bar","pagination":"Pagination","selection":"Selection","chips":"Chips","menu":"Menu","select":"Select","checkbox":"Checkbox","radio":"Radio","slider":"Slider","switch":"Switch","file":"File","datepicker":"Datepicker","rangepicker":"Rangepicker","text-inputs":"Text Inputs","textfield":"Text Field","autocomplete":"Autocomplete","editor":"Editor","misc":"Misc","event":"Event","validator":"Validator","debounce":"Debounce","ripple":"Ripple","anchor":"Anchor","copy":"Copy","longpress":"Long Press","store":"Store","utils":"Utils"},"page":{"usage":"Usage","default-usage":"Default Usage","individual-usage":"Individual Usage","demo":"Demo","apis":"APIs","sass":"Sass Variables","icons":"Icons","colors":"Colors","icon-list":"Material Icons","color-palette":"Material Color Palette"}}')},48702:function(t){"use strict";t.exports=JSON.parse('{"home":{"slogan":"\u66f4\u9ad8\u6548\u5730\u751f\u4ea7\u51fa\u7cbe\u7f8e\u7684\u4ea7\u54c1","title":"BalmUI \u662f\u57fa\u4e8e\u8c37\u6b4c Material Design \u7cfb\u7edf\u4e3a Vue.js \u91cf\u8eab\u5b9a\u5236\u7684 UI \u6846\u67b6\u3002","get-started":"\u8d77\u6b65"},"menu":{"guide":"\u6307\u5357","introduction":"\u4ecb\u7ecd","quick-start":"\u5feb\u901f\u4e0a\u624b","advanced":"\u8fdb\u9636\u7528\u6cd5","ts":"TypeScript \u652f\u6301","upgrade":"\u5347\u7ea7\u5411\u5bfc","kill-ie":"\u4e07\u6076\u7684 IE","styles":"\u6837\u5f0f\u98ce\u683c","color":"\u8272\u5f69","elevation":"\u5c42\u7ea7\u9634\u5f71","icons":"\u56fe\u6807","shape":"\u5f62\u72b6","typography":"\u6392\u7248","actions":"\u52a8\u4f5c","button":"\u666e\u901a\u6309\u94ae","fab":"\u6d6e\u52a8\u6309\u94ae","icon-button":"\u56fe\u6807\u6309\u94ae","segmented-button":"\u6309\u94ae\u7ec4","communication":"\u4ea4\u4e92\u53cd\u9988","alert":"\u8b66\u544a\u63d0\u793a","badge":"\u5fbd\u7ae0","progress":"\u8fdb\u5ea6\u6761","spinner":"\u52a0\u8f7d\u4e2d","snackbar":"\u5e95\u90e8\u6d88\u606f\u6846","toast":"\u77ed\u6d88\u606f\u63d0\u793a","banner":"\u6a2a\u5e45","tooltip":"\u6587\u5b57\u63d0\u793a","skeleton":"\u9aa8\u67b6\u5c4f","containment":"\u5bb9\u5668\u5e03\u5c40","grid":"\u6805\u683c","bottom-sheet":"\u5e95\u90e8\u52a8\u4f5c\u8868","side-sheet":"\u4fa7\u8fb9\u52a8\u4f5c\u8868","card":"\u5361\u7247","dialog":"\u5bf9\u8bdd\u6846","alert-dialog":"\u8b66\u544a\u6846","confirm-dialog":"\u786e\u8ba4\u6846","divider":"\u5206\u5272\u7ebf","list":"\u5217\u8868","image-list":"\u56fe\u7247\u5217\u8868","form":"\u8868\u5355","table":"\u6570\u636e\u8868","tree":"\u6811","collapse":"\u6298\u53e0\u9762\u677f","navigation":"\u5bfc\u822a","navigation-bar":"\u5e95\u90e8\u5bfc\u822a\u680f","drawer":"\u4fa7\u8fb9\u5bfc\u822a\u680f","navigation-rail":"\u4fa7\u8fb9\u5bfc\u822a\u680f","tabs":"\u6807\u7b7e\u9875","top-app-bar":"\u9876\u90e8\u5bfc\u822a\u680f","pagination":"\u5206\u9875","selection":"\u9009\u62e9\u63a7\u5236","chips":"\u9009\u9879\u5361","menu":"\u83dc\u5355","select":"\u9009\u62e9\u5668","checkbox":"\u590d\u9009\u6846","radio":"\u5355\u9009\u6309\u94ae","slider":"\u6ed1\u52a8\u6761","switch":"\u5f00\u5173","file":"\u6587\u4ef6\u4e0a\u4f20","datepicker":"\u65e5\u671f\u9009\u62e9\u5668","rangepicker":"\u65e5\u671f\u8303\u56f4\u9009\u62e9\u5668","text-inputs":"\u6587\u672c\u5f55\u5165","textfield":"\u6587\u672c\u6846","autocomplete":"\u81ea\u52a8\u5b8c\u6210","editor":"\u5bcc\u6587\u672c","misc":"\u5176\u4ed6","event":"UI \u5168\u5c40\u4e8b\u4ef6","validator":"\u9a8c\u8bc1\u5668","debounce":"\u9632\u6296","ripple":"\u6c34\u6ce2\u7eb9\u6548\u679c","anchor":"\u951a\u70b9","copy":"\u62f7\u8d1d","longpress":"\u957f\u6309","store":"\u72b6\u6001\u7ba1\u7406","utils":"\u5e38\u7528\u5de5\u5177\u5e93"},"page":{"usage":"\u7528\u6cd5","default-usage":"\u9ed8\u8ba4\u7528\u6cd5","individual-usage":"\u72ec\u7acb\u7528\u6cd5","demo":"\u4f8b\u5b50","apis":"APIs","sass":"Sass\u53d8\u91cf","icons":"\u56fe\u6807\u96c6","colors":"\u8c03\u8272\u677f","icon-list":"Material \u56fe\u6807\u96c6","color-palette":"Material \u8c03\u8272\u677f"}}')},4147:function(t){"use strict";t.exports={i8:"10.24.0"}}}]); \ No newline at end of file diff --git a/js/chunk/3582.e67e1d34.js b/js/chunk/3582.e67e1d34.js new file mode 100644 index 0000000..aee30a8 --- /dev/null +++ b/js/chunk/3582.e67e1d34.js @@ -0,0 +1 @@ +(self.webpackChunkbalm_ui=self.webpackChunkbalm_ui||[]).push([[3582,3114],{10909:function(t,e,o){var d={"./css/alert-dialog.md":91598,"./css/badge.md":56447,"./css/bottom-sheet.md":5902,"./css/button.md":44920,"./css/card.md":30511,"./css/checkbox.md":66091,"./css/chips.md":61462,"./css/collapse.md":7634,"./css/confirm-dialog.md":32043,"./css/dialog.md":73391,"./css/divider.md":23175,"./css/drawer.md":67618,"./css/editor.md":37565,"./css/elevation.md":47689,"./css/fab.md":51513,"./css/form.md":43278,"./css/grid.md":8755,"./css/icon-button.md":43727,"./css/icon.md":25613,"./css/image-list.md":66573,"./css/list.md":65825,"./css/menu.md":46378,"./css/navigation-bar.md":20372,"./css/pagination.md":14428,"./css/progress.md":30582,"./css/radio.md":16109,"./css/rangepicker.md":36088,"./css/ripple.md":83924,"./css/select.md":13501,"./css/shape.md":14115,"./css/side-sheet.md":34630,"./css/skeleton.md":89880,"./css/snackbar.md":54526,"./css/spinner.md":96314,"./css/switch.md":40841,"./css/table.md":8146,"./css/tabs.md":22457,"./css/textfield.md":92076,"./css/theme.md":95303,"./css/top-app-bar.md":86060,"./css/tree.md":9226,"./css/typography.md":81633,"./en/alert-dialog/alert-dialog.md":95727,"./en/alert-dialog/intro.md":70669,"./en/alert/alert.md":56215,"./en/alert/intro.md":53483,"./en/anchor/intro.md":61904,"./en/anchor/v-anchor.md":17748,"./en/autocomplete/autocomplete.md":75684,"./en/autocomplete/intro.md":55422,"./en/badge/badge.md":10248,"./en/badge/intro.md":14411,"./en/badge/v-badge.md":90134,"./en/banner/banner.md":49731,"./en/banner/intro.md":63571,"./en/bottom-sheet/bottom-sheet.md":67082,"./en/bottom-sheet/intro.md":77416,"./en/button/button.md":68248,"./en/button/intro.md":25753,"./en/button/v-button.md":92365,"./en/card/card-actions.md":38947,"./en/card/card-buttons.md":91436,"./en/card/card-content.md":75198,"./en/card/card-icons.md":60385,"./en/card/card-media-content.md":94364,"./en/card/card-media.md":8990,"./en/card/card-text.md":65817,"./en/card/card.md":73111,"./en/card/intro.md":47212,"./en/card/ui-card.md":15640,"./en/checkbox/checkbox.md":72413,"./en/checkbox/intro.md":67313,"./en/chips/chip.md":47431,"./en/chips/chips.md":51582,"./en/chips/intro.md":3010,"./en/collapse/collapse.md":29474,"./en/collapse/intro.md":74194,"./en/confirm-dialog/confirm-dialog.md":73197,"./en/confirm-dialog/intro.md":30812,"./en/copy/intro.md":85507,"./en/copy/v-copy.md":64463,"./en/datepicker/datepicker.md":93084,"./en/datepicker/intro.md":61897,"./en/debounce/intro.md":95578,"./en/debounce/v-debounce.md":50987,"./en/dialog/dialog-actions.md":56264,"./en/dialog/dialog-content.md":10319,"./en/dialog/dialog-title.md":92477,"./en/dialog/dialog.md":11181,"./en/dialog/intro.md":67121,"./en/dialog/ui-dialog.md":56306,"./en/divider/divider.md":43254,"./en/divider/intro.md":86341,"./en/drawer/drawer-app-content.md":23144,"./en/drawer/drawer-backdrop.md":85480,"./en/drawer/drawer-content.md":39903,"./en/drawer/drawer-header.md":41026,"./en/drawer/drawer.md":56359,"./en/drawer/intro.md":926,"./en/drawer/ui-drawer.md":51725,"./en/editor/editor.md":14483,"./en/editor/intro.md":61729,"./en/elevation/intro.md":36994,"./en/elevation/v-elevation.md":57249,"./en/event/event.md":13351,"./en/event/intro.md":10156,"./en/fab/fab.md":46641,"./en/fab/intro.md":84541,"./en/file/file.md":49818,"./en/file/intro.md":84175,"./en/form/form-field.md":56398,"./en/form/form.md":52752,"./en/form/intro.md":88823,"./en/grid/grid-cell.md":92124,"./en/grid/grid-custom.md":89625,"./en/grid/grid.md":41734,"./en/grid/intro.md":39065,"./en/guide/advanced.md":45782,"./en/guide/introduction.md":37495,"./en/guide/kill-ie.md":97921,"./en/guide/quick-start.md":41196,"./en/guide/typescript-support.md":97789,"./en/guide/upgrade.md":41701,"./en/icon-button/icon-button.md":9083,"./en/icon-button/intro.md":610,"./en/icon/icon.md":60716,"./en/icon/intro.md":611,"./en/image-list/image-item.md":82692,"./en/image-list/image-list.md":55069,"./en/image-list/image-text.md":60658,"./en/image-list/intro.md":47469,"./en/image-list/ui-image-list.md":94350,"./en/lazyload/intro.md":20468,"./en/lazyload/lazyload.md":95192,"./en/list/intro.md":27481,"./en/list/list-divider.md":90681,"./en/list/list-group.md":63102,"./en/list/list-item.md":44684,"./en/list/list.md":58171,"./en/list/ui-list.md":39003,"./en/longpress/intro.md":2030,"./en/longpress/v-longpress.md":98314,"./en/menu/intro.md":53454,"./en/menu/menu-anchor.md":71456,"./en/menu/menu.md":86673,"./en/menu/menuitem.md":42825,"./en/menu/ui-menu.md":9882,"./en/navigation-bar/intro.md":54993,"./en/navigation-bar/navigation-bar.md":81964,"./en/navigation-rail/intro.md":60676,"./en/navigation-rail/navigation-rail.md":6696,"./en/pagination/intro.md":59369,"./en/pagination/pagination.md":50154,"./en/progress/intro.md":50733,"./en/progress/progress.md":97332,"./en/radio/intro.md":51259,"./en/radio/radio.md":14176,"./en/rangepicker/intro.md":90611,"./en/rangepicker/rangepicker.md":28468,"./en/ripple/intro.md":36042,"./en/ripple/v-ripple.md":51412,"./en/segmented-button/intro.md":29543,"./en/segmented-button/segmented-button.md":98061,"./en/segmented-button/segmented-buttons.md":22604,"./en/select/intro.md":94378,"./en/select/select-helper.md":5496,"./en/select/select-icon.md":21534,"./en/select/select.md":66594,"./en/shape/intro.md":16199,"./en/shape/v-shape.md":55303,"./en/side-sheet/intro.md":37124,"./en/side-sheet/side-sheet.md":39737,"./en/skeleton/intro.md":72400,"./en/skeleton/skeleton.md":2219,"./en/slider/intro.md":4974,"./en/slider/slider.md":71535,"./en/snackbar/intro.md":98559,"./en/snackbar/snackbar.md":68186,"./en/spinner/intro.md":74538,"./en/spinner/spinner.md":29377,"./en/store/intro.md":28010,"./en/store/store.md":22016,"./en/switch/intro.md":74384,"./en/switch/switch.md":27782,"./en/table/intro.md":97919,"./en/table/table.md":29541,"./en/tabs/intro.md":33391,"./en/tabs/tab-bar.md":46183,"./en/tabs/tab-indicator.md":78769,"./en/tabs/tab-panel.md":77662,"./en/tabs/tab-scroller.md":1803,"./en/tabs/tab.md":51174,"./en/tabs/tabs.md":98638,"./en/tabs/ui-tabs.md":31205,"./en/textfield/intro.md":85422,"./en/textfield/textfield-helper.md":54789,"./en/textfield/textfield-icon.md":72530,"./en/textfield/textfield.md":994,"./en/textfield/ui-textfield.md":69570,"./en/theme/intro.md":84479,"./en/theme/theme.md":84086,"./en/toast/intro.md":99864,"./en/toast/toast.md":46557,"./en/tooltip/intro.md":37935,"./en/tooltip/tooltip.md":5139,"./en/tooltip/v-tooltip.md":83375,"./en/top-app-bar/intro.md":78341,"./en/top-app-bar/top-app-bar.md":13349,"./en/tree/intro.md":23360,"./en/tree/tree.md":63681,"./en/typography/intro.md":48181,"./en/typography/typography.md":84963,"./en/utils/intro.md":85345,"./en/validator/intro.md":28586,"./en/validator/validator.md":90528,"./usage/alert-dialog/default.md":30300,"./usage/alert-dialog/individual.md":20357,"./usage/alert/default.md":93461,"./usage/alert/individual.md":49530,"./usage/anchor/default.md":61252,"./usage/anchor/individual.md":89175,"./usage/autocomplete/default.md":31272,"./usage/autocomplete/individual.md":37694,"./usage/badge/default.md":72664,"./usage/badge/individual.md":45119,"./usage/banner/default.md":62156,"./usage/banner/individual.md":63948,"./usage/bottom-sheet/default.md":3089,"./usage/bottom-sheet/individual.md":78330,"./usage/button/default.md":77647,"./usage/button/individual.md":82912,"./usage/card/default.md":79367,"./usage/card/individual.md":65887,"./usage/checkbox/default.md":81063,"./usage/checkbox/individual.md":39283,"./usage/chips/default.md":14714,"./usage/chips/individual.md":66825,"./usage/collapse/default.md":55330,"./usage/collapse/individual.md":33297,"./usage/confirm-dialog/default.md":41174,"./usage/confirm-dialog/individual.md":58441,"./usage/copy/default.md":15669,"./usage/copy/individual.md":21199,"./usage/datepicker/default.md":6017,"./usage/datepicker/individual.md":24070,"./usage/debounce/default.md":58803,"./usage/debounce/individual.md":32648,"./usage/dialog/default.md":39759,"./usage/dialog/individual.md":28715,"./usage/divider/default.md":3514,"./usage/divider/individual.md":71242,"./usage/drawer/default.md":13187,"./usage/drawer/individual.md":16357,"./usage/editor/default.md":31962,"./usage/editor/individual.md":28612,"./usage/elevation/default.md":8535,"./usage/elevation/individual.md":82980,"./usage/event/default.md":88456,"./usage/event/individual.md":29054,"./usage/fab/default.md":70575,"./usage/fab/individual.md":45733,"./usage/file/default.md":50764,"./usage/file/individual.md":47809,"./usage/form/default.md":53976,"./usage/form/individual.md":11773,"./usage/grid/default.md":49865,"./usage/grid/individual.md":74010,"./usage/icon-button/default.md":29399,"./usage/icon-button/individual.md":82507,"./usage/icon/default.md":6667,"./usage/icon/individual.md":39477,"./usage/image-list/default.md":44785,"./usage/image-list/individual.md":55229,"./usage/lazyload/default.md":3305,"./usage/lazyload/individual.md":16422,"./usage/list/default.md":1654,"./usage/list/individual.md":64605,"./usage/longpress/default.md":5411,"./usage/longpress/individual.md":18298,"./usage/menu/default.md":73574,"./usage/menu/individual.md":56403,"./usage/navigation-bar/default.md":2024,"./usage/navigation-bar/individual.md":55227,"./usage/navigation-rail/default.md":35956,"./usage/navigation-rail/individual.md":17184,"./usage/pagination/default.md":95422,"./usage/pagination/individual.md":12026,"./usage/progress/default.md":60101,"./usage/progress/individual.md":56279,"./usage/radio/default.md":39089,"./usage/radio/individual.md":70508,"./usage/rangepicker/default.md":10663,"./usage/rangepicker/individual.md":40999,"./usage/ripple/default.md":13824,"./usage/ripple/individual.md":76517,"./usage/segmented-button/default.md":67446,"./usage/segmented-button/individual.md":40137,"./usage/select/default.md":87624,"./usage/select/individual.md":48019,"./usage/shape/default.md":32793,"./usage/shape/individual.md":52355,"./usage/side-sheet/default.md":64190,"./usage/side-sheet/individual.md":47745,"./usage/skeleton/default.md":28132,"./usage/skeleton/individual.md":42206,"./usage/slider/default.md":3835,"./usage/slider/individual.md":68679,"./usage/snackbar/default.md":65259,"./usage/snackbar/individual.md":81612,"./usage/spinner/default.md":55781,"./usage/spinner/individual.md":34050,"./usage/store/default.md":45488,"./usage/store/individual.md":62041,"./usage/store/requirement.md":72093,"./usage/switch/default.md":27820,"./usage/switch/individual.md":24198,"./usage/table/default.md":66254,"./usage/table/individual.md":70240,"./usage/tabs/default.md":55680,"./usage/tabs/individual.md":66342,"./usage/textfield/default.md":13732,"./usage/textfield/individual.md":30121,"./usage/theme/default.md":32551,"./usage/theme/individual.md":39777,"./usage/toast/default.md":63742,"./usage/toast/individual.md":83855,"./usage/tooltip/default.md":30073,"./usage/tooltip/individual.md":58709,"./usage/top-app-bar/default.md":15171,"./usage/top-app-bar/individual.md":471,"./usage/tree/default.md":59325,"./usage/tree/individual.md":45462,"./usage/typography/default.md":41336,"./usage/typography/individual.md":26488,"./usage/typography/requirement.md":34606,"./usage/validator/default.md":29649,"./usage/validator/individual.md":63513,"./usage/validator/requirement.md":68018,"./zh/alert-dialog/alert-dialog.md":57627,"./zh/alert-dialog/intro.md":34264,"./zh/alert/alert.md":34612,"./zh/alert/intro.md":48189,"./zh/anchor/intro.md":42819,"./zh/anchor/v-anchor.md":57761,"./zh/autocomplete/autocomplete.md":68412,"./zh/autocomplete/intro.md":95338,"./zh/badge/badge.md":63823,"./zh/badge/intro.md":1825,"./zh/badge/v-badge.md":33390,"./zh/banner/banner.md":53359,"./zh/banner/intro.md":97590,"./zh/bottom-sheet/bottom-sheet.md":29682,"./zh/bottom-sheet/intro.md":55501,"./zh/button/button.md":31969,"./zh/button/intro.md":92971,"./zh/button/v-button.md":1712,"./zh/card/card-actions.md":35802,"./zh/card/card-buttons.md":67140,"./zh/card/card-content.md":13860,"./zh/card/card-icons.md":1175,"./zh/card/card-media-content.md":33863,"./zh/card/card-media.md":79322,"./zh/card/card-text.md":84550,"./zh/card/card.md":65759,"./zh/card/intro.md":93944,"./zh/card/ui-card.md":62742,"./zh/checkbox/checkbox.md":1747,"./zh/checkbox/intro.md":5482,"./zh/chips/chip.md":64175,"./zh/chips/chips.md":1837,"./zh/chips/intro.md":92970,"./zh/collapse/collapse.md":15504,"./zh/collapse/intro.md":70138,"./zh/confirm-dialog/confirm-dialog.md":25009,"./zh/confirm-dialog/intro.md":49187,"./zh/copy/intro.md":34872,"./zh/copy/v-copy.md":24203,"./zh/datepicker/datepicker.md":22481,"./zh/datepicker/intro.md":51882,"./zh/debounce/intro.md":51479,"./zh/debounce/v-debounce.md":20545,"./zh/dialog/dialog-actions.md":53143,"./zh/dialog/dialog-content.md":70991,"./zh/dialog/dialog-title.md":48784,"./zh/dialog/dialog.md":12539,"./zh/dialog/intro.md":91578,"./zh/dialog/ui-dialog.md":3364,"./zh/divider/divider.md":56892,"./zh/divider/intro.md":72371,"./zh/drawer/drawer-app-content.md":68872,"./zh/drawer/drawer-backdrop.md":95835,"./zh/drawer/drawer-content.md":65662,"./zh/drawer/drawer-header.md":58221,"./zh/drawer/drawer.md":8776,"./zh/drawer/intro.md":38432,"./zh/drawer/ui-drawer.md":12948,"./zh/editor/editor.md":55723,"./zh/editor/intro.md":7672,"./zh/elevation/intro.md":43446,"./zh/elevation/v-elevation.md":37088,"./zh/event/event.md":75431,"./zh/event/intro.md":45326,"./zh/fab/fab.md":28627,"./zh/fab/intro.md":28057,"./zh/file/file.md":7686,"./zh/file/intro.md":88683,"./zh/form/form-field.md":55728,"./zh/form/form.md":15075,"./zh/form/intro.md":31323,"./zh/grid/grid-cell.md":63052,"./zh/grid/grid-custom.md":6591,"./zh/grid/grid.md":18074,"./zh/grid/intro.md":29250,"./zh/guide/advanced.md":73916,"./zh/guide/introduction.md":41032,"./zh/guide/kill-ie.md":67961,"./zh/guide/quick-start.md":71457,"./zh/guide/typescript-support.md":14833,"./zh/guide/upgrade.md":74561,"./zh/icon-button/icon-button.md":54818,"./zh/icon-button/intro.md":81534,"./zh/icon/icon.md":67315,"./zh/icon/intro.md":50424,"./zh/image-list/image-item.md":22890,"./zh/image-list/image-list.md":39512,"./zh/image-list/image-text.md":99191,"./zh/image-list/intro.md":45013,"./zh/image-list/ui-image-list.md":45266,"./zh/list/intro.md":93500,"./zh/list/list-divider.md":45588,"./zh/list/list-group.md":15041,"./zh/list/list-item.md":16133,"./zh/list/list.md":78396,"./zh/list/ui-list.md":51794,"./zh/longpress/intro.md":67832,"./zh/longpress/v-longpress.md":88217,"./zh/menu/intro.md":71326,"./zh/menu/menu-anchor.md":83410,"./zh/menu/menu.md":49859,"./zh/menu/menuitem.md":67682,"./zh/menu/ui-menu.md":21840,"./zh/navigation-bar/intro.md":94506,"./zh/navigation-bar/navigation-bar.md":20684,"./zh/navigation-rail/intro.md":26568,"./zh/navigation-rail/navigation-rail.md":26251,"./zh/pagination/intro.md":36927,"./zh/pagination/pagination.md":64208,"./zh/progress/intro.md":86865,"./zh/progress/progress.md":37498,"./zh/radio/intro.md":15814,"./zh/radio/radio.md":84967,"./zh/rangepicker/intro.md":19434,"./zh/rangepicker/rangepicker.md":69270,"./zh/ripple/intro.md":42129,"./zh/ripple/v-ripple.md":99735,"./zh/segmented-button/intro.md":24785,"./zh/segmented-button/segmented-button.md":92249,"./zh/segmented-button/segmented-buttons.md":26950,"./zh/select/intro.md":53579,"./zh/select/select-helper.md":94141,"./zh/select/select-icon.md":626,"./zh/select/select.md":58382,"./zh/shape/intro.md":5130,"./zh/shape/v-shape.md":37905,"./zh/side-sheet/intro.md":4345,"./zh/side-sheet/side-sheet.md":19520,"./zh/skeleton/intro.md":59566,"./zh/skeleton/skeleton.md":741,"./zh/slider/intro.md":6649,"./zh/slider/slider.md":55324,"./zh/snackbar/intro.md":44385,"./zh/snackbar/snackbar.md":12615,"./zh/spinner/intro.md":18271,"./zh/spinner/spinner.md":59680,"./zh/store/intro.md":61482,"./zh/store/store.md":61684,"./zh/switch/intro.md":15024,"./zh/switch/switch.md":41503,"./zh/table/intro.md":97201,"./zh/table/table.md":57989,"./zh/tabs/intro.md":96569,"./zh/tabs/tab-bar.md":16483,"./zh/tabs/tab-indicator.md":84190,"./zh/tabs/tab-panel.md":17663,"./zh/tabs/tab-scroller.md":43268,"./zh/tabs/tab.md":57938,"./zh/tabs/tabs.md":46552,"./zh/tabs/ui-tabs.md":25838,"./zh/textfield/intro.md":32903,"./zh/textfield/textfield-helper.md":81963,"./zh/textfield/textfield-icon.md":17940,"./zh/textfield/textfield.md":68406,"./zh/textfield/ui-textfield.md":81680,"./zh/theme/intro.md":40731,"./zh/theme/theme.md":93843,"./zh/toast/intro.md":49715,"./zh/toast/toast.md":67623,"./zh/tooltip/intro.md":17371,"./zh/tooltip/tooltip.md":8361,"./zh/tooltip/v-tooltip.md":66520,"./zh/top-app-bar/intro.md":90350,"./zh/top-app-bar/top-app-bar.md":67479,"./zh/tree/intro.md":4182,"./zh/tree/tree.md":22498,"./zh/typography/intro.md":18661,"./zh/typography/typography.md":91283,"./zh/utils/intro.md":31512,"./zh/validator/intro.md":52506,"./zh/validator/validator.md":66187};function n(t){var e=a(t);return o(e)}function a(t){if(!o.o(d,t)){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}return d[t]}n.keys=function(){return Object.keys(d)},n.resolve=a,t.exports=n,n.id=10909},47562:function(t,e,o){var d={"./":[65541,7],"./assets/card-media-h.png":[78588,1,8588],"./assets/card-media-v.png":[95348,1,5348],"./assets/card-media.svg":[10544,1,544],"./assets/ic_button.svg":[94426,1,4426],"./assets/ic_card.svg":[57100,1,7100],"./assets/photos/2x3/1.jpg":[27793,1,7793],"./assets/photos/2x3/2.jpg":[94849,1,4849],"./assets/photos/2x3/3.jpg":[3913,1,3913],"./assets/photos/2x3/4.jpg":[58823,1,8823],"./assets/photos/2x3/5.jpg":[13750,1,3750],"./assets/photos/2x3/6.jpg":[31966,1,1966],"./assets/photos/2x3/7.jpg":[93199,1,3199],"./assets/photos/2x3/8.jpg":[1936,1,1936],"./assets/photos/3x2/1.jpg":[66103,1,6103],"./assets/photos/3x2/10.jpg":[64507,1,4507],"./assets/photos/3x2/11.jpg":[72945,1,2945],"./assets/photos/3x2/12.jpg":[16989,1,6989],"./assets/photos/3x2/13.jpg":[17394,1,7394],"./assets/photos/3x2/14.jpg":[15425,1,5425],"./assets/photos/3x2/15.jpg":[87038,1,7038],"./assets/photos/3x2/16.jpg":[643,1,643],"./assets/photos/3x2/2.jpg":[54985,1,4985],"./assets/photos/3x2/3.jpg":[3440,1,3440],"./assets/photos/3x2/4.jpg":[26786,1,6786],"./assets/photos/3x2/5.jpg":[5947,1,5947],"./assets/photos/3x2/6.jpg":[46272,1,6272],"./assets/photos/3x2/7.jpg":[19541,1,9541],"./assets/photos/3x2/8.jpg":[83e3,1,3e3],"./assets/photos/3x2/9.jpg":[11734,1,1734],"./bootstrap":[54626,9],"./bootstrap.js":[54626,9],"./components/footer-nav":[41468,9],"./components/footer-nav.vue":[41468,9],"./components/markdown":[33724,9],"./components/markdown.vue":[33724,9],"./components/snippet":[48558,9],"./components/snippet.vue":[48558,9],"./components/svg-avatar":[7919,9,7919],"./components/svg-avatar.vue":[7919,9,7919],"./components/svg-github":[10067,9],"./components/svg-github.vue":[10067,9],"./components/svg-logo":[99023,9],"./components/svg-logo.vue":[99023,9],"./components/svg-selected":[41406,9,1406],"./components/svg-selected.vue":[41406,9,1406],"./components/switch-theme":[63665,9],"./components/switch-theme.vue":[63665,9],"./components/toc-affix":[33750,9],"./components/toc-affix.vue":[33750,9],"./components/top-app-toolbar":[32476,9],"./components/top-app-toolbar.vue":[32476,9],"./config":[98197,9],"./config/":[98197,9],"./config/analytics":[76703,9],"./config/analytics.js":[76703,9],"./config/color":[20213,9,213],"./config/color.js":[20213,9,213],"./config/components":[57061,9],"./config/components.js":[57061,9],"./config/editor":[50003,9],"./config/editor.js":[50003,9],"./config/index":[98197,9],"./config/index.js":[98197,9],"./config/menu":[41536,9],"./config/menu.js":[41536,9],"./config/properties":[41235,9],"./config/properties.js":[41235,9],"./config/validator-rules":[70533,9],"./config/validator-rules.js":[70533,9],"./demos/image-list/image-list-controls":[64432,9,4432],"./demos/image-list/image-list-controls.vue":[64432,9,4432],"./demos/radio":[20041,9,41],"./demos/radio/":[20041,9,41],"./demos/radio/index":[20041,9,41],"./demos/radio/index.vue":[20041,9,41],"./demos/select/select-controls":[31490,9,1490],"./demos/select/select-controls.vue":[31490,9,1490],"./demos/tabs/tab":[71805,9,1805],"./demos/tabs/tab-bar":[63603,9,3603],"./demos/tabs/tab-bar.vue":[63603,9,3603],"./demos/tabs/tab-panel":[90615,9,615],"./demos/tabs/tab-panel.vue":[90615,9,615],"./demos/tabs/tab-scroller":[55947,9,1697],"./demos/tabs/tab-scroller.vue":[55947,9,1697],"./demos/tabs/tab.vue":[71805,9,1805],"./demos/textfield/textfield-controls":[1049,9,1049],"./demos/textfield/textfield-controls.vue":[1049,9,1049],"./demos/theme/button":[72221,9,2221],"./demos/theme/button.vue":[72221,9,2221],"./demos/theme/card":[17163,9,7163],"./demos/theme/card.vue":[17163,9,7163],"./demos/theme/checkbox":[96947,9,6947],"./demos/theme/checkbox.vue":[96947,9,6947],"./demos/theme/chips":[22419,9,2419],"./demos/theme/chips.vue":[22419,9,2419],"./demos/theme/drawer":[26539,9,6539],"./demos/theme/drawer.vue":[26539,9,6539],"./demos/theme/fab":[43908,9,3908],"./demos/theme/fab.vue":[43908,9,3908],"./demos/theme/image-list":[12549,9,2549],"./demos/theme/image-list.vue":[12549,9,2549],"./demos/theme/list":[43823,9,3823],"./demos/theme/list.vue":[43823,9,3823],"./demos/theme/menu":[82687,9,2687],"./demos/theme/menu.vue":[82687,9,2687],"./demos/theme/radio":[42068,9,2068],"./demos/theme/radio.vue":[42068,9,2068],"./demos/theme/select":[19632,9,9632],"./demos/theme/select.vue":[19632,9,9632],"./demos/theme/slider":[67027,9,7027],"./demos/theme/slider.vue":[67027,9,7027],"./demos/theme/switch":[4517,9,4517],"./demos/theme/switch.vue":[4517,9,4517],"./demos/theme/table":[54101,9,4101],"./demos/theme/table.vue":[54101,9,4101],"./demos/theme/tabs":[91294,9,1294],"./demos/theme/tabs.vue":[91294,9,1294],"./demos/theme/textfield":[52678,9,2678],"./demos/theme/textfield.vue":[52678,9,2678],"./demos/theme/top-app-bar":[23137,9,3137],"./demos/theme/top-app-bar.vue":[23137,9,3137],"./docs/css/alert-dialog.md":[91598,9],"./docs/css/badge.md":[56447,9],"./docs/css/bottom-sheet.md":[5902,9],"./docs/css/button.md":[44920,9],"./docs/css/card.md":[30511,9],"./docs/css/checkbox.md":[66091,9],"./docs/css/chips.md":[61462,9],"./docs/css/collapse.md":[7634,9],"./docs/css/confirm-dialog.md":[32043,9],"./docs/css/dialog.md":[73391,9],"./docs/css/divider.md":[23175,9],"./docs/css/drawer.md":[67618,9],"./docs/css/editor.md":[37565,9],"./docs/css/elevation.md":[47689,9],"./docs/css/fab.md":[51513,9],"./docs/css/form.md":[43278,9],"./docs/css/grid.md":[8755,9],"./docs/css/icon-button.md":[43727,9],"./docs/css/icon.md":[25613,9],"./docs/css/image-list.md":[66573,9],"./docs/css/list.md":[65825,9],"./docs/css/menu.md":[46378,9],"./docs/css/navigation-bar.md":[20372,9],"./docs/css/pagination.md":[14428,9],"./docs/css/progress.md":[30582,9],"./docs/css/radio.md":[16109,9],"./docs/css/rangepicker.md":[36088,9],"./docs/css/ripple.md":[83924,9],"./docs/css/select.md":[13501,9],"./docs/css/shape.md":[14115,9],"./docs/css/side-sheet.md":[34630,9],"./docs/css/skeleton.md":[89880,9],"./docs/css/snackbar.md":[54526,9],"./docs/css/spinner.md":[96314,9],"./docs/css/switch.md":[40841,9],"./docs/css/table.md":[8146,9],"./docs/css/tabs.md":[22457,9],"./docs/css/textfield.md":[92076,9],"./docs/css/theme.md":[95303,9],"./docs/css/top-app-bar.md":[86060,9],"./docs/css/tree.md":[9226,9],"./docs/css/typography.md":[81633,9],"./docs/en/alert-dialog/alert-dialog.md":[95727,9],"./docs/en/alert-dialog/intro.md":[70669,9],"./docs/en/alert/alert.md":[56215,9],"./docs/en/alert/intro.md":[53483,9],"./docs/en/anchor/intro.md":[61904,9],"./docs/en/anchor/v-anchor.md":[17748,9],"./docs/en/autocomplete/autocomplete.md":[75684,9],"./docs/en/autocomplete/intro.md":[55422,9],"./docs/en/badge/badge.md":[10248,9],"./docs/en/badge/intro.md":[14411,9],"./docs/en/badge/v-badge.md":[90134,9],"./docs/en/banner/banner.md":[49731,9],"./docs/en/banner/intro.md":[63571,9],"./docs/en/bottom-sheet/bottom-sheet.md":[67082,9],"./docs/en/bottom-sheet/intro.md":[77416,9],"./docs/en/button/button.md":[68248,9],"./docs/en/button/intro.md":[25753,9],"./docs/en/button/v-button.md":[92365,9],"./docs/en/card/card-actions.md":[38947,9],"./docs/en/card/card-buttons.md":[91436,9],"./docs/en/card/card-content.md":[75198,9],"./docs/en/card/card-icons.md":[60385,9],"./docs/en/card/card-media-content.md":[94364,9],"./docs/en/card/card-media.md":[8990,9],"./docs/en/card/card-text.md":[65817,9],"./docs/en/card/card.md":[73111,9],"./docs/en/card/intro.md":[47212,9],"./docs/en/card/ui-card.md":[15640,9],"./docs/en/checkbox/checkbox.md":[72413,9],"./docs/en/checkbox/intro.md":[67313,9],"./docs/en/chips/chip.md":[47431,9],"./docs/en/chips/chips.md":[51582,9],"./docs/en/chips/intro.md":[3010,9],"./docs/en/collapse/collapse.md":[29474,9],"./docs/en/collapse/intro.md":[74194,9],"./docs/en/confirm-dialog/confirm-dialog.md":[73197,9],"./docs/en/confirm-dialog/intro.md":[30812,9],"./docs/en/copy/intro.md":[85507,9],"./docs/en/copy/v-copy.md":[64463,9],"./docs/en/datepicker/datepicker.md":[93084,9],"./docs/en/datepicker/intro.md":[61897,9],"./docs/en/debounce/intro.md":[95578,9],"./docs/en/debounce/v-debounce.md":[50987,9],"./docs/en/dialog/dialog-actions.md":[56264,9],"./docs/en/dialog/dialog-content.md":[10319,9],"./docs/en/dialog/dialog-title.md":[92477,9],"./docs/en/dialog/dialog.md":[11181,9],"./docs/en/dialog/intro.md":[67121,9],"./docs/en/dialog/ui-dialog.md":[56306,9],"./docs/en/divider/divider.md":[43254,9],"./docs/en/divider/intro.md":[86341,9],"./docs/en/drawer/drawer-app-content.md":[23144,9],"./docs/en/drawer/drawer-backdrop.md":[85480,9],"./docs/en/drawer/drawer-content.md":[39903,9],"./docs/en/drawer/drawer-header.md":[41026,9],"./docs/en/drawer/drawer.md":[56359,9],"./docs/en/drawer/intro.md":[926,9],"./docs/en/drawer/ui-drawer.md":[51725,9],"./docs/en/editor/editor.md":[14483,9],"./docs/en/editor/intro.md":[61729,9],"./docs/en/elevation/intro.md":[36994,9],"./docs/en/elevation/v-elevation.md":[57249,9],"./docs/en/event/event.md":[13351,9],"./docs/en/event/intro.md":[10156,9],"./docs/en/fab/fab.md":[46641,9],"./docs/en/fab/intro.md":[84541,9],"./docs/en/file/file.md":[49818,9],"./docs/en/file/intro.md":[84175,9],"./docs/en/form/form-field.md":[56398,9],"./docs/en/form/form.md":[52752,9],"./docs/en/form/intro.md":[88823,9],"./docs/en/grid/grid-cell.md":[92124,9],"./docs/en/grid/grid-custom.md":[89625,9],"./docs/en/grid/grid.md":[41734,9],"./docs/en/grid/intro.md":[39065,9],"./docs/en/guide/advanced.md":[45782,9],"./docs/en/guide/introduction.md":[37495,9],"./docs/en/guide/kill-ie.md":[97921,9],"./docs/en/guide/quick-start.md":[41196,9],"./docs/en/guide/typescript-support.md":[97789,9],"./docs/en/guide/upgrade.md":[41701,9],"./docs/en/icon-button/icon-button.md":[9083,9],"./docs/en/icon-button/intro.md":[610,9],"./docs/en/icon/icon.md":[60716,9],"./docs/en/icon/intro.md":[611,9],"./docs/en/image-list/image-item.md":[82692,9],"./docs/en/image-list/image-list.md":[55069,9],"./docs/en/image-list/image-text.md":[60658,9],"./docs/en/image-list/intro.md":[47469,9],"./docs/en/image-list/ui-image-list.md":[94350,9],"./docs/en/lazyload/intro.md":[20468,9],"./docs/en/lazyload/lazyload.md":[95192,9],"./docs/en/list/intro.md":[27481,9],"./docs/en/list/list-divider.md":[90681,9],"./docs/en/list/list-group.md":[63102,9],"./docs/en/list/list-item.md":[44684,9],"./docs/en/list/list.md":[58171,9],"./docs/en/list/ui-list.md":[39003,9],"./docs/en/longpress/intro.md":[2030,9],"./docs/en/longpress/v-longpress.md":[98314,9],"./docs/en/menu/intro.md":[53454,9],"./docs/en/menu/menu-anchor.md":[71456,9],"./docs/en/menu/menu.md":[86673,9],"./docs/en/menu/menuitem.md":[42825,9],"./docs/en/menu/ui-menu.md":[9882,9],"./docs/en/navigation-bar/intro.md":[54993,9],"./docs/en/navigation-bar/navigation-bar.md":[81964,9],"./docs/en/navigation-rail/intro.md":[60676,9],"./docs/en/navigation-rail/navigation-rail.md":[6696,9],"./docs/en/pagination/intro.md":[59369,9],"./docs/en/pagination/pagination.md":[50154,9],"./docs/en/progress/intro.md":[50733,9],"./docs/en/progress/progress.md":[97332,9],"./docs/en/radio/intro.md":[51259,9],"./docs/en/radio/radio.md":[14176,9],"./docs/en/rangepicker/intro.md":[90611,9],"./docs/en/rangepicker/rangepicker.md":[28468,9],"./docs/en/ripple/intro.md":[36042,9],"./docs/en/ripple/v-ripple.md":[51412,9],"./docs/en/segmented-button/intro.md":[29543,9],"./docs/en/segmented-button/segmented-button.md":[98061,9],"./docs/en/segmented-button/segmented-buttons.md":[22604,9],"./docs/en/select/intro.md":[94378,9],"./docs/en/select/select-helper.md":[5496,9],"./docs/en/select/select-icon.md":[21534,9],"./docs/en/select/select.md":[66594,9],"./docs/en/shape/intro.md":[16199,9],"./docs/en/shape/v-shape.md":[55303,9],"./docs/en/side-sheet/intro.md":[37124,9],"./docs/en/side-sheet/side-sheet.md":[39737,9],"./docs/en/skeleton/intro.md":[72400,9],"./docs/en/skeleton/skeleton.md":[2219,9],"./docs/en/slider/intro.md":[4974,9],"./docs/en/slider/slider.md":[71535,9],"./docs/en/snackbar/intro.md":[98559,9],"./docs/en/snackbar/snackbar.md":[68186,9],"./docs/en/spinner/intro.md":[74538,9],"./docs/en/spinner/spinner.md":[29377,9],"./docs/en/store/intro.md":[28010,9],"./docs/en/store/store.md":[22016,9],"./docs/en/switch/intro.md":[74384,9],"./docs/en/switch/switch.md":[27782,9],"./docs/en/table/intro.md":[97919,9],"./docs/en/table/table.md":[29541,9],"./docs/en/tabs/intro.md":[33391,9],"./docs/en/tabs/tab-bar.md":[46183,9],"./docs/en/tabs/tab-indicator.md":[78769,9],"./docs/en/tabs/tab-panel.md":[77662,9],"./docs/en/tabs/tab-scroller.md":[1803,9],"./docs/en/tabs/tab.md":[51174,9],"./docs/en/tabs/tabs.md":[98638,9],"./docs/en/tabs/ui-tabs.md":[31205,9],"./docs/en/textfield/intro.md":[85422,9],"./docs/en/textfield/textfield-helper.md":[54789,9],"./docs/en/textfield/textfield-icon.md":[72530,9],"./docs/en/textfield/textfield.md":[994,9],"./docs/en/textfield/ui-textfield.md":[69570,9],"./docs/en/theme/intro.md":[84479,9],"./docs/en/theme/theme.md":[84086,9],"./docs/en/toast/intro.md":[99864,9],"./docs/en/toast/toast.md":[46557,9],"./docs/en/tooltip/intro.md":[37935,9],"./docs/en/tooltip/tooltip.md":[5139,9],"./docs/en/tooltip/v-tooltip.md":[83375,9],"./docs/en/top-app-bar/intro.md":[78341,9],"./docs/en/top-app-bar/top-app-bar.md":[13349,9],"./docs/en/tree/intro.md":[23360,9],"./docs/en/tree/tree.md":[63681,9],"./docs/en/typography/intro.md":[48181,9],"./docs/en/typography/typography.md":[84963,9],"./docs/en/utils/intro.md":[85345,9],"./docs/en/validator/intro.md":[28586,9],"./docs/en/validator/validator.md":[90528,9],"./docs/usage/alert-dialog/default.md":[30300,9],"./docs/usage/alert-dialog/individual.md":[20357,9],"./docs/usage/alert/default.md":[93461,9],"./docs/usage/alert/individual.md":[49530,9],"./docs/usage/anchor/default.md":[61252,9],"./docs/usage/anchor/individual.md":[89175,9],"./docs/usage/autocomplete/default.md":[31272,9],"./docs/usage/autocomplete/individual.md":[37694,9],"./docs/usage/badge/default.md":[72664,9],"./docs/usage/badge/individual.md":[45119,9],"./docs/usage/banner/default.md":[62156,9],"./docs/usage/banner/individual.md":[63948,9],"./docs/usage/bottom-sheet/default.md":[3089,9],"./docs/usage/bottom-sheet/individual.md":[78330,9],"./docs/usage/button/default.md":[77647,9],"./docs/usage/button/individual.md":[82912,9],"./docs/usage/card/default.md":[79367,9],"./docs/usage/card/individual.md":[65887,9],"./docs/usage/checkbox/default.md":[81063,9],"./docs/usage/checkbox/individual.md":[39283,9],"./docs/usage/chips/default.md":[14714,9],"./docs/usage/chips/individual.md":[66825,9],"./docs/usage/collapse/default.md":[55330,9],"./docs/usage/collapse/individual.md":[33297,9],"./docs/usage/confirm-dialog/default.md":[41174,9],"./docs/usage/confirm-dialog/individual.md":[58441,9],"./docs/usage/copy/default.md":[15669,9],"./docs/usage/copy/individual.md":[21199,9],"./docs/usage/datepicker/default.md":[6017,9],"./docs/usage/datepicker/individual.md":[24070,9],"./docs/usage/debounce/default.md":[58803,9],"./docs/usage/debounce/individual.md":[32648,9],"./docs/usage/dialog/default.md":[39759,9],"./docs/usage/dialog/individual.md":[28715,9],"./docs/usage/divider/default.md":[3514,9],"./docs/usage/divider/individual.md":[71242,9],"./docs/usage/drawer/default.md":[13187,9],"./docs/usage/drawer/individual.md":[16357,9],"./docs/usage/editor/default.md":[31962,9],"./docs/usage/editor/individual.md":[28612,9],"./docs/usage/elevation/default.md":[8535,9],"./docs/usage/elevation/individual.md":[82980,9],"./docs/usage/event/default.md":[88456,9],"./docs/usage/event/individual.md":[29054,9],"./docs/usage/fab/default.md":[70575,9],"./docs/usage/fab/individual.md":[45733,9],"./docs/usage/file/default.md":[50764,9],"./docs/usage/file/individual.md":[47809,9],"./docs/usage/form/default.md":[53976,9],"./docs/usage/form/individual.md":[11773,9],"./docs/usage/grid/default.md":[49865,9],"./docs/usage/grid/individual.md":[74010,9],"./docs/usage/icon-button/default.md":[29399,9],"./docs/usage/icon-button/individual.md":[82507,9],"./docs/usage/icon/default.md":[6667,9],"./docs/usage/icon/individual.md":[39477,9],"./docs/usage/image-list/default.md":[44785,9],"./docs/usage/image-list/individual.md":[55229,9],"./docs/usage/lazyload/default.md":[3305,9],"./docs/usage/lazyload/individual.md":[16422,9],"./docs/usage/list/default.md":[1654,9],"./docs/usage/list/individual.md":[64605,9],"./docs/usage/longpress/default.md":[5411,9],"./docs/usage/longpress/individual.md":[18298,9],"./docs/usage/menu/default.md":[73574,9],"./docs/usage/menu/individual.md":[56403,9],"./docs/usage/navigation-bar/default.md":[2024,9],"./docs/usage/navigation-bar/individual.md":[55227,9],"./docs/usage/navigation-rail/default.md":[35956,9],"./docs/usage/navigation-rail/individual.md":[17184,9],"./docs/usage/pagination/default.md":[95422,9],"./docs/usage/pagination/individual.md":[12026,9],"./docs/usage/progress/default.md":[60101,9],"./docs/usage/progress/individual.md":[56279,9],"./docs/usage/radio/default.md":[39089,9],"./docs/usage/radio/individual.md":[70508,9],"./docs/usage/rangepicker/default.md":[10663,9],"./docs/usage/rangepicker/individual.md":[40999,9],"./docs/usage/ripple/default.md":[13824,9],"./docs/usage/ripple/individual.md":[76517,9],"./docs/usage/segmented-button/default.md":[67446,9],"./docs/usage/segmented-button/individual.md":[40137,9],"./docs/usage/select/default.md":[87624,9],"./docs/usage/select/individual.md":[48019,9],"./docs/usage/shape/default.md":[32793,9],"./docs/usage/shape/individual.md":[52355,9],"./docs/usage/side-sheet/default.md":[64190,9],"./docs/usage/side-sheet/individual.md":[47745,9],"./docs/usage/skeleton/default.md":[28132,9],"./docs/usage/skeleton/individual.md":[42206,9],"./docs/usage/slider/default.md":[3835,9],"./docs/usage/slider/individual.md":[68679,9],"./docs/usage/snackbar/default.md":[65259,9],"./docs/usage/snackbar/individual.md":[81612,9],"./docs/usage/spinner/default.md":[55781,9],"./docs/usage/spinner/individual.md":[34050,9],"./docs/usage/store/default.md":[45488,9],"./docs/usage/store/individual.md":[62041,9],"./docs/usage/store/requirement.md":[72093,9],"./docs/usage/switch/default.md":[27820,9],"./docs/usage/switch/individual.md":[24198,9],"./docs/usage/table/default.md":[66254,9],"./docs/usage/table/individual.md":[70240,9],"./docs/usage/tabs/default.md":[55680,9],"./docs/usage/tabs/individual.md":[66342,9],"./docs/usage/textfield/default.md":[13732,9],"./docs/usage/textfield/individual.md":[30121,9],"./docs/usage/theme/default.md":[32551,9],"./docs/usage/theme/individual.md":[39777,9],"./docs/usage/toast/default.md":[63742,9],"./docs/usage/toast/individual.md":[83855,9],"./docs/usage/tooltip/default.md":[30073,9],"./docs/usage/tooltip/individual.md":[58709,9],"./docs/usage/top-app-bar/default.md":[15171,9],"./docs/usage/top-app-bar/individual.md":[471,9],"./docs/usage/tree/default.md":[59325,9],"./docs/usage/tree/individual.md":[45462,9],"./docs/usage/typography/default.md":[41336,9],"./docs/usage/typography/individual.md":[26488,9],"./docs/usage/typography/requirement.md":[34606,9],"./docs/usage/validator/default.md":[29649,9],"./docs/usage/validator/individual.md":[63513,9],"./docs/usage/validator/requirement.md":[68018,9],"./docs/zh/alert-dialog/alert-dialog.md":[57627,9],"./docs/zh/alert-dialog/intro.md":[34264,9],"./docs/zh/alert/alert.md":[34612,9],"./docs/zh/alert/intro.md":[48189,9],"./docs/zh/anchor/intro.md":[42819,9],"./docs/zh/anchor/v-anchor.md":[57761,9],"./docs/zh/autocomplete/autocomplete.md":[68412,9],"./docs/zh/autocomplete/intro.md":[95338,9],"./docs/zh/badge/badge.md":[63823,9],"./docs/zh/badge/intro.md":[1825,9],"./docs/zh/badge/v-badge.md":[33390,9],"./docs/zh/banner/banner.md":[53359,9],"./docs/zh/banner/intro.md":[97590,9],"./docs/zh/bottom-sheet/bottom-sheet.md":[29682,9],"./docs/zh/bottom-sheet/intro.md":[55501,9],"./docs/zh/button/button.md":[31969,9],"./docs/zh/button/intro.md":[92971,9],"./docs/zh/button/v-button.md":[1712,9],"./docs/zh/card/card-actions.md":[35802,9],"./docs/zh/card/card-buttons.md":[67140,9],"./docs/zh/card/card-content.md":[13860,9],"./docs/zh/card/card-icons.md":[1175,9],"./docs/zh/card/card-media-content.md":[33863,9],"./docs/zh/card/card-media.md":[79322,9],"./docs/zh/card/card-text.md":[84550,9],"./docs/zh/card/card.md":[65759,9],"./docs/zh/card/intro.md":[93944,9],"./docs/zh/card/ui-card.md":[62742,9],"./docs/zh/checkbox/checkbox.md":[1747,9],"./docs/zh/checkbox/intro.md":[5482,9],"./docs/zh/chips/chip.md":[64175,9],"./docs/zh/chips/chips.md":[1837,9],"./docs/zh/chips/intro.md":[92970,9],"./docs/zh/collapse/collapse.md":[15504,9],"./docs/zh/collapse/intro.md":[70138,9],"./docs/zh/confirm-dialog/confirm-dialog.md":[25009,9],"./docs/zh/confirm-dialog/intro.md":[49187,9],"./docs/zh/copy/intro.md":[34872,9],"./docs/zh/copy/v-copy.md":[24203,9],"./docs/zh/datepicker/datepicker.md":[22481,9],"./docs/zh/datepicker/intro.md":[51882,9],"./docs/zh/debounce/intro.md":[51479,9],"./docs/zh/debounce/v-debounce.md":[20545,9],"./docs/zh/dialog/dialog-actions.md":[53143,9],"./docs/zh/dialog/dialog-content.md":[70991,9],"./docs/zh/dialog/dialog-title.md":[48784,9],"./docs/zh/dialog/dialog.md":[12539,9],"./docs/zh/dialog/intro.md":[91578,9],"./docs/zh/dialog/ui-dialog.md":[3364,9],"./docs/zh/divider/divider.md":[56892,9],"./docs/zh/divider/intro.md":[72371,9],"./docs/zh/drawer/drawer-app-content.md":[68872,9],"./docs/zh/drawer/drawer-backdrop.md":[95835,9],"./docs/zh/drawer/drawer-content.md":[65662,9],"./docs/zh/drawer/drawer-header.md":[58221,9],"./docs/zh/drawer/drawer.md":[8776,9],"./docs/zh/drawer/intro.md":[38432,9],"./docs/zh/drawer/ui-drawer.md":[12948,9],"./docs/zh/editor/editor.md":[55723,9],"./docs/zh/editor/intro.md":[7672,9],"./docs/zh/elevation/intro.md":[43446,9],"./docs/zh/elevation/v-elevation.md":[37088,9],"./docs/zh/event/event.md":[75431,9],"./docs/zh/event/intro.md":[45326,9],"./docs/zh/fab/fab.md":[28627,9],"./docs/zh/fab/intro.md":[28057,9],"./docs/zh/file/file.md":[7686,9],"./docs/zh/file/intro.md":[88683,9],"./docs/zh/form/form-field.md":[55728,9],"./docs/zh/form/form.md":[15075,9],"./docs/zh/form/intro.md":[31323,9],"./docs/zh/grid/grid-cell.md":[63052,9],"./docs/zh/grid/grid-custom.md":[6591,9],"./docs/zh/grid/grid.md":[18074,9],"./docs/zh/grid/intro.md":[29250,9],"./docs/zh/guide/advanced.md":[73916,9],"./docs/zh/guide/introduction.md":[41032,9],"./docs/zh/guide/kill-ie.md":[67961,9],"./docs/zh/guide/quick-start.md":[71457,9],"./docs/zh/guide/typescript-support.md":[14833,9],"./docs/zh/guide/upgrade.md":[74561,9],"./docs/zh/icon-button/icon-button.md":[54818,9],"./docs/zh/icon-button/intro.md":[81534,9],"./docs/zh/icon/icon.md":[67315,9],"./docs/zh/icon/intro.md":[50424,9],"./docs/zh/image-list/image-item.md":[22890,9],"./docs/zh/image-list/image-list.md":[39512,9],"./docs/zh/image-list/image-text.md":[99191,9],"./docs/zh/image-list/intro.md":[45013,9],"./docs/zh/image-list/ui-image-list.md":[45266,9],"./docs/zh/list/intro.md":[93500,9],"./docs/zh/list/list-divider.md":[45588,9],"./docs/zh/list/list-group.md":[15041,9],"./docs/zh/list/list-item.md":[16133,9],"./docs/zh/list/list.md":[78396,9],"./docs/zh/list/ui-list.md":[51794,9],"./docs/zh/longpress/intro.md":[67832,9],"./docs/zh/longpress/v-longpress.md":[88217,9],"./docs/zh/menu/intro.md":[71326,9],"./docs/zh/menu/menu-anchor.md":[83410,9],"./docs/zh/menu/menu.md":[49859,9],"./docs/zh/menu/menuitem.md":[67682,9],"./docs/zh/menu/ui-menu.md":[21840,9],"./docs/zh/navigation-bar/intro.md":[94506,9],"./docs/zh/navigation-bar/navigation-bar.md":[20684,9],"./docs/zh/navigation-rail/intro.md":[26568,9],"./docs/zh/navigation-rail/navigation-rail.md":[26251,9],"./docs/zh/pagination/intro.md":[36927,9],"./docs/zh/pagination/pagination.md":[64208,9],"./docs/zh/progress/intro.md":[86865,9],"./docs/zh/progress/progress.md":[37498,9],"./docs/zh/radio/intro.md":[15814,9],"./docs/zh/radio/radio.md":[84967,9],"./docs/zh/rangepicker/intro.md":[19434,9],"./docs/zh/rangepicker/rangepicker.md":[69270,9],"./docs/zh/ripple/intro.md":[42129,9],"./docs/zh/ripple/v-ripple.md":[99735,9],"./docs/zh/segmented-button/intro.md":[24785,9],"./docs/zh/segmented-button/segmented-button.md":[92249,9],"./docs/zh/segmented-button/segmented-buttons.md":[26950,9],"./docs/zh/select/intro.md":[53579,9],"./docs/zh/select/select-helper.md":[94141,9],"./docs/zh/select/select-icon.md":[626,9],"./docs/zh/select/select.md":[58382,9],"./docs/zh/shape/intro.md":[5130,9],"./docs/zh/shape/v-shape.md":[37905,9],"./docs/zh/side-sheet/intro.md":[4345,9],"./docs/zh/side-sheet/side-sheet.md":[19520,9],"./docs/zh/skeleton/intro.md":[59566,9],"./docs/zh/skeleton/skeleton.md":[741,9],"./docs/zh/slider/intro.md":[6649,9],"./docs/zh/slider/slider.md":[55324,9],"./docs/zh/snackbar/intro.md":[44385,9],"./docs/zh/snackbar/snackbar.md":[12615,9],"./docs/zh/spinner/intro.md":[18271,9],"./docs/zh/spinner/spinner.md":[59680,9],"./docs/zh/store/intro.md":[61482,9],"./docs/zh/store/store.md":[61684,9],"./docs/zh/switch/intro.md":[15024,9],"./docs/zh/switch/switch.md":[41503,9],"./docs/zh/table/intro.md":[97201,9],"./docs/zh/table/table.md":[57989,9],"./docs/zh/tabs/intro.md":[96569,9],"./docs/zh/tabs/tab-bar.md":[16483,9],"./docs/zh/tabs/tab-indicator.md":[84190,9],"./docs/zh/tabs/tab-panel.md":[17663,9],"./docs/zh/tabs/tab-scroller.md":[43268,9],"./docs/zh/tabs/tab.md":[57938,9],"./docs/zh/tabs/tabs.md":[46552,9],"./docs/zh/tabs/ui-tabs.md":[25838,9],"./docs/zh/textfield/intro.md":[32903,9],"./docs/zh/textfield/textfield-helper.md":[81963,9],"./docs/zh/textfield/textfield-icon.md":[17940,9],"./docs/zh/textfield/textfield.md":[68406,9],"./docs/zh/textfield/ui-textfield.md":[81680,9],"./docs/zh/theme/intro.md":[40731,9],"./docs/zh/theme/theme.md":[93843,9],"./docs/zh/toast/intro.md":[49715,9],"./docs/zh/toast/toast.md":[67623,9],"./docs/zh/tooltip/intro.md":[17371,9],"./docs/zh/tooltip/tooltip.md":[8361,9],"./docs/zh/tooltip/v-tooltip.md":[66520,9],"./docs/zh/top-app-bar/intro.md":[90350,9],"./docs/zh/top-app-bar/top-app-bar.md":[67479,9],"./docs/zh/tree/intro.md":[4182,9],"./docs/zh/tree/tree.md":[22498,9],"./docs/zh/typography/intro.md":[18661,9],"./docs/zh/typography/typography.md":[91283,9],"./docs/zh/utils/intro.md":[31512,9],"./docs/zh/validator/intro.md":[52506,9],"./docs/zh/validator/validator.md":[66187,9],"./error-monitoring":[26410,7,6410],"./error-monitoring.js":[26410,7,6410],"./index":[65541,7],"./index.js":[65541,7],"./kill-ie":[56510,9],"./kill-ie.js":[56510,9],"./lang":[26452,9],"./lang/":[26452,9],"./lang/en":[45286,3],"./lang/en.json":[45286,3],"./lang/index":[26452,9],"./lang/index.js":[26452,9],"./lang/zh":[48702,3],"./lang/zh.json":[48702,3],"./main":[67728,9],"./main.js":[67728,9],"./my-sw":[61784,9],"./my-sw.js":[61784,9],"./plugins/http":[80353,9],"./plugins/http.js":[80353,9],"./polyfill":[68247,9,5977,8247],"./polyfill.js":[68247,9,5977,8247],"./routes":[94268,9],"./routes/":[94268,9],"./routes/index":[94268,9],"./routes/index.js":[94268,9],"./routes/main":[5031,9],"./routes/main.js":[5031,9],"./routes/middleware":[69100,9],"./routes/middleware.js":[69100,9],"./routes/modules/actions":[70222,9],"./routes/modules/actions.js":[70222,9],"./routes/modules/communication":[64558,9],"./routes/modules/communication.js":[64558,9],"./routes/modules/containment":[82104,9],"./routes/modules/containment.js":[82104,9],"./routes/modules/guide":[38822,9],"./routes/modules/guide.js":[38822,9],"./routes/modules/misc":[43554,9],"./routes/modules/misc.js":[43554,9],"./routes/modules/navigation":[21889,9],"./routes/modules/navigation.js":[21889,9],"./routes/modules/selection":[29177,9],"./routes/modules/selection.js":[29177,9],"./routes/modules/styles":[35517,9],"./routes/modules/styles.js":[35517,9],"./routes/modules/test":[12889,9],"./routes/modules/test.js":[12889,9],"./routes/modules/text-inputs":[88584,9],"./routes/modules/text-inputs.js":[88584,9],"./snippets/alert-dialog/demo1.md":[87656,9,7656],"./snippets/alert-dialog/demo2.md":[45171,9,5171],"./snippets/alert/demo1.md":[21047,9,1047],"./snippets/anchor/demo1.md":[95988,9,5988],"./snippets/anchor/demo2.md":[78511,9,8511],"./snippets/autocomplete/demo1.md":[25523,9,5523],"./snippets/autocomplete/demo2.md":[83678,9,3678],"./snippets/badge/demo1.md":[96371,9,6371],"./snippets/badge/demo2.md":[94171,9,4171],"./snippets/banner/demo1.md":[96269,9,6269],"./snippets/bottom-sheet/demo1.md":[75335,9,5335],"./snippets/button/demo1.md":[53664,9,3664],"./snippets/card/demo1.md":[9875,9,9875],"./snippets/card/demo2.md":[71272,9,1272],"./snippets/card/demo3.md":[34840,9,4840],"./snippets/checkbox/demo1.md":[9821,9,9821],"./snippets/checkbox/demo2.md":[10252,9,252],"./snippets/chips/demo1.md":[10114,9,114],"./snippets/chips/demo2.md":[26622,9,6622],"./snippets/chips/demo3.md":[37058,9,7058],"./snippets/chips/demo4.md":[73535,9,3535],"./snippets/collapse/demo1.md":[30267,9,267],"./snippets/collapse/demo2.md":[45526,9,5526],"./snippets/collapse/demo3.md":[25150,9,5150],"./snippets/confirm-dialog/demo1.md":[26538,9,6538],"./snippets/confirm-dialog/demo2.md":[56481,9,6481],"./snippets/copy/demo1.md":[89886,9,9886],"./snippets/datepicker/demo1.md":[95124,9,5124],"./snippets/datepicker/demo2.md":[64046,9,4046],"./snippets/datepicker/demo3.md":[81719,9,1719],"./snippets/datepicker/demo4.md":[28543,9,8543],"./snippets/datepicker/demo5.md":[11892,9,1892],"./snippets/datepicker/demo6.md":[85916,9,5916],"./snippets/debounce/demo1.md":[27478,9,7478],"./snippets/dialog/demo1.md":[36907,9,6907],"./snippets/dialog/demo2.md":[63626,9,3626],"./snippets/dialog/demo3.md":[82908,9,2908],"./snippets/dialog/demo4.md":[10599,9,599],"./snippets/divider/demo1.md":[37446,9,7446],"./snippets/divider/demo2.md":[35883,9,5883],"./snippets/drawer/demo1.md":[50992,9,992],"./snippets/drawer/demo2.md":[70953,9,953],"./snippets/drawer/demo3.md":[23185,9,3185],"./snippets/drawer/demo4.md":[41279,9,1279],"./snippets/drawer/demo5.md":[99814,9,9814],"./snippets/editor/demo1.md":[48616,9,8616],"./snippets/editor/demo2.md":[86311,9,6311],"./snippets/editor/demo3.md":[65400,9,5400],"./snippets/elevation/demo1.md":[48335,9,8335],"./snippets/elevation/demo2.md":[11554,9,1554],"./snippets/event/demo1.md":[25969,9,5969],"./snippets/event/demo2.md":[74575,9,4575],"./snippets/event/demo3.md":[35637,9,5637],"./snippets/event/demo4.md":[44255,9,4255],"./snippets/fab/demo1.md":[50872,9,872],"./snippets/fab/demo2.md":[70785,9,785],"./snippets/fab/demo3.md":[83727,9,3727],"./snippets/fab/demo4.md":[84618,9,4618],"./snippets/file/demo1.md":[77419,9,7419],"./snippets/file/demo2.md":[79810,9,9810],"./snippets/file/demo3.md":[34085,9,4085],"./snippets/form/demo1.md":[72009,9,2009],"./snippets/form/demo2.md":[60276,9,276],"./snippets/form/demo3.md":[97847,9,7847],"./snippets/grid/demo1.md":[26881,9,6881],"./snippets/grid/demo2.md":[90791,9,791],"./snippets/grid/demo3.md":[84184,9,4184],"./snippets/grid/demo4.md":[3873,9,3873],"./snippets/grid/demo5.md":[59258,9,9258],"./snippets/grid/demo6.md":[6090,9,6090],"./snippets/grid/demo7.md":[49284,9,9284],"./snippets/grid/demo8.md":[63104,9,3104],"./snippets/grid/demo9.md":[40112,9,112],"./snippets/icon-button/demo1.md":[41407,9,1407],"./snippets/icon-button/demo2.md":[33148,9,3148],"./snippets/icon/demo1.md":[16282,9,1463],"./snippets/icon/demo2.md":[70756,9,756],"./snippets/image-list/demo1.md":[60211,9,211],"./snippets/image-list/demo2.md":[94026,9,4026],"./snippets/lazyload/demo1.md":[53268,9,3268],"./snippets/list/demo1.md":[80901,9,901],"./snippets/list/demo2.md":[63282,9,3282],"./snippets/list/demo3.md":[94616,9,4616],"./snippets/list/demo4.md":[22693,9,2693],"./snippets/list/demo5.md":[67964,9,7964],"./snippets/list/demo6.md":[55587,9,5587],"./snippets/list/demo7.md":[11602,9,1602],"./snippets/list/demo8.md":[6282,9,1394],"./snippets/longpress/demo1.md":[84245,9,4245],"./snippets/menu/demo1.md":[86068,9,6068],"./snippets/menu/demo2.md":[53732,9,3732],"./snippets/navigation-bar/demo1.md":[13546,9,3546],"./snippets/navigation-rail/demo1.md":[19607,9,9607],"./snippets/pagination/demo1.md":[33028,9,3028],"./snippets/pagination/demo2.md":[32126,9,2126],"./snippets/pagination/demo3.md":[47747,9,7747],"./snippets/pagination/demo4.md":[49705,9,9705],"./snippets/pagination/demo5.md":[27243,9,7243],"./snippets/progress/demo1.md":[74182,9,4182],"./snippets/radio/demo1.md":[67810,9,7810],"./snippets/rangepicker/demo1.md":[84314,9,4314],"./snippets/ripple/demo1.md":[9298,9,9298],"./snippets/ripple/demo2.md":[73058,9,3058],"./snippets/ripple/demo3.md":[88687,9,8687],"./snippets/segmented-button/demo1.md":[7154,9,7154],"./snippets/segmented-button/demo2.md":[43574,9,3574],"./snippets/segmented-button/demo3.md":[11038,9,1038],"./snippets/select/demo1.md":[94679,9,4679],"./snippets/select/demo2.md":[63701,9,3701],"./snippets/select/demo3.md":[75779,9,4203],"./snippets/select/demo4.md":[67474,9,7474],"./snippets/shape/demo1.md":[62963,9,2963],"./snippets/shape/demo2.md":[61767,9,1767],"./snippets/side-sheet/demo1.md":[39479,9,9479],"./snippets/skeleton/demo1.md":[66409,9,6409],"./snippets/skeleton/demo2.md":[26728,9,6728],"./snippets/skeleton/demo3.md":[8833,9,8833],"./snippets/slider/demo1.md":[18023,9,8023],"./snippets/slider/demo2.md":[37315,9,7315],"./snippets/snackbar/demo1.md":[58078,9,8078],"./snippets/spinner/demo1.md":[60598,9,598],"./snippets/spinner/demo2.md":[27427,9,7427],"./snippets/styles.md":[94256,9,4256],"./snippets/switch/demo1.md":[80623,9,623],"./snippets/table/demo1.md":[51183,9,1183],"./snippets/table/demo2.md":[79945,9,9945],"./snippets/table/demo3.md":[70403,9,403],"./snippets/tabs/demo1.md":[56065,9,6065],"./snippets/tabs/demo2.md":[81240,9,1240],"./snippets/tabs/demo3.md":[7215,9,7215],"./snippets/tabs/demo4.md":[71189,9,1189],"./snippets/tabs/demo5.md":[63745,9,3745],"./snippets/tabs/demo6.md":[83834,9,3834],"./snippets/tabs/demo7.md":[59070,9,9070],"./snippets/tabs/demo8.md":[36746,9,6746],"./snippets/tabs/demo9.md":[13600,9,3600],"./snippets/textfield/demo1.md":[56091,9,6091],"./snippets/textfield/demo2.md":[85425,9,4096],"./snippets/textfield/demo3.md":[62948,9,2948],"./snippets/textfield/demo4.md":[42193,9,2193],"./snippets/textfield/demo5.md":[70353,9,353],"./snippets/textfield/demo6.md":[69610,9,9610],"./snippets/textfield/demo7.md":[2285,9,2285],"./snippets/theme/demo1.md":[23719,9,3719],"./snippets/theme/demo2.md":[77054,9,7054],"./snippets/theme/demo3.md":[49581,9,9581],"./snippets/theme/demo4.md":[38187,9,8187],"./snippets/toast/demo1.md":[700,9,700],"./snippets/tooltip/demo1.md":[60249,9,249],"./snippets/tooltip/demo2.md":[46897,9,6897],"./snippets/top-app-bar/demo1.md":[84912,9,4912],"./snippets/tree/demo1.md":[51051,9,1051],"./snippets/tree/demo2.md":[64742,9,4742],"./snippets/tree/demo3.md":[53879,9,3879],"./snippets/tree/demo4.md":[75632,9,5632],"./snippets/tree/demo5.md":[4199,9,4199],"./snippets/tree/demo6.md":[21067,9,1067],"./snippets/typography/demo1.md":[61709,9,1709],"./snippets/validator/demo1.md":[64748,9,4748],"./snippets/validator/demo2.md":[51497,9,1497],"./snippets/validator/demo3.md":[53667,9,3667],"./store":[4919,9],"./store/":[4919,9],"./store/demo":[20679,9,679],"./store/demo.js":[20679,9,679],"./store/index":[4919,9],"./store/index.js":[4919,9],"./store/lang":[18439,9],"./store/lang.js":[18439,9],"./store/page":[87684,9],"./store/page.js":[87684,9],"./store/snippet":[83393,9],"./store/snippet.js":[83393,9],"./store/theme":[5635,9],"./store/theme.js":[5635,9],"./utils":[35125,9],"./utils/":[35125,9],"./utils/index":[35125,9],"./utils/index.js":[35125,9],"./utils/t":[33445,9],"./utils/t.js":[33445,9],"./views/components/alert":[24916,9,4916],"./views/components/alert.vue":[24916,9,4916],"./views/components/autocomplete":[22259,9,2259],"./views/components/autocomplete.vue":[22259,9,2259],"./views/components/badge":[38683,9,8683],"./views/components/badge.vue":[38683,9,8683],"./views/components/banner":[45877,9,5877],"./views/components/banner.vue":[45877,9,5877],"./views/components/bottom-sheet":[64566,9,4566],"./views/components/bottom-sheet.vue":[64566,9,4566],"./views/components/button":[31676,9,1676],"./views/components/button.vue":[31676,9,1676],"./views/components/card":[49280,9,9280],"./views/components/card.vue":[49280,9,9280],"./views/components/checkbox":[41711,9,1711],"./views/components/checkbox.vue":[41711,9,1711],"./views/components/chips":[99418,9,9418],"./views/components/chips.vue":[99418,9,9418],"./views/components/collapse":[56239,9,6239],"./views/components/collapse.vue":[56239,9,6239],"./views/components/datepicker":[60680,9,680],"./views/components/datepicker.vue":[60680,9,680],"./views/components/dialog":[68437,9,8437],"./views/components/dialog.vue":[68437,9,8437],"./views/components/divider":[69868,9,9868],"./views/components/divider.vue":[69868,9,9868],"./views/components/editor":[61718,9,1718],"./views/components/editor.vue":[61718,9,1718],"./views/components/fab":[48883,9,8883],"./views/components/fab.vue":[48883,9,8883],"./views/components/file":[801,9,801],"./views/components/file.vue":[801,9,801],"./views/components/form":[67116,9,7116],"./views/components/form.vue":[67116,9,7116],"./views/components/grid":[27819,9,7819],"./views/components/grid.vue":[27819,9,7819],"./views/components/icon":[38578,9,2152,8239],"./views/components/icon-button":[66435,9,6435],"./views/components/icon-button.vue":[66435,9,6435],"./views/components/icon.vue":[38578,9,2152,8239],"./views/components/image-list":[28327,9,8327],"./views/components/image-list.vue":[28327,9,8327],"./views/components/list":[13406,9,3406],"./views/components/list.vue":[13406,9,3406],"./views/components/menu":[47228,9,7228],"./views/components/menu.vue":[47228,9,7228],"./views/components/navigation-bar":[99530,9,9530],"./views/components/navigation-bar.vue":[99530,9,9530],"./views/components/navigation-rail":[9668,9,9668],"./views/components/navigation-rail.vue":[9668,9,9668],"./views/components/pagination":[44102,9,4102],"./views/components/pagination.vue":[44102,9,4102],"./views/components/progress":[38634,9,9136],"./views/components/progress.vue":[38634,9,9136],"./views/components/radio":[37316,9,7316],"./views/components/radio.vue":[37316,9,7316],"./views/components/rangepicker":[8801,9,8801],"./views/components/rangepicker.vue":[8801,9,8801],"./views/components/segmented-button":[30854,9,6359],"./views/components/segmented-button.vue":[30854,9,6359],"./views/components/select":[53708,9,3708],"./views/components/select.vue":[53708,9,3708],"./views/components/side-sheet":[28248,9,8248],"./views/components/side-sheet.vue":[28248,9,8248],"./views/components/skeleton":[90429,9,6853],"./views/components/skeleton.vue":[90429,9,6853],"./views/components/slider":[77939,9,7939],"./views/components/slider.vue":[77939,9,7939],"./views/components/snackbar":[34725,9,4725],"./views/components/snackbar.vue":[34725,9,4725],"./views/components/spinner":[72357,9,2357],"./views/components/spinner.vue":[72357,9,2357],"./views/components/switch":[37858,9,7858],"./views/components/switch.vue":[37858,9,7858],"./views/components/table":[8,9,8],"./views/components/table.vue":[8,9,8],"./views/components/tabs":[99643,9,9643],"./views/components/tabs.vue":[99643,9,9643],"./views/components/textfield":[19860,9,9860],"./views/components/textfield.vue":[19860,9,9860],"./views/components/tooltip":[61356,9,1356],"./views/components/tooltip.vue":[61356,9,1356],"./views/components/top-app-bar":[78308,9,8308],"./views/components/top-app-bar.vue":[78308,9,8308],"./views/components/tree":[47927,9,7927],"./views/components/tree.vue":[47927,9,7927],"./views/directives/anchor":[19154,9,9154],"./views/directives/anchor.vue":[19154,9,9154],"./views/directives/copy":[6335,9,6335],"./views/directives/copy.vue":[6335,9,6335],"./views/directives/debounce":[22787,9,2787],"./views/directives/debounce.vue":[22787,9,2787],"./views/directives/elevation":[25779,9,5779],"./views/directives/elevation.vue":[25779,9,5779],"./views/directives/longpress":[66293,9,6293],"./views/directives/longpress.vue":[66293,9,6293],"./views/directives/ripple":[78767,9,9880],"./views/directives/ripple.vue":[78767,9,9880],"./views/directives/shape":[85454,9,5454],"./views/directives/shape.vue":[85454,9,5454],"./views/donate":[81997,9,1997],"./views/donate.vue":[81997,9,1997],"./views/drawer":[79162,9,9162],"./views/drawer/":[79162,9,9162],"./views/drawer/dismissible-drawer-below-top-app-bar":[34189,9,4189],"./views/drawer/dismissible-drawer-below-top-app-bar.vue":[34189,9,4189],"./views/drawer/dismissible-drawer-full-height-drawer":[64644,9,4644],"./views/drawer/dismissible-drawer-full-height-drawer.vue":[64644,9,4644],"./views/drawer/index":[79162,9,9162],"./views/drawer/index.vue":[79162,9,9162],"./views/drawer/modal-drawer":[46127,9,6127],"./views/drawer/modal-drawer.vue":[46127,9,6127],"./views/drawer/permanent-drawer-above-toolbar":[95202,9,5202],"./views/drawer/permanent-drawer-above-toolbar.vue":[95202,9,5202],"./views/drawer/permanent-drawer-below-toolbar":[68241,9,8241],"./views/drawer/permanent-drawer-below-toolbar.vue":[68241,9,8241],"./views/guide/advanced":[8132,9,8132],"./views/guide/advanced.vue":[8132,9,8132],"./views/guide/introduction":[83390,9,7943],"./views/guide/introduction.vue":[83390,9,7943],"./views/guide/kill-ie":[45904,9,5904],"./views/guide/kill-ie.vue":[45904,9,5904],"./views/guide/quick-start":[80767,9,767],"./views/guide/quick-start.vue":[80767,9,767],"./views/guide/typescript-support":[17171,9,7171],"./views/guide/typescript-support.vue":[17171,9,7171],"./views/guide/upgrade":[9136,9,1259],"./views/guide/upgrade.vue":[9136,9,1259],"./views/home":[91355,9],"./views/home.vue":[91355,9],"./views/layouts/app":[50873,9],"./views/layouts/app.vue":[50873,9],"./views/layouts/blank":[62470,9],"./views/layouts/blank.vue":[62470,9],"./views/layouts/docs-page":[82180,9],"./views/layouts/docs-page.vue":[82180,9],"./views/layouts/pure-page":[65049,9],"./views/layouts/pure-page.vue":[65049,9],"./views/not-found":[19885,9,9885],"./views/not-found.vue":[19885,9,9885],"./views/plugins/alert-dialog":[52703,9,2703],"./views/plugins/alert-dialog.vue":[52703,9,2703],"./views/plugins/confirm-dialog":[49345,9,9345],"./views/plugins/confirm-dialog.vue":[49345,9,9345],"./views/plugins/event":[31958,9,1958],"./views/plugins/event.vue":[31958,9,1958],"./views/plugins/lazyload":[14223,9,4223],"./views/plugins/lazyload.vue":[14223,9,4223],"./views/plugins/store":[10813,9,813],"./views/plugins/store.vue":[10813,9,813],"./views/plugins/theme":[4039,9,2152,4039],"./views/plugins/theme.vue":[4039,9,2152,4039],"./views/plugins/toast":[64146,9,4146],"./views/plugins/toast.vue":[64146,9,4146],"./views/plugins/typography":[1965,9,1965],"./views/plugins/typography.vue":[1965,9,1965],"./views/plugins/validator":[97903,9,7903],"./views/plugins/validator.vue":[97903,9,7903],"./views/test/composition":[288,9,288],"./views/test/composition.vue":[288,9,288],"./views/test/options":[34775,9,4775],"./views/test/options.vue":[34775,9,4775],"./views/utils":[42869,9,2869],"./views/utils.vue":[42869,9,2869]};function n(t){if(!o.o(d,t))return Promise.resolve().then((function(){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}));var e=d[t],n=e[0];return Promise.all(e.slice(2).map(o.e)).then((function(){return o.t(n,16|e[1])}))}n.keys=function(){return Object.keys(d)},n.id=47562,t.exports=n},91598:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/plugins/alert' with (\n  $width: 450px\n);\n
'},56447:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/badge' with (\n  $background-color: #db4437,\n  $color: #fff,\n  $border-radius: 10px,\n  $dot-radius: 3px\n);\n
'},5902:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/bottom-sheet' with (\n  $background: white,\n  $border-top-radius: 0,\n\n  $scrim-color: on-surface,\n  $scrim-opacity: 0.32\n);\n
'},44920:function(t,e,o){"use strict";o.r(e);e.default='
@use '@material/button/button-shared-theme' with (\n  $height: 36px,\n  $horizontal-padding: 8px,\n  $contained-horizontal-padding: 16px,\n  // For a contained button with an icon, the padding on the side of the\n  // button with the icon.\n  $contained-horizontal-padding-icon: 12px,\n\n  $minimum-height: 24px,\n  $maximum-height: $height,\n  $density-scale: density-variables.$default-scale,\n  $density-config: (\n    height: (\n      default: $height,\n      maximum: $maximum-height,\n      minimum: $minimum-height,\n    ),\n  ),\n\n  $shape-radius: small,\n\n  $disabled-ink-color: rgba(theme-color.prop-value(on-surface), 0.38),\n  $disabled-container-color: rgba(\n    theme-color.prop-value(on-surface),\n    0.12\n  ),\n);\n
@use '@material/button/button-outlined-theme' with (\n  $outlined-border-width: 1px,\n  $outline-color: rgba(theme-color.prop-value(on-surface), 0.12)\n);\n
'},30511:function(t,e,o){"use strict";o.r(e);e.default='
@use '@material/card' as card-variables with (\n  $action-icon-color: rgba(\n    theme-color.prop-value(on-surface),\n    theme-color.text-emphasis(medium)\n  ),\n  $outline-color: color.mix(\n    theme-color.prop-value(on-surface),\n    theme-color.prop-value(surface),\n    12%\n  ),\n  $outline-width: 1px,\n  $shape-radius: medium\n);\n
@use 'balm-ui/components/card' with (\n  $text-wrapper-padding: 16px\n);\n
'},66091:function(t,e,o){"use strict";o.r(e);e.default='
@use '@material/checkbox/checkbox-theme' with (\n  $baseline-theme-color: secondary,\n  $mark-color: theme-color.prop-value(on-secondary),\n  $border-color: rgba(theme-color.prop-value(on-surface), 0.54),\n  $disabled-color: rgba(theme-color.prop-value(on-surface), 0.38),\n\n  $ripple-size: 40px,\n  $icon-size: 18px,\n  $mark-stroke-size: 2 / 15 * $icon-size,\n  $border-width: 2px,\n  $transition-duration: 90ms,\n  $item-spacing: 4px,\n  $focus-indicator-opacity: map.get(\n    ripple-theme.$dark-ink-opacities,\n    focus\n  ),\n\n  $minimum-size: 28px,\n  $maximum-size: $ripple-size,\n  $density-scale: density-variables.$default-scale,\n  $density-config: (\n    size: (\n      minimum: $minimum-size,\n      default: $ripple-size,\n      maximum: $maximum-size,\n    ),\n  )\n);\n
'},61462:function(t,e,o){"use strict";o.r(e);e.default='

\u26a0\ufe0f The deprecated path is required in balm-ui >= 9.20.0

@use '@material/chips/deprecated/variables' with (\n  $fill-color-default: color.mix(\n    theme-color.prop-value(on-surface),\n    theme-color.prop-value(surface),\n    12%\n  ),\n  $ink-color-default: rgba(theme-color.prop-value(on-surface), 0.87),\n  $horizontal-padding: 12px,\n  $height: 32px,\n  $shape-radius: 50%,\n\n  $minimum-height: 24px,\n  $maximum-height: $height,\n  $density-scale: density-variables.$default-scale,\n  $density-config: (\n    height: (\n      default: $height,\n      maximum: $maximum-height,\n      minimum: $minimum-height,\n    ),\n  ),\n\n  $icon-color: theme-color.prop-value(on-surface),\n  $icon-opacity: 0.54,\n  $trailing-icon-hover-opacity: 0.62,\n  $trailing-icon-focus-opacity: 0.87,\n  $leading-icon-size: 20px,\n  $trailing-icon-size: 18px,\n  // Speed up delay to bridge gap between leading icon and checkmark transition.\n  $leading-icon-delay: -50ms,\n  $checkmark-with-leading-icon-delay: 80ms,\n\n  $checkmark-animation-delay: 50ms,\n  $checkmark-animation-duration: 150ms,\n  $width-animation-duration: 150ms,\n  $opacity-animation-duration: 75ms,\n\n  $leading-icon-margin-right: 4px,\n  $leading-icon-margin-left: -4px,\n\n  $trailing-icon-margin-right: -4px,\n  $trailing-icon-margin-left: 4px,\n\n  $exit-transition: opacity 75ms\n      animation-variables.$standard-curve-timing-function,\n    width 150ms animation-variables.$deceleration-curve-timing-function,\n    padding 100ms linear, margin 100ms linear\n);\n
'},7634:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/collapse' with (\n  $collapse-margin-bottom: 0,\n  $header-margin-bottom: 0,\n  $title-padding: 8px 0,\n  $icon-width: 24px,\n  $icon-margin-right: 8px,\n  $content-padding: 8px 0\n);\n
'},32043:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/plugins/confirm' with (\n  $width: 450px\n);\n
'},73391:function(t,e,o){"use strict";o.r(e);e.default='
@use '@material/dialog' with (\n  $scrim-color: on-surface,\n  $title-ink-color: on-surface,\n  $content-ink-color: on-surface,\n  $scroll-divider-color: on-surface,\n\n  $scrim-opacity: 0.32,\n  $title-ink-opacity: 0.87,\n  $content-ink-opacity: 0.6,\n  $scroll-divider-opacity: 0.12,\n\n  $min-width: 280px,\n  $max-width: 560px,\n  $margin: 16px,\n  $shape-radius: medium,\n  $title-bottom-padding: 9px,\n  $actions-padding: 8px,\n  // New in 9.12.0\n  $header-side-padding: 24px,\n\n  // New in 9.14.0\n  $close-icon-padding: 12px,\n  $title-side-padding: 16px,\n  $fullscreen-header-side-padding: 16px,\n\n  // New in 10.5.0\n  $sheet-close-icon-right: 12px,\n  $sheet-close-icon-top: 9px,\n\n  $z-index: 7\n);\n
'},23175:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/divider' with (\n  $color: if(\n    theme-color.tone(theme-color.$background) == 'dark',\n    list-variables.$deprecated-divider-color-on-dark-bg,\n    list-variables.$deprecated-divider-color-on-light-bg\n  ),\n\n  $horizontal-height: 2px,\n  $horizontal-text-padding: 8px 16px,\n\n  $vertical-width: 2px,\n  $vertical-text-padding: 16px 8px\n);\n
'},67618:function(t,e,o){"use strict";o.r(e);e.default='
@use '@material/drawer' with (\n  // Colors\n  $title-ink-color: theme-color.prop-value(on-surface),\n  $subtitle-ink-color: theme-color.prop-value(on-surface),\n  $item-inactive-ink-color: theme-color.prop-value(on-surface),\n  $item-activated-ink-color: theme-color.prop-value(primary),\n  $divider-color: theme-color.prop-value(on-surface),\n  $surface-fill-color: surface,\n\n  // Opacity\n  $title-ink-opacity: theme-color.text-emphasis(high),\n  $subtitle-ink-opacity: theme-color.text-emphasis(medium),\n  $item-inactive-icon-ink-opacity: theme-color.text-emphasis(medium),\n  $item-inactive-text-ink-opacity: theme-color.text-emphasis(high),\n  $item-active-icon-ink-opacity: 1,\n  $item-active-text-ink-opacity: theme-color.text-emphasis(high),\n  $divider-opacity: 0.12,\n\n  // Widths\n  $width: 256px,\n  $list-item-spacing: 4px,\n  $surface-padding: 16px,\n  $shape-radius: large,\n  $item-shape-radius: small,\n\n  // Animations\n  $animation-enter: 250ms,\n  $animation-exit: 200ms,\n\n  // Scrim\n  $modal-scrim-color: theme-color.prop-value(on-surface),\n  $modal-scrim-opacity: 0.32,\n\n  $z-index: 6,\n  $modal-elevation: 16\n);\n
'},37565:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/editor' with (\n  $editor-height: 100%,\n  $bubble-editor-height: 100px,\n\n  $font-family: (\n    'arial': 'Arial',\n    'arial-black': 'Arial Black',\n    'comic-sans-ms': 'Comic Sans MS',\n    'courier-new': 'Courier New',\n    'tahoma': 'Tahoma',\n    'georgia': 'Georgia',\n    'helvetica': 'Helvetica',\n    'segoe-ui': 'Segoe UI',\n    'sans-serif': 'Sans-Serif',\n    'impact': 'Impact',\n    'times-new-roman': 'Times New Roman',\n    'verdana': 'Verdana'\n  )\n);\n
'},47689:function(t,e,o){"use strict";o.r(e);e.default='
@use '@material/elevation/variables' with (\n  $baseline-color: black,\n  $umbra-opacity: 0.2,\n  $penumbra-opacity: 0.14,\n  $ambient-opacity: 0.12,\n\n  // The default duration value for elevation transitions.\n  $transition-duration: 280ms\n);\n
'},51513:function(t,e,o){"use strict";o.r(e);e.default='
@use '@material/fab/fab-theme' with (\n  $height: 56px,\n  $mini-height: 40px,\n  $shape-radius: 50%\n);\n
@use '@material/fab/extended-fab-theme' with (\n  $extended-icon-padding: 12px,\n  $extended-label-padding: 20px,\n  $extended-height: 48px\n);\n
'},43278:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/form' with (\n  $form-margin: 0,\n  $form-padding: 0,\n  $form-border: 0,\n\n  $form-item-margin-bottom: 0,\n  $horizontal-form-item-label-width: auto,\n  $horizontal-form-item-label-margin-right: 0,\n  $vertical-form-item-label-margin-bottom: 0,\n\n  $form-subitem-margin-right: 0 // New in 9.9.0\n);\n
'},8755:function(t,e,o){"use strict";o.r(e);e.default='
@use '@material/layout-grid' with (\n  $breakpoints: (\n    desktop: 840px,\n    tablet: 600px,\n    phone: 0px\n  ),\n\n  $columns: (\n    desktop: 12,\n    tablet: 8,\n    phone: 4\n  ),\n\n  $default-margin: (\n    desktop: 24px,\n    tablet: 16px,\n    phone: 16px\n  ),\n\n  $default-gutter: (\n    desktop: 24px,\n    tablet: 16px,\n    phone: 16px\n  ),\n\n  $column-width: (\n    desktop: 72px,\n    tablet: 72px,\n    phone: 72px\n  ),\n\n  $default-column-span: 4,\n\n  $max-width: null\n);\n
'},43727:function(t,e,o){"use strict";o.r(e);e.default='
@use '@material/icon-button' with (\n  $icon-size: 24px,\n  $size: 48px,\n  $minimum-height: 28px,\n  $maximum-height: $size,\n  $density-scale: density-variables.$default-scale,\n  $density-config: (\n    size: (\n      default: $size,\n      maximum: $maximum-height,\n      minimum: $minimum-height,\n    ),\n  ),\n);\n
'},25613:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/icon' with (\n  $font-path: '../fonts',\n  $with-subdir: 0,\n\n  $sizes: 18 24 36 48,\n  $dark: rgba(0, 0, 0, 0.54),\n  $dark-focused: rgba(0, 0, 0, 0.87), // New in 9.19.0\n  $dark-inactive: rgba(0, 0, 0, 0.38),\n  $light: rgba(255, 255, 255, 0.7),\n  $light-focused: rgba(255, 255, 255, 1), // New in 9.19.0\n  $light-inactive: rgba(255, 255, 255, 0.5),\n\n  $success: #0f9d58,\n  $info: #4285f4,\n  $warning: #f4b400,\n  $error: #db4437\n);\n
'},66573:function(t,e,o){"use strict";o.r(e);e.default='
@use '@material/image-list' with (\n  $standard-gutter-size: 4px,\n  $masonry-gutter-size: 16px,\n  $icon-size: 24px,\n  $text-protection-background-color: rgba(0, 0, 0, 0.6),\n  $text-protection-height: 48px,\n  $text-protection-horizontal-padding: 16px,\n  $shape-radius: 0\n);\n
'},65825:function(t,e,o){"use strict";o.r(e);e.default='

\u26a0\ufe0f The deprecated- prefix is required in balm-ui >= 9.14.0

@use '@material/list' with (\n  $deprecated-divider-color-on-light-bg: rgba(0, 0, 0, 0.12),\n  $deprecated-divider-color-on-dark-bg: rgba(255, 255, 255, 0.2),\n  $deprecated-side-padding: 16px,\n  $deprecated-trailing-padding: 16px,\n  $deprecated-text-offset: 72px,\n  $deprecated-text-disabled-opacity: theme-color.text-emphasis(disabled),\n  $deprecated-text-disabled-color: on-surface,\n  $deprecated-text-selected-color: primary,\n\n  $deprecated-single-line-height: 48px,\n  $deprecated-single-line-minimum-height: 24px,\n  $deprecated-single-line-maximum-height: $deprecated-single-line-height,\n  $deprecated-single-line-density-scale: density-variables.$default-scale,\n  $deprecated-single-line-density-config: (\n    height: (\n      default: $deprecated-single-line-height,\n      maximum: $deprecated-single-line-maximum-height,\n      minimum: $deprecated-single-line-minimum-height,\n    ),\n  ),\n\n  $deprecated-item-primary-text-baseline-height: 28px,\n  $deprecated-item-primary-text-baseline-height-with-graphic: 32px,\n  $deprecated-item-secondary-text-baseline-height: 20px,\n  $deprecated-dense-item-primary-text-baseline-height: 24px,\n\n  $deprecated-two-line-height: 64px,\n  $deprecated-two-line-graphic-height: 72px,\n  $deprecated-two-line-icon-top-margin: 16px,\n\n  $deprecated-deprecated-graphic-config: (\n    graphic-size: (\n      width: 24px,\n      height: 24px,\n    ),\n    leading-padding: 16px,\n    text-offset: 72px,\n  ),\n\n  $deprecated-textual-variant-config: (\n    single-line-height: $deprecated-single-line-height,\n    graphic-size: (\n      width: 24px,\n      height: 24px,\n    ),\n    leading-padding: 16px,\n    text-offset: 16px,\n  ),\n\n  $deprecated-icon-variant-config: (\n    single-line-height: 56px,\n    graphic-size: (\n      width: 24px,\n      height: 24px,\n    ),\n    leading-padding: 16px,\n    text-offset: 72px,\n  ),\n\n  $deprecated-avatar-variant-config: (\n    single-line-height: 56px,\n    graphic-size: (\n      width: 40px,\n      height: 40px,\n    ),\n    leading-padding: 16px,\n    text-offset: 72px,\n  ),\n\n  $deprecated-thumbnail-variant-config: (\n    single-line-height: 56px,\n    graphic-size: (\n      width: 40px,\n      height: 40px,\n    ),\n    leading-padding: 16px,\n    text-offset: 72px,\n  ),\n\n  $deprecated-image-variant-config: (\n    single-line-height: 72px,\n    graphic-size: (\n      width: 56px,\n      height: 56px,\n    ),\n    leading-padding: 16px,\n    text-offset: 88px,\n  ),\n\n  $deprecated-video-variant-config: (\n    single-line-height: 72px,\n    graphic-size: (\n      width: 100px,\n      height: 56px,\n    ),\n    leading-padding: 0px,\n    text-offset: 116px,\n  ),\n);\n
'},46378:function(t,e,o){"use strict";o.r(e);e.default='
@use '@material/menu-surface' with (\n  $fade-in-duration: 0.03s,\n  $fade-out-duration: 0.075s,\n  $scale-duration: 0.12s,\n  $min-distance-from-edge: 32px,\n  $z-index: 8, // One above `<ui-dialog>`\n  $shape-radius: medium\n);\n
@use '@material/menu' with (\n  $ink-color: rgba(\n    theme-color.prop-value(on-surface),\n    theme-color.text-emphasis(high)\n  ),\n\n  $width-base: 56px,\n  $min-width: 2 * $width-base\n);\n
'},20372:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/navigation-bar' with (\n  $height: 48px,\n  $stacked-height: 72px,\n  $color: theme-variables.$primary,\n  $fill-color: white,\n  $active-fill-color: rgba($color, 0.87)\n);\n
'},14428:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/pagination' with (\n  $height: 32px\n);\n
'},30582:function(t,e,o){"use strict";o.r(e);e.default='
@use '@material/linear-progress' with (\n  $baseline-buffer-color: #e6e6e6\n);\n
'},16109:function(t,e,o){"use strict";o.r(e);e.default='
@use '@material/radio/radio-theme' with (\n  $ripple-size: 40px,\n  $icon-size: 20px,\n  $transition-duration: 120ms,\n  $ripple-opacity: 0.14,\n  $baseline-theme-color: secondary,\n  $unchecked-color: rgba(theme-color.prop-value(on-surface), 0.54),\n  $disabled-circle-color: rgba(theme-color.prop-value(on-surface), 0.38),\n\n  $minimum-size: 28px,\n  $maximum-size: $ripple-size,\n  $density-scale: density-variables.$default-scale,\n  $density-config: (\n    size: (\n      minimum: $minimum-size,\n      default: $ripple-size,\n      maximum: $maximum-size,\n    ),\n  )\n);\n
'},36088:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/rangepicker' with (\n  $separator-padding: 8px\n);\n
'},83924:function(t,e,o){"use strict";o.r(e);e.default='
@use '@material/ripple/ripple-theme' with (\n  $fade-in-duration: 75ms,\n  $fade-out-duration: 150ms,\n  $translate-duration: 225ms,\n  $states-wash-duration: 15ms,\n\n  // Notes on states:\n  // * focus takes precedence over hover (i.e. if an element is both focused and hovered, only focus value applies)\n  // * press state applies to a separate pseudo-element, so it has an additive effect on top of other states\n  // * selected/activated are applied additively to hover/focus via calculations at preprocessing time\n\n  $dark-ink-opacities: (\n    hover: 0.04,\n    focus: 0.12,\n    press: 0.12,\n    selected: 0.08,\n    activated: 0.12,\n  ),\n\n  $light-ink-opacities: (\n    hover: 0.08,\n    focus: 0.24,\n    press: 0.24,\n    selected: 0.16,\n    activated: 0.24,\n  ),\n\n  // Legacy\n\n  $pressed-dark-ink-opacity: 0.16,\n  $pressed-light-ink-opacity: 0.32,\n);\n
'},13501:function(t,e,o){"use strict";o.r(e);e.default='
  • <ui-select-icon>
@use '@material/select/select-icon-theme' with (\n  $icon-size: 24px,\n  $dense-icon-size: 20px,\n  $icon-horizontal-margin: 12px,\n\n  $icon-color: rgba(theme-variables.prop-value(on-surface), 0.54),\n  $disabled-icon-color: rgba(\n    theme-variables.prop-value(on-surface),\n    0.38\n  )\n);\n
  • <ui-select>
@use '@material/select/select-theme' with (\n  $arrow-padding: 52px,\n  $label-padding: 16px,\n  $height: 56px,\n  $filled-baseline-top: 40px,\n  $selected-text-height: 28px,\n  $anchor-padding-left: 16px,\n  $anchor-padding-left-with-leading-icon: 0,\n  $anchor-padding-right: 0,\n  $outlined-stroke-width: 2px,\n  $default-width: 200px,\n  $shape-radius: small,\n\n  $minimum-height: 40px,\n  $minimum-height-for-filled-label: 52px,\n  $maximum-height: $height,\n  $density-scale: density-variables.$default-scale,\n  $density-config: (\n    height: (\n      default: $height,\n      maximum: $maximum-height,\n      minimum: $minimum-height,\n    ),\n  ),\n\n  $ink-color: rgba(theme-variables.prop-value(on-surface), 0.87),\n  $dropdown-icon-color: rgba(\n    theme-variables.prop-value(on-surface),\n    0.54\n  ),\n  $label-color: rgba(theme-variables.prop-value(on-surface), 0.6),\n  $focused-label-color: rgba(theme-variables.prop-value(primary), 0.87),\n  $bottom-line-idle-color: rgba(\n    theme-variables.prop-value(on-surface),\n    0.42\n  ),\n  $bottom-line-hover-color: rgba(\n    theme-variables.prop-value(on-surface),\n    0.87\n  ),\n\n  $fill-color: color.mix(\n    theme-variables.prop-value(on-surface),\n    theme-variables.prop-value(surface),\n    4%\n  ),\n\n  // Disabled Styles\n  $disabled-label-color: rgba(\n    theme-variables.prop-value(on-surface),\n    0.38\n  ),\n  $disabled-ink-color: rgba(\n    theme-variables.prop-value(on-surface),\n    0.38\n  ),\n  $disabled-fill-color: color.mix(\n    theme-variables.prop-value(on-surface),\n    theme-variables.prop-value(surface),\n    2%\n  ),\n  $disabled-fill-border: rgba(\n    theme-variables.prop-value(on-surface),\n    0.06\n  ),\n  $disabled-bottom-line-color: rgba(\n    theme-variables.prop-value(on-surface),\n    0.06\n  ),\n  $disabled-dropdown-icon-color: rgba(\n    theme-variables.prop-value(on-surface),\n    0.38\n  ),\n  $disabled-outline-color: rgba(\n    theme-variables.prop-value(on-surface),\n    0.06\n  ),\n\n  $outlined-idle-border: rgba(\n    theme-variables.prop-value(on-surface),\n    0.38\n  ),\n  $outlined-hover-border: rgba(\n    theme-variables.prop-value(on-surface),\n    0.87\n  ),\n\n  $label-position-y: 106%,\n  $outline-label-offset: 16px,\n  $outlined-label-position-y: get-outlined-label-position-y($height),\n  $outlined-with-leading-icon-label-position-x: 32px,\n\n  $dropdown-transition-duration: 150ms,\n  // Transition durartions to active state\n  $icon-active-fade-out-duration: 0.33 * $dropdown-transition-duration,\n  $icon-active-fade-in-duration: 0.67 * $dropdown-transition-duration,\n  // Transition durartions to inactive state\n  $icon-inactive-fade-out-duration: 0.5 * $dropdown-transition-duration,\n  $icon-inactive-fade-in-duration: 0.5 * $dropdown-transition-duration,\n\n  // Error colors\n  $error-color: error\n);\n
'},14115:function(t,e,o){"use strict";o.r(e);e.default='
@use '@material/shape/shape' with (\n  // Shape categories\n  $small-component-radius: 4px,\n  $medium-component-radius: 4px,\n  $large-component-radius: 0\n);\n
'},34630:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/side-sheet' with (\n  $width: 40%,\n  $mobile-width: 80%,\n  $background: white,\n  $border-left-radius: 0,\n\n  $scrim-color: on-surface,\n  $scrim-opacity: 0.32\n);\n
'},89880:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/skeleton' with (\n  $avatar: (\n    base: 36px,\n    large: 40px,\n    small: 24px\n  ),\n\n  $color: #f2f2f2,\n  $to-color: global-function.shade($color, 10%)\n);\n
'},54526:function(t,e,o){"use strict";o.r(e);e.default='
@use '@material/snackbar' with (\n  $fill-color: color.mix(\n    theme-color.prop-value(on-surface),\n    theme-color.prop-value(surface),\n    80%\n  ),\n  $label-ink-color: rgba(\n    theme-color.prop-value(surface),\n    theme-color.text-emphasis(high)\n  ),\n  $action-ink-color: #bb86fc,\n  $dismiss-ink-color: rgba(\n    theme-color.prop-value(surface),\n    theme-color.text-emphasis(high)\n  ),\n\n  $label-type-scale: body2,\n  $dismiss-icon-size: 18px,\n  $dismiss-button-size: 36px, // New in 9.31.0\n  $min-width: 344px,\n  $max-width: 672px,\n  $mobile-breakpoint: 480px,\n  $viewport-margin-narrow: 8px,\n  $viewport-margin-wide: 24px,\n  $padding: 8px,\n\n  $elevation: 6,\n  $shape-radius: small, // Key from shape.$category-keywords or CSS length value (e.g., 4px)\n  $z-index: 8, // One above `<ui-dialog>`\n\n  // These variables need to be kept in sync with the values in constants.js.\n  $enter-duration: 150ms,\n  $exit-duration: 75ms\n);\n
'},96314:function(t,e,o){"use strict";o.r(e);e.default='
@use '@material/circular-progress' with (\n  $color: primary,\n  $track-color: transparent,\n\n  /// The rotation position of the arcs that corresponds to their fully contracted state\n  $base-angle: 135deg,\n  /// Amount of circle the arc takes up\n  $arc-size: 270deg,\n  /// Time it takes to expand and contract arc\n  $arc-time: 1333ms,\n  /// Time for inactive indicator to disappear\n  $shrink-time: 400ms,\n  /// How much the start location of the arc should rotate each time; 216 gives\n  /// us a 5 pointed star shape (it's 360/5 * 3)\n  $arc-start-rotation-interval: 216deg,\n  /// The timing function used for the core spinner animations.\n  $timing-function: cubic-bezier(0.4, 0, 0.2, 1)\n);\n
@use 'balm-ui/components/spinner' with (\n  $fourColors: $blue $red $yellow $green\n);\n
'},40841:function(t,e,o){"use strict";o.r(e);e.default='

@deprecation <ui-switch> sass variables is deprecated in balm-ui >= 9.37.0

\u26a0\ufe0f The deprecated path is required in balm-ui >= 9.34.0

@use '@material/switch/deprecated/variables' with (\n  $track-width: 36px,\n  $track-height: 14px,\n  $thumb-diameter: 20px,\n  $ripple-size: 48px,\n\n  $minimum-size: 28px,\n  $maximum-size: $ripple-size,\n  $density-scale: density-variables.$default-scale,\n  $density-config: (\n    size: (\n      minimum: $minimum-size,\n      default: $maximum-size,\n      maximum: $maximum-size,\n    ),\n  ),\n\n  $thumb-active-margin: $track-width - $thumb-diameter,\n\n  $toggled-off-thumb-color: surface,\n  $toggled-off-track-color: on-surface,\n  $toggled-off-ripple-color: #9e9e9e,\n  $disabled-thumb-color: surface,\n  $disabled-track-color: on-surface,\n\n  $baseline-theme-color: secondary\n);\n
'},8146:function(t,e,o){"use strict";o.r(e);e.default='
@use '@material/data-table' with (\n  $fill-color: surface,\n  $header-row-fill-color: surface,\n  $row-fill-color: inherit,\n  $selected-row-fill-color: rgba(theme-color.prop-value(primary), 0.04),\n  $checked-icon-color: primary,\n  $divider-color: rgba(theme-color.prop-value(on-surface), 0.12),\n  $divider-size: 1px,\n  $row-hover-fill-color: rgba(theme-color.prop-value(on-surface), 0.04),\n\n  $header-row-text-color: rgba(theme-color.prop-value(on-surface), 0.87),\n  $row-text-color: rgba(theme-color.prop-value(on-surface), 0.87),\n\n  $sort-icon-color: rgba(theme-color.prop-value(on-surface), 0.6),\n  $sort-icon-active-color: rgba(\n    theme-color.prop-value(on-surface),\n    0.87\n  ),\n  $sort-icon-density-scale: -5,\n\n  $shape-radius: medium,\n  $stroke-size: 1px,\n  $stroke-color: rgba(theme-color.prop-value(on-surface), 0.12),\n\n  $row-height: 52px,\n  $header-row-height: get-header-row-height($row-height),\n  $cell-leading-padding: 16px,\n  $cell-trailing-padding: 16px,\n\n  $minimum-row-height: 36px,\n  $maximum-row-height: $row-height,\n  $default-density-scale: density-variables.$default-scale\n);\n

New in 9.32.0

  • Rename variables
    • $cell-height -> $row-height
    • $header-cell-height -> $header-row-height
    • $minimum-cell-height -> $minimum-row-height
    • $maximum-cell-height -> $maximum-row-height
'},22457:function(t,e,o){"use strict";o.r(e);e.default='
  • <ui-tab>
@use '@material/tab' as tab-variables with (\n  $icon-size: 24px,\n  $height: 48px,\n  $stacked-height: 72px,\n  $min-width: 90px,\n  $horizontal-padding: 24px,\n  $text-label-opacity: 0.6,\n  $icon-opacity: 0.54,\n  $text-label-color-default: rgba(\n    theme-color.prop-value(on-surface),\n    $text-label-opacity\n  ),\n  $icon-color-default: rgba(\n    theme-color.prop-value(on-surface),\n    $icon-opacity\n  ),\n  $text-label-color-active: primary,\n  $icon-color-active: primary\n);\n
  • <ui-tab-scroller>
@use '@material/tab-scroller' with (\n  $transition-duration: 250ms\n);\n
  • <ui-tab-bar>
@use '@material/tab-bar' with (\n  $height: tab-variables.$height,\n  $minimum-height: 30px,\n  $maximum-height: $height,\n  $density-scale: density-variables.$default-scale,\n  $density-config: (\n    height: (\n      default: $height,\n      maximum: $maximum-height,\n      minimum: $minimum-height,\n    ),\n  ),\n  $stacked-height: tab-variables.$stacked-height,\n  $stacked-minimum-height: 56px,\n  $stacked-maximum-height: $stacked-height,\n  $stacked-density-scale: density-variables.$default-scale,\n  $stacked-density-config: (\n    height: (\n      default: $stacked-height,\n      maximum: $stacked-maximum-height,\n      minimum: $stacked-minimum-height,\n    ),\n  )\n);\n
'},92076:function(t,e,o){"use strict";o.r(e);e.default='
  • <ui-textfield-icon>
@use '@material/textfield/icon' with (\n  $icon-size: 24px,\n  $dense-icon-size: 20px,\n  $touch-target-size: 48px,\n\n  $leading-icon-padding-left: 16px,\n  $leading-icon-padding-right: 8px,\n  $trailing-icon-padding-left: 12px,\n  $trailing-icon-padding-right: 12px\n);\n
  • <ui-textfield>
@use '@material/textfield' with (\n  $error: error,\n  $disabled-border: rgba(theme-color.prop-value(on-surface), 0.06),\n  $disabled-icon: rgba(theme-color.prop-value(on-surface), 0.3),\n  $bottom-line-hover: rgba(theme-color.prop-value(on-surface), 0.87),\n  $bottom-line-idle: rgba(theme-color.prop-value(on-surface), 0.42),\n  $label: rgba(theme-color.prop-value(on-surface), 0.6),\n\n  $ink-color: rgba(theme-color.prop-value(on-surface), 0.87),\n  $helper-text-color: rgba(theme-color.prop-value(on-surface), 0.6),\n  $icon-color: rgba(theme-color.prop-value(on-surface), 0.54),\n  $focused-label-color: rgba(theme-color.prop-value(primary), 0.87),\n  $placeholder-ink-color: rgba(theme-color.prop-value(on-surface), 0.54),\n  $affix-color: rgba(theme-color.prop-value(on-surface), 0.6),\n\n  $disabled-label-color: rgba(theme-color.prop-value(on-surface), 0.38),\n  $disabled-ink-color: rgba(theme-color.prop-value(on-surface), 0.38),\n  $disabled-placeholder-ink-color: rgba(\n    theme-color.prop-value(on-surface),\n    0.38\n  ),\n  $disabled-helper-text-color: rgba(\n    theme-color.prop-value(on-surface),\n    0.38\n  ),\n  $disabled-affix-color: rgba(theme-color.prop-value(on-surface), 0.38),\n\n  $background: color.mix(\n    theme-color.prop-value(on-surface),\n    theme-color.prop-value(surface),\n    4%\n  ),\n  $disabled-background: color.mix(\n    theme-color.prop-value(on-surface),\n    theme-color.prop-value(surface),\n    2%\n  ),\n  $secondary-text: rgba(theme-color.prop-value(on-surface), 0.6),\n\n  $outlined-idle-border: rgba(theme-color.prop-value(on-surface), 0.38),\n  $outlined-disabled-border: rgba(\n    theme-color.prop-value(on-surface),\n    0.06\n  ),\n  $outlined-hover-border: rgba(theme-color.prop-value(on-surface), 0.87),\n\n  $textarea-border: rgba(theme-color.prop-value(on-surface), 0.73),\n  $textarea-background: rgba(theme-color.prop-value(surface), 1),\n  $textarea-disabled-border-color: rgba(\n    theme-color.prop-value(on-surface),\n    0.26\n  ),\n  // cannot be transparent because multiline textarea input\n  // will make text unreadable\n  $textarea-disabled-background: rgba(249, 249, 249, 1),\n\n  $outlined-stroke-width: 2px,\n  $height: 56px,\n  $minimum-height: 40px,\n  $minimum-height-for-filled-label: 52px,\n  $maximum-height: $height,\n  $padding-horizontal: 16px,\n  $density-scale: density-variables.$default-scale,\n  $density-config: (\n    height: (\n      default: $height,\n      maximum: $maximum-height,\n      minimum: $minimum-height,\n    ),\n  ),\n  $shape-radius: small,\n  $label-position-y: floating-label-variables.$position-y,\n  $label-offset: 16px,\n  $outlined-with-leading-icon-label-position-x: 32px,\n  $textarea-outlined-label-position-y: 24.75px, // visually ~4dp from top to baseline\n  $textarea-filled-label-position-y: 10.25px, // visually ~20dp from top to label baseline\n  $helper-line-padding: 16px,\n  $filled-baseline-top: 40px,\n  $input-height: 28px,\n  $textarea-label-top: 19px, // visually ~32dp from top to label baseline\n  $textarea-outlined-label-top: $textarea-label-top -\n    notched-outline-variables.$border-width,\n  $textarea-line-height: 1.5rem, // 24dp from baseline to baseline\n  $textarea-input-handle-margin: 1px,\n  // Outlined textarea's first line should be placed at the same position as\n  // outlined textfield, and should look identical if it is 1 row. Since textfield\n  // is centered and font metrics vary for where the baseline is, the best way to\n  // ensure textarea and textfield align is with padding. At 56px height with a\n  // 24px line-height, a centered textfield has 16px of top and bottom padding.\n  // Textarea should use this to position itself.\n  $textarea-outlined-input-margin-top: 16px,\n  $textarea-outlined-input-margin-bottom: 16px,\n  $textarea-outlined-density-config: (\n    margin-top: (\n      default: $textarea-outlined-input-margin-top,\n      maximum: $textarea-outlined-input-margin-top,\n      minimum: $textarea-outlined-input-margin-top - 8,\n    ),\n    margin-bottom: (\n      default: $textarea-outlined-input-margin-bottom,\n      maximum: $textarea-outlined-input-margin-bottom,\n      minimum: $textarea-outlined-input-margin-bottom - 8,\n    ),\n  ), // remove 1/2 of scale to -4 for minimum\n  $textarea-outlined-label-density-config: (\n    top: (\n      default: $textarea-outlined-label-top,\n      maximum: $textarea-outlined-label-top,\n      minimum: $textarea-outlined-label-top - 8,\n    ),\n  ), // remove 1/2 of scale to -4 for minimum\n  $textarea-filled-input-margin-top: 23px, // visually ~40dp from top to baseline\n  $textarea-filled-input-margin-bottom: 9px, // visually ~16dp from baseline to bottom\n  $textarea-filled-density-config: (\n    margin-bottom: (\n      default: $textarea-filled-input-margin-bottom,\n      maximum: $textarea-filled-input-margin-bottom,\n      minimum: $textarea-filled-input-margin-bottom - 4,\n    ),\n  ), // scale to -1 for minimum\n  $textarea-filled-label-density-config: (\n    top: (\n      default: $textarea-label-top,\n      maximum: $textarea-label-top,\n      minimum: $textarea-label-top - 2,\n    ),\n  ), // remove 1/2 of scale to -1 for minimm\n  $textarea-filled-no-label-input-margin-top: 16px, // see above explanation for outlined textarea margin\n  $textarea-filled-no-label-input-margin-bottom: 16px, // see above explanation for outlined textarea margin\n  $textarea-filled-no-label-density-config: (\n    margin-top: (\n      default: $textarea-filled-no-label-input-margin-top,\n      maximum: $textarea-filled-no-label-input-margin-top,\n      minimum: $textarea-filled-no-label-input-margin-top - 8,\n    ),\n    margin-bottom: (\n      default: $textarea-filled-no-label-input-margin-bottom,\n      maximum: $textarea-filled-no-label-input-margin-bottom,\n      minimum: $textarea-filled-no-label-input-margin-bottom - 8,\n    ),\n  ), // remove 1/2 of scale to -4 for minimum\n  $textarea-internal-counter-input-margin-bottom: 2px, // visually ~20dp from baseline to counter baseline\n  $textarea-internal-counter-baseline-bottom: 16px,\n  // Note that the scale factor is an eyeballed approximation of what's shown in the mocks.\n\n  $prefix-padding: 2px,\n  $prefix-end-aligned-padding: 12px,\n  $suffix-padding: 12px,\n  $suffix-end-aligned-padding: 2px\n);\n
'},95303:function(t,e,o){"use strict";o.r(e);e.default='
@use '@material/theme/theme-color' with (\n  $primary: #6200ee, // baseline purple, 500 tone\n  $on-primary: if(contrast-tone($primary) == 'dark', #000, #fff),\n\n  $secondary: #018786, // baseline teal, 600 tone\n  $on-secondary: if(contrast-tone($secondary) == 'dark', #000, #fff),\n  $background: #fff, // White\n\n  $surface: #fff,\n  $on-surface: if(contrast-tone($surface) == 'dark', #000, #fff),\n\n  $error: #b00020,\n  $on-error: if(contrast-tone($error) == 'dark', #000, #fff),\n\n  $text-colors: (\n    dark: (\n      primary: rgba(black, 0.87),\n      secondary: rgba(black, 0.54),\n      hint: rgba(black, 0.38),\n      disabled: rgba(black, 0.38),\n      icon: rgba(black, 0.38),\n    ),\n    light: (\n      primary: white,\n      secondary: rgba(white, 0.7),\n      hint: rgba(white, 0.5),\n      disabled: rgba(white, 0.5),\n      icon: rgba(white, 0.5),\n    ),\n  ),\n\n  $text-emphasis: (\n    high: 0.87,\n    medium: 0.6,\n    disabled: 0.38,\n  )\n);\n
  • Material Color System Usage (See below color palette)

    @use '@material/theme' as color;\n\n.test {\n  color: color.$red-800;\n}\n
'},86060:function(t,e,o){"use strict";o.r(e);e.default='
@use '@material/top-app-bar' with (\n  // Default styles\n  $row-height: 64px,\n  $title-left-padding: 20px,\n  $section-vertical-padding: 8px,\n  $section-horizontal-padding: 12px,\n\n  $mobile-breakpoint: 599px,\n\n  // Default mobile styles\n  $mobile-row-height: 56px,\n  $mobile-section-padding: 4px,\n\n  // Short top app bar\n  $short-collapsed-border-radius: 4px,\n  $short-collapsed-width: 56px,\n  $short-collapsed-right-icon-padding: 12px,\n\n  // Prominent styles\n  $prominent-row-height: 128px,\n  $prominent-title-bottom-padding: 2px,\n\n  // Prominent mobile styles\n  $prominent-mobile-title-bottom-padding: 6px,\n\n  // Dense styles\n  $dense-row-height: 48px,\n  $dense-section-horizontal-padding: 4px,\n  $dense-title-left-padding: 12px,\n\n  // Dense & Prominent styles\n  $dense-prominent-title-bottom-padding: 9px\n);\n
'},9226:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/tree' with (\n  $node-hover-color: rgba(theme-color.prop-value(on-surface), 0.04),\n\n  $indent-width: 24px,\n  $icon-width: 24px,\n  $label-padding: 8px 0,\n\n  $selected-background-color: rgba(\n    theme-color.prop-value(primary),\n    0.12\n  ),\n  $selected-color: theme-color.prop-value(on-surface)\n);\n
'},81633:function(t,e,o){"use strict";o.r(e);e.default='
@use '@material/typography/typography' with (\n  $font-family: string.unquote('Roboto, sans-serif'),\n\n  // Override styles\n  $styles-headline1: (),\n  $styles-headline2: (),\n  $styles-headline3: (),\n  $styles-headline4: (),\n  $styles-headline5: (),\n  $styles-headline6: (),\n  $styles-subtitle1: (),\n  $styles-subtitle2: (),\n  $styles-body1: (),\n  $styles-body2: (),\n  $styles-caption: (),\n  $styles-button: (),\n  $styles-overline: ()\n);\n
  • Override styles properties
    • font-size
    • line-height
    • font-weight
    • letter-spacing
    • text-decoration
    • text-transform
'},95727:function(t,e,o){"use strict";o.r(e);e.default='
  • $alert(message)

  • $alert(options)

    interface VueInstance {\n  $alert(options: string | object): Promise<void>;\n}\n

Options

Option Type Default Description
className string '' The custom class name for the alert dialog.
title string '' The title of the alert dialog.
state string '' State type.
stateOutlined boolean false Show outlined state.
message string '' The content to be displayed in the alert dialog.
raw boolean false Rendered plain HTML.
buttonText string 'OK' Alert button content.
callback function false Handle some event when the alert button is clicked.
interface AlertDialog {\n  state: 'success' | 'info' | 'warning' | 'error' | 'help';\n}\n

Events

  • Usage 1

    $alert({\n  message,\n  callback() {\n    // ...\n  }\n});\n
  • Usage 2 (Recommended)

    $alert(message).then(() => {\n  // ...\n});\n

Use $alert without .vue component

import { useAlert } from 'balm-ui';\n// OR\n// import { useAlert } from 'balm-ui/plugins/alert';\n\nconst $alert = useAlert();\n$alert('Hello BalmUI');\n
'},70669:function(t,e,o){"use strict";o.r(e);e.default='

Dialog: alert

'},56215:function(t,e,o){"use strict";o.r(e);e.default='
<ui-alert><!-- message --></ui-alert>\n

Props

Name Type Default Description
state string '' State type.
stateOutlined boolean false Show outlined state.
closable boolean false Whether alert can be closed.
interface Alert {\n  state: 'success' | 'info' | 'warning' | 'error' | 'help';\n}\n

Slots

Name Props Description
default The default slot holds the message content and can contain HTML.
'},53483:function(t,e,o){"use strict";o.r(e);e.default='

Alerts

Alerts provide contextual feedback messages for typical user actions with the handful of available and flexible alert messages.

'},61904:function(t,e,o){"use strict";o.r(e);e.default='

Anchors

'},17748:function(t,e,o){"use strict";o.r(e);e.default='
<div v-anchor></div>\n

1. Set Container

  • v-anchor.bodyElement: custom html contianer (Default contianer is <html>)
  • v-anchor.html: for html (e.g. markdown)
  • v-anchor.offset="offsetValue": set offset for scrollTop (Use data-vanchor-offset in <html> or custom contianer)

offsetValue is a number

<html data-vanchor-offset="64">\n  <!-- Anchors & Targets -->\n</html>\n\n<!-- OR -->\n\n<div class="container" v-anchor.offset="64">\n  <!-- Anchors & Targets -->\n</div>\n

2. Set Anchors & Targets

  • v-anchor:href
  • v-anchor:id

2.1 Default Usage

<div v-anchor:href="'#target1'">Anchor 1</div>\n<div v-anchor:href="'#target2'">Anchor 2</div>\n\n<div v-anchor:id="'target1'">Target 1</div>\n<div v-anchor:id="'target2'">Target 2</div>\n

2.2 HTML Usage

  • class="v-anchor" data-href="selector"
  • id or unique class attribute
<div v-anchor.html>\n  <div class="v-anchor" data-href="#target1">Anchor 1</div>\n  <div class="v-anchor" data-href="#target2">Anchor 2</div>\n\n  <div id="target1">Target 3</div>\n  <div id="target2">Target 4</div>\n</div>\n
'},75684:function(t,e,o){"use strict";o.r(e);e.default='
<ui-autocomplete></ui-autocomplete>\n

Props

Name Type Default Description Version
outlined boolean false Styles the autocomplete as an outlined text field. (label or placeholder required)
modelValue (v-model) string, number '' Mandatory.
source array [] Defines the data to use, must be specified.
sourceFormat object { label: 'label', value: 'value' } Defines the data source format. 9.3.0
inputId string null The id attribute of the <input> and the for attribute of the <label>.
label string '' A text caption or description for the autocomplete, which use the input's placeholder attribute instead.
placeholder string null The placeholder attribute of the <input>.
disabled boolean false Styles the autocomplete as a disabled text field.
required boolean false Styles the autocomplete as a required text field.
autofocus boolean false If set to true the first item will automatically be focused when the menu is shown.
delay number 300 The delay in milliseconds between when a keystroke occurs and when a search is performed. A zero-delay makes sense for local data (more responsive), but can produce a lot of load for remote data, while being less responsive.
minlength number 1 The minimum number of characters a user must type before a search is performed. Zero is useful for local data with just a few items, but a higher value should be used when a single character search could match a few thousand items.
remote boolean false Get data by AJAX. Default usage for local data.
highlight boolean false Styles the autocomplete suggestion value as a strong text. 9.3.0
filterKeywords boolean false Enables the filter keywords suggestion. 10.11.0
fullwidth boolean false Styles the autocomplete as a full width text field.
endAligned boolean false Styles the autocomplete with an end-aligned input.
icon string '' Optional. Indicates an icon element with a leading icon. See Material Icons list. (No need to configure withLeadingIcon)
withLeadingIcon boolean, string false Styles the autocomplete as a text field with a leading icon. (Use with before slot)
withTrailingIcon boolean, string false Styles the autocomplete as a text field with a trailing icon. (Use with after slot)
inside boolean false Styles for the overflow inside component (e.g. in <ui-dialog>) 10.10.0
  • source prop. There are two supported formats:
    • String array: [ 'Choice1', 'Choice2' ]
    • Object array (The object must contain label and value key): [ { label: 'Choice1', value: 'value1' }, ... ]

      You can customize your properties by sourceFormat prop

Slots

Name Props Description
default The default slot holds the label for the autocomplete.
before iconClass The before slot holds a custom leading icon.
after iconClass The before slot holds a custom trailing icon.

Events

Name Type Description
update:modelValue function(value: string|number) Emits when the autocomplete value is changed.
search function(keywords: string) Emits when the autocomplete value is changed. Applicable only for the remote autocomplete.
selected function(item: object) Emits when the autocomplete item is selected.
  • selected event return data:

    {\n  label: 'Choice 1',\n  value: 'value 1',\n  // more custom fields\n}\n

NOTE: If you are not using v-model, you should listen for the autocomplete using @update:modelValue and update the modelValue prop.

  • Automatic

    <ui-autocomplete v-model="value"></ui-autocomplete>\n
  • Manual

    <ui-autocomplete\n  :model-value="value"\n  @update:model-value="balmUI.onChange('value', $event)"\n></ui-autocomplete>\n
'},55422:function(t,e,o){"use strict";o.r(e);e.default='

Autocomplete

'},10248:function(t,e,o){"use strict";o.r(e);e.default='

Badge component

<ui-badge></ui-badge>\n

Props

Name Type Default Description
count number 0 Number to show in badge.
overlap boolean false Make the badge overlap with its container.
maxCount number 99 Max count to show.
dot boolean false Whether to display a dot instead of count.
state string '' State type for text badge.
interface Badge {\n  state: 'success' | 'info' | 'warning' | 'error' | 'help';\n}\n

Slots

Name Props Description
default The default slot holds the text content and can contain HTML.
badge The badge slot holds the custom badge content.
'},14411:function(t,e,o){"use strict";o.r(e);e.default='

Badges

Small status descriptors for UI components.

'},90134:function(t,e,o){"use strict";o.r(e);e.default='

Badge directive

<div v-badge></div>\n
  • v-badge="count"
  • v-badge.overlap="count"
  • v-badge.dot
Value Type Default Description
count number 0 Number to show in badge.

maximum count: 99

'},49731:function(t,e,o){"use strict";o.r(e);e.default='
<ui-banner><!-- the banner message --></ui-banner>\n

Props

Name Type Default Description Version
modelValue (v-model) boolean false Mandatory.
centered boolean false Displayed centered. By default, banners are positioned as leading. 9.20.0
fixed boolean false When used below top app bars, banners should remain fixed at the top of the screen. 9.20.0
withImage boolean false Images can help communicate a banner\u2019s message. 9.20.0
mobileStacked boolean false On mobile view, banners with long text should have their action(s) be positioned below the text instead of alongside it. 9.20.0
primaryButtonText boolean 'OK' The primary action text.
secondaryButtonText boolean '' The secondary action text.

Slots

Name Props Description
default The default slot holds the message text for the banner.
image The icon slot holds the icon or image for the banner.
actions The custom action buttons.

Events

Name Type Description
update:modelValue function(open: boolean) Emits when the banner is hidden.
closed function(reason: string) Emits when the banner is closed.

NOTE: If you are not using v-model, you should listen for the banner using @update:modelValue and update the modelValue prop.

  • Automatic

    <ui-banner v-model="open"></ui-banner>\n
  • Manual

    <ui-banner\n  :model-value="open"\n  @update:model-value="balmUI.onChange('open', $event)"\n></ui-banner>\n
'},63571:function(t,e,o){"use strict";o.r(e);e.default='

Banner

A banner displays a prominent message and related optional actions.

'},67082:function(t,e,o){"use strict";o.r(e);e.default='
<ui-bottom-sheet></ui-bottom-sheet>\n

Props

Name Type Default Description
modelValue (v-model) boolean false Mandatory.

Slots

Name Props Description
default The default slot holds the content for the bottom sheet.

Events

Name Type Description
update:modelValue function(open: boolean) Emits when the bottom sheet is hidden.

NOTE: If you are not using v-model, you should listen for the bottom sheet using @update:modelValue and update the modelValue prop.

  • Automatic

    <ui-bottom-sheet v-model="open"></ui-bottom-sheet>\n
  • Manual

    <ui-bottom-sheet\n  :model-value="open"\n  @update:model-value="balmUI.onChange('open', $event)"\n></ui-bottom-sheet>\n
'},77416:function(t,e,o){"use strict";o.r(e);e.default='

Bottom Sheet

New in 9.25.0

'},68248:function(t,e,o){"use strict";o.r(e);e.default='

Button component

<ui-button><!-- the button text label --></ui-button>\n

Props

Name Type Default Description
type string 'text' Mandatory. Button types.
outlined boolean false Optional. Styles an outlined button that is flush with the surface.
raised boolean false Optional. Styles a contained button that is elevated above the surface.
unelevated boolean false Optional. Styles a contained button that is flush with the surface.
icon string '' Optional. Indicates an icon element. See Material Icons list.
disabled boolean false The <button> native attribute. To disable a button.
nativeType string 'button' The <button> native attribute.
interface UiButton {\n  type?: 'text' | 'outlined' | 'raised' | 'unelevated';\n  nativeType?: 'button' | 'submit' | 'reset';\n}\n

Slots

Name Props Description
default The default slot holds the button or link text and can contain HTML.
before iconClass Custom leading icon
after iconClass Custom trailing icon
<template #after="{ iconClass }">\n  <ui-icon :class="iconClass">ICON</ui-icon>\n</template>\n

Events

Name Type Description
click function(event: object) Emits when the button is clicked.
'},25753:function(t,e,o){"use strict";o.r(e);e.default='

Buttons

Buttons help people initiate actions, from sending an email, to sharing a document, to liking a post.

'},92365:function(t,e,o){"use strict";o.r(e);e.default='

Button directive

New in 9.22.0

<a v-button></a>\n
  • v-button
  • v-button.outlined
  • v-button.raised
  • v-button.unelevated
'},38947:function(t,e,o){"use strict";o.r(e);e.default='
<ui-card-actions><!-- card actions area --></ui-card-actions>\n

Props

Name Type Default Description
fullBleed boolean false Removes the action area's padding and causes its only child (a mdc-card__action element) to consume 100% of the action area's width

Slots

Name Props Description
default The default slot holds the card actions parent components.

Child components:

  • <ui-card-buttons>
  • <ui-card-icons>
'},91436:function(t,e,o){"use strict";o.r(e);e.default='
<ui-card-buttons><!-- the button components --></ui-card-buttons>\n

Slots

Name Props Description
default The default slot holds the button components and can contain HTML.
'},75198:function(t,e,o){"use strict";o.r(e);e.default='
<ui-card-content>\n  <!-- content within actionable area: rich media + additional text content -->\n</ui-card-content>\n

Slots

Name Props Description
default The default slot holds the card content and can contain HTML.

Child components:

  • <ui-card-media>
  • <ui-card-text>
'},60385:function(t,e,o){"use strict";o.r(e);e.default='
<ui-card-icons><!-- the icon button components --></ui-card-icons>\n

Slots

Name Props Description
default The default slot holds the icon components and can contain HTML.
'},94364:function(t,e,o){"use strict";o.r(e);e.default='
<ui-card-media-content><!-- rich media content --></ui-card-media-content>\n

Slots

Name Props Description
default The default slot holds the card media content and can contain HTML.
'},8990:function(t,e,o){"use strict";o.r(e);e.default='
<ui-card-media>\n  <!-- <ui-card-media-content> -->\n</ui-card-media>\n

Props

Name Type Default Description
square boolean false Optional. Automatically scales the media area's height to equal its width.
rectangle boolean false Optional. Automatically scales the media area's height according to its width, maintaining a 16:9 aspect ratio.

Slots

Name Props Description
default The default slot holds the card media content component and can contain HTML.

Child components:

  • <ui-card-media-content>
'},65817:function(t,e,o){"use strict";o.r(e);e.default='
<ui-card-text><!-- additional text content --></ui-card-text>\n

Slots

Name Props Description
default The default slot holds the card text content and can contain HTML.
'},73111:function(t,e,o){"use strict";o.r(e);e.default='
<ui-card><!-- Card contents --></ui-card>\n

Props

Name Type Default Description
outlined boolean false Removes the shadow and displays a hairline outline instead

Slots

Name Props Description
default The default slot holds the card child components and can contain HTML.

Child components:

  • <ui-card-content>
  • <ui-card-actions>
'},47212:function(t,e,o){"use strict";o.r(e);e.default='

Cards

Cards contain content and actions that relate information about a subject.

'},15640:function(t,e,o){"use strict";o.r(e);e.default='
<ui-card>\n  <ui-card-content>\n    <ui-card-media>\n      <ui-card-media-content></ui-card-media-content>\n    </ui-card-media>\n    <ui-card-text></ui-card-text>\n  </ui-card-content>\n  <ui-card-actions>\n    <ui-card-buttons></ui-card-buttons>\n    <ui-card-icons></ui-card-icons>\n  </ui-card-actions>\n</ui-card>\n
Component Description
<ui-card> Mandatory. The main card element.
<ui-card-content> Optional. The main tappable area of the card. Typically contains most (or all) card content except <ui-card-actions>. Only applicable to cards that have a primary action that the main surface should trigger.
<ui-card-media> Optional. Media area that displays a custom background-image with background-size: cover.
<ui-card-media-content> Optional. An absolutely-positioned box the same size as the media area, for displaying a title or icon on top of the background-image.
<ui-card-text> Optional. Additional text content.
<ui-card-actions> Optional. Row containing action buttons and/or icons.
<ui-card-buttons> Optional. A group of action buttons, displayed on the left side of the card (in LTR), adjacent to <ui-card-icons>.
<ui-card-icons> Optional. A group of supplemental action icons, displayed on the right side of the card (in LTR), adjacent to <ui-card-buttons>.
'},72413:function(t,e,o){"use strict";o.r(e);e.default='
<ui-form-field>\n  <ui-checkbox></ui-checkbox>\n  <label>Checkbox</label>\n</ui-form-field>\n

Props

Name Type Default Description
modelValue (v-model) boolean, array false Mandatory.
indeterminate boolean false Styles the checkbox as an indeterminate checkbox.
inputId string null The id attribute of the <input> and the for attribute of the <label>.
value string, number '' The value attribute of the <input>.
disabled boolean false Styles the checkbox as a disabled checkbox.
attrs object {} Other attributes for <input>.

Events

Name Type Description
update:modelValue function(value: boolean|array) Emits when the checkbox is changed.

NOTE: If you are not using v-model, you should listen for the checkbox using @update:modelValue and update the modelValue prop.

  • Automatic

    <ui-checkbox v-model="value"></ui-checkbox>\n
  • Manual

    <ui-checkbox\n  :model-value="value"\n  @update:model-value="balmUI.onChange('value', $event)"\n></ui-checkbox>\n
'},67313:function(t,e,o){"use strict";o.r(e);e.default='

Checkboxes

Checkboxes allow the user to select one or more items from a set. Checkboxes can be used to turn an option on or off.

'},47431:function(t,e,o){"use strict";o.r(e);e.default='
<ui-chip><!-- the chip text --></ui-chip>\n

Props

Name Type Default Description
icon string '' Optional. Indicates an leading icon element. See Material Icons list.
selected boolean false Optional. Hides the leading icon in a filter chip when the chip is selected.
deletable boolean false Optional. Indicates a trailing icon which removes the chip from the DOM. Only use with input and filter chips.

NOTE: The removable prop rename to deletable in 10.1.0, and add support for filter chips

Slots

Name Props Description
default The default slot holds the chip child components.
before iconClass Custom leading icon in the chip.
after iconClass Custom trailing icon in the input chips.
'},51582:function(t,e,o){"use strict";o.r(e);e.default='
<ui-chips>\n  <ui-chip></ui-chip>\n  <!-- more chip -->\n</ui-chips>\n

<ui-chips> Types

  • 0: 'action'
  • 1: 'input'
  • 2: 'choice'
  • 3: 'filter'

Props

Name Type Default Description Version
type string, number 0 Mandatory. Chips types.
modelValue (v-model) string, number, array '' Mandatory. Single or multiple selection from a set of options.
options array [] An array of options to show to the user. Applicable only for choice or filter chips.
optionFormat object { label: 'label', value: 'value' } Defines the option data format. 9.34.0
items array [] A set of chips. Applicable only for updating the input chips.

\u26a0\ufe0f The prop optionLabel and optionValue is deprecated, use optionFormat instead in 9.34.0. \u26a0\ufe0f The prop chips is deprecated, use items instead in 10.0.0.

Slots

Name Props Description
default The default slot holds the chip components and can contain HTML.

Events

Name Type Description
update:modelValue function(selectedIndex: number|array) Emits when the chips is changed.

NOTE: If you are not using v-model, you should listen for the chips using @update:modelValue and update the modelValue prop.

  • Automatic

    <ui-chips v-model="selectedIndex"></ui-chips>\n
  • Manual

    <ui-chips\n  :model-value="selectedIndex"\n  @update:model-value="balmUI.onChange('selectedIndex', $event)"\n></ui-chips>\n
'},3010:function(t,e,o){"use strict";o.r(e);e.default='

Chips

Chips help people enter information, make selections, filter content, or trigger actions. Chips can show multiple interactive elements together in the same area, such as a list of selectable movie times, or a series of email contacts.

'},29474:function(t,e,o){"use strict";o.r(e);e.default='
<ui-collapse></ui-collapse>\n

Props

Name Type Default Description Version
modelValue (v-model) boolean false Default expanded state.
withIcon boolean false Default icons.
iconEndAligned boolean false Styles icon end aligned. 9.29.0
ripple boolean, number false Sets the ripple color.
  • ripple value:
    • true: default color
    • 1: primary color
    • 2: secondary color

Slots

Name Props Description
default The default slot holds the collapse content and can contain HTML.
expand-more-icon Custom expand more icon.
expand-less-icon Custom expand less icon.
'},74194:function(t,e,o){"use strict";o.r(e);e.default='

Collapse

A content area which can be collapsed and expanded.

'},73197:function(t,e,o){"use strict";o.r(e);e.default='
  • $confirm(message)

  • $confirm(options)

    interface VueInstance {\n  $confirm(options: string | object): Promise<boolean>;\n}\n

Options

Option Type Default Description
className string '' The custom class name for the confirm dialog.
title string '' The title of the confirm dialog.
state string '' State type.
stateOutlined boolean false Show outlined state.
message string '' The content to be displayed in the confirm dialog.
raw boolean false Rendered plain HTML.
acceptText string 'OK' Accept button content.
cancelText string 'Cancel' Cancel button content.
callback function false Handle some event when the confirm button is clicked.
interface ConfirmDialog {\n  state: 'success' | 'info' | 'warning' | 'error' | 'help';\n}\n

Events

  • Usage 1

    $confirm({\n  message,\n  callback(result) {\n    // ...\n  }\n});\n
  • Usage 2 (Recommended)

    $confirm(message).then((result) => {\n  // ...\n});\n

result is a boolean value indicating whether OK or Cancel was selected (true means OK).

Use $confirm without .vue component

import { useConfirm } from 'balm-ui';\n// OR\n// import { useConfirm } from 'balm-ui/plugins/confirm';\n\nconst $confirm = useConfirm();\n$confirm('Hello BalmUI');\n
'},30812:function(t,e,o){"use strict";o.r(e);e.default='

Dialog: confirm

'},85507:function(t,e,o){"use strict";o.r(e);e.default='

Copy

New in 9.21.0

'},64463:function(t,e,o){"use strict";o.r(e);e.default='
<div v-copy></div>\n
interface Copy {\n  text: string;\n  success: Function;\n  error?: Function;\n}\n
'},93084:function(t,e,o){"use strict";o.r(e);e.default='
<ui-datepicker></ui-datepicker>\n

<ui-datepicker> type in config.mode prop

  • single (default)
  • multiple
  • range
  • month
  • time

Props

Name Type Default Description
outlined boolean false Styles the datepicker as an outlined text field. (label or placeholder required)
modelValue (v-model) string, number, array '' Mandatory.
inputId string null The id attribute of the <input> and the for attribute of the <label>.
label string '' A text caption or description for the datepicker, which use the input's placeholder attribute instead.
placeholder string null The placeholder attribute of the <input>.
disabled boolean false Styles the datepicker as a disabled text field.
required boolean false Styles the datepicker as a required text field.
fullwidth boolean false Styles the datepicker as a full width text field.
endAligned boolean false Styles the datepicker with an end-aligned input.
icon string '' Optional. Indicates an icon element with a leading icon. See Material Icons list. (No need to configure withLeadingIcon)
withLeadingIcon boolean, string false Styles the datepicker as a text field with a leading icon. (Use with before slot)
withTrailingIcon boolean, string false Styles the datepicker as a text field with a trailing icon. (Use with after slot)
config object {} See Flatpickr configuration.
toggle boolean false Show calendar icon button.
clear boolean false Show clear icon button.
monthOptions object {} See Flatpickr month select options.
  • For localization
<ui-datepicker :config="config"></ui-datepicker>\n
import lang from 'flatpickr/dist/l10n/zh.js';\n\nexport default {\n  data() {\n    return {\n      config: {\n        locale: lang.zh\n      }\n    };\n  }\n};\n

Slots

Name Props Description
default The default slot holds the label for the datepicker.
before iconClass The before slot holds a custom leading icon.
after iconClass The before slot holds a custom trailing icon. (When withTrailingIcon = true)
toggle The custom toggle icon button. (When withTrailingIcon = false)
clear The custom clear icon button. (When withTrailingIcon = false)

Events

Name Type Description
update:modelValue function(value: string|array) Emits when the datepicker value is changed.

NOTE: If you are not using v-model, you should listen for the datepicker using @update:modelValue and update the modelValue prop.

  • Automatic

    <ui-datepicker v-model="value"></ui-datepicker>\n
  • Manual

    <ui-datepicker\n  :model-value="value"\n  @update:model-value="balmUI.onChange('value', $event)"\n></ui-datepicker>\n
'},61897:function(t,e,o){"use strict";o.r(e);e.default='

Date pickers

Date pickers let users select a date, or a range of dates.

'},95578:function(t,e,o){"use strict";o.r(e);e.default='

Debounce

New in 9.21.0

'},50987:function(t,e,o){"use strict";o.r(e);e.default='
<div v-debounce></div>\n
interface Debounce {\n  callback: Function;\n  delay?: number; // defaults: 250 ms\n}\n
'},56264:function(t,e,o){"use strict";o.r(e);e.default='
<ui-dialog-actions><!-- the dialog actions --></ui-dialog-actions>\n

Props

Name Type Default Description
acceptText string 'OK' The accept button text.
cancelText string 'Cancel' The cancel button text.

Slots

Name Props Description
default buttonClass The default slot holds the dialog actions and can contain HTML.
<template #default="{ buttonClass }">\n  <ui-button :class="buttonClass">BUTTON</ui-button>\n</template>\n

Other customizations

  • data-mdc-dialog-button-default: Optional. Add to a button to indicate that it is the default action button.
  • data-mdc-dialog-initial-focus: Optional. Add to an element to indicate that it is the element to initially focus on after the dialog has opened.
'},10319:function(t,e,o){"use strict";o.r(e);e.default='
<ui-dialog-content><!-- the dialog content --></ui-dialog-content>\n

Slots

Name Props Description
default The default slot holds the dialog content and can contain HTML.
'},92477:function(t,e,o){"use strict";o.r(e);e.default='
<ui-dialog-title><!-- the dialog title --></ui-dialog-title>\n

Props

Name Type Default Description Version
closable boolean false Displays close icon button. 9.3.0

Slots

Name Props Description
default The default slot holds the dialog title and can contain HTML.
'},11181:function(t,e,o){"use strict";o.r(e);e.default='
<ui-dialog><!-- the dialog child components --></ui-dialog>\n

NOTE: <ui-dialog> must be including a <ui-button> or <ui-icon-button> for actions.

Props

Name Type Default Description Version
modelValue (v-model) boolean false Mandatory.
escapeKey boolean true Sets the action reflected when the Escape key is pressed. Setting to false disables closing the dialog via Escape key. 9.13.0
closable boolean true Closes the dialog, when a user actions on the accept or cancel button.
maskClosable boolean false Closes the dialog, when the dialog scrim is clicked.
noScrim boolean false Hides the dialog scrim.
resetScroll boolean false Reset scroll bar, when the dialog is closed.
fullscreen boolean false Styles a full-screen dialog. 9.14.0
sheet boolean false Styles a floating sheet dialog. 10.5.0
noContentPadding boolean false Styles a no default padding dialog content. 10.5.0

NOTE: The noBackdrop prop rename to noScrim in 9.25.0

NOTE: Full-screen dialogs are intended for mobile/small-screen devices. The dialog's size will adapt to the screen size, and so becomes modal if used on larger screen sizes.

Slots

Name Props Description
default The default slot holds the dialog child components.

Child components:

  • <ui-dialog-title>
  • <ui-dialog-content>
  • <ui-dialog-actions>

Events

Name Type Description
update:modelValue function(open: boolean) Emits when the dialog is changed.
close function() Emits when the dialog is closed.
confirm function(result: boolean) Emits when the action buttons is clicked.
accept function() Emits when the accept button is clicked.
cancel function() Emits when the cancel button is clicked.

NOTE: If you are not using v-model, you should listen for the dialog using @update:modelValue and update the modelValue prop.

  • Automatic

    <ui-dialog v-model="open"></ui-dialog>\n
  • Manual

    <ui-dialog\n  :model-value="open"\n  @update:model-value="balmUI.onChange('open', $event)"\n></ui-dialog>\n
'},67121:function(t,e,o){"use strict";o.r(e);e.default='

Dialogs

Dialogs provide important prompts in a user flow. They can require an action, communicate information, or help users accomplish a task.

'},56306:function(t,e,o){"use strict";o.r(e);e.default='
<ui-dialog>\n  <ui-dialog-title></ui-dialog-title>\n  <ui-dialog-content></ui-dialog-content>\n  <ui-dialog-actions></ui-dialog-actions>\n</ui-dialog>\n
Component Description
<ui-dialog> Mandatory. The root DOM element containing the surface and the container.
<ui-dialog-title> Optional. Brief summary of the dialog's purpose.
<ui-dialog-content> Optional. Primary content area. May contain a list, a form, or prose.
<ui-dialog-actions> Optional. Footer area containing the dialog's action buttons.
'},43254:function(t,e,o){"use strict";o.r(e);e.default='
<ui-divider></ui-divider>\n

<ui-divider> Types

  • 0: 'horizontal'
  • 1: 'vertical'

Props

Name Type Default Description
type string, number 0 Mandatory. Text divider types.

Slots

Name Props Description
default The default slot holds the divider text and can contain HTML.
left Applicable only for the vertical text divider.
right Applicable only for the vertical text divider.
'},86341:function(t,e,o){"use strict";o.r(e);e.default='

Dividers

A divider is a thin line that groups content in lists and layouts.

'},23144:function(t,e,o){"use strict";o.r(e);e.default='
<ui-drawer type="dismissible"></ui-drawer>\n<ui-drawer-app-content><!-- Content --></ui-drawer-app-content>\n

<ui-drawer type="dismissible"> only

'},85480:function(t,e,o){"use strict";o.r(e);e.default='

Drawer scrim

\u26a0\ufe0f NOTE: <ui-drawer-backdrop> is deprecated in 9.25.0, just use <ui-drawer type="modal">.

  • For balm-ui < 9.25.0

    <ui-drawer type="modal"></ui-drawer>\n<ui-drawer-backdrop></ui-drawer-backdrop>\n<div><!-- Content --></div>\n
'},39903:function(t,e,o){"use strict";o.r(e);e.default='
<ui-drawer-content><!-- the list of items --></ui-drawer-content>\n

Slots

Name Props Description
default The default slot holds the list of items (router link list) and can contain HTML.
'},41026:function(t,e,o){"use strict";o.r(e);e.default='
<ui-drawer-header><!-- the drawer header child components --></ui-drawer-header>\n

Slots

Name Props Description
default The default slot holds the drawer header child components and can contain HTML.

Child components:

  • <ui-drawer-title>
  • <ui-drawer-subtitle>
'},56359:function(t,e,o){"use strict";o.r(e);e.default='
<ui-drawer><!-- the drawer child components --></ui-drawer>\n

<ui-drawer> Types

  • 0: 'permanent'
  • 1: 'dismissible'
  • 2: 'modal'

NOTE:

  • <ui-drawer> (type="permanent") has not props and events.
  • <ui-drawer type="dismissible"> and <ui-drawer type="modal"> must be including a <ui-nav>. And the first <ui-nav-item> needs to apply activated state in the drawer.

Props

Name Type Default Description
type string, number 0 Mandatory. Drawer types.
navId string null The external menu button selector. (Please refer to the navId prop of the top app bar)
modelValue (v-model) boolean false The drawer toggle state.
viewportHeight boolean false Viewport full height(100vh) .

Slots

Name Props Description
default The default slot holds the drawer child components.

Child components:

  • <ui-drawer-header>
  • <ui-drawer-content>

Events

Name Type Description
nav function(open: boolean) Emits when the drawer is opened or closed.

NOTE: If you are not using v-model, you should listen for the drawer using @nav and update the modelValue prop.

  • Automatic

    <ui-drawer v-model="open" type="modal"></ui-drawer>\n
  • Manual

    <ui-drawer\n  :model-value="open"\n  type="modal"\n  @nav="balmUI.onChange('open', $event)"\n></ui-drawer>\n
'},926:function(t,e,o){"use strict";o.r(e);e.default='

Navigation drawer

Navigation drawers provide access to destinations in your app.

'},51725:function(t,e,o){"use strict";o.r(e);e.default='
<ui-drawer>\n  <ui-drawer-header>\n    <ui-drawer-title>Title</ui-drawer-title>\n    <ui-drawer-subtitle>Subtitle</ui-drawer-subtitle>\n  </ui-drawer-header>\n  <ui-drawer-content>\n    <ui-nav>\n      <ui-nav-item active>Activated link</ui-nav-item>\n      <ui-nav-item>Unactivated link</ui-nav-item>\n    </ui-nav>\n  </ui-drawer-content>\n</ui-drawer>\n
Component Description
<ui-drawer> Mandatory.
<ui-drawer-header> Non-scrollable element that exists at the top of the drawer.
<ui-drawer-title> Title text element of the drawer.
<ui-drawer-subtitle> Subtitle text element of the drawer.
<ui-drawer-content> Scrollable content area of the drawer.
<ui-drawer-app-content> Mandatory for <ui-drawer type="dismissible"> only. Sibling element that is resized when the drawer opens/closes.
'},14483:function(t,e,o){"use strict";o.r(e);e.default='
<ui-editor></ui-editor>\n

Props

Name Type Default Description Version
modelValue (v-model) string '' Mandatory.
options object {} See Quill options.
toolbar array, string null Custom or 'full' editor toolbar.
placeholder string null Placeholder text to show when editor is empty.
readonly boolean false Whether to instantiate the editor to read-only mode.
fullwidth boolean false Styles the editor as a full width editor. 10.3.0
theme string 'snow' Name of theme to use.
toolbarIcons object {} Custom toolbar icons.
toolbarTips object {} Custom toolbar tooltips. 9.2.0
toolbarOptions object { font: [], size: [], lineheight:[] } Custom toolbar options of the Font Famliy, Font Size and Line Height.
toolbarHandlers object {} Custom toolbar handlers.
customImageHandler boolean false Enable custom image handler.
emotions array [] The emoticon extension. Supports emoji and image.
withCounter boolean false Styles the editor with an internal character counter.
extension false, object false Custom extension for Quill.
interface Editor {\n  theme: 'bubble' | 'snow';\n}\n

toolbar prop

  • Official default tools:
    • align/direction/indent
    • background/color/font/size
    • blockquote/code-block/header/list
    • bold/italic/link/script/strike/underline
    • image/video
  • BalmUI extension tools:
    • font/size/lineheight: custom Font Famliy, Font Size and Line Height
    • image: custom image upload handler
    • emoji: emoji module
    • divider: horizontal rule
    • textindent: like indent, but for inline
    • linkoff: remove all links in editor
    • counter: character counter module
    • undo/redo: built-in undo/redo handling
    • selectall: select all content in editor

toolbarOptions & emotions format for global

  • /path/to/app/scripts/config/editor.js

    const toolbarTips = {\n  header: 'Headline',\n  font: 'Font Famliy',\n  size: 'Font Size',\n  lineheight: 'Line Height',\n  bold: 'Bold',\n  italic: 'Italic',\n  underline: 'Underline',\n  color: 'Text Color',\n  background: 'Background Color',\n  align: {\n    default: 'Left Align',\n    center: 'Center Align',\n    right: 'Right Align',\n    justify: 'Justify Align'\n  },\n  list: {\n    ordered: 'Ordered List',\n    bullet: 'Bullet List'\n  },\n  indent: {\n    '+1': 'Increase Indent',\n    '-1': 'Decrease Indent'\n  },\n  blockquote: 'Blockquote',\n  emoji: 'Emoji'\n};\n\nconst toolbarOptions = {\n  // To customize Font Family, you need to configure the Sass variable `$font-family`\n  font: [\n    'Arial',\n    'Arial Black',\n    'Comic Sans MS',\n    'Courier New',\n    'Tahoma',\n    'Georgia',\n    'Helvetica',\n    'Segoe UI',\n    'Impact',\n    'Times New Roman',\n    'Verdana'\n  ],\n  size: [\n    '8px',\n    '9px',\n    '10px',\n    '11px',\n    '12px',\n    '13px',\n    '14px',\n    '16px',\n    '18px',\n    '24px',\n    '36px',\n    '48px',\n    '60px',\n    '72px',\n    '96px'\n  ],\n  lineheight: [\n    '1',\n    '1.2',\n    '1.5',\n    '1.6',\n    '1.8',\n    '2',\n    '2.4',\n    '2.8',\n    '3',\n    '4',\n    '5'\n  ]\n};\n\nconst emotions = [\n  {\n    type: 'image',\n    title: 'Default',\n    content: [\n      {\n        name: 'oo',\n        alt: '\u574f\u7b11',\n        src: 'https://material.balmjs.com/images/emoji/p_huaixiao.png'\n      },\n      {\n        name: 'xx',\n        alt: '\u8214\u5c4f',\n        src: 'https://material.balmjs.com/images/emoji/p_tian.png'\n      }\n    ]\n  },\n  {\n    type: 'emoji',\n    title: 'emoji',\n    content: [\n      {\n        name: 'smile',\n        value: '\ud83d\ude00'\n      },\n      {\n        name: 'cry',\n        value: '\ud83d\ude06'\n      }\n    ]\n  },\n  {\n    type: 'image',\n    title: 'Custom',\n    content: [\n      {\n        name: 'yy',\n        alt: '\u795e\u517d',\n        src: 'https://material.balmjs.com/images/emoji/g_shenshou.gif'\n      },\n      {\n        name: 'zz',\n        alt: '\u6d6e\u4e91',\n        src: 'https://material.balmjs.com/images/emoji/g_fuyun.gif'\n      }\n    ]\n  }\n];\n\nexport { toolbarTips, toolbarOptions, emotions };\n
  • /path/to/app/scripts/main.js

    import { toolbarTips, toolbarOptions, emotions } from '@/config/editor';\nimport BalmUIPlus from 'balm-ui/dist/balm-ui-plus';\n\n// `app`: Vue app\napp.use(BalmUIPlus, {\n  UiEditor: {\n    toolbarTips,\n    toolbarOptions,\n    emotions\n  }\n});\n

toolbarHandlers prop

{\n  toolbar: ['customFormat'],\n  toolbarHandlers: {\n    customFormat: (quill, value) => {};\n  }\n}\n
  • quill.insert(customFormat, value) => {}: insert content into the editor
  • quill.insert('html', content): insert html into the editor (New in 9.2.0)

Slots

Name Props Description
toolbar The toolbar slot holds the custom format buttons and can contain HTML.

Events

Name Type Description
update:modelValue function(content: string) Emits when the editor text content is changed.
file-change function(file: object, insert: function) customImageHandler required. (Insert uploaded image content into the editor by insert(url) function)

NOTE: If you are not using v-model, you should listen for the editor using @update:modelValue and update the modelValue prop.

  • Automatic

    <ui-editor v-model="content"></ui-editor>\n
  • Manual

    <ui-editor\n  :model-value="content"\n  @update:model-value="balmUI.onChange('content', $event)"\n></ui-editor>\n

Public Methods

Encode & Decode Emoji

<ui-editor ref="editor" v-model="content"></ui-editor>\n
  • $refs.editor.useEditor(): get Quill module and a quill instance (New in 10.4.0)
  • $refs.editor.decodeEmoji(content): get back-end data \u2192 set front-end view
  • $refs.editor.encodeEmoji(html): submit front-end data \u2192 save back-end data
'},61729:function(t,e,o){"use strict";o.r(e);e.default='

Editor

A modern WYSIWYG editor (based on Quill with built-in extension features).

'},36994:function(t,e,o){"use strict";o.r(e);e.default='

Elevation

Shadows provide important visual cues about objects\u2019 depth and directional movement. They are the only visual cue indicating the amount of separation between surfaces. An object\u2019s elevation determines the appearance of its shadow. The elevation values are mapped out in a "z-space" and range from 0 to 24.

'},57249:function(t,e,o){"use strict";o.r(e);e.default='
<div v-shadow="4"></div>\n

Default elevation

  • v-shadow="z"
Value Type Default Description
z number 0 Sets the elevation to the (N)dp, where 1 <= N <= 24

Transition elevation

  • v-shadow.transition="[z1, z2]"

Applies the correct css rules to transition an element between elevations:

  • z1: default class
  • z2: hover class
'},13351:function(t,e,o){"use strict";o.r(e);e.default='

1. Event Shortcut

\u26a0\ufe0f <script setup> is not supported

interface BalmUIEvent {\n  onChange(property: string, value: any, fn?: Function);\n\n  onOpen(property: string, fn?: Function);\n  onShow(property: string, fn?: Function);\n\n  onClose(property: string, fn?: Function);\n  onHide(property: string, fn?: Function);\n}\n

Props

Name Type Default Description
property string '' Update a specified Vue instance data object (data or setup) states.
value any undefined New value of a specified Vue instance data object (data or setup) states. Applicable only for balmUI.onChange.
fn function noop After method to handle.
import { useEvent } from 'balm-ui';\n// OR\n// import { useEvent } from 'balm-ui/plugins/event';\n\nconst balmUI = useEvent();\n
  • update the data object of the Vue instance to new value

    balmUI.onChange(property, value);\n
  • update the data object of the Vue instance to true

    balmUI.onOpen(property);\nbalmUI.onShow(property);\n
  • update the data object of the Vue instance to false

    balmUI.onClose(property);\nbalmUI.onHide(property);\n

2. Optimized Custom Event

  • balmResize (better than resize)

  • balmScroll (better than scroll)

    • Composition API

      import { onMounted, onBeforeUnmount } from 'vue';\n\nfunction init() {\n  // ...\n}\n\nexport default {\n  setup() {\n    onMounted(() => {\n      init();\n      window.addEventListener('balmResize', init);\n    });\n\n    onBeforeUnmount(() => {\n      window.removeEventListener('balmResize', init);\n    });\n  }\n};\n
    • Options API

      export default {\n  mounted() {\n    this.init();\n    window.addEventListener('balmResize', this.init);\n  },\n  beforeUnmount() {\n    window.removeEventListener('balmResize', this.init);\n  },\n  methods: {\n    init() {\n      // ...\n    }\n  }\n};\n

3. Global Communication

  • $bus.on(event, callback)

  • $bus.once(event, callback) (New in 10.9.0)

  • $bus.off(event, callback)

  • $bus.emit(eventName, ...args)

    interface BalmUIEventBus {\n  on(event: string | string[], callback: Function); // Listen for a custom event on the current vm.\n  once(event: string, callback: Function); // Listen for a custom event, but only once.\n  off(event: string | string[], callback?: Function); // Remove custom event listener(s).\n  emit(eventName: string, ...args); // Trigger an event on the current instance.\n}\n\ninterface VueInstance {\n  $bus: BalmUIEventBus;\n}\n

Props

Name Type Default Description
event, eventName string Custom event name for the global communication.
args any The arguments of custom event function.
callback function Custom event function.

3.1 Use $bus with .vue component

  • Composition API

    // `/path/to/awesome.vue`\nimport { onMounted, onBeforeUnmount } from 'vue';\nimport { useBus } from 'balm-ui';\n\nexport default {\n  setup() {\n    const bus = useBus();\n\n    onMounted(() => {\n      bus.on('custom-event', (msg) => {\n        console.log(msg);\n      });\n    });\n\n    onBeforeUnmount(() => {\n      bus.off('custom-event');\n    });\n  }\n};\n
  • Options API

    // `/path/to/awesome.vue`\nexport default {\n  mounted() {\n    this.$bus.on('custom-event', (msg) => {\n      console.log(msg);\n    });\n  },\n  beforeUnmount() {\n    this.$bus.off('custom-event');\n  }\n};\n

3.2 Use $bus without .vue component

// `/path/to/awesome.js`\n\nimport { useBus } from 'balm-ui';\n// OR\n// import { useBus } from 'balm-ui/plugins/event';\n\nconst bus = useBus();\nbus.emit('custom-event', 'Hello BalmUI');\n
'},10156:function(t,e,o){"use strict";o.r(e);e.default='

BalmUI events

'},46641:function(t,e,o){"use strict";o.r(e);e.default='
<ui-fab><!-- Icon --></ui-fab>\n\n<ui-fab extended><!-- Text label --></ui-fab>\n

<ui-fab> Types

  • 0: 'regular'
  • 1: 'extended'

Props

Name Type Default Description
type string, number 0 Mandatory. FAB types.
extended boolean false Optional. modifies the FAB to wider size which includes a text label.
icon string '' Optional. for the icon element. See Material Icons list.
mini boolean false Optional. modifies the FAB to a smaller size.
exited boolean false Optional. animates the FAB out of view. When this class is removed, the FAB will return to view.

Slots

Name Props Description
default iconClass The default slot holds the floating action button icon or text label.
before iconClass Custom leading icon for the extended FAB
after iconClass Custom trailing icon for the extended FAB

NOTE: the default slot of the extended FAB has not slot-scope.

<ui-fab>\n  <template #default="{ iconClass }">\n    <ui-icon :class="iconClass">ICON</ui-icon>\n  </template>\n</ui-fab>\n\n<ui-fab extended>\n  <template #before="{ iconClass }">\n    <ui-icon :class="iconClass">ICON</ui-icon>\n  </template>\n  Text label\n</ui-fab>\n

Events

Name Type Description
click function(event: object) Emits when the floating action button is clicked.
'},84541:function(t,e,o){"use strict";o.r(e);e.default='

Floating action buttons (FAB)

The FAB represents the most important action on a screen. It puts key actions within reach.

'},49818:function(t,e,o){"use strict";o.r(e);e.default='
<ui-file></ui-file>\n

Props

Name Type Default Description
inputId string null The id attribute of the <input> and the for attribute of the <label>.
accept string '' File types that can be accepted.
multiple boolean false Whether to support selected multiple file.
disabled boolean false To disable a upload button.
outlined boolean false Optional. Styles an outlined upload button that is flush with the surface.
text string 'Upload' Text for the default upload button.
preview boolean false Optional. Enabled preview file data.

Slots

Name Props Description
default The default slot holds the file button content and can contain HTML.

Events

Name Type Description
change function(files: array) Emits when the file is changed.
  • file props in files
Name Type Description
tmpId string Temporary unique ID.
lastModified number Returns the last modified time of the file, in millisecond since the UNIX epoch (January 1st, 1970 at Midnight).
name string Returns the name of the file referenced by the File object.
size number Returns the size of the file in bytes.
type string Returns the MIME type of the file.
sourceFile file Returns a new Blob object containing the data in the specified range of bytes of the source Blob.
previewSrc string The src data for preview. Applicable only for preview status.
previewError number Preview error code: {0: 'OK', 1: 'Not image type', 2: 'Unsupported'}.
'},84175:function(t,e,o){"use strict";o.r(e);e.default='

File upload

'},56398:function(t,e,o){"use strict";o.r(e);e.default='
<ui-form-field>\n  <label></label>\n  <!-- awesome form item -->\n</ui-form-field>\n

Props

Name Type Default Description
nowrap boolean false Force the text to stay on a single line and ellipse the overflow text.
alignEnd boolean false Position the input after the label.
spaceBetween boolean false Align the input and label space between.

Slots

Name Props Description
default The default slot holds the form item and can contain HTML.
'},52752:function(t,e,o){"use strict";o.r(e);e.default='
<ui-form>\n  <template #default="{ subitemClass, actionClass }">\n    <ui-form-field>\n      <label></label>\n      <!-- awesome form item 1 -->\n      <ui-form-field></ui-form-field>\n    </ui-form-field>\n    <ui-form-field>\n      <label></label>\n      <div :class="subitemClass">\n        <!-- awesome form item 2 -->\n        <ui-form-field></ui-form-field>\n        <ui-form-field></ui-form-field>\n      </div>\n    </ui-form-field>\n    <ui-form-field :class="actionClass">\n      <ui-button></ui-button>\n    </ui-form-field>\n  </template>\n</ui-form>\n

<ui-form> Types

  • 0: 'horizontal'
  • 1: 'vertical'

Props

Name Type Default Description Version
type string, number 0 Mandatory. Form types.
itemMarginBottom number 0 Sets the form items margin bottom.
nowrap boolean false Force the <label> text to stay on a single line and ellipse the overflow text.
labelTopAligned boolean false Styles the form item with a top vertical-aligned label.
labelRightAligned boolean false Styles the form item with a right text-aligned label.
labelTopRightAligned boolean false Styles the form item with a top vertical-aligned and right text-aligned label. 9.9.0
labelWidth number 0 Sets the horizontal form items' label width.
labelMarginRight number 0 Sets the horizontal form items' label margin right.
labelMarginBottom number 0 Sets the vertical form items' label margin bottom.
actionAlign string 'left' Sets the form actions align. 9.9.0

labelTopAligned, labelRightAligned and labelTopRightAligned are applicable only for horizontal type form.

interface Form {\n  actionAlign: 'left' | 'center' | 'right';\n}\n

Slots

Name Props Description
default itemClass, subitemClass, actionClass The default slot holds the form items and can contain HTML.

itemClass and subitemClass is new in 9.9.0

'},88823:function(t,e,o){"use strict";o.r(e);e.default='

Form Fields

'},92124:function(t,e,o){"use strict";o.r(e);e.default='
<ui-grid-cell><!-- the grid cell content --></ui-grid-cell>\n
Name Type Default Description
nested boolean false The nested layout grid.
columns number, object 4 Optional, specifies the number of columns the cell spans.
order number 0 Optional, specifies the order of the cell.
align string '' Optional, specifies the alignment of cell.
interface GridCell {\n  columns: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;\n  order: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;\n  align: 'top' | 'middle' | 'bottom';\n}\n

Slots

Name Props Description
default The default slot holds the grid cell content and can contain HTML.

When your contents need extra structure that cannot be supported by single layout grid, you can nest layout grid within each other. To nest layout grid, using <ui-grid-cell nested>.

<ui-grid>\n  <ui-grid-cell nested>\n    <!-- Parent 1 -->\n    <ui-grid-cell>Child 1</ui-grid-cell>\n    <ui-grid-cell>Child 2</ui-grid-cell>\n    <ui-grid-cell>Child 3</ui-grid-cell>\n  </ui-grid-cell>\n  <ui-grid-cell>Parent 2</ui-grid-cell>\n  <ui-grid-cell>Parent 3</ui-grid-cell>\n</ui-grid>\n
'},89625:function(t,e,o){"use strict";o.r(e);e.default='

Manual custom grid for global

  • $grid

    interface VueInstance {\n  set: BalmUIGrid;\n}\n
    type GridProperty = 'margin' | 'gutter' | 'column-width';\ntype GridSize = 'desktop' | 'tablet' | 'phone';\n\ninterface BalmUIGrid {\n  set(property: GridProperty, size: GridSize, value: string): void;\n}\n
Param Type Default Description
property string '' Grid custom property.
size string '' The target platform.
value string '' Grid custom value.
  • Grid properties
    • margin: the size of the grid margin.
    • gutter: the size of the gutter between cells.
    • column-width: the width of the column within the grid.

Use $grid without .vue component

import { useGrid } from 'balm-ui';\n// OR\n// import { useGrid } from 'balm-ui/plugins/grid';\n\nconst $grid = useGrid();\n
'},41734:function(t,e,o){"use strict";o.r(e);e.default='
<ui-grid><!-- the grid cell --></ui-grid>\n

Props

Name Type Default Description
fixedColumnWidth boolean false Optional, specifies the grid should have fixed column width.
position string '' Optional, specifies the alignment of the whole grid.
interface Grid {\n  position: 'left' | 'right';\n}\n

Slots

Name Props Description
default The default slot holds <ui-grid-cell> and can contain HTML.
'},39065:function(t,e,o){"use strict";o.r(e);e.default='

Layout Grid

Material design\u2019s responsive UI is based on a column-variate grid layout. It has 12 columns on desktop, 8 columns on tablet and 4 columns on phone.

'},45782:function(t,e,o){"use strict";o.r(e);e.default='

Advanced Usage

The following configuration is still the Vue scaffold built based on Balm CLI.

TOC

  1. Modular CSS
  2. Modular JS
  3. Get Material Icons (without downloading)

1. Modular CSS

  • Edit /path/to/my-project/config/balmrc.js

    module.exports = {\n  styles: {\n    extname: 'scss'\n  },\n  scripts: {\n    alias: {\n      'balm-ui-plus': 'balm-ui/dist/balm-ui-plus.js',\n      'balm-ui-css': 'balm-ui/dist/balm-ui.css'\n    }\n  }\n  // Other Options...\n};\n
  • Edit /path/to/my-project/app/styles/global/_vendors.scss

    SASS/CSS Management by BalmJS: the entry files of the vendors

    @use '@material/theme' as theme-variables with (\n  $primary: #6200ee,\n  $secondary: #018786\n);\n\n@use 'balm-ui/dist/balm-ui';\n

Then, you can overwrite or redefine UI styles by sass variables. (See components SASS docs)

The template standard format:

<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset="utf-8" />\n    ...\n    <link rel="stylesheet" href="%PUBLIC_URL%/styles/main.css" />\n  </head>\n  <body>\n    ...\n  </body>\n</html>\n

If the third-party provides sass/css file, recommended to manage in /path/to/my-project/app/styles/global/_vendors.scss

1.2 Use CSS

<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset="utf-8" />\n    ...\n    <!-- build:css css/vendors.css -->\n    <link rel="stylesheet" href="/node_modules/balm-ui/dist/balm-ui.css" />\n    <link rel="stylesheet" href="/node_modules/path/to/some-plugin.css" />\n    <!-- endbuild -->\n    <link rel="stylesheet" href="%PUBLIC_URL%/styles/main.css" />\n  </head>\n  <body>\n    ...\n  </body>\n</html>\n
  • css/vendors.css: The file path after building all third-party style files in BalmJS workflow.
  • main.css: The css entry file of the project.

2. Modular JS

2.1 Default Usage

Recommended to use for desktop

2.1.1 Import in JS (Recommended)

  • Edit /path/to/my-project/app/scripts/main.js

    import { createApp } from 'vue';\nimport App from '@/views/layouts/app';\n\n// Import BalmUI scripts\nimport BalmUI from 'balm-ui'; // Official Google Material Components\nimport BalmUIPlus from 'balm-ui-plus'; // BalmJS Team Material Components\n\n// Import BalmUI styles (Not recommend usage, and see above "SASS/CSS Management" for recommended usage)\nimport 'balm-ui-css';\n\nconst app = createApp(App);\n\napp.use(BalmUI); // Mandatory\napp.use(BalmUIPlus); // Optional\n\napp.mount('#app');\n

2.1.2 Import in Browser

  • Edit /path/to/my-project/app/index.html

    <!DOCTYPE html>\n<html>\n  <head>\n    <meta charset="utf-8" />\n    ...\n    <!-- build:css css/vendors.css -->\n    <link rel="stylesheet" href="/node_modules/balm-ui/dist/balm-ui.css" />\n    <!-- endbuild -->\n  </head>\n  <body>\n    <div id="app">\n      <ui-button icon="add" @click="$alert(message)">SayHi</ui-button>\n    </div>\n\n    <!-- build:js js/vendors.js -->\n    <script src="/node_modules/vue/dist/vue.js"></script>\n    <script src="/node_modules/balm-ui/dist/balm-ui.js"></script>\n    <script src="/node_modules/balm-ui/dist/balm-ui-plus.js"></script>\n    <!-- endbuild -->\n    <script>\n      var app = Vue.createApp({\n        setup() {\n          var message = 'Hello BalmUI';\n\n          return {\n            message\n          };\n        }\n      });\n\n      app.use(BalmUI);\n      app.use(BalmUIPlus);\n\n      app.mount('#app');\n    </script>\n  </body>\n</html>\n

2.2 Individual Usage

Recommended to use for mobile, because the building volume is relatively small.

2.2.1 Import in JS

  • Edit /path/to/my-project/app/scripts/main.js

    import { createApp } from 'vue';\nimport App from '@/views/layouts/app';\n\n// Import BalmUI scripts\nimport UiButton from 'balm-ui/components/button';\nimport $alert from 'balm-ui/plugins/alert';\n\n// Import BalmUI styles (Not recommend usage, and see below "SASS/CSS management" for recommended usage)\nimport 'balm-ui/components/core.css';\nimport 'balm-ui/components/button/button.css';\nimport 'balm-ui/components/icon/icon.css';\nimport 'balm-ui/components/dialog/dialog.css';\nimport 'balm-ui/plugins/alert/alert.css';\n\nconst app = createApp(App);\n\n// Install components or plugins\napp.use(UiButton);\napp.use($alert);\n\napp.mount('#app');\n

With regard to CSSinJS, styles can be extracted through BalmJS configuration, but the idea of BalmJS is more recommended to separate and manage styles and scripts to achieve more flexible module configuration and management.

  • SASS management (/path/to/my-project/app/styles/global/_vendors.scss)

    @use 'balm-ui/components/core';\n@use 'balm-ui/components/button/button';\n@use 'balm-ui/components/icon/icon';\n@use 'balm-ui/components/dialog/dialog';\n@use 'balm-ui/plugins/alert/alert';\n
  • CSS management (/path/to/my-project/app/index.html)

    <head>\n  <!-- build:css css/vendors.css -->\n  <link rel="stylesheet" href="/node_modules/balm-ui/components/core.css" />\n  <link rel="stylesheet" href="/node_modules/balm-ui/components/button/button.css" />\n  <link rel="stylesheet" href="/node_modules/balm-ui/components/dialog/dialog.css" />\n  <link rel="stylesheet" href="/node_modules/balm-ui/plugins/alert/alert.css" />\n  <!-- endbuild -->\n</head>\n

2.2.2 Import in Browser

  • Edit /path/to/my-project/app/index.html

    <!DOCTYPE html>\n<html>\n  <head>\n    <meta charset="utf-8" />\n    ...\n    <!-- build:css css/vendors.css -->\n    <link rel="stylesheet" href="/node_modules/balm-ui/components/core.css" />\n    <link rel="stylesheet" href="/node_modules/balm-ui/components/button/button.css" />\n    <link rel="stylesheet" href="/node_modules/balm-ui/components/dialog/dialog.css" />\n    <link rel="stylesheet" href="/node_modules/balm-ui/plugins/alert/alert.css" />\n    <!-- endbuild -->\n  </head>\n  <body>\n    <div id="app">\n      <ui-button icon="add" @click="$alert(message)">SayHi</ui-button>\n    </div>\n\n    <!-- build:js js/vendors.js -->\n    <script src="/node_modules/vue/dist/vue.js"></script>\n    <script src="/node_modules/balm-ui/components/button/button.js"></script>\n    <script src="/node_modules/balm-ui/plugins/alert/alert.js"></script>\n    <!-- endbuild -->\n    <script>\n      var app = Vue.createApp({\n        setup() {\n          var message = 'Hello BalmUI';\n\n          return {\n            message\n          };\n        }\n      });\n\n      app.use(UiButton);\n      app.use($alert);\n\n      app.mount('#app');\n    </script>\n  </body>\n</html>\n

2.3 Source Code Usage

For the optimal code building solution, the usage is the same as the built versions.

\u26a0\ufe0f NOTE: alias for balm-ui < 9.40.0

{\n  'balm-ui-source': 'balm-ui/src/scripts/index.js',\n  'balm-ui-plus-source': 'balm-ui/src/scripts/plus.js'\n}\n

2.3.1 For Balm CLI

  • Edit /path/to/my-project/config/balmrc.js, and add the following lines of code:

    const path = require('path');\n\nfunction resolve(dir) {\n  return path.join(__dirname, '..', dir);\n}\n\nmodule.exports = {\n  ...\n  scripts: {\n    // To explicitly transpile a dependency with Babel\n    includeJsResource: [\n      resolve('node_modules/balm-ui/src/scripts')\n    ],\n    // Reassign the entry file\n    alias: {\n      'balm-ui-source': 'balm-ui/src/scripts/balm-ui.js',\n      'balm-ui-plus-source': 'balm-ui/src/scripts/balm-ui-plus.js'\n    }\n  },\n  ...\n};\n

2.3.2 For Vue CLI or Vite

  • vue-cli

    // vue.config.js\nmodule.exports = {\n  runtimeCompiler: true,\n  transpileDependencies: ['node_modules/balm-ui/src/scripts'],\n  // NOTE: set alias via `configureWebpack` or `chainWebpack`\n  configureWebpack: {\n    resolve: {\n      alias: {\n        'balm-ui-source': 'balm-ui/src/scripts/balm-ui.js',\n        'balm-ui-plus-source': 'balm-ui/src/scripts/balm-ui-plus.js'\n      }\n    }\n  }\n  // chainWebpack: (config) => {\n  //   config.resolve.alias\n  //     .set('balm-ui-source', 'balm-ui/src/scripts/balm-ui.js')\n  //     .set('balm-ui-plus-source', 'balm-ui/src/scripts/balm-ui-plus.js');\n  // }\n};\n
  • vite

    // vite.config.js\nimport { defineConfig } from 'vite';\nimport vue from '@vitejs/plugin-vue';\n\nexport default defineConfig({\n  plugins: [vue()],\n  resolve: {\n    alias: {\n      vue: 'vue/dist/vue.esm-bundler.js',\n      'balm-ui-source': 'balm-ui/src/scripts/balm-ui.js',\n      'balm-ui-plus-source': 'balm-ui/src/scripts/balm-ui-plus.js'\n    }\n  }\n});\n

Now, the balm-ui referenced in the code points directly to the source code, which can be used to develop or debug BalmUI.

3. Get Material Icons (without downloading)

  • Edit /path/to/my-project/balm.config.js

    const config = require('./config/balmrc');\n\nconst api = (mix) => {\n  if (mix.env.isProd) {\n    // ...\n  } else {\n    // Use BalmJS `copy` api\n    mix.copy('node_modules/balm-ui/fonts/*', 'app/fonts');\n  }\n};\n\nmodule.exports = (balm) => {\n  return {\n    config,\n    api\n  };\n};\n
'},37495:function(t,e,o){"use strict";o.r(e);e.default='

Introduction

BalmUI is a modular and customizable Material Design UI library for Vue 3.

balm-ui(v8) for Vue 2, see v8.material.balmjs.com

Features

  • Enterprise-class UI designed for web applications
  • A set of high-quality Vue components/plugins/directives/utils out of the box
  • Powerful theme customization in every detail
  • Integrated a complete set of the latest Material Icons
  • All components and plugins is highly customizable, and can be used individually

Contributing

We'd love for you to contribute and make BalmUI even better than it is today! Please make sure to read the Contributing Guide before making a pull request. You can submit any ideas as pull requests or as GitHub issues.

Browser support

We officially support the last two versions of every major browser. Specifically, we test on the following browsers:

  • Chrome on Android, Windows, macOS, and Linux
  • Firefox on Windows, macOS, and Linux
  • Safari on iOS and macOS
  • Edge on Windows

Thank you

'},97921:function(t,e,o){"use strict";o.r(e);e.default='

Kill IE

Please Copy + Paste or customize yours, if your need

  • File: /path/to/app/scripts/kill-ie.js

    import { detectIE } from 'balm-ui'; // Default Usage\n// OR\n// import detectIE from 'balm-ui/utils/ie'; // Individual Usage\n\nconst IE = detectIE();\n\nconst isIE = IE && IE <= 11;\n\nconst killIE = () => {\n  let body = document.getElementsByTagName('body')[0];\n  let template = `<div class="kill-ie">\n      <h1>Your browser is out-of-date. Please <a href="https://browsehappy.com/">download</a> one of the up-to-date, free and excellent browsers for better security, speed and comfort.</h1>\n      <p>Recommended Choice\uff1a<a href="https://www.google.com/chrome/">Chrome</a></p>\n    </div>`;\n\n  body.innerHTML = template;\n};\n\nexport { isIE, killIE };\n
  • File: /path/to/app/scripts/main.js

    import { isIE, killIE } from './kill-ie';\n\nif (isIE) {\n  killIE();\n} else {\n  // your code\n}\n
  • File: /path/to/app/styles/_kill-ie.scss

    .kill-ie {\n  position: absolute;\n  text-align: center;\n  background-color: #bdbdbd;\n\n  h1 {\n    font-size: 36px;\n  }\n\n  p {\n    font-size: 24px;\n  }\n\n  a {\n    text-decoration: underline;\n    color: red;\n    font-weight: bold;\n  }\n}\n
'},41196:function(t,e,o){"use strict";o.r(e);e.default='

Quick Start

TOC

  1. Set up the Development Environment
  2. For Balm CLI
  3. For Vue CLI or Vite
  4. For <script>

0. Set up the Development Environment

You need to set up your development environment before you can do anything.

Install Node.js\xae and npm if they are not already on your machine.

Verify that you are running at least Node.js version 10.13.0 or greater and npm version 5.2.0 or greater by running node -v and npm -v in a terminal/console window. Older versions produce errors, but newer versions are fine.

Good tools make application development quicker and easier to maintain than if you did everything by hand.

The Balm CLI is a command line interface tool that scaffolds out a BalmJS project.

Balm CLI(Recommended) or Vue CLI/Vite or other toolchains \ud83d\ude80

  • First install the Balm Core and Balm CLI globally for Balm CLI.

    npm install -g balm-core balm-cli\n# OR\nyarn global add balm-core balm-cli\n

\u26a0\ufe0f NOTE: If you are using pnpm, please configure the .npmrc file for BalmUI

  • Hoisting everything to the the root of node_modules:

    shamefully-hoist=true\n
  • Or, hoisting only packages that match a pattern:

    public-hoist-pattern[]="*balm*"\npublic-hoist-pattern[]="*deepmerge*"\npublic-hoist-pattern[]="*flatpickr*"\npublic-hoist-pattern[]="*material-components-web*"\npublic-hoist-pattern[]="@material*"\npublic-hoist-pattern[]="*quill*"\n

1. For Balm CLI

1.0 Create a new project

Open a terminal window.

Generate a new project and default app by running the following command:

balm init vue my-project\ncd my-project # Go to the project directory\n

Install dependencies

yarn\n# OR\nnpm install\n

Installs the necessary npm packages, This can take some time.

(China Only) \u5982\u679c\u201c\u7f51\u7edc\u201d\u4e0d\u79d1\u5b66\uff0c\u8bf7\u8bbe\u7f6e\u6dd8\u5b9d\u6e90

1.1 Installing balm-ui

yarn add balm-ui\n# OR\nnpm install --save balm-ui\n

1.2 Configuration

update balm.config.js

  • get Material Icons without downloading (or, download and extract to my-project/app/fonts)

    const api = (mix) => {\n  if (mix.env.isDev) {\n    mix.copy('node_modules/balm-ui/fonts/*', 'app/fonts');\n  }\n};\n
  • edit my-project/config/balmrc.js for using Dart Sass

    module.exports = {\n  styles: {\n    extname: 'scss'\n  }\n  // Other Options...\n};\n

1.3 Usage

Default Usage

  • edit my-project/app/styles/global/_vendors.scss

    /* import BalmUI styles */\n@use 'balm-ui/dist/balm-ui';\n

Recommend to use Sass in /path/to/project-name/styles/_vendors.scss, and you can use more advanced style usage of the BalmUI.

  • edit my-project/app/scripts/main.js

    import { createApp } from 'vue';\nimport App from '@/views/layouts/app';\nimport BalmUI from 'balm-ui'; // Official Google Material Components\nimport BalmUIPlus from 'balm-ui/dist/balm-ui-plus'; // BalmJS Team Material Components\n\nconst app = createApp(App);\n\napp.use(BalmUI); // Mandatory\napp.use(BalmUIPlus); // Optional\n\napp.mount('#app');\n

Individual Usage

  • edit my-project/app/styles/global/_vendors.scss

    @use 'balm-ui/components/core';\n@use 'balm-ui/components/button/button';\n@use 'balm-ui/components/icon/icon';\n@use 'balm-ui/components/dialog/dialog';\n@use 'balm-ui/plugins/alert/alert';\n
  • edit my-project/app/scripts/main.js

    import { createApp } from 'vue';\nimport App from '@/views/layouts/app';\nimport UiButton from 'balm-ui/components/button';\nimport $alert from 'balm-ui/plugins/alert';\n\nconst app = createApp(App);\n\napp.use(UiButton);\napp.use($alert);\n\napp.mount('#app');\n

1.4 Development and testing

npm run dev\n
  • edit a vue component: my-project/app/scripts/views/components/hello.vue

    <template>\n  <div class="hello">\n    ...\n    <!-- Add a test button -->\n    <ui-button icon="add" @click="$alert('Hello BalmUI')">Click Me</ui-button>\n  </div>\n</template>\n

1.5 Bundling and deployment

npm run prod\n

2. For Vue CLI or Vite

2.0 Create a project

  • vue-cli

    vue create my-project\n\ncd my-project\n
  • vite

    # npm 6.x\nnpm init @vitejs/app my-project --template vue\n\n# npm 7+, extra double-dash is needed:\nnpm init @vitejs/app my-project -- --template vue\n\n# yarn\nyarn create @vitejs/app my-project --template vue\n\ncd my-project\n

2.1 Installing balm-ui

yarn add balm-ui\n# OR\nnpm install --save balm-ui\n

2.2 Configuration

  • vue-cli

    // vue.config.js\nmodule.exports = {\n  runtimeCompiler: true,\n  // NOTE: set alias via `configureWebpack` or `chainWebpack`\n  configureWebpack: {\n    resolve: {\n      alias: {\n        'balm-ui-plus': 'balm-ui/dist/balm-ui-plus.js',\n        'balm-ui-css': 'balm-ui/dist/balm-ui.css'\n      }\n    }\n  }\n  // chainWebpack: (config) => {\n  //   config.resolve.alias\n  //     .set('balm-ui-plus', 'balm-ui/dist/balm-ui-plus.js')\n  //     .set('balm-ui-css', 'balm-ui/dist/balm-ui.css');\n  // }\n};\n
  • vite

    // vite.config.js\nimport { defineConfig } from 'vite';\nimport vue from '@vitejs/plugin-vue';\n\nexport default defineConfig({\n  plugins: [vue()],\n  resolve: {\n    alias: {\n      vue: 'vue/dist/vue.esm-bundler.js',\n      'balm-ui-plus': 'balm-ui/dist/balm-ui-plus.esm.js',\n      'balm-ui-css': 'balm-ui/dist/balm-ui.css'\n    }\n  }\n});\n

2.3 Usage

  • edit my-project/src/main.js

    import { createApp } from 'vue';\nimport App from './App.vue';\n\nimport BalmUI from 'balm-ui'; // Official Google Material Components\nimport BalmUIPlus from 'balm-ui-plus'; // BalmJS Team Material Components\nimport 'balm-ui-css';\n\nconst app = createApp(App);\n\napp.use(BalmUI);\napp.use(BalmUIPlus);\n\napp.mount('#app');\n

3. For <script>

<!DOCTYPE html>\n<html lang="en">\n  <head>\n    <meta charset="UTF-8" />\n    <meta name="viewport" content="width=device-width, initial-scale=1.0" />\n    <title>Hello BalmUI</title>\n    <link rel="stylesheet" href="https://unpkg.com/balm-ui/dist/balm-ui.css" />\n  </head>\n  <body>\n    <div id="app">\n      <ui-button icon="add" @click="$alert(message)">SayHi</ui-button>\n    </div>\n    <script src="https://unpkg.com/vue"></script>\n    <script src="https://unpkg.com/balm-ui"></script>\n    <script src="https://unpkg.com/balm-ui/dist/balm-ui-plus.js"></script>\n    <script>\n      const app = Vue.createApp({\n        setup() {\n          var message = 'Hello BalmUI';\n\n          return {\n            message\n          };\n        }\n      });\n\n      app.use(BalmUI);\n      app.use(BalmUIPlus);\n\n      app.mount('#app');\n    </script>\n  </body>\n</html>\n

Enjoy \ud83d\udc7b

'},97789:function(t,e,o){"use strict";o.r(e);e.default='

TypeScript Support

balm-ui >= 9.40.0

  • alias

    {\n  'balm-ui-plus': 'balm-ui/dist/balm-ui-plus.js',\n}\n
  • tsconfig.json

    {\n  "compilerOptions": {\n    "baseUrl": ".",\n    "paths": {\n      "balm-ui-plus": ["node_modules/balm-ui/dist/balm-ui-plus.d.ts"]\n    }\n  }\n}\n
'},41701:function(t,e,o){"use strict";o.r(e);e.default='

Upgrade Guide

Upgrading To 10.12.0 From 10.x

BREAKING CHANGES

  • balm-ui-next.js is deprecated
  • move components:
    • UiCollapse from balm-ui-plus.js to balm-ui.js library
    • UiBottomNavigation from balm-ui-next.js to balm-ui-plus.js library
    • UiBottomSheet from balm-ui-next.js to balm-ui-plus.js library
  • move directives: vDebounce from balm-ui-plus.js to balm-ui.js library

Upgrading To 10.11.0 From 10.x

BREAKING CHANGES

  • move components: UiAlert from balm-ui-plus.js to balm-ui.js library

Upgrading To 10.7.0 From 10.x

BREAKING CHANGES

  • $validator: update validations

    • Old

      interface BalmUIValidationRule {\n  label?: string;\n  validator: string; // 'customRule1, customRule2, ...'\n  ...customRule?: {\n    validate(fieldValue: any, formData: { [fieldName: string]: any }): boolean;\n    message: string | (fieldValue: any, formData: { [fieldName: string]: any }) => string;\n  };\n}\n\ntype BalmUIValidations = {\n  [key: string]: BalmUIValidationRule;\n}\n
    • New

      interface BalmUIValidationRule {\n  key: string; // field name\n  label?: string;\n  validator: string; // 'customRule1, customRule2, ...'\n  ...customRule?: {\n    validate(fieldValue: any, formData: { [fieldName: string]: any }): boolean;\n    message: string | (fieldValue: any, formData: { [fieldName: string]: any }) => string;\n  };\n}\n\ntype BalmUIValidations = BalmUIValidationRule[]\n

Upgrading To 10.0 From 9.x

BREAKING CHANGES

Props

  • <ui-chips>: rename prop chips -> items
  • <ui-nav>: remove prop modelValue, singleSelection and events

Upgrading To 9.27.0 From 9.x

BREAKING CHANGES

  • move components: UiAutocomplete, UiDatepicker, UiRangepicker from balm-ui-plus.js to balm-ui.js library
  • move plugins: $alert, $confirm, $toast from balm-ui-plus.js to balm-ui.js library

Upgrading To 9.0 From 8.x

BREAKING CHANGES

Props

  • <ui-icon-button>, <ui-textfield>, <ui-autocomplete>, <ui-editor>, <ui-select>, <ui-checkbox>, <ui-radio>, <ui-chips>, <ui-datepicker>, <ui-rangepicker>, <ui-switch>, <ui-slider>: rename prop model -> modelValue
  • <ui-drawer>, <ui-menu>, <ui-dialog>, <ui-snackbar>, <ui-banner>: rename prop open -> modelValue
  • <ui-tab-bar>, <ui-tabs>: rename prop active -> modelValue
  • <ui-pagination>: rename prop page -> modelValue
  • <ui-list>: rename prop selectedIndex -> modelValue
  • <ui-table>: rename prop selectedRows -> modelValue
  • <ui-textfield>, <ui-autocomplete>, <ui-checkbox>, <ui-radio>, <ui-file>, <ui-datepicker>, <ui-switch>: rename prop id -> inputId

Events

  • <ui-icon-button>, <ui-drawer>, <ui-tab-bar>, <ui-tabs>, <ui-menu>, <ui-pagination>, <ui-editor>, <ui-select>, <ui-checkbox>, <ui-radio>, <ui-chips>, <ui-datepicker>, <ui-rangepicker>, <ui-switch>, <ui-slider>, <ui-dialog>, <ui-snackbar>, <ui-banner>: rename event @change -> @update:modelValue
  • <ui-textfield>, <ui-autocomplete>: rename event @input -> @update:modelValue
  • <ui-list>: rename event @action -> @update:modelValue
  • <ui-table>: rename event @selected -> @update:modelValue

Upgrading To 8.0 From 7.x

Features

  • new components:

    • <ui-banner>
    • <ui-tooltip>
    • <ui-nav-item>
  • new plugins:

    • $bus
    • $store
  • $theme: new theme apis

  • v-shape: new shape apis

  • <ui-menuitem>: add prop value

  • <ui-form>: add prop itemMarginBottom, labelWidth, labelMarginRight, labelMarginBottom

  • Sass: overwrite variables become more concise and clear

    • Old

      @use '@material/button/variables';\n
    • New

      @use '@material/button';\n

BREAKING CHANGES

  • $themeColor, $setTheme, $textColor, $setTextTheme: deprecated. Use $theme instead
  • <ui-slider>: rename prop displayMarker to withTickMarks
  • <ui-pagination>:
    • remove slot prop before, before-jumper and after-jumper
    • add slot prop first and last
  • <ui-nav>: remove slot prop itemClass, activeClass. Use <ui-nav-item> for new

Upgrading To 7.0 From 6.x

BREAKING CHANGES

  • <ui-table>: thead custom item by field rename to columnId

Upgrading To 6.0 From 5.x

Features

  • <ui-drawer>: add prop viewportHeight
  • <ui-menu>, <ui-select>: both add prop fullwidth
  • <ui-textfield>: add prop prefixText, suffixText, endAligned, withCounter
  • v-anchor: add modifier bodyElement

BREAKING CHANGES

  • Deprecated:
    • <ui-a>
    • <ui-icon-a>
  • <ui-nav>: rename slot prop activatedClass to activeClass
  • <ui-textfield>: remove prop dense
  • <ui-textfield-helper>: rename prop counter to withCounter
  • <ui-textfield-counter>: removed. It has been replaced with <ui-textfield-helper withCounter> or <ui-textfield withCounter>
'},9083:function(t,e,o){"use strict";o.r(e);e.default='
<ui-icon-button></ui-icon-button>\n

Props

Name Type Default Description
modelValue (v-model) boolean false Sets the toggle state.
icon string '' A material icon of the icon button. See Material Icons list.
toggle object {} Two icons of the icon button toggle. (Format: {on, off})
  • Configuring the toggle button states by toggle.on and toggle.off props

    interface IconButton {\n  toggle: {\n    on: string;\n    off: string;\n  };\n}\n

Slots

Name Props Description
default onClass, offClass The default slot holds the toggle or link custom icons and can contain HTML.
<template #default="{ onClass, offClass }">\n  <i :class="onClass">ON</i>\n  <i :class="offClass">OFF</i>\n</template>\n

Events

Name Type Description
click function(event: object) Emits when the icon button is clicked.
update:modelValue function(value: boolean) Emits when the icon button is toggled.

NOTE: If you are not using v-model, you should listen for the icon button using @update:modelValue and update the modelValue prop.

  • Automatic

    <ui-icon-button v-model="value"></ui-icon-button>\n
  • Manual

    <ui-icon-button\n  :model-value="value"\n  @update:model-value="balmUI.onChange('value', $event)"\n></ui-icon-button>\n
'},610:function(t,e,o){"use strict";o.r(e);e.default='

Icon Buttons

Icon buttons (Toggle buttons) allow users to take actions, and make choices, with a single tap.

'},60716:function(t,e,o){"use strict";o.r(e);e.default='
<ui-icon><!-- the material design icon name --></ui-icon>\n

<ui-icon> Types

  • 0: 'filled'
  • 1: 'outlined'
  • 2: 'round'
  • 3: 'twoTone'
  • 4: 'sharp'

Props

Name Type Default Description
type string, number 0 Material icon theme.
outlined boolean false Outlined icons customize stroke and fill attributes for a light, clean style that works well in dense UIs. The stroke weight of outlined icons can be adjusted to complement or contrast the weight of your typography.
round boolean false Rounded icons use a corner radius that pairs well with brands that use heavier typography, curved logos, or circular elements to express their style.
twoTone boolean false Two-tone icons have added dimension, using the attributes of stroke, fill, and color. Contrasting stroke and fill colors enables the use of multiple brand colors and can improve legibility.
sharp boolean false Sharp icons display corners with straight edges, for a crisp style that remains legible even at smaller scales. These rectangular shapes can support brand styles that aren\u2019t well-reflected by rounded shapes.
size number 24 Material icon sizing.
dark boolean false An icon on a light background with a dark foreground color.
light boolean false An icon on a dark background with a light foreground color.
inactive boolean false An icon is disabled or inactive.

Although the icons in the font can be scaled to any size, in accordance with material design icons guidelines, we recommend them to be shown in either 18, 24, 36 or 48px.

Slots

Name Props Description
default The default slot holds the material design icon name and can contain HTML.

Events

Name Type Description
click function(event: object) Emits when the icon is clicked.
'},611:function(t,e,o){"use strict";o.r(e);e.default='

Icons

Material icons are delightful, beautifully crafted symbols for common actions and items.

'},82692:function(t,e,o){"use strict";o.r(e);e.default='
<ui-image-item><!-- image and text --></ui-image-item>\n

Props

Name Type Default Description
image string null Add the src attribute directly to the <img> in the image container.
bgImage string null Use a <div> instead of <img> element.

Slots

Name Props Description
default Optional. Indicates the area within each item containing the supporting text label, if the Image List contains text labels.
image Optional. The image container displays an image list item\u2019s image or illustration.

Events

Name Type Description
click function(event: object) Emits when the item is clicked.
'},55069:function(t,e,o){"use strict";o.r(e);e.default='
<ui-image-list><!-- the image item components --></ui-image-list>\n

<ui-image-list> Types

  • 0: 'standard'
  • 1: 'masonry'

Props

Name Type Default Description
type string, number 0 Mandatory. Image list types.
masonry boolean false Optional. Indicates that this Image List should use the Masonry variant.
textProtection boolean false Optional. Indicates that supporting content should be positioned in a scrim overlaying each image (instead of positioned separately under each image).

Slots

Name Props Description
default The default slot holds the image item components.
'},60658:function(t,e,o){"use strict";o.r(e);e.default='
<ui-image-text><!-- Text labels --></ui-image-text>\n

Slots

Name Props Description
default Text labels display one line of text related to an image list item.
action Optional. Actionable iconography can represent related actions.
'},47469:function(t,e,o){"use strict";o.r(e);e.default='

Image lists

Image lists display a collection of images in an organized grid.

'},94350:function(t,e,o){"use strict";o.r(e);e.default='
<ui-image-list>\n  <ui-image-item>\n    <ui-image-text></ui-image-text>\n  </ui-image-item>\n</ui-image-list>\n
Component Description
<ui-image-list> Mandatory. Indicates the root Image List element.
<ui-image-item> Mandatory. Indicates each item in an Image List.
<ui-image-text> Optional. Indicates the area within each item containing the supporting text label, if the Image List contains text labels.
'},20468:function(t,e,o){"use strict";o.r(e);e.default=""},95192:function(t,e,o){"use strict";o.r(e);e.default=""},27481:function(t,e,o){"use strict";o.r(e);e.default='

Lists

Lists are continuous, vertical indexes of text or images.

'},90681:function(t,e,o){"use strict";o.r(e);e.default='
<ui-list-divider></ui-list-divider>\n\n<ui-item-divider></ui-item-divider>\n

Common Props

Name Type Default Description
padded boolean false Optional, leaves gaps on each side of divider to match padding of the last tile.
inset boolean false Optional, increases the leading margin of the divider so that it does not intersect the avatar column.
'},63102:function(t,e,o){"use strict";o.r(e);e.default='
<ui-list-group>\n  <ui-list-group-subheader></ui-list-group-subheader>\n  <ui-list></ui-list>\n\n  <ui-list-divider></ui-list-divider>\n\n  <ui-list-group-subheader></ui-list-group-subheader>\n  <ui-list></ui-list>\n</ui-list-group>\n
'},44684:function(t,e,o){"use strict";o.r(e);e.default='
<ui-item><!-- the item child components --></ui-item>\n\n<ui-nav-item><!-- the link item child components --></ui-nav-item>\n

<ui-item> Props

Name Type Default Description
selected boolean false Optional, styles the row in an selected state.
disabled boolean false Optional, styles the row in the disabled state.

<ui-nav-item> Props

Name Type Default Description
href string (required) Resolved url. This would be the href attribute of an a element.
active boolean false Optional, styles the row in the activated state.
  • Usage with <router-link> (requires vue-router@3.1.0+)

    <router-link v-slot="{ href, navigate, isActive }" custom>\n  <ui-nav-item\n    :href="href"\n    :active="isActive"\n    @click="navigate"\n  ></ui-nav-item>\n</router-link>\n

Slots

Name Props Description
default The default slot holds the item child components and can contain HTML.
before iconClass Custom <ui-item-first-content>. Optional, the first tile in the row. Typically an icon or image.
after iconClass Custom <ui-item-last-content>. Optional, the last tile in the row. Typically small text, icon. or image.

Child components:

  • <ui-item-text-content>
    • <ui-item-text1>
    • <ui-item-text2>
  • <ui-item-first-content>
  • <ui-item-last-content>

Events

Name Type Description
click function(event: object) Emits when the list item is clicked.
'},58171:function(t,e,o){"use strict";o.r(e);e.default='
<ui-list><!-- <ui-item> --></ui-list>\n\n<ui-nav><!-- <ui-nav-item> --></ui-nav>\n

<ui-list> & <ui-nav> Types

  • 1: 'singleLine'
  • 2: 'twoLine'

Common Props

Name Type Default Description
type string, number 0 Mandatory. List types.
nonInteractive boolean false Optional, disables interactivity affordances.
dense boolean false Optional, styles the density of the list, making it appear more compact.
avatar boolean false Optional, configures the leading tiles of each row to display images instead of icons. This will make the graphics of the list items larger.

<ui-list> Props

Name Type Default Description
modelValue (v-model) number -1 The index of the selected list item. Applicable only for the single selection list.
singleSelection boolean false The list can handle selecting/deselecting list elements based on click or keyboard action.

Common Slots

Name Slots Description
default The default slot holds the item components and can contain HTML.

<ui-list> Events

Name Type Description
update:modelValue function(selectedIndex: number) Indicates that a list item with the specified index has been activated.

NOTE: If you are not using v-model, you should listen for the list using @update:modelValue and update the modelValue prop.

  • Automatic

    <ui-list v-model="selectedIndex" single-selection></ui-list>\n
  • Manual

    <ui-list\n  :model-value="selectedIndex"\n  single-selection\n  @update:model-value="balmUI.onChange('selectedIndex', $event)"\n></ui-list>\n
'},39003:function(t,e,o){"use strict";o.r(e);e.default='
<ui-list-group>\n  <ui-list-group-subheader>1. Single-line list</ui-list-group-subheader>\n  <ui-list>\n    <ui-item>\n      <ui-item-text-content></ui-item-text-content>\n    </ui-item>\n  </ui-list>\n\n  <ui-list-divider></ui-list-divider>\n\n  <ui-list-group-subheader>2. Two-line list</ui-list-group-subheader>\n  <ui-list type="twoLine">\n    <ui-item>\n      <ui-item-text-content>\n        <ui-item-text1></ui-item-text1>\n        <ui-item-text2></ui-item-text2>\n      </ui-item-text-content>\n    </ui-item>\n  </ui-list>\n\n  <ui-list-divider></ui-list-divider>\n\n  <ui-list-group-subheader>3. Rich List</ui-list-group-subheader>\n  <ui-list>\n    <ui-item>\n      <ui-item-first-content></ui-item-first-content>\n      <ui-item-text-content></ui-item-text-content>\n      <ui-item-last-content></ui-item-last-content>\n    </ui-item>\n  </ui-list>\n</ui-list-group>\n
<ui-nav>\n  <ui-nav-item active>Activated item</ui-nav-item>\n  <ui-nav-item>Unactivated item</ui-nav-item>\n</ui-nav>\n
Component Description
<ui-list>/<ui-nav> Mandatory, for the list element.
<ui-item>/<ui-nav-item> Mandatory, for the list item element.
<ui-item-text-content> Mandatory. Wrapper for list item text content (displayed as middle column of the list item).
<ui-item-text1> Optional, primary text for the list item. Should be the child of <ui-item-text-content>.
<ui-item-text2> Optional, secondary text for the list item. Displayed below the primary text. Should be the child of <ui-item-text-content>.
<ui-item-first-content> Optional, the first tile in the row (in LTR languages, the first column of the list item). Typically an icon or image.
<ui-item-last-content> Optional, the last tile in the row (in LTR languages, the last column of the list item). Typically small text, icon. or image.
<ui-list-group> Optional, wrapper around two or more <ui-list> elements to be grouped together.
<ui-list-group-subheader> Optional, heading text displayed above each list in a group.
<ui-list-divider> Optional, for list divider element.
<ui-item-divider> Optional, for list item divider element.
'},2030:function(t,e,o){"use strict";o.r(e);e.default='

Long Press

New in 9.21.0

'},98314:function(t,e,o){"use strict";o.r(e);e.default='
<div v-longpress></div>\n
type LongpressConfig =\n  | Function // New in 10.9.1\n  | {\n      callback: Function;\n      delay?: number;\n    };\n
'},53454:function(t,e,o){"use strict";o.r(e);e.default='

Menus

Menus display a list of choices on a temporary surface. They appear when users interact with a button, action, or other control.

'},71456:function(t,e,o){"use strict";o.r(e);e.default='
<ui-menu-anchor><!-- the menu component --></ui-menu-anchor>\n

Props

Name Type Default Description
position string '' Menu button position to the menu anchor.
absolute boolean false The menu surface can use absolute positioning when being displayed. This requires that the element containing the menu has the position: relative style.
interface MenuAnchor {\n  position:\n    | 'top left'\n    | 'top right'\n    | 'middle left'\n    | 'middle right'\n    | 'bottom left'\n    | 'bottom right';\n}\n

Slots

Name Props Description
default The default slot holds the menu component.
'},86673:function(t,e,o){"use strict";o.r(e);e.default='
<ui-menu><!-- the menuitem components --></ui-menu>\n

Props

Name Type Default Description
modelValue (v-model) boolean false Mandatory.
items array [] Menu items.
quickOpen boolean false Turn off menu open animations.
position string 'TOP_LEFT' Menu position to the menu button.
distance object false Anchor margin. Value format: { top, right, bottom, left }.
fixed boolean false Used to indicate that the menu is using fixed positioning.
fullwidth boolean false Sets the menu surface's width to match that of its parent anchor. Do not use with fixed or if hoisting to body.
cssOnly boolean false Show static menu.
  • The keys of the menuitem:

    interface Item {\n  value?: string;\n  text: string;\n  icon?: string;\n  disabled?: boolean;\n  selected?: boolean;\n}\n\ninterface Menu {\n  items: Item[];\n  position:\n    | 'TOP_LEFT'\n    | 'TOP_RIGHT'\n    | 'BOTTOM_LEFT'\n    | 'BOTTOM_RIGHT'\n    | 'TOP_START'\n    | 'TOP_END'\n    | 'BOTTOM_START'\n    | 'BOTTOM_END';\n}\n

Slots

Name Props Description
default The default slot holds the menuitem components.

Events

Name Type Description
update:modelValue function(open: boolean) Emits when the menu is changed.
selected function(menuitem: SelectedItem) Emits when an element has been selected.
closed function() Emits when the menu is closed.
opened function() Emits when the menu is opened.
  • selected event return data:

    interface SelectedItem {\n  index: number; // menuitem index\n  text: string; // menuitem text\n  value: string; // selected value\n}\n

NOTE: If you are not using v-model, you should listen for the menu using @update:modelValue and update the modelValue prop.

  • Automatic

    <ui-menu v-model="open"></ui-menu>\n
  • Manual

    <ui-menu\n  :model-value="open"\n  @update:model-value="balmUI.onChange('open', $event)"\n></ui-menu>\n
'},42825:function(t,e,o){"use strict";o.r(e);e.default='
<ui-menuitem><!-- the menu item child components --></ui-menuitem>\n

Props

Name Type Default Description
nested boolean false Used to wrap a group of <ui-menuitem> that will represent a selection group.
item object {} A menu item.
value string null The menu selected value.
disabled boolean false To disable an item.
selected boolean false Used to indicate which element in an item group is selected.
  • The keys of a menu item object:

    interface Item {\n  value?: string;\n  text: string;\n  icon?: string;\n  disabled?: boolean;\n  selected?: boolean;\n}\n\ninterface MenuItem {\n  item: Item;\n}\n

Slots

Name Props Description
default The default slot holds the menu item icon component or label text and can contain HTML.

Child components:

  • <ui-menuitem-text>
  • <ui-menuitem-icon>
'},9882:function(t,e,o){"use strict";o.r(e);e.default='
<ui-menu-anchor>\n  <ui-menu :items="menuItems"></ui-menu>\n</ui-menu-anchor>\n
<ui-menu-anchor>\n  <ui-menu>\n    <ui-menuitem>\n      <ui-menuitem-text>Label</ui-menuitem-text>\n    </ui-menuitem>\n\n    <ui-menuitem-divider></ui-menuitem-divider>\n\n    <ui-menuitem nested>\n      <ui-menuitem>\n        <ui-menuitem-icon>Icon</ui-menuitem-icon>\n        <ui-menuitem-text>Label</ui-menuitem-text>\n      </ui-menuitem>\n    </ui-menuitem>\n  </ui-menu>\n</ui-menu-anchor>\n
Component Description
<ui-menu-anchor> Used to indicate which element the menu should be anchored to.
<ui-menu> Required on the root element.
<ui-menuitem> A menu item.
<ui-menuitem-text> A menu item text.
<ui-menuitem-icon> Required when using a <ui-menuitem nested> to indicate which item is selected. Should contain an icon or svg that indicates the selected state of the <ui-menuitem>.
<ui-menuitem-divider> Optional, for menu item divider element. (Equivalent to <ui-item-divider>)
'},54993:function(t,e,o){"use strict";o.r(e);e.default='

Navigation bar

New in 9.25.0

Navigation bars offer a persistent and convenient way to switch between primary destinations in an app.

'},81964:function(t,e,o){"use strict";o.r(e);e.default='
<ui-navigation-bar>\n  <!-- <ui-tabs> or <ui-tab-bar> component -->\n</ui-navigation-bar>\n
  • \u26a0\ufe0f NOTE: <ui-bottom-navigation> is deprecated in 10.1.0, use <ui-navigation-bar> instead.

Props

Name Type Default Description
contentSelector string (required) Mandatory. Selector used to style the content above the navigation bar, to prevent the navigation bar from covering it.
stacked boolean false Optional. Indicates that the tab icon and label should flow vertically instead of horizontally.
min boolean false Show 3 navigation items.
max boolean false Show 5 navigation items.
'},60676:function(t,e,o){"use strict";o.r(e);e.default=""},6696:function(t,e,o){"use strict";o.r(e);e.default=""},59369:function(t,e,o){"use strict";o.r(e);e.default='

Pagination

Pagination controls provide swift access to all pages while indicating that more pages exist.

'},50154:function(t,e,o){"use strict";o.r(e);e.default='
<ui-pagination></ui-pagination>\n

Props

Name Type Default Description Version
modelValue (v-model) number 1 Current page number.
total number 0 The total number of data items.
pageSpan number, boolean 3 Display the first N pages of the current page. (MIN VALUE: 3)
showTotal boolean false Display total info.
pageSize number, array 10 The number of data items per page.
pageSizeText string, array 'Rows per page' The page size before/after text.
ofText string 'of' The page total of text. 9.39.0
unitText string '' The page total unit text. 10.11.0
showJumper boolean false Determine whether you can jump to pages directly.
jumperText string, array 'Goto' The jumper before/after text.
jumperButtonOutlined boolean false Styles an outlined jumper button. 9.11.0
jumperButtonText string '' The jumper button text.
position string '' The pagination position.
mini boolean false Whether to use simple mode.
interface Pagination {\n  position: 'left' | 'center' | 'right';\n}\n

Slots

Name Props Description Version
default currentMinRow, currentMaxRow The custom page size area. 9.3.0
first The custom first button icon.
prev The custom previous button icon.
next The custom next button icon.
last The custom last button icon.

Events

Name Type Description Version
update:modelValue function(page: number) Emits when the pagination page is changed.
update:pageSize function(pageInfo: object) Emits when the pagination page size is changed. 10.4.0

NOTE: If you are not using v-model, you should listen for the pagination using @update:modelValue and update the modelValue prop.

  • Automatic

    <ui-pagination v-model="page"></ui-pagination>\n
  • Manual

    <ui-pagination\n  :model-value="page"\n  @update:model-value="balmUI.onChange('page', $event)"\n></ui-pagination>\n
'},50733:function(t,e,o){"use strict";o.r(e);e.default='

Linear Progress

Linear progress indicators display progress by animating an indicator along the length of a fixed, visible track. The behavior of the indicator is dependent on whether the progress of a process is known.

'},97332:function(t,e,o){"use strict";o.r(e);e.default='
<ui-progress></ui-progress>\n

Props

Name Type Default Description
active boolean false Puts the linear progress indicator in an indeterminate state.
progress number 0 Sets the progress bar to this value. Value should be between [0, 1].
buffer number 0 Sets the buffer bar to this value. Value should be between [0, 1].
label string '' Label indicating how the progress bar should be announced to the user.
closed boolean false Hides the linear progress indicator.
'},51259:function(t,e,o){"use strict";o.r(e);e.default='

Radio Buttons

Radio buttons allow the user to select one option from a set. Use radio buttons when the user needs to see all available options. If available options can be collapsed, consider using a dropdown menu because it uses less space.

'},14176:function(t,e,o){"use strict";o.r(e);e.default='
<ui-form-field>\n  <ui-radio></ui-radio>\n  <label>Radio</label>\n</ui-form-field>\n

Props

Name Type Default Description
modelValue (v-model) string, number '' Mandatory.
inputId string null The id attribute of the <input> and the for attribute of the <label>.
value string, number '' The value attribute of the <input>.
disabled boolean false Styles the radio button as a disabled radio button.
attrs object {} Other attributes for <input>.

Events

Name Type Description
update:modelValue function(value: string|number) Emits when the radio button is changed.

NOTE: If you are not using v-model, you should listen for the radio using @update:modelValue and update the modelValue prop.

  • Automatic

    <ui-radio v-model="value"></ui-radio>\n
  • Manual

    <ui-radio\n  :model-value="value"\n  @update:model-value="balmUI.onChange('value', $event)"\n></ui-radio>\n
'},90611:function(t,e,o){"use strict";o.r(e);e.default='

Range pickers

'},28468:function(t,e,o){"use strict";o.r(e);e.default='
<ui-rangepicker></ui-rangepicker>\n

Props

Name Type Default Description Version
outlined boolean false Styles the rangepicker as an outlined text field. (labels or placeholders required)
modelValue (v-model) array '' Mandatory.
disabled boolean false Styles the rangepicker as a disabled text field.
labels array [] A text caption or description for the rangepicker, which use the start and end input's placeholder attribute instead.
placeholders array [] The placeholder attribute of the start and end <input>.
config object {} See Flatpickr configuration.
disableRangePlugin boolean false Disables the flatpickr rangePlugin and use two <ui-datepicker> instead. 10.16.0

Slots

Name Props Description
separator The custom separator.

Events

Name Type Description
update:modelValue function(value: array) Emits when the rangepicker value is changed.

NOTE: If you are not using v-model, you should listen for the rangepicker using @update:modelValue and update the modelValue prop.

  • Automatic

    <ui-rangepicker v-model="value"></ui-rangepicker>\n
  • Manual

    <ui-rangepicker\n  :model-value="value"\n  @update:model-value="balmUI.onChange('value', $event)"\n></ui-rangepicker>\n
'},36042:function(t,e,o){"use strict";o.r(e);e.default='

Ripple

The Ripple provides the JavaScript and CSS required to provide components (or any element at all) with a material "ink ripple" interaction effect. It is designed to be efficient, uninvasive, and usable without adding any extra DOM to your elements.

'},51412:function(t,e,o){"use strict";o.r(e);e.default='
<div v-ripple></div>\n

NOTE: Dynamic class are not supported

Default ripple

  • v-ripple="color"
  • v-ripple:cssOnly="color"
Value Type Default Description
color number, string undefined Sets the ripple color
  1. Sets the ripple color to the theme primary color: 1 or 'primary'.
  2. Sets the ripple color to the theme secondary color: 2 or 'secondary'.

Unbounded ripple

  • v-ripple.unbounded="color"
  • v-ripple:cssOnly.unbounded="color"
'},29543:function(t,e,o){"use strict";o.r(e);e.default='

Segmented Buttons

Segmented buttons allow users to toggle the selected states of grouped buttons.

New in 9.5.0

'},98061:function(t,e,o){"use strict";o.r(e);e.default='
<ui-segmented-button></ui-segmented-button>\n

Props

Name Type Default Description
selected boolean false Styles a selected segmented button.
text string '' Segmented button text.
icon string '' Segmented button icon. See Material Icons list.

Slots

Name Props Description
default The default slot holds the segmented button text and can contain HTML.
before iconClass Custom leading icon
after iconClass Custom trailing icon
<template #after="{ iconClass }">\n  <ui-icon :class="iconClass">ICON</ui-icon>\n</template>\n

Events

Name Type Description
click function(event: object) Emits when the segmented button is clicked.
'},22604:function(t,e,o){"use strict";o.r(e);e.default='
<ui-segmented-buttons :items="buttonGroupItems"></ui-segmented-buttons>\n
<ui-segmented-buttons>\n  <ui-segmented-button></ui-segmented-button>\n</ui-segmented-buttons>\n

Props

Name Type Default Description
modelValue (v-model) array, number [] Mandatory.
items array [] Segmented button items.
singleSelect boolean false To make the segmented button single select.
  • The keys of a segmented button item object:

    {\n  text: 'text', // label text\n  icon: 'icon', // label icon\n}\n

Slots

Name Props Description
default The default slot holds the segmented button.

Events

Name Type Description
update:modelValue function(selectedIndex: array | number) Emits when the segmented buttons is changed.
selected function(index: number) Emits when the segmented button is clicked.

NOTE: If you are not using v-model, you should listen for the segmented buttons using @update:modelValue and update the modelValue prop.

  • Automatic

    <ui-segmented-buttons v-model="selectedIndex"></ui-segmented-buttons>\n
  • Manual

    <ui-segmented-buttons\n  :model-value="selectedIndex"\n  @update:model-value="balmUI.onChange('selectedIndex', $event)"\n></ui-segmented-buttons>\n
'},94378:function(t,e,o){"use strict";o.r(e);e.default='

Select

'},5496:function(t,e,o){"use strict";o.r(e);e.default='
<ui-select-helper><!-- the helper text --></ui-select-helper>\n

Props

Name Type Default Description
id string null Mandatory. (Corresponding to the helperTextId prop matching <ui-select>)
visible boolean false Makes the helper text permanently visible.
validMsg string, boolean false Indicates the helper text is a validation message.

Slots

Name Props Description
default The default slot holds the select helper text and can contain HTML.
'},21534:function(t,e,o){"use strict";o.r(e);e.default='
<ui-select-icon><!-- the material design icon name --></ui-select-icon>\n

Props

Name Type Default Description
unclickable boolean false Display un-clickable icons.

Slots

Name Props Description
default The default slot holds the select icon and can contain HTML. See Material Icons list.

Events

Name Type Description
click function(event: object) Emits when the select icon is clicked.
'},66594:function(t,e,o){"use strict";o.r(e);e.default='
<ui-select><!-- the label text --></ui-select>\n

<ui-select> Types

  • 0: 'filled'
  • 1: 'outlined'

Props

Name Type Default Description Version
type string, number 0 Mandatory. Enhanced select types.
outlined boolean false Styles the select as an outlined select. (Equivalent to type=1)
modelValue (v-model) string, number '' The value of the currently selected option.
options array [] An array of options to show to the user. (Default option format: { label, value })
optionFormat object { label: 'label', value: 'value' } Defines the option data format. 9.34.0
defaultLabel string '' Placeholder item label.
defaultValue string, number '' Placeholder item value.
label string '' A text caption or description for the select.
disabled boolean false Styles the select as disabled.
required boolean false Styles the select as required.
fullwidth boolean false Optional. Styles the select as full width select.
icon string '' Optional. Indicates an icon element with a leading icon. See Material Icons list.
withLeadingIcon boolean false Styles the select as a select with a leading icon.
helperTextId string null Required for the id attribute of the <ui-select-helper>.
inside boolean false Styles for the overflow inside component (e.g. in <ui-dialog>) 10.10.0

NOTE: withLeadingIcon is only used for (non <ui-select-icon>) custom leading icon, and generally do not need to be configured.

\u26a0\ufe0f The prop optionLabel and optionValue is deprecated, use optionFormat instead in 9.34.0.

Slots

Name Props Description
default The default slot holds the label for the select.
icon iconClass The icon slot holds a custom leading icon.
dropdown-icon Custom dropdown icon.

Events

Name Type Description
update:modelValue function(value: string|number) Emits when the select value is changed.
selected function(option: object) Emits when an option item is selected.

NOTE: If you are not using v-model, you should listen for the select using @update:modelValue and update the modelValue prop.

  • Automatic

    <ui-select v-model="value"></ui-select>\n
  • Manual

    <ui-select\n  :model-value="value"\n  @update:model-value="balmUI.onChange('value', $event)"\n></ui-select>\n
'},16199:function(t,e,o){"use strict";o.r(e);e.default='

Shape

Shapes direct attention, identify components, communicate state, and express brand.

'},55303:function(t,e,o){"use strict";o.r(e);e.default='
<div v-shape></div>\n
  • Rounded shapes
    • v-shape="corner" (medium)
    • v-shape.small="corner"
    • v-shape.large="corner"
  • Cut shapes (Experimental, Sass Only)
    • v-shape.cut="corner" (medium)
    • v-shape.cut.small="corner"
    • v-shape.cut.large="corner"
Value Type Default Description
corner string '' Element for masking a specific corner; there may be up to 4. (Use shape sass radius variable when value is empty)

Syntax is similar to CSS border-radius property.

<!-- The syntax of the first corner allows one to four values -->\n<!-- Radius is set for all 4 sides -->\n<div v-shape="'4px'"></div>\n\n<!-- top-left | bottom-right -->\n<div v-shape="'4px 0'"></div>\n\n<!-- top-right | bottom-left -->\n<div v-shape="'0 4px'"></div>\n\n<!-- top-left -->\n<div v-shape="'4px 0 0'"></div>\n\n<!-- top-left | top-right | bottom-left -->\n<div v-shape="'4px 4px 0'"></div>\n\n<!-- top-left | top-right | bottom-right | bottom-left -->\n<div v-shape="'4px 4px 4px 4px'"></div>\n
'},37124:function(t,e,o){"use strict";o.r(e);e.default='

Side Sheet

New in 10.19.0

'},39737:function(t,e,o){"use strict";o.r(e);e.default='
<ui-side-sheet></ui-side-sheet>\n

Props

Name Type Default Description
modelValue (v-model) boolean false Mandatory.
closable boolean false Displays close icon button.

Slots

Name Props Description
title The title slot holds the title for the side sheet.
default The default slot holds the content for the side sheet.
actions The actions slot holds the actions for the side sheet.

Events

Name Type Description
update:modelValue function(open: boolean) Emits when the side sheet is hidden.

NOTE: If you are not using v-model, you should listen for the side sheet using @update:modelValue and update the modelValue prop.

  • Automatic

    <ui-side-sheet v-model="open"></ui-side-sheet>\n
  • Manual

    <ui-side-sheet\n  :model-value="open"\n  @update:model-value="balmUI.onChange('open', $event)"\n></ui-side-sheet>\n
'},72400:function(t,e,o){"use strict";o.r(e);e.default='

Skeleton

Skeleton provide a placeholder while you wait for content to load, or to visualise content that doesn't exist yet.

'},2219:function(t,e,o){"use strict";o.r(e);e.default='
<ui-skeleton><!-- (the loaded data) --></ui-skeleton>\n

Props

Name Type Default Description
loading boolean true Display the skeleton.
active boolean false Show animation effect.
avatar boolean, object false Show avatar placeholder.
title boolean, object true Show title placeholder.
paragraph boolean, object true Show paragraph placeholder.
interface Skeleton {\n  avatar: {\n    size: 'large' | 'small' | number; // Set the size of avatar\n    shape: 'circle' | 'square'; // Set the shape of avatar\n  };\n  title: {\n    width: string; // Set the width of title\n  };\n  paragraph: {\n    width: string; // Set the width of paragraph\n    rows: number; // Set the row count of paragraph\n  };\n}\n

Slots

Name Props Description
default The default slot holds the any components and can contain HTML.
'},4974:function(t,e,o){"use strict";o.r(e);e.default='

Slider

Sliders allow users to make selections from a range of values.

'},71535:function(t,e,o){"use strict";o.r(e);e.default='
<ui-slider></ui-slider>\n

<ui-slider> Types

  • 0: 'continuous'
  • 1: 'discrete'

Props

Name Type Default Description
type string, number 0 Mandatory. Slider types.
discrete boolean false Styles the slider as a discrete slider.
withTickMarks boolean false Discrete sliders support display markers on their tracks.
modelValue (v-model) number, array 0 The current value of the slider. (array value for range slider)
min number 0 The minimum value a slider can have.
max number 100 The maximum value a slider can have.
step number 1 Specifies the increments at which a slider value can be set.
disabled boolean false Whether or not the slider is disabled.

Events

Name Type Description
update:modelValue function(value: number|array) Emits when a user stops dragging the slider or changes the value.

NOTE: If you are not using v-model, you should listen for the slider using @update:modelValue and update the modelValue prop.

  • Automatic

    <ui-slider v-model="value"></ui-slider>\n
  • Manual

    <ui-slider\n  :model-value="value"\n  @update:model-value="balmUI.onChange('value', $event)"\n></ui-slider>\n

Public Methods

For asynchronous data

<ui-slider ref="slider" v-model="value"></ui-slider>\n
  • $refs.slider.recompute(): relayout
'},98559:function(t,e,o){"use strict";o.r(e);e.default='

Snackbars

Snackbars provide brief messages about app processes at the bottom of the screen.

'},68186:function(t,e,o){"use strict";o.r(e);e.default='
<ui-snackbar><!-- the message text --></ui-snackbar>\n

Props

Name Type Default Description Version
actionType number 0 Mandatory. Sets action button or dismiss icon for the snackbar. (0: action button, 1: dismiss icon)
modelValue (v-model) boolean false Mandatory.
timeoutMs number 5000 Optional. The automatic dismiss timeout in milliseconds. Value must be between 4000 and 10000 or an error will be thrown.
message string '' Mandatory. Message text.
actionButtonText string '' Optional. The action button/icon elements, if present.
stacked boolean false Optional. Positions the action button/icon below the message instead of alongside it.
leading boolean false Optional. Positions the snackbar on the leading edge of the screen (left in LTR, right in RTL) instead of centered. (tablet and desktop only)
position string 'bottom' Snackbar position. 9.21.0
interface Snackbar {\n  position: 'bottom' | 'center' | 'top';\n}\n

Slots

Name Props Description
default The default slot holds the message text for the snackbar.
action actionClass The custom action button.

Events

Name Type Description
update:modelValue function(open: boolean) Emits when the snackbar is hidden.
closed function() Emits when the snackbar is closed.

NOTE: If you are not using v-model, you should listen for the snackbar using @update:modelValue and update the modelValue prop.

  • Automatic

    <ui-snackbar v-model="open"></ui-snackbar>\n
  • Manual

    <ui-snackbar\n  :model-value="open"\n  @update:model-value="balmUI.onChange('open', $event)"\n></ui-snackbar>\n
'},74538:function(t,e,o){"use strict";o.r(e);e.default='

Circular Progress

Circular progress indicators display progress by animating an indicator along an invisible circular track in a clockwise direction. They can be applied directly to a surface, such as a button or card.

'},29377:function(t,e,o){"use strict";o.r(e);e.default='
<ui-spinner></ui-spinner>\n

Props

Name Type Default Description
active boolean false Puts the circular progress indicator in an indeterminate state.
progress number 0 Sets the progress bar to this value. Value should be between [0, 1].
size string 'large' To set the circular progress size.
fourColored boolean false You may choose to have the indicator in inderminate state animate through 4 colors.
label string '' Label indicating how the progress bar should be announced to the user.
closed boolean false Hides the circular progress indicator.
  • Size value:

    interface Spinner {\n  size: 'large' | 'L' | 'medium' | 'M' | 'small' | 'S';\n}\n
'},28010:function(t,e,o){"use strict";o.r(e);e.default='

Store (cover Vuex or Pinia)

A simpler state management pattern.

'},22016:function(t,e,o){"use strict";o.r(e);e.default='
// `/path/to/app/scripts/store/index.js`\nimport useDemoStore from './demo';\n\nexport default {\n  ...useDemoStore()\n};\n
// `/path/to/app/scripts/store/demo.js`\nimport { reactive, toRefs } from 'vue';\nimport { useHttp } from '@/plugins/http'; // e.g. axios\n\nconst state = reactive({\n  demoMenu: []\n});\n\nasync function getDemoMenu() {\n  const $http = useHttp();\n  state.demoMenu = await $http.get('/api/get-menu');\n}\n\nconst useDemoStore = () => {\n  return {\n    ...toRefs(state),\n    getDemoMenu\n  };\n};\n\nexport default useDemoStore;\n
  • Composition API

    <ui-button @click="store.getDemoMenu">Test</ui-button>\n<ui-divider></ui-divider>\n{{ store.demoMenu }}\n
    import { onBeforeMount } from 'vue';\nimport { useStore } from 'balm-ui';\n\nexport default {\n  setup() {\n    const store = useStore();\n\n    onBeforeMount(() => {\n      store.getDemoMenu();\n    });\n\n    return {\n      store\n    };\n  }\n};\n
  • Options API

    <ui-button @click="$store.getDemoMenu">Test</ui-button>\n<ui-divider></ui-divider>\n{{ $store.demoMenu }}\n
    export default {\n  beforeMount() {\n    this.$store.getDemoMenu();\n  }\n};\n
'},74384:function(t,e,o){"use strict";o.r(e);e.default='

Switches

Switches toggle the state of a single item on or off. They are the preferred way to adjust settings on mobile.

'},27782:function(t,e,o){"use strict";o.r(e);e.default='
<ui-form-field>\n  <ui-switch></ui-switch>\n  <label>Switch</label>\n</ui-form-field>\n

Props

Name Type Default Description
modelValue (v-model) boolean false Mandatory.
trueValue boolean, number, string true
falseValue boolean, number, string false
disabled boolean false Styles the switch as a disabled switch.

Events

Name Type Description
update:modelValue function(value: boolean) Emits when the switch is changed.
selected function(value: boolean|string|number) Emits when the switch is selected.

NOTE: If you are not using v-model, you should listen for the switch using @update:modelValue and update the modelValue prop.

  • Automatic

    <ui-switch v-model="value"></ui-switch>\n
  • Manual

    <ui-switch\n  :model-value="value"\n  @update:model-value="balmUI.onChange('value', $event)"\n></ui-switch>\n
'},97919:function(t,e,o){"use strict";o.r(e);e.default='

Data tables

Data tables display sets of data across rows and columns.

'},29541:function(t,e,o){"use strict";o.r(e);e.default='
<ui-table></ui-table>\n

Props

Name Type Default Description Version
data array [] Data source.
thead array [] Table header renderer.
tbody array [] Table content renderer.
tfoot array [] Table footer renderer.
fullwidth boolean false Styles the table as a full width table.
rowCheckbox boolean false Data table with row selection.
rowCheckboxDisabled function, boolean false Exclude row selections. 10.9.0
modelValue (v-model) array [] Selected row indexes/ids. (Required: rowCheckbox: true)
selectedKey boolean, string false modelValue use custom key field, default use row index.
rowIdPrefix string '' The prefix of data-row-id attribute value on row element tr.
sortIconAlignEnd boolean false The sort icon will be positioned after the label.
showProgress boolean false Styles the table with progress indicator for data loading. 9.7.0
fixedHeader boolean false Styles the table as a fixed header. 9.7.0
defaultColWidth number 0 Set the default column width for the fixed table. 9.7.0
scroll object { x: false, y: false } Set the table container size for the fixed table. 9.7.0
  • thead & tbody & tfoot props common format

    interface TableCell {\n  value: string; // Cell content\n  numeric: boolean; // Numeric cell is displayed right (Equivalent to `align: 'right'`)\n  align: 'left' | 'center' | 'right'; // Text alignment\n  class: string; // Custom classname\n  slot: string; // Custom slot for cell\n}\n
  • thead format

    • default items (string[])

      [\n  'ID',\n  'Dessert (100g serving)',\n  'Calories',\n  'Fat (g)',\n  'Carbs (g)',\n  'Protein (g)'\n];\n
    • custom items (object[] or object[][])

      interface Thead {\n  sort: 'none' | 'asc' | 'desc'; // Sorting\n  columnId: string; // sort field, e.g. 'id'\n  rowspan: number;\n  colspan: number;\n}\n
      [\n  [\n    {\n      value: 'ID',\n      rowspan: 2,\n      sort: 'asc',\n      columnId: 'id'\n    },\n    {\n      value: 'Type1',\n      colspan: 2,\n      align: 'center'\n    },\n    {\n      value: 'Type2',\n      colspan: 3,\n      align: 'center'\n    },\n    {\n      value: 'Actions',\n      rowspan: 2\n    }\n  ],\n  [\n    'Dessert (100g serving)',\n    'Calories',\n    'Fat (g)',\n    'Carbs (g)',\n    'Protein (g)'\n  ]\n];\n
  • tbody format

    • default fields (string[])

      ['id', 'dessert', 'calories', 'fat', 'carbs', 'protein'];\n
    • custom fields (object[])

      interface Tbody {\n  field: string; // Data field name\n  fn: function; // Simple data processing\n  colClass: string; // The class name of the <col> element (New in 9.7.0)\n  fixed: 'left' \uff5c 'right'; // Set column position for fixed cell (New in 9.7.0)\n  width: number; // Set column width for fixed cell (New in 9.7.0)\n}\n
      [\n  'id',\n  'dessert',\n  {\n    field: 'calories',\n    numeric: true,\n    class: 'my-data'\n  },\n  {\n    field: 'fat',\n    fn: (data) => {\n      return data.fat.toFixed(1);\n    }\n  },\n  'carbs',\n  {\n    field: 'protein',\n    class: (data) => {\n      return data.protein > 5 ? 'red' : 'green';\n    }\n  },\n  {\n    slot: 'actions'\n  }\n];\n
      <ui-table>\n  <template #actions="{ data }">\n    <ui-icon @click="show(data)">description</ui-icon>\n    <ui-icon @click="edit(data)">edit</ui-icon>\n    <ui-icon @click="remove(data)">delete</ui-icon>\n  </template>\n</ui-table>\n
  • tfoot format (object[])

    interface Tfoot {\n  fnName: 'count' | 'sum' | 'avg' | 'max' | 'min'; // Frequently-used statistical method\n  fn: function; // Simple data processing for result\n  slot: string; // Custom slot for footer cell\n}\n
    • fnName methods: count, sum, avg, max, min

      [\n  {\n    field: 'id',\n    fnName: 'count'\n  },\n  null,\n  {\n    field: 'calories',\n    fnName: 'sum'\n  },\n  {\n    field: 'fat',\n    fnName: 'avg'\n  },\n  {\n    field: 'carbs',\n    fnName: 'max'\n  },\n  {\n    field: 'protein',\n    fnName: 'min'\n  }\n];\n

Slots

Name Props Description
default The default slot holds the pagination component and can contain HTML.
(custom-name) Custom slot for cell

Events

Name Type Description Version
update:modelValue function(selectedRows: array) Emits when row checkbox is changed.
sorted function(detail: object) Emits when clicked on sortable header cell. 10.16.0

NOTE: If you are not using v-model, you should listen for the table using @update:modelValue and update the modelValue prop.

  • Automatic

    <ui-table v-model="selectedRows" row-checkbox></ui-table>\n
  • Manual

    <ui-table\n  :model-value="selectedRows"\n  row-checkbox\n  @update:model-value="balmUI.onChange('selectedRows', $event)"\n></ui-table>\n
'},33391:function(t,e,o){"use strict";o.r(e);e.default='

Tabs

Tabs organize content across different screens, data sets, and other interactions.

'},46183:function(t,e,o){"use strict";o.r(e);e.default='
<ui-tab-bar><!-- the tab components --></ui-tab-bar>\n

<ui-tab-bar> & <ui-tabs> common Props

Name Type Default Description
modelValue (v-model) number 0 Mandatory.

<ui-tab-bar> Slots

Name Slots Description
default The default slot holds the tab scroller and tab components and can contain HTML.

<ui-tab-bar> & <ui-tabs> common Events

Name Type Description
update:modelValue function(activeIndex: number) Emits when the tab is changed.

NOTE: If you are not using v-model, you should listen for the tabs using @update:modelValue and update the modelValue prop.

  • Automatic

    <ui-tab-bar v-model="activeIndex"></ui-tab-bar>\n<!-- OR -->\n<ui-tabs v-model="activeIndex"></ui-tabs>\n
  • Manual

    <ui-tab-bar\n  :model-value="activeIndex"\n  @update:model-value="balmUI.onChange('activeIndex', $event)"\n></ui-tab-bar>\n<!-- OR -->\n<ui-tabs\n  :model-value="activeIndex"\n  @update:model-value="balmUI.onChange('activeIndex', $event)"\n></ui-tabs>\n
'},78769:function(t,e,o){"use strict";o.r(e);e.default='
<ui-tab-indicator></ui-tab-indicator>\n

Props

Name Type Default Description
type string 'underline' Mandatory. Indicator type. ['underline', 'icon']
fade boolean false Optional. Sets up the tab indicator to fade in on activation and fade out on deactivation.

Slots

Name Props Description
default The default slot holds the tab indicator icon and can contain HTML.

NOTE: underline type has not slot.

'},77662:function(t,e,o){"use strict";o.r(e);e.default='
<ui-panels>\n  <!-- the panel components -->\n  <ui-panel><!-- the panel content --></ui-panel>\n</ui-panels>\n

Props

Name Type Default Description
modelValue (v-model) number 0 Mandatory.

Slots

Name Props Description
default The default slot holds the panel components and can contain HTML.
<ui-tabs v-model="active">\n  <ui-tab>Tab One</ui-tab>\n  <ui-tab>Tab Two</ui-tab>\n  <ui-tab>Tab Three</ui-tab>\n</ui-tabs>\n\n<ui-panels v-model="active">\n  <ui-panel>Panel One</ui-panel>\n  <ui-panel>Panel Two</ui-panel>\n  <ui-panel>Panel Three</ui-panel>\n</ui-panels>\n
'},1803:function(t,e,o){"use strict";o.r(e);e.default='
<ui-tab-scroller><!-- the tab components --></ui-tab-scroller>\n

Props

Name Type Default Description
scrollX (v-model:scrollX) number 0 The current scroll value.
align string '' <ui-tabs> common prop. Tab alignment.
interface TabScroller {\n  align: 'start' | 'center' | 'end';\n}\n

Events

Name Type Description
update:scrollX function(scrollX: number) Emits when the tab scroller is changed.

Public Methods

<ui-tab-scroller ref="scroller" v-model:scrollX="value"></ui-tab-scroller>\n
  • $refs.scroller.increment(scrollX: number)
'},51174:function(t,e,o){"use strict";o.r(e);e.default='
<ui-tab><!-- The tab text label --></ui-tab>\n

<ui-tab> & <ui-tabs> Types

  • 0: 'text'
  • 1: 'iconOnly'
  • 2: 'textWithIcon'

<ui-tab> & <ui-tabs> common Props

Name Type Default Description
type string, number 0 Mandatory. The permutation of tab labels.
stacked boolean false Optional. Indicates that the tab icon and label should flow vertically instead of horizontally.
minWidth boolean false Optional. Indicates that the tab should shrink in size to be as narrow as possible without causing text to wrap.
contentIndicator boolean false Optional. Text label width-matching indicator.

<ui-tab> Props

Name Type Default Description
text string '' Tab text.
icon string '' Tab icon. See Material Icons list.

Slots

Name Props Description
default The default slot holds the tab labels and can contain HTML.
icon iconClass The icon slot holds the custom icon and can contain HTML.
indicator The indicator slot holds the tab indicator component.
<ui-tab>\n  <template #icon="{ iconClass }">\n    <ui-icon :class="iconClass">ICON</ui-icon>\n  </template>\n</ui-tab>\n
'},98638:function(t,e,o){"use strict";o.r(e);e.default='
<ui-tabs></ui-tabs>\n

<ui-tabs> Props

Name Type Default Description
items array [] Mandatory. Tab items.
  • The keys of a tab item object:

    {\n  text: 'text', // label text\n  icon: 'icon', // label icon\n}\n

<ui-tabs> Slots

Name Slots Description
default The default slot holds the tab components and can contain HTML.
<!-- Full syntax -->\n<ui-tab-bar v-model="active">\n  <ui-tab\n    v-for="(tabItem, tabIndex) in items"\n    :key="tabIndex"\n    :icon="tabItem.icon"\n  >\n    {{ tabItem.text }}\n  </ui-tab>\n</ui-tab-bar>\n\n<!-- Shorthand -->\n<ui-tabs v-model="active" :items="items"></ui-tabs>\n
'},31205:function(t,e,o){"use strict";o.r(e);e.default='
<ui-tabs :items="tabItems"></ui-tabs>\n
<ui-tab-bar>\n  <ui-tab>\n    Tab Text\n    <template #indicator>\n      <ui-tab-indicator></ui-tab-indicator>\n    </template>\n  </ui-tab>\n</ui-tab-bar>\n\n<ui-panels>\n  <ui-panel></ui-panel>\n</ui-panels>\n
Component Description
<ui-tabs> The shorthand for <ui-tab-bar> + <ui-tab>.
<ui-tab-bar> Tab items container.
<ui-tab> Tab item.
<ui-panels> Tab panels container.
<ui-panel> Tab panel.
<ui-tab-indicator> Contains the custom tab indicator content.
<ui-tab-scroller> Contains the custom tab scroller content.
'},85422:function(t,e,o){"use strict";o.r(e);e.default='

Text fields

Text fields let users enter and edit text.

'},54789:function(t,e,o){"use strict";o.r(e);e.default='
<ui-textfield-helper><!-- the helper text --></ui-textfield-helper>\n

Props

Name Type Default Description
id string null Mandatory. (Corresponding to the helperTextId prop matching <ui-textfield>)
visible boolean false Makes the helper text permanently visible.
withCounter boolean false Show character counter. (The maxlength prop of <ui-textfield> is required)
validMsg string, boolean false Indicates the helper text is a validation message.

NOTE: Do not insert any tags between <ui-textfield> and <ui-textfield-helper> with counter

<!-- Single line text field -->\n<ui-form-field>\n  <ui-textfield maxlength="40"></ui-textfield>\n  <ui-textfield-helper with-counter></ui-textfield-helper>\n</ui-form-field>\n\n<!-- Single line text field with an internal character counter -->\n<ui-form-field>\n  <ui-textfield maxlength="40" with-counter></ui-textfield>\n</ui-form-field>\n

Slots

Name Props Description
default The default slot holds the text field helper text and can contain HTML.
'},72530:function(t,e,o){"use strict";o.r(e);e.default='
<ui-textfield-icon><!-- the material design icon name --></ui-textfield-icon>\n

Props

Name Type Default Description
trailing boolean false Display trailing icon.
unclickable boolean false Display un-clickable icon.

Slots

Name Props Description
default The default slot holds the text field icon and can contain HTML. See Material Icons list.

Events

Name Type Description
click function(event: object) Emits when the text field icon is clicked.
'},994:function(t,e,o){"use strict";o.r(e);e.default='
<ui-textfield><!-- the label text --></ui-textfield>\n

<ui-textfield> Types

  • 0: 'filled'
  • 1: 'outlined'

Props

Name Type Default Description
type string, number 0 Mandatory. Text field types.
outlined boolean false Styles the text field as an outlined text field. (label or placeholder required)
modelValue (v-model) string, number '' Mandatory.
inputType string 'text' Native <input> types: text, number, password, etc.
inputId string null The id attribute of the <input> and the for attribute of the <label>.
label string '' A text caption or description for the text field, which use the input's placeholder attribute instead.
placeholder string null The placeholder attribute of the <input>.
disabled boolean false Styles the text field as a disabled text field.
required boolean false Styles the text field as a required text field.
fullwidth boolean false Styles the text field as a full width text field.
endAligned boolean false Styles the text field with an end-aligned input.
icon string '' Optional. Indicates an icon element with a leading icon. See Material Icons list.
withLeadingIcon boolean false Styles the text field as a text field with a leading icon.
withTrailingIcon boolean false Styles the text field as a text field with a trailing icon.
prefixText string '' Sets the text content of the prefix.
suffixText string '' Sets the text content of the suffix.
withCounter boolean false Styles the text area as a text area with an internal character counter.
helperTextId string null Required for the id attribute of the <ui-textfield-helper>.
attrs object {} Other attributes for <input> or <textarea>.

NOTE: withLeadingIcon and withTrailingIcon are only used for (non <ui-textfield-icon>) custom leading/trailing icons, and generally do not need to be configured.

In addition to the above, the following properties proxy to the input or textarea elements' properties of the same name:

  • pattern
  • minlength
  • maxlength: Required for character counter
  • min
  • max
  • step
  • rows
  • cols

Slots

Name Props Description
default The default slot holds the label for the text field.
before iconClass The before slot holds a custom leading icon.
after iconClass The before slot holds a custom trailing icon.

Events

Name Type Description
focus function(event: object) Emits when the text field is focused.
keydown function(event: object) Emits when a key is pressed in the text field.
update:modelValue function(value: string) Emits when the text field value is changed.
change function(event: object) Emits when a change in the text field value is committed.
enter function(value: string) Emits when the Enter key is pressed in the input.
blur function(event: object) Emits when the text field loses focus.

NOTE: If you are not using v-model, you should listen for the text field using @update:modelValue and update the modelValue prop.

  • Automatic

    <ui-textfield v-model="value"></ui-textfield>\n
  • Manual

    <ui-textfield\n  :model-value="value"\n  @update:model-value="balmUI.onChange('value', $event)"\n></ui-textfield>\n
'},69570:function(t,e,o){"use strict";o.r(e);e.default='
<ui-form-field>\n  <ui-textfield maxlength="20">\n    <template #before>\n      <ui-textfield-icon>event</ui-textfield-icon>\n    </template>\n    Floating Label Text\n    <template #after>\n      <ui-textfield-icon trailing>delete</ui-textfield-icon>\n    </template>\n  </ui-textfield>\n  <ui-textfield-helper with-counter> Helper message </ui-textfield-helper>\n</ui-form-field>\n
Component Description
<ui-textfield> Mandatory.
<ui-textfield-icon> Mandatory for leading/trailing icons.
<ui-textfield-helper> Styles the container of helper text and character counter elements.
'},84479:function(t,e,o){"use strict";o.r(e);e.default='

Theme color

The Material Design color system can be used to create a color scheme that reflects your brand or style.

'},84086:function(t,e,o){"use strict";o.r(e);e.default='
  • $theme

    interface VueInstance {\n  $theme: BalmUITheme;\n}\n

2.1 Theme color

2.1.1 Getters/setters for single theme

  • $theme.primary

  • $theme.secondary

  • $theme.background

  • $theme.surface

  • $theme.error

  • $theme.onPrimary

  • $theme.onSecondary

  • $theme.onSurface

  • $theme.onError

    interface BalmUITheme {\n  primary: string;\n  secondary: string;\n  background: string;\n  surface: string;\n  error: string;\n  onPrimary: string;\n  onSecondary: string;\n  onSurface: string;\n  onError: string;\n}\n

2.1.2 Set multiple colors for all theme

  • $theme.colors

    type ThemeColor = {\n  primary?: string;\n  secondary?: string;\n  background?: string;\n  surface?: string;\n  error?: string;\n  on-primary?: string;\n  on-secondary?: string;\n  on-surface?: string;\n  on-error?: string;\n}\n\ninterface BalmUITheme {\n  colors: ThemeColor;\n}\n

2.1.3 Get theme color/classname

  • $theme.getThemeColor(style)

    type ThemeColorStyle =\n  | 'primary'\n  | 'secondary'\n  | 'background'\n  | 'surface'\n  | 'error'\n  | 'on-primary'\n  | 'on-secondary'\n  | 'on-surface'\n  | 'on-error';\n\ninterface BalmUITheme {\n  getThemeColor(style: ThemeColorStyle): string;\n}\n
  • $theme.getThemeClass(style)

    type ThemeClassStyle = ThemeColorStyle | 'primary-bg' | 'secondary-bg';\n\ninterface BalmUITheme {\n  getThemeClass(style: ThemeClassStyle): string;\n}\n

2.2 Text color

type TextStyle = 'primary' | 'secondary' | 'hint' | 'disabled' | 'icon';\n\ntype ThemeTone = 'background' | 'light' | 'dark';\n

2.2.1 Default

  • Get text color/class

    interface BalmUITheme {\n  getTextColor(style: TextStyle, tone: ThemeTone): string;\n  getTextClass(style: TextStyle, tone: ThemeTone): string;\n}\n
  • Set text color

    interface BalmUITheme {\n  setTextColor(style: TextStyle, value: string): void;\n}\n
Param Type Default Description
style string '' Text style name.
tone string 'background' Theme tone name.
value string '' Text color value.

2.2.2 Light or Dark

  • Get text color/class

    interface BalmUITheme {\n  getTextColorOnLight(style: TextStyle): string;\n  getTextClassOnLight(style: TextStyle): string;\n\n  getTextColorOnDark(style: TextStyle): string;\n  getTextClassOnDark(style: TextStyle): string;\n}\n
  • Set text color

    interface BalmUITheme {\n  setTextColorOnLight(style: TextStyle, value: string): void;\n  setTextColorOnDark(style: TextStyle, value: string): void;\n}\n
Param Type Default Description
style string '' Text style name.
value string '' Text color value.

Use $theme without .vue component

import { useTheme } from 'balm-ui';\n// OR\n// import { useTheme } from 'balm-ui/plugins/theme';\n\nconst $theme = useTheme();\n
'},99864:function(t,e,o){"use strict";o.r(e);e.default='

Toast

'},46557:function(t,e,o){"use strict";o.r(e);e.default='
  • $toast(message)

  • $toast(options)

    type ToastMessage = string;\n\ninterface ToastOptions {\n  className?: string;\n  timeoutMs?: number;\n  message: ToastMessage;\n  position?: 'bottom' | 'center' | 'top';\n}\n\ninterface VueInstance {\n  $toast(options: ToastMessage | ToastOptions): Promise<void>;\n}\n

Options

Option Type Default Description Version
className string '' The custom class name for the toast.
timeoutMs number 2750 The amount of time in milliseconds to show the toast. Value must be between 2000 and 3500 or an error will be thrown.
message string '' The text message to display.
position string 'bottom' Toast position. 9.21.0

Use $toast without .vue component

import { useToast } from 'balm-ui';\n// OR\n// import { useToast } from 'balm-ui/plugins/toast';\n\nconst $toast = useToast();\n$toast('Hello BalmUI');\n
'},37935:function(t,e,o){"use strict";o.r(e);e.default='

Tooltip

Tooltips display informative text when users hover over, focus on, or tap an element.

'},5139:function(t,e,o){"use strict";o.r(e);e.default='

Tooltip component

<ui-tooltip> Types

  • 0: 'plain'

    <div aria-describedby="tooltip-id">Text</div>\n<ui-tooltip id="tooltip-id">Tips content</ui-tooltip>\n
  • 1: 'rich' (New in 9.18.0)

    <ui-tooltip-anchor>\n  <div data-tooltip-id="tooltip-id">Text</div>\n  <ui-tooltip id="tooltip-id" rich>Tips content</ui-tooltip>\n</ui-tooltip-anchor>\n

Props

Name Type Default Description Version
type string, number 0 Mandatory. Tooltip types. 9.18.0
rich boolean false Optional. Styles a rich tooltip. 9.18.0
width number 0 Custom max width for tooltip.

Slots

  • Plain tooltip
Name Props Description
default The default slot holds the tooltip content and can contain HTML.
  • Rich tooltip (New in 9.18.0)
Name Props Description
title The title slot holds the tooltip title and can contain HTML.
default linkClass The default slot holds the tooltip content and can contain HTML.
'},83375:function(t,e,o){"use strict";o.r(e);e.default='

Tooltip directive

<div v-tooltip="'plain tips'" aria-describedby="tooltip-id"></div>\n
'},78341:function(t,e,o){"use strict";o.r(e);e.default='

App bars: top

The top app bar displays information and actions relating to the current screen.

'},13349:function(t,e,o){"use strict";o.r(e);e.default='
<ui-top-app-bar><!-- the application title --></ui-top-app-bar>\n

<ui-top-app-bar> Types

  • 0: 'standard'
  • 1: 'fixed'
  • 2: 'dense'
  • 3: 'prominent'
  • 4: 'prominentDense'
  • 5: 'short'
  • 6: 'shortCollapsed'
  • -1: 'nonRegular'

Props

Name Type Default Description
contentSelector string (required) Selector used to style the content below the top app bar, to prevent the top app bar from covering it.
type string, number 0 Mandatory. Top app bar types.
fixed boolean false Fixed top app bars stay at the top of the page and elevate above the content when scrolled.
dense boolean false The dense top app bar is shorter.
prominent boolean false The prominent top app bar is taller.
prominentDense boolean false The prominent top app bar with dense.
short boolean false Short top app bars are top app bars that can collapse to the navigation icon side when scrolled.
shortCollapsed boolean false Short top app bars can be configured to always appear collapsed.
title string '' Application title.
navIcon string, boolean 'menu' A navigation icon. (Set 'close' for the contextual action bar)
navId string null Control the navigation drawer is opened or closed. (Please refer to the navId prop of the drawer)

Short top app bars should be used with no more than 1 action item.

Slots

Name Props Description
default The default slot holds the application title and can contain HTML.
nav-icon navIconClass The nav-icon slot holds the navigation icon and can contain HTML.
toolbar toolbarItemClass The toolbar slot holds the action items and can contain HTML.
<template #toolbar="{ toolbarItemClass }">\n  <ui-icon-button :class="toolbarItemClass" icon="ICON"></ui-icon-button>\n</template>\n

Events

Name Type Description
nav function() Emits when the navigation icon is clicked.
close function() Emits when the navigation icon is clicked. Applicable only for Contextual action bar.

NOTE: If you are not using navId of the top app bar and navId of the drawer, you should listen for the top app bar using @nav and update the v-model prop of the drawer.

  • Automatic

    <ui-top-app-bar nav-id="demo-menu"></ui-top-app-bar>\n<ui-drawer nav-id="demo-menu" type="modal"></ui-drawer>\n
  • Manual

    <ui-top-app-bar @nav="balmUI.onChange('open', !open)"></ui-top-app-bar>\n<ui-drawer v-model="open" type="modal"></ui-drawer>\n
'},23360:function(t,e,o){"use strict";o.r(e);e.default='

Tree

New in 9.16.0

'},63681:function(t,e,o){"use strict";o.r(e);e.default='
<ui-tree></ui-tree>\n

Props

Name Type Default Description Version
modelValue (v-model) string, number, array '' Selected node keys.
filterParentNode boolean false Selected node keys excludes all parent nodes. 10.18.0
data array [] The tree data source.
dataFormat object {} Defines the tree data source format.
maxLevel number 0 Set max level for tree nodes.
multiple boolean false Whether to support selected multiple tree nodes.
singleChecked boolean false Set single checked. Applicable only for the multiple tree. 9.34.0
loadData function null Load data asynchronously.
autoExpandParent boolean false Whether to automatically expand root parent(s) treeNode. 9.17.0
autoExpandSelected boolean false Whether to automatically expand selected treeNode and it's parent treeNode. 10.21.0
autoExpandAll boolean false Whether to automatically expand all treeNodes. 10.21.0
defaultExpandedKeys array [] Specify the node keys of the default expanded treeNodes. 9.17.0
  • Default data format

    {\n  label: 'label',\n  value: 'value', // nodeKey\n  children: 'children',\n  hasChildren: 'hasChildren',\n  isLeaf: 'isLeaf',\n  disabled: 'disabled' // New in 9.35.0\n}\n
  • Load data asynchronously

    type TreeNodes = { [key: string]: any }[];\n\ninterface Tree {\n  loadData(nodeKey: string | number): TreeNodes;\n}\n

Slots

Name Props Description Version
default The default slot holds the tree top bar content and can contain HTML.
expand-more-icon The custom expand more icon.
expand-less-icon The custom expand less icon.
before data The before slot holds the tree node custom info and can contain HTML. 9.32.0
title data The title slot holds the tree node title and can contain HTML.
after data The after slot holds the tree node custom actions and can contain HTML.

Rename slot action to after in 9.32.0

Events

Name Type Description Version
update:modelValue function(selectedNodes: string | array, selectedEvent: object) Emits when tree node is changed.
selected function(selectedNodesData: string | array) Emits when tree node is selected. 9.34.0

The selectedEvent parameter of @change event is new in 9.35.0

NOTE: If you are not using v-model, you should listen for the tree using @update:modelValue and update the modelValue prop.

  • Automatic

    <ui-tree v-model="selectedNodes"></ui-tree>\n
  • Manual

    <ui-tree\n  :model-value="selectedNodes"\n  @update:model-value="balmUI.onChange('selectedNodes', $event)"\n></ui-tree>\n

Public Methods

  • Tree node operations (New in 9.31.0)

    <ui-tree ref="tree"></ui-tree>\n
    $refs.tree.updateNode(type: 'create' | 'update' | 'delete', parentKey: string | number, nodeData: object)\n\n$refs.tree.getNode(nodeKey: string): object\n
'},48181:function(t,e,o){"use strict";o.r(e);e.default='

Typography

Material Design's text sizes and styles were developed to balance content density and reading comfort under typical usage conditions.

'},84963:function(t,e,o){"use strict";o.r(e);e.default='
  • $tt(style)

    type TypographyStyle =\n  | 'headline1'\n  | 'headline2'\n  | 'headline3'\n  | 'headline4'\n  | 'headline5'\n  | 'headline6'\n  | 'subtitle1'\n  | 'subtitle2'\n  | 'body1'\n  | 'body2'\n  | 'caption'\n  | 'button'\n  | 'overline'\n  | string;\n\ninterface VueInstance {\n  $tt(style: TypographyStyle): string;\n}\n
Param Type Default Description
style string '' Typography style name or custom style classname.

The typographic styles in this module are derived from thirteen styles:

Style Description
headline1 The largest text on the screen, reserved for short, important text or numerals
headline2 Headline variant 2
headline3 Headline variant 3
headline4 Headline variant 4
headline5 Headline variant 5
headline6 Headline variant 6
subtitle1 Smaller than headline, reserved for medium-emphasis text that is shorter in length
subtitle2 Subtitle variant 2
body1 Used for long-form writing
body2 Body variant 2
caption Used sparingly to annotate imagery
button A call to action used by different types of buttons
overline Used sparingly to introduce a headline

You can overwrite typography CSS Classes for your project so easy.

Use $tt without .vue component

import { useTypography } from 'balm-ui';\n// OR\n// import { useTypography } from 'balm-ui/plugins/typography';\n\nconst $tt = useTypography();\nconsole.log($tt('custom-style-1'));\n
'},85345:function(t,e,o){"use strict";o.r(e);e.default='

Utilities

1. Types

Default Usage

import { types } from 'balm-ui';\n

Individual Usage

import types from 'balm-ui/utils/types';\n

Methods

types.getType(any): string;\n\ntypes.isUndefined(value): boolean;\ntypes.isNull(value): boolean;\ntypes.isBoolean(value): boolean;\ntypes.isNumber(value): boolean;\ntypes.isString(value): boolean;\ntypes.isSymbol(value): boolean;\ntypes.isObject(value): boolean;\ntypes.isArray(value): boolean;\ntypes.isFunction(value): boolean;\n

2. Helpers

Default Usage

import { helpers } from 'balm-ui';\n

Individual Usage

import helpers from 'balm-ui/utils/helpers';\n

Methods

helpers.isEmpty(value): boolean;\n\nhelpers.jsonEqual(jsonA, jsonB): boolean; // The order of the properties IS IMPORTANT\nhelpers.isDeepEqual(obj1, obj2): boolean;\n\nhelpers.merge(target: object, source: object): object;\nhelpers.merge.all(arrayOfObjects: object[]): object;\n\n// New in 9.28.0\nhelpers.toCamelCase(str: string): string;\nhelpers.toCapitalize(str: string): string;\n
  • isEmpty The following values are considered to be empty:
    • undefined
    • null
    • false
    • 0
    • ''
    • '0'
    • {}
    • []
    • an empty map or set

3. IE

Default Usage

import { detectIE } from 'balm-ui';\n

Individual Usage

import detectIE from 'balm-ui/utils/ie';\n

Methods

detectIE(): number | false;\n

IE browser returns version, other browsers return false.

4. Ban debugger

New in 10.23.0

Default Usage

import { ban } from 'balm-ui';\n

Individual Usage

import ban from 'balm-ui/utils/ban';\n

Methods

ban(): void;\n
'},28586:function(t,e,o){"use strict";o.r(e);e.default='

BalmUI validator

'},90528:function(t,e,o){"use strict";o.r(e);e.default='
import { useValidator } from 'balm-ui';\n// OR\n// import { useValidator } from 'balm-ui/plugins/validator';\n\nconst validator = useValidator();\n
  • Validation Method

    interface BalmUIValidator {\n  validate(\n    formData: { [fieldName: string]: any },\n    customFieldset?: string[]\n  ): BalmUIValidationResult;\n}\n
Param Type Default Description
formData object {} Mandatory. A form data object.
customFieldset array [] Optional. The field names of the validations.
  • Validation Result

    interface BalmUIValidationResult {\n  valid: boolean;\n  validFields: string[];\n  invalidFields: string[];\n  message: string;\n  messages: string[];\n  validMsg: { [fieldName: string]: string };\n}\n
Result Type Description
valid boolean The validator result.
validFields array Valid fields.
invalidFields array Invalid fields.
message string The message of the first invalid field.
messages array The messages of all invalid fields.
validMsg object The messages as an object. (Same format as formData)

NOTE: validMsg can be used with <ui-textfield-helper>/<ui-select-helper> to trigger the <ui-textfield>/<ui-select> invalid styling

  • Validation Rule

    interface BalmUIValidationRule {\n  key: string; // field name\n  label?: string;\n  validator: string; // 'customRule1, customRule2, ...'\n  ...customRule?: {\n    validate(fieldValue: any, formData: { [fieldName: string]: any }): boolean;\n    message: string | (fieldValue: any, formData: { [fieldName: string]: any }) => string;\n  };\n}\n

2.1 Default Validation

\u26a0\ufe0f <script setup> is not supported

// Custom local validation rules\nconst validations = [\n  {\n    key: 'fieldName1',\n    label: 'Field Label',\n    validator: 'required, customRule1',\n    customRule1: {\n      validate(fieldValue, formData) {\n        // Validation method\n        return true;\n      },\n      message: '%s is required' // The '%s' symbol will automatically replace the label text\n    }\n    // More custom rules\n    // customRule2: { ... }\n  }\n  // More form fields\n  // {\n  //   key: 'fieldName2',\n  //   validator: 'required'\n  // }\n];\n
  • Composition API

    import { reactive, toRefs } from 'vue';\nimport { useValidator } from 'balm-ui';\n\n// const validations = [...]\n\nconst state = reactive({\n  formData: {\n    fieldName1: '',\n    fieldName2: ''\n  }\n});\n\nexport default {\n  setup() {\n    const validator = useValidator();\n\n    function onSubmit() {\n      const {\n        valid,\n        validFields,\n        invalidFields,\n        message,\n        messages,\n        validMsg\n      } = validator.validate(state.formData);\n    }\n\n    return {\n      validations,\n      ...toRefs(state),\n      onSubmit\n    };\n  }\n};\n
  • Options API

    import { useValidator } from 'balm-ui';\n\n// const validations = [...]\n\nexport default {\n  data() {\n    return {\n      validator: useValidator(),\n      validations,\n      formData: {\n        fieldName1: '',\n        fieldName2: ''\n      }\n    };\n  },\n  methods: {\n    onSubmit() {\n      const {\n        valid,\n        validFields,\n        invalidFields,\n        message,\n        messages,\n        validMsg\n      } = this.validator.validate(this.formData);\n    }\n  }\n};\n

2.2 Dynamic Form Validation

// New in 9.15.0\ninterface BalmUIValidator {\n  clear(): void;\n  get(fieldName?: string): BalmUIValidationRule[] | BalmUIValidationRule; // show current validation rule(s)\n  set(fieldName: string, validationRule: BalmUIValidationRule): void;\n  set(validations: BalmUIValidationRule[]): void;\n}\n
Param Type Default Description
fieldName string '' A field name of the formdata. (BalmUI validator rule key)
validation object {} A validation. (BalmUI validator rule value)
validations object [] (See) BalmUI validator rules.
    1. using computed
    import { useValidator } from 'balm-ui';\n\nexport default {\n  data() {\n    return {\n      validator: useValidator(),\n      step: 1,\n      formData: {\n        username: '',\n        password: ''\n      }\n    };\n  },\n  computed: {\n    validations() {\n      return this.step === 1\n        ? [\n            {\n              key: 'username',\n              label: 'Username',\n              validator: 'required'\n            }\n          ]\n        : [\n            {\n              key: 'password',\n              label: 'Password',\n              validator: 'required'\n            }\n          ];\n    }\n  },\n  methods: {\n    onSubmit() {\n      let result = this.validator.validate(this.formData);\n      // ...\n    }\n  }\n};\n
    1. using customFieldset
    import { useValidator } from 'balm-ui';\n\nconst validations = [\n  {\n    key: 'username',\n    label: 'Username',\n    validator: 'required'\n  },\n  {\n    key: 'password',\n    label: 'Password',\n    validator: 'required'\n  }\n];\n\nexport default {\n  data() {\n    return {\n      validator: useValidator(),\n      validations,\n      step: 1,\n      formData: {\n        username: '',\n        password: ''\n      }\n    };\n  },\n  methods: {\n    onSubmit() {\n      let customFieldset = this.step === 1 ? ['username'] : ['password'];\n      let result = this.validator.validate(this.formData, customFieldset);\n      // ...\n    }\n  }\n};\n
    1. using validator.set for validations
    import { useValidator } from 'balm-ui';\n\nexport default {\n  data() {\n    return {\n      validator: useValidator(),\n      step: 1,\n      formData: {\n        username: '',\n        password: ''\n      }\n    }\n  },\n  methods: {\n    onSubmit() {\n      let customValidations =\n        this.step === 1\n          ? [\n              {\n                key: 'username',\n                label: 'Username',\n                validator: 'required'\n              }\n            ]\n          : [\n              {\n                key: 'password',\n                label: 'Password',\n                validator: 'required'\n              }\n            ];\n      this.validator.set(customValidations);\n\n      let result = this.validator.validate(this.formData);\n      // ...\n  }\n};\n
'},30300:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite `$alert` options.\n  $alert: {\n    // some options\n  }\n});\n
'},20357:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/dialog/dialog';\n@use 'balm-ui/plugins/alert/alert';\n@use 'balm-ui/components/icon/icon'; // Optional\n
import $alert from 'balm-ui/plugins/alert';\n\n// `app`: Vue app\n// Optional. Overwrite `$alert` options.\napp.use($alert, {\n  // some options\n});\n
'},93461:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui/dist/balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI);\n
'},49530:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/alert/alert';\n@use 'balm-ui/components/icon/icon';\n
import UiAlert from 'balm-ui/components/alert';\n\n// `app`: Vue app\napp.use(UiAlert);\n
'},61252:function(t,e,o){"use strict";o.r(e);e.default='
import BalmUIPlus from 'balm-ui/dist/balm-ui-plus';\n\n// `app`: Vue app\napp.use(BalmUIPlus);\n
'},89175:function(t,e,o){"use strict";o.r(e);e.default='
import vAnchor from 'balm-ui/directives/anchor';\n\n// `app`: Vue app\napp.directive(vAnchor.name, vAnchor);\n
'},31272:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite `<ui-autocomplete>` props with default value.\n  UiAutocomplete: {\n    // some props\n  }\n});\n
'},37694:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/textfield/textfield';\n@use 'balm-ui/components/autocomplete/autocomplete';\n@use 'balm-ui/components/menu/menu';\n@use 'balm-ui/components/list/list';\n@use 'balm-ui/components/icon/icon'; // Optional\n
import UiAutocomplete from 'balm-ui/components/autocomplete';\n\n// `app`: Vue app\n// Optional. Overwrite `<ui-autocomplete>` props with default value.\napp.use(UiAutocomplete, {\n  // some props\n});\n
'},72664:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI);\n
'},45119:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/badge/badge';\n@use 'balm-ui/components/icon/icon'; // Recommended\n
import UiBadge from 'balm-ui/components/badge';\nimport vBadge from 'balm-ui/directives/badge'; // Optional\n\n// `app`: Vue app\napp.use(UiBadge);\napp.directive(vBadge.name, vBadge); // Optional\n
'},62156:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite `<ui-banner>` props with default value.\n  UiBanner: {\n    // some props\n  }\n});\n
'},63948:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/banner/banner';\n
import UiBanner from 'balm-ui/components/banner';\n\n// `app`: Vue app\n// Optional. Overwrite `<ui-banner>` props with default value.\napp.use(UiBanner, {\n  // some props\n});\n
'},3089:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import Vue from 'vue';\nimport BalmUIPlus from 'balm-ui/dist/balm-ui-plus';\n\nVue.use(BalmUIPlus);\n
'},78330:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/bottom-sheet/bottom-sheet';\n
import Vue from 'vue';\nimport UiBottomSheet from 'balm-ui/components/bottom-sheet';\n\nVue.use(UiBottomSheet);\n
'},77647:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite `<ui-button>` props with default value.\n  UiButton: {\n    // some props\n  }\n});\n
'},82912:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/button/button';\n@use 'balm-ui/components/icon/icon'; // Optional\n
import UiButton from 'balm-ui/components/button';\nimport vButton from 'balm-ui/directives/button'; // Optional\n\n// `app`: Vue app\n// Optional. Overwrite `<ui-button>` props with default value.\napp.use(UiButton, {\n  // some props\n});\nVue.directive(vButton.name, vButton); // Optional\n
'},79367:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite `<ui-card>` props with default value.\n  UiCard: {\n    // some props\n  },\n  // Optional. Overwrite `<ui-card-media>` props with default value.\n  UiCardMedia: {\n    // some props\n  },\n  // Optional. Overwrite `<ui-card-actions>` props with default value.\n  UiCardActions: {\n    // some props\n  }\n});\n
'},65887:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/card/card';\n
import UiCardComponents from 'balm-ui/components/card';\n\n// `app`: Vue app\napp.use(UiCardComponents, {\n  // Optional. Overwrite `<ui-card>` props with default value.\n  UiCard: {\n    // some props\n  },\n  // Optional. Overwrite `<ui-card-media>` props with default value.\n  UiCardMedia: {\n    // some props\n  },\n  // Optional. Overwrite `<ui-card-actions>` props with default value.\n  UiCardActions: {\n    // some props\n  }\n});\n
'},81063:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite `<ui-checkbox>` props with default value.\n  UiCheckbox: {\n    // some props\n  }\n});\n
'},39283:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/form-field/form-field';\n@use 'balm-ui/components/checkbox/checkbox';\n
import UiFormField from 'balm-ui/components/form-field';\nimport UiCheckbox from 'balm-ui/components/checkbox';\n\n// `app`: Vue app\napp.use(UiFormField);\n// Optional. Overwrite `<ui-checkbox>` props with default value.\napp.use(UiCheckbox, {\n  // some props\n});\n
'},14714:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite `<ui-chips>` props with default value.\n  UiChips: {\n    // some props\n  }\n});\n
'},66825:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/chips/chips';\n@use 'balm-ui/components/icon/icon'; // Optional\n
import UiChipsComponents from 'balm-ui/components/chips';\n\n// `app`: Vue app\napp.use(UiChipsComponents, {\n  // Optional. Overwrite `<ui-chips>` props with default value.\n  UiChips: {\n    // some props\n  }\n});\n
'},55330:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI);\n
'},33297:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/collapse/collapse';\n@use 'balm-ui/components/icon/icon'; // Optional\n
import UiCollapse from 'balm-ui/components/collapse';\n\n// `app`: Vue app\napp.use(UiCollapse);\n
'},41174:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite `$confirm` options.\n  $confirm: {\n    // some options\n  }\n});\n
'},58441:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/dialog/dialog';\n@use 'balm-ui/plugins/confirm/confirm';\n@use 'balm-ui/components/icon/icon'; // Optional\n
import $confirm from 'balm-ui/plugins/confirm';\n\n// `app`: Vue app\n// Optional. Overwrite `$confirm` options.\napp.use($confirm, {\n  // some options\n});\n
'},15669:function(t,e,o){"use strict";o.r(e);e.default='
import Vue from 'vue';\nimport BalmUIPlus from 'balm-ui/dist/balm-ui-plus';\n\nVue.use(BalmUIPlus);\n
'},21199:function(t,e,o){"use strict";o.r(e);e.default='
import Vue from 'vue';\nimport vCopy from 'balm-ui/directives/copy';\n\nVue.directive(vCopy.name, vCopy);\n
'},6017:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite `<ui-datepicker>` props with default value.\n  UiDatepicker: {\n    // some props\n  }\n});\n
'},24070:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/textfield/textfield';\n@use 'balm-ui/components/picker/picker';\n@use 'balm-ui/components/datepicker/datepicker';\n
import UiDatepicker from 'balm-ui/components/datepicker';\n\n// `app`: Vue app\n// Optional. Overwrite `<ui-datepicker>` props with default value.\napp.use(UiDatepicker, {\n  // some props\n});\n
'},58803:function(t,e,o){"use strict";o.r(e);e.default='
import Vue from 'vue';\nimport BalmUI from 'balm-ui';\n\nVue.use(BalmUI);\n
'},32648:function(t,e,o){"use strict";o.r(e);e.default='
import Vue from 'vue';\nimport vDebounce from 'balm-ui/directives/debounce';\n\nVue.directive(vDebounce.name, vDebounce);\n
'},39759:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite `<ui-dialog>` props with default value.\n  UiDialog: {\n    // some props\n  },\n  // Optional. Overwrite `<ui-dialog-title>` props with default value.\n  UiDialogTitle: {\n    // some props\n  },\n  // Optional. Overwrite `<ui-dialog-actions>` props with default value.\n  UiDialogActions: {\n    // some props\n  }\n});\n
'},28715:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/dialog/dialog';\n@use 'balm-ui/components/icon/icon'; // for close icon button\n
import UiDialogComponents from 'balm-ui/components/dialog';\n\n// `app`: Vue app\napp.use(UiDialogComponents, {\n  // Optional. Overwrite `<ui-dialog>` props with default value.\n  UiDialog: {\n    // some props\n  },\n  // Optional. Overwrite `<ui-dialog-title>` props with default value.\n  UiDialogTitle: {\n    // some props\n  },\n  // Optional. Overwrite `<ui-dialog-actions>` props with default value.\n  UiDialogActions: {\n    // some props\n  }\n});\n
'},3514:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui/dist/balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI);\n
'},71242:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/divider/divider';\n
import UiDivider from 'balm-ui/components/divider';\n\n// `app`: Vue app\napp.use(UiDivider);\n
'},13187:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI);\n
'},16357:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/drawer/drawer';\n@use 'balm-ui/components/list/list';\n
import UiDrawerComponents from 'balm-ui/components/drawer';\nimport UiListComponents from 'balm-ui/components/list';\n\n// `app`: Vue app\napp.use(UiDrawerComponents);\napp.use(UiListComponents);\n
'},31962:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUIPlus from 'balm-ui/dist/balm-ui-plus';\n\n// `app`: Vue app\napp.use(BalmUIPlus, {\n  // Optional. Overwrite `<ui-editor>` props with default value.\n  UiEditor: {\n    // some props\n  }\n});\n
'},28612:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/editor/editor';\n@use 'balm-ui/components/icon/icon';\n\n// Choose one editor theme\n@use 'balm-ui/components/editor/theme/snow';\n@use 'balm-ui/components/editor/theme/bubble';\n
import UiEditor from 'balm-ui/components/editor';\n\n// `app`: Vue app\n// Optional. Overwrite `<ui-editor>` props with default value.\napp.use(UiEditor, {\n  // some props\n});\n
'},8535:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI);\n
'},82980:function(t,e,o){"use strict";o.r(e);e.default='
/* Included `elevation.scss` */\n@use 'balm-ui/components/core';\n\n/* OR */\n@use 'balm-ui/directives/elevation/elevation';\n
import vElevation from 'balm-ui/directives/elevation';\n\n// `app`: Vue app\napp.directive(vElevation.name, vElevation);\n
'},88456:function(t,e,o){"use strict";o.r(e);e.default='
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI);\n
'},29054:function(t,e,o){"use strict";o.r(e);e.default='
import $event from 'balm-ui/plugins/event';\n\n// `app`: Vue app\napp.use($event);\n
'},70575:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite `<ui-fab>` props with default value.\n  UiFab: {\n    // some props\n  }\n});\n
'},45733:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/fab/fab';\n@use 'balm-ui/components/icon/icon'; // Recommended\n
import UiFab from 'balm-ui/components/fab';\n\n// `app`: Vue app\n// Optional. Overwrite `<ui-fab>` props with default value.\napp.use(UiFab, {\n  // some props\n});\n
'},50764:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite `<ui-file>` props with default value.\n  UiFile: {\n    // some props\n  }\n});\n
'},47809:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/button/button';\n@use 'balm-ui/components/file/file';\n@use 'balm-ui/components/icon/icon'; // Optional\n
import UiFile from 'balm-ui/components/file';\n\n// `app`: Vue app\n// Optional. Overwrite `<ui-file>` props with default value.\napp.use(UiFile, {\n  // some props\n});\n
'},53976:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI);\n
'},11773:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/form-field/form-field'; // NOTE: It must be loaded before form styles\n@use 'balm-ui/components/form/form';\n
import UiForm from 'balm-ui/components/form';\nimport UiFormField from 'balm-ui/components/form-field';\n\n// `app`: Vue app\napp.use(UiForm);\napp.use(UiFormField);\n
'},49865:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite `<ui-grid>` props with default value.\n  UiGrid: {\n    // some props\n  }\n});\n
'},74010:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/grid/grid';\n
import UiGridComponents from 'balm-ui/components/grid';\nimport $grid from 'balm-ui/plugins/grid'; // Optional\n\n// `app`: Vue app\napp.use(UiGridComponents, {\n  // Optional. Overwrite `<ui-grid>` props with default value.\n  UiGrid: {\n    // some props\n  }\n});\napp.use($grid); // Optional\n
'},29399:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite `<ui-icon-button>` props with default value.\n  UiIconButton: {\n    // some props\n  }\n});\n
'},82507:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/icon-button/icon-button';\n@use 'balm-ui/components/icon/icon';\n
import UiIconButton from 'balm-ui/components/icon-button';\n\n// `app`: Vue app\n// Optional. Overwrite `<ui-icon-button>` props with default value.\napp.use(UiIconButton, {\n  // some props\n});\n
'},6667:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite `<ui-icon>` props with default value.\n  UiIcon: {\n    // some props\n  }\n});\n
'},39477:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/icon/icon';\n
import UiIcon from 'balm-ui/components/icon';\n\n// `app`: Vue app\n// Optional. Overwrite `<ui-icon>` props with default value.\napp.use(UiIcon, {\n  // some props\n});\n
'},44785:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite `<ui-image-list>` props with default value.\n  UiImageList: {\n    // some props\n  },\n  // Optional. Overwrite `<ui-image-item>` props with default value.\n  UiImageItem: {\n    // some props\n  }\n});\n
'},55229:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/image-list/image-list';\n
import UiImageListComponents from 'balm-ui/components/image-list';\n\n// `app`: Vue app\napp.use(UiImageListComponents, {\n  // Optional. Overwrite `<ui-image-list>` props with default value.\n  UiImageList: {\n    // some props\n  },\n  // Optional. Overwrite `<ui-image-item>` props with default value.\n  UiImageItem: {\n    // some props\n  }\n});\n
'},3305:function(t,e,o){"use strict";o.r(e);e.default=""},16422:function(t,e,o){"use strict";o.r(e);e.default=""},1654:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite `<ui-list>` props with default value.\n  UiList: {\n    // some props\n  }\n});\n
'},64605:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/list/list';\n@use 'balm-ui/components/icon/icon'; // Optional\n
import UiListComponents from 'balm-ui/components/list';\n\n// `app`: Vue app\napp.use(UiListComponents, {\n  // Optional. Overwrite `<ui-list>` props with default value.\n  UiList: {\n    // some props\n  }\n});\n
'},5411:function(t,e,o){"use strict";o.r(e);e.default='
import Vue from 'vue';\nimport BalmUIPlus from 'balm-ui/dist/balm-ui-plus';\n\nVue.use(BalmUIPlus);\n
'},18298:function(t,e,o){"use strict";o.r(e);e.default='
import Vue from 'vue';\nimport vLongpress from 'balm-ui/directives/longpress';\n\nVue.directive(vLongpress.name, vLongpress);\n
'},73574:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite `<ui-menu>` props with default value.\n  UiMenu: {\n    // some props\n  }\n});\n
'},56403:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/menu/menu';\n@use 'balm-ui/components/list/list';\n
import UiMenuComponents from 'balm-ui/components/menu';\n\n// `app`: Vue app\napp.use(UiMenuComponents, {\n  // Optional. Overwrite `<ui-menu>` props with default value.\n  UiMenu: {\n    // some props\n  }\n});\n
'},2024:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\nimport BalmUIPlus from 'balm-ui/dist/balm-ui-plus';\n\n// `app`: Vue app\napp.use(BalmUI);\napp.use(BalmUIPlus, {\n  // Optional. Overwrite `<ui-navigation-bar>` props with default value.\n  UiNavigationBar: {\n    // some props\n  }\n});\n
'},55227:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/navigation-bar/navigation-bar';\n@use 'balm-ui/components/tabs/tabs';\n@use 'balm-ui/components/icon/icon'; // Optional\n
import UiNavigationBar from 'balm-ui/components/navigation-bar';\nimport UiTabsComponents from 'balm-ui/components/tabs';\n\n// `app`: Vue app\n// Optional. Overwrite `<ui-navigation-bar>` props with default value.\napp.use(UiNavigationBar, {\n  // some props\n});\napp.use(UiTabsComponents);\n
'},35956:function(t,e,o){"use strict";o.r(e);e.default=""},17184:function(t,e,o){"use strict";o.r(e);e.default=""},95422:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite `<ui-pagination>` props with default value.\n  UiPagination: {\n    // some props\n  }\n});\n
'},12026:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/table/table';\n@use 'balm-ui/components/pagination/pagination';\n@use 'balm-ui/components/button/button';\n@use 'balm-ui/components/icon/icon';\n
import UiPagination from 'balm-ui/components/pagination';\n\n// `app`: Vue app\n// Optional. Overwrite `<ui-pagination>` props with default value.\napp.use(UiPagination, {\n  // some props\n});\n
'},60101:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite `<ui-progress>` props with default value.\n  UiProgress: {\n    // some props\n  }\n});\n
'},56279:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/progress/progress';\n
import UiProgress from 'balm-ui/components/progress';\n\n// `app`: Vue app\n// Optional. Overwrite `<ui-progress>` props with default value.\napp.use(UiProgress, {\n  // some props\n});\n
'},39089:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite `<ui-radio>` props with default value.\n  UiRadio: {\n    // some props\n  }\n});\n
'},70508:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/form-field/form-field';\n@use 'balm-ui/components/radio/radio';\n
import UiFormField from 'balm-ui/components/form-field';\nimport UiRadio from 'balm-ui/components/radio';\n\n// `app`: Vue app\napp.use(UiFormField);\n// Optional. Overwrite `<ui-radio>` props with default value.\napp.use(UiRadio, {\n  // some props\n});\n
'},10663:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite `<ui-rangepicker>` props with default value.\n  UiRangepicker: {\n    // some props\n  }\n});\n
'},40999:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/textfield/textfield';\n@use 'balm-ui/components/picker/picker';\n@use 'balm-ui/components/datepicker/datepicker';\n@use 'balm-ui/components/rangepicker/rangepicker';\n
import UiRangepicker from 'balm-ui/components/rangepicker';\n\n// `app`: Vue app\n// Optional. Overwrite `<ui-rangepicker>` props with default value.\napp.use(UiRangepicker, {\n  // some props\n});\n
'},13824:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI);\n
'},76517:function(t,e,o){"use strict";o.r(e);e.default='
/* Included `ripple.scss` */\n@use 'balm-ui/components/core';\n\n/* OR */\n@use 'balm-ui/directives/ripple/ripple';\n
import vRipple from 'balm-ui/directives/ripple';\n\n// `app`: Vue app\napp.directive(vRipple.name, vRipple);\n
'},67446:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite `<ui-segmented-buttons>` props with default value.\n  UiSegmentedButtons: {\n    // some props\n  }\n});\n
'},40137:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/segmented-button/segmented-button';\n@use 'balm-ui/components/icon/icon'; // Optional\n
import UiSegmentedButtonComponents from 'balm-ui/components/segmented-button';\n\n// `app`: Vue app\napp.use(UiSegmentedButtonComponents, {\n  // Optional. Overwrite `<ui-segmented-buttons>` props with default value.\n  UiSegmentedButtons: {\n    // some props\n  }\n});\n
'},87624:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite `<ui-select>` props with default value.\n  UiSelect: {\n    // some props\n  }\n});\n
'},48019:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/select/select';\n@use 'balm-ui/components/menu/menu';\n@use 'balm-ui/components/list/list';\n@use 'balm-ui/components/icon/icon'; // Optional\n
import UiSelect from 'balm-ui/components/select';\n\n// `app`: Vue app\n// Optional. Overwrite `<ui-select>` props with default value.\napp.use(UiSelect, {\n  // some props\n});\n
'},32793:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI);\n
'},52355:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/directives/shape/shape';\n
import vShape from 'balm-ui/directives/shape';\n\n// `app`: Vue app\napp.directive(vShape.name, vShape);\n
'},64190:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import Vue from 'vue';\nimport BalmUIPlus from 'balm-ui/dist/balm-ui-plus';\n\nVue.use(BalmUIPlus);\n
'},47745:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/side-sheet/side-sheet';\n
import Vue from 'vue';\nimport UiSideSheet from 'balm-ui/components/side-sheet';\n\nVue.use(UiSideSheet);\n
'},28132:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUIPlus from 'balm-ui/dist/balm-ui-plus';\n\n// `app`: Vue app\napp.use(BalmUIPlus, {\n  // Optional. Overwrite `<ui-skeleton>` props with default value.\n  UiSkeleton: {\n    // some props\n  }\n});\n
'},42206:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/skeleton/skeleton';\n
import UiSkeleton from 'balm-ui/components/skeleton';\n\n// `app`: Vue app\n// Optional. Overwrite `<ui-skeleton>` props with default value.\napp.use(UiSkeleton, {\n  // some props\n});\n
'},3835:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite `<ui-slider>` props with default value.\n  UiSlider: {\n    // some props\n  }\n});\n
'},68679:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/slider/slider';\n
import UiSlider from 'balm-ui/components/slider';\n\n// `app`: Vue app\n// Optional. Overwrite `<ui-slider>` props with default value.\napp.use(UiSlider, {\n  // some props\n});\n
'},65259:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite `<ui-snackbar>` props with default value.\n  UiSnackbar: {\n    // some props\n  }\n});\n
'},81612:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/snackbar/snackbar';\n
import UiSnackbar from 'balm-ui/components/snackbar';\n\n// `app`: Vue app\n// Optional. Overwrite `<ui-snackbar>` props with default value.\napp.use(UiSnackbar, {\n  // some props\n});\n
'},55781:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite `<ui-spinner>` props with default value.\n  UiSpinner: {\n    // some props\n  }\n});\n
'},34050:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/spinner/spinner';\n
import UiSpinner from 'balm-ui/components/spinner';\n\n// `app`: Vue app\n// Optional. Overwrite `<ui-spinner>` props with default value.\napp.use(UiSpinner, {\n  // some props\n});\n
'},45488:function(t,e,o){"use strict";o.r(e);e.default='
import BalmUI from 'balm-ui';\nimport myStore from './store';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  $store: myStore\n});\n
'},62041:function(t,e,o){"use strict";o.r(e);e.default='
import $store from 'balm-ui/plugins/store';\nimport myStore from './store';\n\n// `app`: Vue app\napp.use($store, myStore);\n
'},72093:function(t,e,o){"use strict";o.r(e);e.default='
  • Custom global store

    // `/path/to/app/scripts/store/index.js`\nexport default {};\n
'},27820:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite `<ui-switch>` props with default value.\n  UiSwitch: {\n    // some props\n  }\n});\n
'},24198:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/switch/switch';\n
import UiSwitch from 'balm-ui/components/switch';\n\n// `app`: Vue app\n// Optional. Overwrite `<ui-switch>` props with default value.\napp.use(UiSwitch, {\n  // some props\n});\n
'},66254:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite `<ui-table>` props with default value.\n  UiTable: {\n    // some props\n  }\n});\n
'},70240:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/table/table';\n@use 'balm-ui/components/checkbox/checkbox'; // Required only for data table with row selection\n@use 'balm-ui/components/icon-button/icon-button'; // Required only for data table with column sorting\n@use 'balm-ui/components/pagination/pagination'; // Recommended\n@use 'balm-ui/components/icon/icon';\n
import UiTable from 'balm-ui/components/table';\n\n// `app`: Vue app\n// Optional. Overwrite `<ui-table>` props with default value.\napp.use(UiTable, {\n  // some props\n});\n
'},55680:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite `<ui-tabs>` props with default value.\n  UiTabs: {\n    // some props\n  }\n});\n
'},66342:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/tabs/tabs';\n@use 'balm-ui/components/icon/icon'; // Optional\n
import UiTabsComponents from 'balm-ui/components/tabs';\n\n// `app`: Vue app\napp.use(UiTabsComponents, {\n  // Optional. Overwrite `<ui-tabs>` props with default value.\n  UiTabs: {\n    // some props\n  }\n});\n
'},13732:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite `<ui-textfield>` props with default value.\n  UiTextfield: {\n    // some props\n  }\n});\n
'},30121:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/textfield/textfield';\n@use 'balm-ui/components/icon/icon'; // Optional\n
import UiTextfieldComponents from 'balm-ui/components/textfield';\n\n// `app`: Vue app\napp.use(UiTextfieldComponents, {\n  // Optional. Overwrite `<ui-textfield>` props with default value.\n  UiTextfield: {\n    // some props\n  }\n});\n
'},32551:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  $theme: {\n    // (Optional) New in 9.28.0, See ThemeColor type in APIs.\n  }\n});\n
'},39777:function(t,e,o){"use strict";o.r(e);e.default='
/* Included `theme.scss` */\n@use 'balm-ui/components/core';\n\n/* OR */\n@use 'balm-ui/plugins/theme/theme';\n
import $theme from 'balm-ui/plugins/theme';\n\n// `app`: Vue app\napp.use($theme, {\n  // (Optional) New in 9.28.0, See ThemeColor type in APIs.\n});\n
'},63742:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite `$toast` options.\n  $toast: {\n    // some options\n  }\n});\n
'},83855:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/snackbar/snackbar';\n@use 'balm-ui/plugins/toast/toast'; // New in 9.20.0\n
import $toast from 'balm-ui/plugins/toast';\n\n// `app`: Vue app\n// Optional. Overwrite `$toast` options.\napp.use($toast, {\n  // some options\n});\n
'},30073:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite `<ui-tooltip>` props with default value.\n  UiTooltip: {\n    // some props\n  }\n});\n
'},58709:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/tooltip/tooltip';\n
import UiTooltip from 'balm-ui/components/tooltip';\nimport vTooltip from 'balm-ui/directives/tooltip'; // Optional\n\n// `app`: Vue app\n// Optional. Overwrite `<ui-tooltip>` props with default value.\napp.use(UiTooltip, {\n  // some props\n});\napp.directive(vTooltip.name, vTooltip); // Optional\n
'},15171:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite `<ui-top-app-bar>` props with default value.\n  UiTopAppBar: {\n    // some props\n  }\n});\n
'},471:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/top-app-bar/top-app-bar';\n@use 'balm-ui/components/icon-button/icon-button';\n@use 'balm-ui/components/icon/icon';\n
import UiTopAppBar from 'balm-ui/components/top-app-bar';\n\n// `app`: Vue app\n// Optional. Overwrite `<ui-top-app-bar>` props with default value.\napp.use(UiTopAppBar, {\n  // some props\n});\n
'},59325:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUIPlus from 'balm-ui/dist/balm-ui-plus';\n\n// `app`: Vue app\napp.use(BalmUIPlus, {\n  // Optional. Overwrite `<ui-tree>` props with default value.\n  UiTree: {\n    // some props\n  }\n});\n
'},45462:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/components/core';\n@use 'balm-ui/components/tree/tree';\n@use 'balm-ui/components/icon/icon';\n@use 'balm-ui/components/checkbox/checkbox'; // Optional\n
import UiTree from 'balm-ui/components/tree';\n\n// `app`: Vue app\n// Optional. Overwrite `<ui-tree>` props with default value.\napp.use(UiTree, {\n  // some props\n});\n
'},41336:function(t,e,o){"use strict";o.r(e);e.default='
@use 'balm-ui/dist/balm-ui';\n
import BalmUI from 'balm-ui';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Overwrite the param of `$tt()`.\n  $typography: ['custom-style-1', 'custom-style-2']\n});\n
'},26488:function(t,e,o){"use strict";o.r(e);e.default='
/* Included `typography.scss` */\n@use 'balm-ui/components/core';\n\n/* OR */\n@use 'balm-ui/plugins/typography/typography';\n
import $typography from 'balm-ui/plugins/typography';\n\n// `app`: Vue app\n// Optional. Overwrite the param of `$tt()`.\napp.use($typography, ['custom-style-1', 'custom-style-2']);\n
'},34606:function(t,e,o){"use strict";o.r(e);e.default='
  • NOTE: You can customize the style for your scale classname (mdc-typography--<STYLE>)

    .mdc-typography--custom-style-1 {\n  // ...\n}\n\n.mdc-typography--custom-style-2 {\n  // ...\n}\n
'},29649:function(t,e,o){"use strict";o.r(e);e.default='
import BalmUI from 'balm-ui';\nimport validatorRules from './config/validator-rules';\n\n// `app`: Vue app\napp.use(BalmUI, {\n  // Optional. Set global validation rules.\n  $validator: validatorRules\n});\n
'},63513:function(t,e,o){"use strict";o.r(e);e.default='
import $validator from 'balm-ui/plugins/validator';\nimport validatorRules from './config/validator-rules';\n\n// `app`: Vue app\n// Optional. Set global validation rules.\napp.use($validator, validatorRules);\n
'},68018:function(t,e,o){"use strict";o.r(e);e.default='
  • Set global validation rules

    import { helpers } from 'balm-ui'; // Default Usage\n// OR\n// import helpers from 'balm-ui/utils/helpers'; // ### Individual Usage\n\nexport default {\n  required: {\n    validate(value) {\n      return !helpers.isEmpty(value);\n    },\n    message: '%s is required'\n  },\n  mobile: {\n    validate(value) {\n      return /^1[0-9]\\d{9}$/.test(value);\n    },\n    message: 'Invalid phone number'\n  },\n  password: {\n    validate(value) {\n      return /^\\w+$/.test(value);\n    },\n    message: '%s must be a letter, digit or underline'\n  }\n};\n
'},57627:function(t,e,o){"use strict";o.r(e);e.default='
  • $alert(message)

  • $alert(options)

    interface VueInstance {\n  $alert(options: string | object): Promise<void>;\n}\n

Options

Option Type Default Description
className string '' \u81ea\u5b9a\u4e49\u8b66\u544a\u6846\u7684 class
title string '' \u8bbe\u7f6e\u8b66\u544a\u6846\u7684\u6807\u9898
state string '' \u8b66\u544a\u6846\u72b6\u6001\u56fe\u6807\u7c7b\u578b
stateOutlined boolean false \u663e\u793a\u8f6e\u5ed3\u72b6\u6001\u56fe\u6807
message string '' \u8bbe\u7f6e\u8b66\u544a\u6846\u7684\u5185\u5bb9
raw boolean false \u6e32\u67d3 HTML
buttonText string 'OK' \u6309\u94ae\u6587\u672c
callback function false \u70b9\u51fb\u786e\u5b9a\u6309\u94ae\u540e\u7684\u4e8b\u4ef6\u5904\u7406
interface AlertDialog {\n  state: 'success' | 'info' | 'warning' | 'error' | 'help';\n}\n

Events

  • \u7528\u6cd5 1

    $alert({\n  message,\n  callback() {\n    // ...\n  }\n});\n
  • \u7528\u6cd5 2\uff08\u63a8\u8350\uff09

    $alert(message).then(() => {\n  // ...\n});\n

\u5728\u975e .vue \u7ec4\u4ef6\u4e2d\u4f7f\u7528 $alert

import { useAlert } from 'balm-ui';\n// \u6216\n// import { useAlert } from 'balm-ui/plugins/alert';\n\nconst $alert = useAlert();\n$alert('Hello BalmUI');\n
'},34264:function(t,e,o){"use strict";o.r(e);e.default='

\u8b66\u544a\u6846

'},34612:function(t,e,o){"use strict";o.r(e);e.default='
<ui-alert><!-- message --></ui-alert>\n

Props

Name Type Default Description
state string '' \u72b6\u6001\u56fe\u6807\u7c7b\u578b
stateOutlined boolean false \u663e\u793a\u8f6e\u5ed3\u72b6\u6001\u56fe\u6807
closable boolean false \u662f\u5426\u53ef\u5173\u95ed
interface Alert {\n  state: 'success' | 'info' | 'warning' | 'error' | 'help';\n}\n

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u6d88\u606f\u5185\u5bb9\u53ca HTML
'},48189:function(t,e,o){"use strict";o.r(e);e.default='

\u8b66\u544a\u63d0\u793a

\u901a\u8fc7\u5c11\u91cf\u53ef\u7528\u548c\u7075\u6d3b\u7684\u8b66\u62a5\u6d88\u606f\uff0c\u4e3a\u5178\u578b\u7684\u7528\u6237\u64cd\u4f5c\u63d0\u4f9b\u4e0a\u4e0b\u6587\u53cd\u9988\u6d88\u606f\u3002

'},42819:function(t,e,o){"use strict";o.r(e);e.default='

\u951a\u70b9

'},57761:function(t,e,o){"use strict";o.r(e);e.default='
<div v-anchor></div>\n

1. \u8bbe\u7f6e\u951a\u70b9\u5bb9\u5668

  • v-anchor.bodyElement: \u81ea\u5b9a\u4e49 HTML \u5bb9\u5668\uff08\u9ed8\u8ba4\u5bb9\u5668\u4e3a <html>\uff09
  • v-anchor.html: \u542f\u7528 HTML \u951a\u70b9\uff08\u4f8b\u5982 markdown\uff09
  • v-anchor.offset="offsetValue": \u4e3a\u9875\u9762\u6eda\u52a8\u8bbe\u7f6e\u504f\u79fb\u91cf\uff08\u5728 <html> \u6216\u81ea\u5b9a\u4e49\u5bb9\u5668\u4e0a\u4f7f\u7528 data-vanchor-offset \u5c5e\u6027\u8bbe\u7f6e\u5168\u5c40\u504f\u79fb\u91cf\uff09

offsetValue \u503c\u4e3a\u6570\u5b57

<html data-vanchor-offset="64">\n  <!-- Anchors & Targets -->\n</html>\n\n<!-- \u6216 -->\n\n<div class="container" v-anchor.offset="64">\n  <!-- Anchors & Targets -->\n</div>\n

2. \u8bbe\u7f6e\u951a\u70b9\u548c\u76ee\u6807

  • v-anchor:href
  • v-anchor:id

2.1 \u9ed8\u8ba4\u7528\u6cd5

<div v-anchor:href="'#target1'">Anchor 1</div>\n<div v-anchor:href="'#target2'">Anchor 2</div>\n\n<div v-anchor:id="'target1'">Target 1</div>\n<div v-anchor:id="'target2'">Target 2</div>\n

2.2 HTML \u7528\u6cd5

  • \u8bbe\u7f6e\u951a\u70b9 class="v-anchor" data-href="selector"
  • \u8bbe\u7f6e\u76ee\u6807 id \u6216\u552f\u4e00\u7684 class
<div v-anchor.html>\n  <div class="v-anchor" data-href="#target1">Anchor 1</div>\n  <div class="v-anchor" data-href="#target2">Anchor 2</div>\n\n  <div id="target1">Target 3</div>\n  <div id="target2">Target 4</div>\n</div>\n
'},68412:function(t,e,o){"use strict";o.r(e);e.default='
<ui-autocomplete></ui-autocomplete>\n

Props

Name Type Default Description Version
outlined boolean false \u8f6e\u5ed3\u6587\u672c\u6846\uff08\u5fc5\u987b\u914d\u7f6e label \u6216 placeholder\uff09
modelValue (v-model) string, number '' \u6587\u672c\u6846\u503c
source array [] \u8bbe\u7f6e\u6570\u636e\u6e90
sourceFormat object { label: 'label', value: 'value' } \u8bbe\u7f6e\u6570\u636e\u6e90\u683c\u5f0f 9.3.0
inputId string null \u539f\u751f <input> \u7684 id \u5c5e\u6027\u548c <label> \u7684 for \u5c5e\u6027
label string '' \u6587\u672c\u6846\u7684\u6587\u672c\u6807\u9898\u6216\u8bf4\u660e\uff0c\u53ef\u4f7f\u7528\u6587\u672c\u6846\u7684 placeholder \u5c5e\u6027\u4ee3\u66ff
placeholder string null \u539f\u751f <input> \u7684 placeholder \u5c5e\u6027
disabled boolean false \u7981\u7528\u72b6\u6001
required boolean false \u5fc5\u586b\u5b57\u6bb5\u6837\u5f0f
autofocus boolean false \u81ea\u52a8\u9009\u4e2d\u5efa\u8bae\u83dc\u5355\u4e2d\u7684\u7b2c\u4e00\u9879
delay number 300 \u89e6\u53d1\u952e\u76d8\u548c\u6267\u884c\u641c\u7d22\u4e4b\u95f4\u7684\u5ef6\u8fdf\uff08\u4ee5\u6beb\u79d2\u4e3a\u5355\u4f4d\uff09\u3002\u96f6\u5ef6\u8fdf\u5bf9\u672c\u5730\u6570\u636e\u6709\u610f\u4e49\uff08\u54cd\u5e94\u901f\u5ea6\u66f4\u5feb\uff09\uff0c\u4f46\u5728\u54cd\u5e94\u901f\u5ea6\u8f83\u6162\u7684\u60c5\u51b5\u4e0b\uff0c\u53ef\u4ee5\u4e3a\u8fdc\u7a0b\u6570\u636e\u4ea7\u751f\u5927\u91cf\u8d1f\u8f7d\u3002
minlength number 1 \u6a21\u7cca\u641c\u7d22\u7684\u6700\u5c11\u5b57\u7b26\u6570\u3002\u96f6\u5bf9\u4e8e\u4ec5\u5305\u542b\u5c11\u91cf\u9879\u76ee\u7684\u672c\u5730\u6570\u636e\u5f88\u6709\u7528\uff0c\u4f46\u662f\u5f53\u5355\u4e2a\u5b57\u7b26\u641c\u7d22\u53ef\u4ee5\u5339\u914d\u6570\u5343\u4e2a\u9879\u76ee\u65f6\uff0c\u5e94\u4f7f\u7528\u66f4\u9ad8\u7684\u503c\u3002
remote boolean false \u542f\u7528\u8fdc\u7a0b\u83b7\u53d6\u6570\u636e\u3002\u9ed8\u8ba4\u7528\u6cd5\u4e3a\u672c\u5730\u6570\u636e\u3002
highlight boolean false \u5c06\u81ea\u52a8\u5b8c\u6210\u6587\u672c\u6846\u5efa\u8bae\u503c\u8bbe\u7f6e\u4e3a\u52a0\u7c97 9.3.0
filterKeywords boolean false \u542f\u7528\u8fc7\u6ee4\u5173\u952e\u5b57 10.11.0
fullwidth boolean false \u5168\u5c4f\u5bbd\u5ea6\u6837\u5f0f
endAligned boolean false \u8f93\u5165\u6587\u672c\u53f3\u5bf9\u9f50
icon string '' \u8bbe\u7f6e\u9996\u56fe\u6807\u3002\u8be6\u89c1 Material Icons \u56fe\u6807\u96c6\u3002
withLeadingIcon boolean false \u542f\u7528\u9996\u56fe\u6807\u6837\uff08\u9700\u4f7f\u7528 before \u63d2\u69fd\uff09
withTrailingIcon boolean false \u542f\u7528\u5c3e\u56fe\u6807\u6837\u5f0f\uff08\u9700\u4f7f\u7528 after \u63d2\u69fd\uff09
inside boolean false \u9002\u914d\u6837\u5f0f\uff0c\u53ef\u7528\u4e8e\u67d0\u4e9b\u7ec4\u4ef6\u5185\u90e8\u7684\u6ea2\u51fa (\u5982\uff1a\u7528\u5728 <ui-dialog> \u4e2d) 10.10.0
  • source \u5c5e\u6027\u3002\u652f\u6301\u4e24\u79cd\u683c\u5f0f\u5316\uff1a
    • \u5b57\u7b26\u4e32\u6570\u7ec4\uff1a[ 'Choice1', 'Choice2' ]
    • \u5bf9\u8c61\u6570\u7ec4\uff08\u5bf9\u8c61\u9ed8\u8ba4\u5fc5\u987b\u5305\u542b label \u548c value \u5b57\u6bb5\uff09\uff1a[ { label: 'Choice1', value: 'value1' }, ... ]

      \u4f60\u9875\u53ef\u4ee5\u901a\u8fc7 sourceFormat \u5c5e\u6027\u81ea\u5b9a\u4e49\u539f\u6570\u636e\u7684\u683c\u5f0f

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u6587\u672c\u6846\u6807\u9898\u6216\u8bf4\u660e\u6587\u5b57
before iconClass \u81ea\u5b9a\u4e49\u9996\u56fe\u6807
after iconClass \u81ea\u5b9a\u4e49\u5c3e\u56fe\u6807

Events

Name Type Description
update:modelValue function(value: string|number) \u6587\u672c\u6846\u4e2d\u8f93\u5165\u5185\u5bb9\u65f6\u89e6\u53d1
search function(keywords: string) \u6587\u672c\u6846\u503c\u53d8\u5316\u65f6\u89e6\u53d1\u3002\u4ec5\u7528\u4e8e\u542f\u7528 remote \u7684\u81ea\u52a8\u5b8c\u6210\u6587\u672c\u6846\u3002
selected function(item: object) \u81ea\u52a8\u5b8c\u6210\u5efa\u8bae\u503c\u88ab\u9009\u4e2d\u65f6\u89e6\u53d1
  • selected \u4e8b\u60c5\u8fd4\u56de\u503c\uff1a

    {\n  label: 'Choice 1',\n  value: 'value 1',\n  // more custom fields\n}\n

\u63d0\u793a\uff1a\u5982\u679c\u4f60\u4e0d\u4f7f\u7528 v-model \u7ed1\u5b9a\u6570\u636e\uff0c\u4f60\u5e94\u8be5\u4f7f\u7528 @update:modelValue \u76d1\u542c\u81ea\u52a8\u5b8c\u6210\u6587\u672c\u6846\u503c\u5e76\u66f4\u65b0 modelValue \u5c5e\u6027

  • \u81ea\u52a8

    <ui-autocomplete v-model="value"></ui-autocomplete>\n
  • \u624b\u52a8

    <ui-autocomplete\n  :model-value="value"\n  @update:model-value="balmUI.onChange('value', $event)"\n></ui-autocomplete>\n
'},95338:function(t,e,o){"use strict";o.r(e);e.default='

\u81ea\u52a8\u5b8c\u6210

'},63823:function(t,e,o){"use strict";o.r(e);e.default='

\u5fbd\u7ae0\u7ec4\u4ef6

<ui-badge></ui-badge>\n

Props

Name Type Default Description
count number 0 \u5fbd\u7ae0\u4e2d\u663e\u793a\u7684\u6570\u5b57
overlap boolean false \u4f7f\u5fbd\u7ae0\u4e0e\u5176\u5bb9\u5668\u91cd\u53e0
maxCount number 99 \u53ef\u663e\u793a\u7684\u6700\u5927\u6570
dot boolean false \u4f7f\u7528\u5c0f\u5706\u70b9\u4ee3\u66ff\u6570\u5b57\u663e\u793a
state string '' \u5fbd\u7ae0\u7684\u72b6\u6001\u7c7b\u578b
interface Badge {\n  state: 'success' | 'info' | 'warning' | 'error' | 'help';\n}\n

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u5fbd\u7ae0\u6587\u5b57\u5185\u5bb9\u53ca HTML
badge \u81ea\u5b9a\u4e49\u5fbd\u7ae0\u5185\u5bb9
'},1825:function(t,e,o){"use strict";o.r(e);e.default='

\u5fbd\u7ae0

\u5c0f\u6570\u503c\u6216\u72b6\u6001\u7684\u63cf\u8ff0\u7b26\u3002

'},33390:function(t,e,o){"use strict";o.r(e);e.default='

\u5fbd\u7ae0\u6307\u4ee4

<div v-badge></div>\n
  • v-badge="count"
  • v-badge.overlap="count"
  • v-badge.dot
Value Type Default Description
count number 0 \u5fbd\u7ae0\u4e2d\u663e\u793a\u7684\u6570\u5b57

\u53ef\u663e\u793a\u7684\u6700\u5927\u6570\uff1a99

'},53359:function(t,e,o){"use strict";o.r(e);e.default='
<ui-banner><!-- the banner message --></ui-banner>\n

Props

Name Type Default Description Version
modelValue (v-model) boolean false \u6a2a\u5e45\u663e\u793a\u72b6\u6001
centered boolean false \u5185\u5bb9\u5c45\u4e2d\u663e\u793a\u3002\u9ed8\u8ba4\u5c45\u5de6\u3002 9.20.0
fixed boolean false \u5728\u9876\u90e8\u5bfc\u822a\u680f\u4e0b\u65b9\u4f7f\u7528\u6a2a\u5e45\u65f6\uff0c\u6a2a\u5e45\u5e94\u56fa\u5b9a\u5728\u5c4f\u5e55\u9876\u90e8\u3002 9.20.0
withImage boolean false \u56fe\u7247\u53ef\u4ee5\u5e2e\u52a9\u4f20\u8fbe\u6a2a\u5e45\u5e7f\u544a\u7684\u4fe1\u606f\u3002 9.20.0
mobileStacked boolean false \u5e26\u6709\u957f\u6587\u5b57\u7684\u6a2a\u5e45\u5728\u79fb\u52a8\u89c6\u56fe\u4e2d\uff0c\u5e94\u5c06\u5176\u64cd\u4f5c\u533a\u57df\u653e\u7f6e\u5728\u6587\u5b57\u4e0b\u65b9\uff0c\u800c\u4e0d\u662f\u5e76\u6392\u653e\u7f6e\u3002 9.20.0
primaryButtonText boolean 'OK' \u4e3b\u6309\u94ae\u6587\u672c
secondaryButtonText boolean '' \u8f85\u6309\u94ae\u6587\u672c

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u6d88\u606f\u6587\u672c\u53ca HTML
image \u81ea\u5b9a\u4e49\u56fe\u6807\u6216\u56fe\u7247\u533a\u57df
actions \u81ea\u5b9a\u4e49\u52a8\u4f5c\u6309\u94ae

Events

Name Type Description
update:modelValue function(open: boolean) \u6a2a\u5e45\u9690\u85cf\u65f6\u89e6\u53d1
closed function(reason: string) \u6a2a\u5e45\u5173\u95ed\u65f6\u89e6\u53d1

\u63d0\u793a\uff1a\u5982\u679c\u4f60\u4e0d\u4f7f\u7528 v-model \u7ed1\u5b9a\u6570\u636e\uff0c\u4f60\u5e94\u8be5\u4f7f\u7528 @update:modelValue \u76d1\u542c\u6a2a\u5e45\u663e\u793a\u72b6\u6001\u5e76\u66f4\u65b0 modelValue \u5c5e\u6027

  • \u81ea\u52a8

    <ui-banner v-model="open"></ui-banner>\n
  • \u624b\u52a8

    <ui-banner\n  :model-value="open"\n  @update:model-value="balmUI.onChange('open', $event)"\n></ui-banner>\n
'},97590:function(t,e,o){"use strict";o.r(e);e.default='

\u6a2a\u5e45

\u6a2a\u5e45\u663e\u793a\u7a81\u51fa\u7684\u6d88\u606f\u548c\u76f8\u5173\u7684\u53ef\u9009\u64cd\u4f5c\u3002

'},29682:function(t,e,o){"use strict";o.r(e);e.default='
<ui-bottom-sheet></ui-bottom-sheet>\n

Props

Name Type Default Description
modelValue (v-model) boolean false \u5e95\u90e8\u52a8\u4f5c\u8868\u663e\u793a\u72b6\u6001

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u5e95\u90e8\u52a8\u4f5c\u8868\u7684\u5185\u5bb9\u53ca HTML

Events

Name Type Description
update:modelValue function(open: boolean) \u5e95\u90e8\u52a8\u4f5c\u8868\u9690\u85cf\u65f6\u89e6\u53d1

\u63d0\u793a\uff1a\u5982\u679c\u4f60\u4e0d\u4f7f\u7528 v-model \u7ed1\u5b9a\u6570\u636e\uff0c\u4f60\u5e94\u8be5\u4f7f\u7528 @update:modelValue \u76d1\u542c\u5e95\u90e8\u52a8\u4f5c\u8868\u663e\u793a\u72b6\u6001\u5e76\u66f4\u65b0 modelValue \u5c5e\u6027

  • \u81ea\u52a8

    <ui-bottom-sheet v-model="open"></ui-bottom-sheet>\n
  • \u624b\u52a8

    <ui-bottom-sheet\n  :model-value="open"\n  @update:model-value="balmUI.onChange('open', $event)"\n></ui-bottom-sheet>\n
'},55501:function(t,e,o){"use strict";o.r(e);e.default='

\u5e95\u90e8\u52a8\u4f5c\u8868

New in 9.25.0

'},31969:function(t,e,o){"use strict";o.r(e);e.default='

\u6309\u94ae\u7ec4\u4ef6

<ui-button><!-- the button text label --></ui-button>\n

<ui-button> \u7c7b\u578b

  • 0: 'text'
  • 1: 'outlined'
  • 2: 'raised'
  • 3: 'unelevated'

Props

Name Type Default Description
type string, number 0 \u6309\u94ae\u7c7b\u578b
outlined boolean false \u4f7f\u7528\u8f6e\u5ed3\u6309\u94ae\u6837\u5f0f
raised boolean false \u4f7f\u7528\u6d6e\u96d5\u6309\u94ae\u6837\u5f0f
unelevated boolean false \u4f7f\u7528\u6241\u5e73\u6309\u94ae\u6837\u5f0f
icon string '' \u8bbe\u7f6e\u56fe\u6807\u3002\u8be6\u89c1 Material Icons \u56fe\u6807\u96c6\u3002
disabled boolean false \u7981\u7528\u6309\u94ae\u3002\u540c\u539f\u751f <button> \u5c5e\u6027\u3002
nativeType string 'button' \u539f\u751f\u6309\u94ae\u7c7b\u578b\u3002
interface Button {\n  nativeType: 'button' | 'submit' | 'reset';\n}\n

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u6309\u94ae\u6587\u5b57\u53ca HTML
before iconClass \u81ea\u5b9a\u4e49\u9996\u56fe\u6807
after iconClass \u81ea\u5b9a\u4e49\u5c3e\u56fe\u6807
<template #after="{ iconClass }">\n  <ui-icon :class="iconClass">ICON</ui-icon>\n</template>\n

Events

Name Type Description
click function(event: object) \u70b9\u51fb\u6309\u94ae\u65f6\u89e6\u53d1
'},92971:function(t,e,o){"use strict";o.r(e);e.default='

\u6309\u94ae

\u6309\u94ae\u4f7f\u7528\u6237\u53ea\u9700\u5355\u51fb\u4e00\u4e0b\u5373\u53ef\u6267\u884c\u64cd\u4f5c\u5e76\u505a\u51fa\u9009\u62e9\u3002

'},1712:function(t,e,o){"use strict";o.r(e);e.default='

\u6309\u94ae\u6307\u4ee4

New in 9.22.0

<a v-button></a>\n
  • v-button
  • v-button.outlined
  • v-button.raised
  • v-button.unelevated
'},35802:function(t,e,o){"use strict";o.r(e);e.default='
<ui-card-actions><!-- card actions area --></ui-card-actions>\n

Props

Name Type Default Description
fullBleed boolean false \u5220\u9664\u64cd\u4f5c\u533a\u57df\u7684\u586b\u5145\uff0c\u5e76\u4f7f\u5176\u64cd\u4f5c\u533a\u57df\u5bbd\u5ea6\u4e3a 100\uff05

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u5361\u7247\u52a8\u4f5c\u7ec4\u4ef6

\u5b50\u7ec4\u4ef6\uff1a

  • <ui-card-buttons>
  • <ui-card-icons>
'},67140:function(t,e,o){"use strict";o.r(e);e.default='
<ui-card-buttons><!-- the button components --></ui-card-buttons>\n

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u6309\u94ae\u7ec4\u4ef6\u53ca HTML
'},13860:function(t,e,o){"use strict";o.r(e);e.default='
<ui-card-content>\n  <!-- content within actionable area: rich media + additional text content -->\n</ui-card-content>\n

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u5361\u7247\u5185\u5bb9\u5b50\u7ec4\u4ef6\u53ca HTML

\u5b50\u7ec4\u4ef6\uff1a

  • <ui-card-media>
  • <ui-card-text>
'},1175:function(t,e,o){"use strict";o.r(e);e.default='
<ui-card-icons><!-- the icon button components --></ui-card-icons>\n

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u56fe\u6807\u6309\u94ae\u7ec4\u4ef6\u53ca HTML
'},33863:function(t,e,o){"use strict";o.r(e);e.default='
<ui-card-media-content><!-- rich media content --></ui-card-media-content>\n

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u5361\u7247\u5a92\u4f53\u5185\u5bb9\u53ca HTML
'},79322:function(t,e,o){"use strict";o.r(e);e.default='
<ui-card-media>\n  <!-- <ui-card-media-content> -->\n</ui-card-media>\n

Props

Name Type Default Description
square boolean false \u81ea\u52a8\u7f29\u653e\u5a92\u4f53\u533a\u57df\u7684\u9ad8\u5ea6\u4ee5\u4f7f\u5176\u5bbd\u5ea6\u76f8\u7b49\u3002
rectangle boolean false \u6839\u636e\u5176\u5bbd\u5ea6\u81ea\u52a8\u7f29\u653e\u5a92\u4f53\u533a\u57df\u7684\u9ad8\u5ea6\uff0c\u5e76\u4fdd\u6301 16:9 \u7684\u7eb5\u6a2a\u6bd4\u3002

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u5361\u7247\u5a92\u4f53\u5185\u5bb9\u5b50\u7ec4\u4ef6\u53ca HTML

\u5b50\u7ec4\u4ef6\uff1a

  • <ui-card-media-content>
'},84550:function(t,e,o){"use strict";o.r(e);e.default='
<ui-card-text><!-- additional text content --></ui-card-text>\n

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u5361\u7247\u6587\u5b57\u5185\u5bb9\u53ca HTML
'},65759:function(t,e,o){"use strict";o.r(e);e.default='
<ui-card><!-- Card contents --></ui-card>\n

Props

Name Type Default Description
outlined boolean false \u53bb\u9664\u9634\u5f71\u5e76\u663e\u793a\u7ec6\u7ebf\u8f6e\u5ed3

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u5361\u7247\u5b50\u7ec4\u4ef6\u53ca HTML

\u5b50\u7ec4\u4ef6\uff1a

  • <ui-card-content>
  • <ui-card-actions>
'},93944:function(t,e,o){"use strict";o.r(e);e.default='

\u5361\u7247

\u5361\u7247\u5305\u542b\u6709\u5173\u5355\u4e2a\u4e3b\u9898\u7684\u5185\u5bb9\u548c\u52a8\u4f5c\u3002

'},62742:function(t,e,o){"use strict";o.r(e);e.default='
<ui-card>\n  <ui-card-content>\n    <ui-card-media>\n      <ui-card-media-content></ui-card-media-content>\n    </ui-card-media>\n    <ui-card-text></ui-card-text>\n  </ui-card-content>\n  <ui-card-actions>\n    <ui-card-buttons></ui-card-buttons>\n    <ui-card-icons></ui-card-icons>\n  </ui-card-actions>\n</ui-card>\n
Component Description
<ui-card> \u5361\u7247\u5bb9\u5668\u5143\u7d20
<ui-card-content> \u53ef\u9009\u3002\u5361\u7684\u4e3b\u8981\u53ef\u70b9\u51fb\u533a\u57df\u3002\u901a\u5e38\u5305\u542b\u9664 <ui-card-actions> \u5916\u7684\u5927\u591a\u6570\uff08\u6216\u5168\u90e8\uff09\u5361\u5185\u5bb9\u3002\u4ec5\u9002\u7528\u4e8e\u5177\u6709\u4e3b\u8868\u9762\u5e94\u89e6\u53d1\u7684\u4e3b\u8981\u52a8\u4f5c\u7684\u5361\u3002
<ui-card-media> \u53ef\u9009\u3002\u663e\u793a\u81ea\u5e26 background-size\uff1acover \u5c5e\u6027\u7684\u81ea\u5b9a\u4e49 background-image \u7684\u5a92\u4f53\u533a\u57df\u3002
<ui-card-media-content> \u53ef\u9009\u3002\u4e0e\u5a92\u4f53\u533a\u57df\u5927\u5c0f\u76f8\u540c\u7684\u7edd\u5bf9\u653e\u7f6e\u7684\u6846\uff0c\u7528\u4e8e\u5728 background-image \u9876\u90e8\u663e\u793a\u6807\u9898\u6216\u56fe\u6807\u3002
<ui-card-text> \u53ef\u9009\u3002\u6587\u5b57\u5185\u5bb9\u533a\u57df\u3002
<ui-card-actions> \u53ef\u9009\u3002\u52a8\u4f5c\u6309\u94ae\u6216\u56fe\u6807\u7684\u5bb9\u5668\u5143\u7d20\u3002
<ui-card-buttons> \u53ef\u9009\u3002 \u4e00\u7ec4\u52a8\u4f5c\u6309\u94ae\uff0c\u663e\u793a\u5728\u5361\u7684\u5de6\u4fa7\uff08\u5728 LTR \u4e2d\uff09\uff0c\u4e0e <ui-card-icons> \u76f8\u90bb\u3002
<ui-card-icons> \u53ef\u9009\u3002 \u4e00\u7ec4\u8865\u5145\u52a8\u4f5c\u56fe\u6807\uff0c\u663e\u793a\u5728\u5361\u7684\u53f3\u4fa7\uff08\u5728 LTR \u4e2d\uff09\uff0c\u4e0e <ui-card-buttons> \u76f8\u90bb\u3002
'},1747:function(t,e,o){"use strict";o.r(e);e.default='
<ui-form-field>\n  <ui-checkbox></ui-checkbox>\n  <label>Checkbox</label>\n</ui-form-field>\n

Props

Name Type Default Description
modelValue (v-model) boolean, array false \u590d\u9009\u6846\u503c
indeterminate boolean false \u4e0d\u786e\u5b9a\u72b6\u6001
inputId string null \u539f\u751f <input> \u7684 id \u5c5e\u6027\u548c <label> \u7684 for \u5c5e\u6027
value string, number '' \u539f\u751f <input> \u7684 value \u5c5e\u6027
disabled boolean false \u7981\u7528\u72b6\u6001
attrs object {} <input> \u7684\u5176\u4ed6\u5c5e\u6027

Events

Name Type Description
update:modelValue function(value: boolean|array) \u590d\u9009\u6846\u503c\u53d8\u5316\u65f6\u89e6\u53d1

\u63d0\u793a\uff1a\u5982\u679c\u4f60\u4e0d\u4f7f\u7528 v-model \u7ed1\u5b9a\u6570\u636e\uff0c\u4f60\u5e94\u8be5\u4f7f\u7528 @update:modelValue \u76d1\u542c\u590d\u9009\u6846\u503c\u5e76\u66f4\u65b0 modelValue \u5c5e\u6027

  • \u81ea\u52a8

    <ui-checkbox v-model="value"></ui-checkbox>\n
  • \u624b\u52a8

    <ui-checkbox\n  :model-value="value"\n  @update:model-value="balmUI.onChange('value', $event)"\n></ui-checkbox>\n
'},5482:function(t,e,o){"use strict";o.r(e);e.default='

\u590d\u9009\u6846

\u590d\u9009\u6846\u5141\u8bb8\u7528\u6237\u4ece\u4e00\u7ec4\u4e2d\u9009\u62e9\u4e00\u4e2a\u6216\u591a\u4e2a\u9009\u9879\u3002\u590d\u9009\u6846\u53ef\u7528\u4e8e\u6253\u5f00\u6216\u5173\u95ed\u9009\u9879\u3002

'},64175:function(t,e,o){"use strict";o.r(e);e.default='
<ui-chip><!-- the chip text --></ui-chip>\n

Props

Name Type Default Description
icon string '' \u8bbe\u7f6e\u56fe\u6807\u3002\u8be6\u89c1 Material Icons \u56fe\u6807\u96c6\u3002
selected boolean false \u5f53\u9009\u9879\u5361\u9009\u9879\u88ab\u9009\u4e2d\u65f6\u9690\u85cf\u9996\u56fe\u6807
deletable boolean false \u663e\u793a\u7528\u4e8e\u5220\u9664\u9009\u9879\u5361\u9009\u9879\u7684\u5c3e\u56fe\u6807\u3002\u4ec5\u7528\u4e8e\u8f93\u5165\u7c7b\u578b(input)\u548c\u8fc7\u6ee4\u7c7b\u578b(filter)\u7684\u9009\u9879\u5361\u3002

\u63d0\u793a\uff1aremovable \u5c5e\u6027\u4ece 10.1.0 \u8d77\u91cd\u547d\u540d\u4e3a deletable\uff0c\u5e76\u65b0\u589e\u652f\u6301\u8fc7\u6ee4\u7c7b\u578b(filter)\u7684\u9009\u9879\u5361

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u9009\u9879\u5361\u9009\u9879\u5185\u5bb9\u53ca HTML
before iconClass \u81ea\u5b9a\u4e49\u9009\u9879\u5361\u9009\u9879\u9996\u56fe\u6807
after iconClass \u81ea\u5b9a\u4e49\u8f93\u5165\u7c7b\u578b(input)\u7684\u9009\u9879\u5361\u9009\u9879\u5c3e\u56fe\u6807
'},1837:function(t,e,o){"use strict";o.r(e);e.default='
<ui-chips>\n  <ui-chip></ui-chip>\n  <!-- more chip -->\n</ui-chips>\n

<ui-chips> \u7c7b\u578b

  • 0: 'action'
  • 1: 'input'
  • 2: 'choice'
  • 3: 'filter'

Props

Name Type Default Description Version
type string, number 0 \u9009\u9879\u5361\u7c7b\u578b
modelValue (v-model) string, number, array '' \u9009\u9879\u5361\u9009\u9879\u503c\u3002\u4ece\u4e00\u7ec4\u9009\u9879\u4e2d\u9009\u62e9\u4e00\u4e2a\u6216\u591a\u4e2a\u3002
options array [] \u8bbe\u7f6e\u9009\u9879\u5361\u9009\u9879\u5217\u8868
optionFormat object { label: 'label', value: 'value' } \u5b9a\u4e49\u9009\u9879\u5361\u9009\u9879\u6570\u636e\u683c\u5f0f 9.34.0
items array [] \u4e00\u7ec4\u9009\u9879\u5361\u9009\u9879\u3002\u4ec5\u9002\u7528\u4e8e\u66f4\u65b0\u8f93\u5165\u7c7b\u578b(input)\u7684\u9009\u9879\u5361

\u26a0\ufe0f 9.34.0 \u4e2d optionLabel \u548c optionValue \u5c5e\u6027\u5df2\u5f03\u7528\uff0c\u8bf7\u4f7f\u7528 optionFormat \u4ee3\u66ff\u3002 \u26a0\ufe0f 10.0.0 \u4e2d chips \u5c5e\u6027\u5df2\u5f03\u7528\uff0c\u8bf7\u4f7f\u7528 items \u4ee3\u66ff\u3002

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u9009\u9879\u5361\u9009\u9879\u7ec4\u4ef6\u53ca HTML

Events

Name Type Description
update:modelValue function(selectedIndex: number|array) \u9009\u9879\u5361\u9009\u9879\u503c\u53d8\u5316\u65f6\u89e6\u53d1

\u63d0\u793a\uff1a\u5982\u679c\u4f60\u4e0d\u4f7f\u7528 v-model \u7ed1\u5b9a\u6570\u636e\uff0c\u4f60\u5e94\u8be5\u4f7f\u7528 @update:modelValue \u76d1\u542c\u9009\u9879\u5361\u9009\u9879\u503c\u5e76\u66f4\u65b0 modelValue \u5c5e\u6027

  • \u81ea\u52a8

    <ui-chips v-model="selectedIndex"></ui-chips>\n
  • \u624b\u52a8

    <ui-chips\n  :model-value="selectedIndex"\n  @update:model-value="balmUI.onChange('selectedIndex', $event)"\n></ui-chips>\n
'},92970:function(t,e,o){"use strict";o.r(e);e.default='

\u9009\u9879\u5361

\u9009\u9879\u5361\u662f\u8868\u793a\u8f93\u5165\uff0c\u5c5e\u6027\u6216\u52a8\u4f5c\u7684\u7d27\u51d1\u5143\u7d20\u3002

'},15504:function(t,e,o){"use strict";o.r(e);e.default='
<ui-collapse></ui-collapse>\n

Props

Name Type Default Description Version
modelValue (v-model) boolean false \u5c55\u5f00\u72b6\u6001
withIcon boolean false \u542f\u7528\u9ed8\u8ba4\u56fe\u6807
iconEndAligned boolean false \u56fe\u6807\u540e\u7f6e 9.29.0
ripple boolean, number false \u8bbe\u7f6e\u6c34\u6ce2\u7eb9\u6548\u679c
  • ripple \u503c\uff1a
    • true: \u9ed8\u8ba4\u989c\u8272
    • 1: \u4e3b\u8272
    • 2: \u8f85\u8272

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u6298\u53e0\u9762\u677f\u5185\u5bb9\u53ca HTML
expand-more-icon \u81ea\u5b9a\u4e49\u5c55\u5f00\u56fe\u6807
expand-less-icon \u81ea\u5b9a\u4e49\u6536\u8d77\u56fe\u6807
'},70138:function(t,e,o){"use strict";o.r(e);e.default='

\u6298\u53e0\u9762\u677f

\u53ef\u4ee5\u6298\u53e0\u548c\u6269\u5c55\u7684\u5185\u5bb9\u533a\u57df\u3002

'},25009:function(t,e,o){"use strict";o.r(e);e.default='
  • $confirm(message)

  • $confirm(options)

    interface VueInstance {\n  $confirm(options: string | object): Promise<boolean>;\n}\n

Options

Option Type Default Description
className string '' \u81ea\u5b9a\u4e49\u786e\u8ba4\u6846\u7684 class
title string '' \u8bbe\u7f6e\u786e\u8ba4\u6846\u7684\u6807\u9898
state string '' \u786e\u8ba4\u6846\u72b6\u6001\u56fe\u6807\u7c7b\u578b
stateOutlined boolean false \u663e\u793a\u8f6e\u5ed3\u72b6\u6001\u56fe\u6807
message string '' \u8bbe\u7f6e\u786e\u8ba4\u6846\u7684\u5185\u5bb9
raw boolean false \u6e32\u67d3 HTML
acceptText string 'OK' \u786e\u5b9a\u6309\u94ae\u6587\u672c
cancelText string 'Cancel' \u53d6\u6d88\u6309\u94ae\u6587\u672c
callback function false \u70b9\u51fb\u6309\u94ae\u540e\u7684\u4e8b\u4ef6\u5904\u7406
interface ConfirmDialog {\n  state: 'success' | 'info' | 'warning' | 'error' | 'help';\n}\n

Events

  • \u7528\u6cd5 1

    $confirm({\n  message,\n  callback(result) {\n    // ...\n  }\n});\n
  • \u7528\u6cd5 2\uff08\u63a8\u8350\uff09

    $confirm(message).then((result) => {\n  // ...\n});\n

result \u662f\u4e00\u4e2a\u5e03\u5c14\u503c\uff0c\u6307\u793a\u662f\u5426\u9009\u62e9\u4e86\u201c\u786e\u5b9a\u201d\u6216\u201c\u53d6\u6d88\u201d\uff08true\u8868\u793a\u786e\u5b9a\uff09

\u5728\u975e .vue \u7ec4\u4ef6\u4e2d\u4f7f\u7528 $confirm

import { useConfirm } from 'balm-ui';\n// \u6216\n// import { useConfirm } from 'balm-ui/plugins/confirm';\n\nconst $confirm = useConfirm();\n$confirm('Hello BalmUI');\n
'},49187:function(t,e,o){"use strict";o.r(e);e.default='

\u786e\u8ba4\u6846

'},34872:function(t,e,o){"use strict";o.r(e);e.default='

\u62f7\u8d1d

New in 9.21.0

'},24203:function(t,e,o){"use strict";o.r(e);e.default='
<div v-copy></div>\n
interface Copy {\n  text: string;\n  success: Function;\n  error?: Function;\n}\n
'},22481:function(t,e,o){"use strict";o.r(e);e.default='
<ui-datepicker></ui-datepicker>\n

<ui-datepicker> \u5728 config.mode \u5c5e\u6027\u4e2d\u7684\u7c7b\u578b

  • single\uff08\u9ed8\u8ba4\uff09
  • multiple
  • range
  • month
  • time

Props

Name Type Default Description
outlined boolean false \u8f6e\u5ed3\u6587\u672c\u6846\uff08\u5fc5\u987b\u914d\u7f6e label \u6216 placeholder\uff09
modelValue (v-model) string, number, array '' \u65e5\u671f\u9009\u62e9\u6846\u503c
inputId string null \u539f\u751f <input> \u7684 id \u5c5e\u6027\u548c <label> \u7684 for \u5c5e\u6027
label string '' \u6587\u672c\u6846\u7684\u6587\u672c\u6807\u9898\u6216\u8bf4\u660e\uff0c\u53ef\u4f7f\u7528\u6587\u672c\u6846\u7684 placeholder \u5c5e\u6027\u4ee3\u66ff
placeholder string null \u539f\u751f <input> \u7684 placeholder \u5c5e\u6027
disabled boolean false \u7981\u7528\u72b6\u6001
required boolean false \u5fc5\u586b\u5b57\u6bb5\u6837
fullwidth boolean false \u5168\u5c4f\u5bbd\u5ea6\u6837\u5f0f
endAligned boolean false \u8f93\u5165\u6587\u672c\u53f3\u5bf9\u9f50
icon string '' \u8bbe\u7f6e\u9996\u56fe\u6807\u3002\u8be6\u89c1 Material Icons \u56fe\u6807\u96c6\u3002
withLeadingIcon boolean, string false \u542f\u7528\u9996\u56fe\u6807\u6837\uff08\u9700\u4f7f\u7528 before \u63d2\u69fd\uff09
withTrailingIcon boolean, string false \u542f\u7528\u5c3e\u56fe\u6807\u6837\u5f0f\uff08\u9700\u4f7f\u7528 after \u63d2\u69fd\uff09
config object {} \u8be6\u89c1 Flatpickr configuration
toggle boolean false \u663e\u793a\u65e5\u5386\u56fe\u6807\u6309\u94ae
clear boolean false \u663e\u793a\u6e05\u9664\u56fe\u6807\u6309\u94ae
monthOptions object {} \u8be6\u89c1 Flatpickr month select options
  • \u591a\u8bed\u8a00
<ui-datepicker :config="config"></ui-datepicker>\n
import lang from 'flatpickr/dist/l10n/zh.js';\n\nexport default {\n  data() {\n    return {\n      config: {\n        locale: lang.zh\n      }\n    };\n  }\n};\n

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u6587\u672c\u6846\u6807\u9898\u6216\u8bf4\u660e\u6587\u5b57
before iconClass \u81ea\u5b9a\u4e49\u9996\u56fe\u6807
after iconClass \u81ea\u5b9a\u4e49\u5c3e\u56fe\u6807\uff08withTrailingIcon = true\uff09
toggle \u81ea\u5b9a\u4e49\u65e5\u5386\u56fe\u6807\u6309\u94ae\uff08withTrailingIcon = false\uff09
clear \u81ea\u5b9a\u4e49\u6e05\u9664\u56fe\u6807\u6309\u94ae\uff08withTrailingIcon = false\uff09

Events

Name Type Description
update:modelValue function(value: string|array) \u65e5\u671f\u9009\u62e9\u6846\u503c\u53d8\u5316\u65f6\u89e6\u53d1

\u63d0\u793a\uff1a\u5982\u679c\u4f60\u4e0d\u4f7f\u7528 v-model \u7ed1\u5b9a\u6570\u636e\uff0c\u4f60\u5e94\u8be5\u4f7f\u7528 @update:modelValue \u76d1\u542c\u65e5\u671f\u9009\u62e9\u6846\u503c\u5e76\u66f4\u65b0 modelValue \u5c5e\u6027

  • \u81ea\u52a8

    <ui-datepicker v-model="value"></ui-datepicker>\n
  • \u624b\u52a8

    <ui-datepicker\n  :model-value="value"\n  @update:model-value="balmUI.onChange('value', $event)"\n></ui-datepicker>\n
'},51882:function(t,e,o){"use strict";o.r(e);e.default='

\u65e5\u671f\u9009\u62e9\u5668

\u65e5\u671f\u9009\u62e9\u5668\u4f7f\u7528\u6237\u53ef\u4ee5\u9009\u62e9\u65e5\u671f\u6216\u65e5\u671f\u8303\u56f4\u3002

'},51479:function(t,e,o){"use strict";o.r(e);e.default='

\u9632\u6296

New in 9.21.0

'},20545:function(t,e,o){"use strict";o.r(e);e.default='
<div v-debounce></div>\n
interface Debounce {\n  callback: Function;\n  delay?: number; // defaults: 250 ms\n}\n
'},53143:function(t,e,o){"use strict";o.r(e);e.default='
<ui-dialog-actions><!-- the dialog actions --></ui-dialog-actions>\n

Props

Name Type Default Description
acceptText string 'OK' \u786e\u5b9a\u6309\u94ae\u6587\u672c
cancelText string 'Cancel' \u53d6\u6d88\u6309\u94ae\u6587\u672c

Slots

Name Props Description
default buttonClass default \u63d2\u69fd\u5305\u542b\u5bf9\u8bdd\u6846\u52a8\u4f5c\u53ca HTML
<template #default="{ buttonClass }">\n  <ui-button :class="buttonClass">BUTTON</ui-button>\n</template>\n

\u5176\u4ed6\u5b9a\u5236\u5316

  • data-mdc-dialog-button-default: \u6dfb\u52a0\u5230\u6309\u94ae\u4ee5\u6307\u793a\u5b83\u662f\u9ed8\u8ba4\u64cd\u4f5c\u6309\u94ae
  • data-mdc-dialog-initial-focus: \u6dfb\u52a0\u5230\u5143\u7d20\u4ee5\u6307\u793a\u5b83\u662f\u5bf9\u8bdd\u6846\u6253\u5f00\u540e\u6700\u521d\u8981\u5173\u6ce8\u7684\u5143\u7d20
'},70991:function(t,e,o){"use strict";o.r(e);e.default='
<ui-dialog-content><!-- the dialog content --></ui-dialog-content>\n

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u5bf9\u8bdd\u6846\u5185\u5bb9\u53ca HTML
'},48784:function(t,e,o){"use strict";o.r(e);e.default='
<ui-dialog-title><!-- the dialog title --></ui-dialog-title>\n

Props

Name Type Default Description Version
closable boolean false \u5c55\u73b0\u5173\u95ed\u6309\u94ae 9.3.0

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u5bf9\u8bdd\u6846\u6807\u9898\u53ca HTML
'},12539:function(t,e,o){"use strict";o.r(e);e.default='
<ui-dialog><!-- the dialog child components --></ui-dialog>\n

\u63d0\u793a\uff1a<ui-dialog> \u7684\u52a8\u4f5c\u5fc5\u987b\u5305\u542b\u81f3\u5c11\u4e00\u4e2a <ui-button> \u6216 <ui-icon-button>

Props

Name Type Default Description Version
modelValue (v-model) boolean false \u5bf9\u8bdd\u6846\u5f00\u542f\u72b6\u6001
escapeKey boolean true \u8bbe\u7f6e\u6309\u4e0b Escape \u952e\u65f6\u53cd\u6620\u7684\u64cd\u4f5c\u3002\u8bbe\u7f6e\u4e3a false \u5c06\u7981\u7528\u901a\u8fc7 Escape \u952e\u5173\u95ed\u5bf9\u8bdd\u6846\u3002 9.13.0
closable boolean true \u5f53\u7528\u6237\u5bf9\u201c\u63a5\u53d7\u201d\u6216\u201c\u53d6\u6d88\u201d\u6309\u94ae\u8fdb\u884c\u64cd\u4f5c\u65f6\uff0c\u5173\u95ed\u5bf9\u8bdd\u6846\u3002
maskClosable boolean false \u5f53\u70b9\u51fb\u5bf9\u8bdd\u6846\u906e\u7f69\u5c42\u65f6\uff0c\u5173\u95ed\u5bf9\u8bdd\u6846\u3002
noScrim boolean false \u9690\u85cf\u5bf9\u8bdd\u6846\u906e\u7f69\u5c42
resetScroll boolean false \u5bf9\u8bdd\u6846\u5173\u95ed\u65f6\uff0c\u91cd\u7f6e\u6eda\u52a8\u6761\u3002
fullscreen boolean false \u5168\u5c4f\u6548\u679c 9.14.0
sheet boolean false \u9ed8\u8ba4\u542f\u7528\u5173\u95ed\u6309\u94ae 10.5.0
noContentPadding boolean false \u53d6\u6d88\u5bf9\u8bdd\u6846\u5185\u5bb9\u7684\u9ed8\u8ba4 padding 10.5.0

\u63d0\u793a\uff1a\u5168\u5c4f\u5bf9\u8bdd\u6846\u9002\u7528\u4e8e\u79fb\u52a8/\u5c0f\u5c4f\u5e55\u8bbe\u5907\u3002

\u63d0\u793a\uff1anoBackdrop \u5c5e\u6027\u4ece 9.25.0 \u8d77\u91cd\u547d\u540d\u4e3a noScrim

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u5bf9\u8bdd\u6846\u5b50\u7ec4\u4ef6

\u5b50\u7ec4\u4ef6\uff1a

  • <ui-dialog-title>
  • <ui-dialog-content>
  • <ui-dialog-actions>

Events

Name Type Description
update:modelValue function(open: boolean) \u5bf9\u8bdd\u6846\u5f00\u542f\u72b6\u6001\u53d8\u5316\u65f6\u89e6\u53d1
close function() \u5bf9\u8bdd\u6846\u5173\u95ed\u65f6\u89e6\u53d1
confirm function(result: boolean) \u70b9\u51fb\u5bf9\u8bdd\u6846\u52a8\u4f5c\u6309\u94ae\u65f6\u89e6\u53d1
accept function() \u70b9\u51fb\u5bf9\u8bdd\u6846\u786e\u5b9a\u6309\u94ae\u65f6\u89e6\u53d1
cancel function() \u70b9\u51fb\u5bf9\u8bdd\u6846\u53d6\u6d88\u6309\u94ae\u65f6\u89e6\u53d1

\u63d0\u793a\uff1a\u5982\u679c\u4f60\u4e0d\u4f7f\u7528 v-model \u7ed1\u5b9a\u6570\u636e\uff0c\u4f60\u5e94\u8be5\u4f7f\u7528 @update:modelValue \u76d1\u542c\u5bf9\u8bdd\u6846\u5f00\u542f\u72b6\u6001\u5e76\u66f4\u65b0 modelValue \u5c5e\u6027

  • \u81ea\u52a8

    <ui-dialog v-model="open"></ui-dialog>\n
  • \u624b\u52a8

    <ui-dialog\n  :model-value="open"\n  @update:model-value="balmUI.onChange('open', $event)"\n></ui-dialog>\n
'},91578:function(t,e,o){"use strict";o.r(e);e.default='

\u5bf9\u8bdd\u6846

\u5bf9\u8bdd\u6846\u901a\u77e5\u7528\u6237\u6709\u5173\u4e00\u9879\u4efb\u52a1\u7684\u4fe1\u606f\uff0c\u5e76\u4e14\u53ef\u4ee5\u5305\u542b\u5173\u952e\u4fe1\u606f\uff0c\u9700\u8981\u505a\u51fa\u51b3\u5b9a\u6216\u6d89\u53ca\u591a\u4e2a\u4efb\u52a1\u3002

'},3364:function(t,e,o){"use strict";o.r(e);e.default='
<ui-dialog>\n  <ui-dialog-title></ui-dialog-title>\n  <ui-dialog-content></ui-dialog-content>\n  <ui-dialog-actions></ui-dialog-actions>\n</ui-dialog>\n
Component Description
<ui-dialog> \u5bf9\u8bdd\u6846\u5bb9\u5668\u5143\u7d20
<ui-dialog-title> \u5bf9\u8bdd\u6846\u6807\u9898\u5143\u7d20
<ui-dialog-content> \u5bf9\u8bdd\u6846\u4e3b\u8981\u5185\u5bb9\u533a\u57df\u3002\u53ef\u80fd\u5305\u542b\u5217\u8868\uff0c\u8868\u5355\u6216\u6587\u7ae0\u3002
<ui-dialog-actions> \u5bf9\u8bdd\u6846\u5e95\u90e8\u533a\u57df\uff0c\u5305\u542b\u5bf9\u8bdd\u6846\u7684\u64cd\u4f5c\u6309\u94ae\u3002
'},56892:function(t,e,o){"use strict";o.r(e);e.default='
<ui-divider></ui-divider>\n

<ui-divider> \u7c7b\u578b

  • 0: 'horizontal'
  • 1: 'vertical'

Props

Name Type Default Description
type string, number 0 \u5206\u5272\u7ebf\u7c7b\u578b

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u5206\u5272\u7ebf\u6587\u672c\u53ca HTML
left \u4ec5\u9002\u7528\u4e8e\u5782\u76f4\u5206\u9694\u7b26\u7684\u5de6\u8fb9\u6587\u672c
right \u4ec5\u9002\u7528\u4e8e\u5782\u76f4\u5206\u9694\u7b26\u7684\u53f3\u8fb9\u6587\u672c
'},72371:function(t,e,o){"use strict";o.r(e);e.default='

\u5206\u5272\u7ebf

\u5206\u9694\u7ebf\u662f\u5c06\u5185\u5bb9\u6309\u5217\u8868\u548c\u5e03\u5c40\u5206\u7ec4\u7684\u7ec6\u7ebf\u3002

'},68872:function(t,e,o){"use strict";o.r(e);e.default='
<ui-drawer type="dismissible"></ui-drawer>\n<ui-drawer-app-content><!-- Content --></ui-drawer-app-content>\n

\u4ec5\u9650\u5e94\u7528\u4e8e <ui-drawer type="dismissible">

'},95835:function(t,e,o){"use strict";o.r(e);e.default='

\u5bfc\u822a\u680f\u906e\u7f69\u5c42

\u26a0\ufe0f \u63d0\u793a\uff1a<ui-drawer-backdrop> \u5728 9.25.0 \u4e2d\u5df2\u5f03\u7528\uff0c\u76f4\u63a5\u4f7f\u7528 <ui-drawer type="modal"> \u5373\u53ef\u3002

  • For balm-ui < 9.25.0

    <ui-drawer type="modal"></ui-drawer>\n<ui-drawer-backdrop></ui-drawer-backdrop>\n<div><!-- Content --></div>\n
'},65662:function(t,e,o){"use strict";o.r(e);e.default='
<ui-drawer-content><!-- the list of items --></ui-drawer-content>\n

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b router link \u5217\u8868\u53ca HTML
'},58221:function(t,e,o){"use strict";o.r(e);e.default='
<ui-drawer-header><!-- the drawer header child components --></ui-drawer-header>\n

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u5bfc\u822a\u7684\u6807\u9898\u5b50\u7ec4\u4ef6\u53ca HTML

\u5b50\u7ec4\u4ef6\uff1a

  • <ui-drawer-title>
  • <ui-drawer-subtitle>
'},8776:function(t,e,o){"use strict";o.r(e);e.default='
<ui-drawer><!-- the drawer child components --></ui-drawer>\n

<ui-drawer> \u7c7b\u578b

  • 0: 'permanent'
  • 1: 'dismissible'
  • 2: 'modal'

\u63d0\u793a\uff1a

  • \u9ed8\u8ba4\u7684 <ui-drawer> (type="permanent") \u6ca1\u6709\u5c5e\u6027\u548c\u4e8b\u4ef6
  • <ui-drawer type="dismissible"> \u548c <ui-drawer type="modal"> \u5fc5\u987b\u5305\u542b\u4e00\u4e2a <ui-nav>\u3002\u800c\u4e14\u5bfc\u822a\u4e2d\u7684\u7b2c\u4e00\u4e2a <ui-nav-item> \u9ed8\u8ba4\u5fc5\u987b\u4e3a\u6fc0\u6d3b\u72b6\u6001\u3002

Props

Name Type Default Description
type string, number 0 \u4fa7\u8fb9\u5bfc\u822a\u680f\u7c7b\u578b
navId string null \u5916\u90e8\u83dc\u5355\u6309\u94ae\u9009\u62e9\u5668\uff08\u8bf7\u53c2\u8003 top app bar \u7684 navId \u5c5e\u6027\uff09
modelValue (v-model) boolean false \u5bfc\u822a\u5207\u6362\u7684\u72b6\u6001
viewportHeight boolean false \u8bbe\u7f6e\u89c6\u7a97\u5168\u9ad8\u5ea6\uff08100vh\uff09

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u5bfc\u822a\u7684\u5b50\u7ec4\u4ef6

\u5b50\u7ec4\u4ef6\uff1a

  • <ui-drawer-header>
  • <ui-drawer-content>

Events

Name Type Description
nav function(open: boolean) \u5bfc\u822a\u5f00\u5173\u65f6\u89e6\u53d1

\u63d0\u793a\uff1a\u5982\u679c\u4f60\u4e0d\u4f7f\u7528 v-model \u7ed1\u5b9a\u6570\u636e\uff0c\u4f60\u5e94\u8be5\u4f7f\u7528 @nav \u76d1\u542c\u4fa7\u8fb9\u5bfc\u822a\u680f\u5207\u6362\u72b6\u6001\u5e76\u66f4\u65b0 modelValue \u5c5e\u6027

  • \u81ea\u52a8

    <ui-drawer v-model="open" type="modal"></ui-drawer>\n
  • \u624b\u52a8

    <ui-drawer\n  :model-value="open"\n  type="modal"\n  @nav="balmUI.onChange('open', $event)"\n></ui-drawer>\n
'},38432:function(t,e,o){"use strict";o.r(e);e.default='

\u4fa7\u8fb9\u5bfc\u822a\u680f

\u4fa7\u8fb9\u5bfc\u822a\u680f\u63d0\u4f9b\u5bf9\u5e94\u7528\u7a0b\u5e8f\u4e2d\u76ee\u6807\u4f4d\u7f6e\u7684\u8bbf\u95ee\u3002

'},12948:function(t,e,o){"use strict";o.r(e);e.default='
<ui-drawer>\n  <ui-drawer-header>\n    <ui-drawer-title>Title</ui-drawer-title>\n    <ui-drawer-subtitle>Subtitle</ui-drawer-subtitle>\n  </ui-drawer-header>\n  <ui-drawer-content>\n    <ui-nav>\n      <ui-nav-item active>Activated link</ui-nav-item>\n      <ui-nav-item>Unactivated link</ui-nav-item>\n    </ui-nav>\n  </ui-drawer-content>\n</ui-drawer>\n
Component Description
<ui-drawer> \u5bfc\u822a\u5bb9\u5668\u5143\u7d20
<ui-drawer-header> \u5bfc\u822a\u9876\u90e8\u5143\u7d20\uff08\u4e0d\u53ef\u6eda\u52a8\uff09
<ui-drawer-title> \u5bfc\u822a\u4e3b\u6807\u9898\u5143\u7d20
<ui-drawer-subtitle> \u5bfc\u822a\u526f\u6807\u9898\u5143\u7d20
<ui-drawer-content> \u5bfc\u822a\u5185\u5bb9\u5143\u7d20\uff08\u53ef\u6eda\u52a8\uff09
<ui-drawer-app-content> \u5bfc\u822a\u6253\u5f00/\u5173\u95ed\u65f6\u8c03\u6574\u5927\u5c0f\u7684\u540c\u7ea7\u5143\u7d20\u3002\u4ec5\u9650\u5e94\u7528\u4e8e <ui-drawer type="dismissible">
'},55723:function(t,e,o){"use strict";o.r(e);e.default='
<ui-editor></ui-editor>\n

Props

Name Type Default Description Version
modelValue (v-model) string '' \u5bcc\u6587\u672c\u503c
options object {} \u8be6\u89c1 Quill options
toolbar array, string null \u5bcc\u6587\u672c\u5de5\u5177\u680f\u914d\u7f6e\uff08\u81ea\u5b9a\u4e49\u6216 'full')
placeholder string null \u5f53\u7f16\u8f91\u5668\u4e3a\u7a7a\u65f6\u663e\u793a\u7684\u5360\u4f4d\u7b26\u6587\u672c
readonly boolean false \u53ea\u8bfb\u6a21\u5f0f
fullwidth boolean false \u5168\u5c4f\u5bbd\u5ea6\u6837\u5f0f 10.3.0
theme string 'snow' \u4e3b\u9898\u6837\u5f0f
toolbarIcons object {} \u81ea\u5b9a\u4e49\u5de5\u5177\u680f\u56fe\u6807
toolbarTips object {} \u81ea\u5b9a\u4e49\u5de5\u5177\u680f\u56fe\u6807\u63d0\u793a\u6587\u672c 9.2.0
toolbarOptions object { font: [], size: [], lineheight:[] } \u81ea\u5b9a\u4e49\u5de5\u5177\u680f\u7684\u5b57\u4f53\uff0c\u6587\u5b57\u5927\u5c0f\u548c\u884c\u9ad8
toolbarHandlers object {} \u81ea\u5b9a\u4e49\u5de5\u5177\u680f\u4e8b\u4ef6\u5904\u7406
customImageHandler boolean false \u542f\u7528\u81ea\u5b9a\u4e49\u56fe\u7247\u4e8b\u4ef6\u5904\u7406
emotions array [] \u8868\u60c5\u6269\u5c55\u3002\u652f\u6301 emoji \u548c image
withCounter boolean false \u542f\u7528\u5185\u90e8\u8ba1\u6570\u5668
extension false, object false \u81ea\u5b9a\u4e49 Quill \u6269\u5c55
interface Editor {\n  theme: 'bubble' | 'snow';\n}\n
interface Editor {\n  theme: 'bubble' | 'snow';\n}\n

toolbar \u5c5e\u6027

  • \u5b98\u65b9\u9ed8\u8ba4\u5de5\u5177
    • align/direction/indent
    • background/color/font/size
    • blockquote/code-block/header/list
    • bold/italic/link/script/strike/underline
    • image/video
  • BalmUI \u6269\u5c55\u5de5\u5177
    • font/size/lineheight: \u81ea\u5b9a\u4e49\u5b57\u4f53\uff0c\u6587\u5b57\u5927\u5c0f\u548c\u884c\u9ad8
    • image: \u81ea\u5b9a\u4e49\u56fe\u7247\u4e0a\u4f20\u5904\u7406
    • emoji: \u8868\u60c5\u6a21\u5757
    • divider: \u6c34\u5e73\u5206\u5272\u7ebf
    • textindent: \u5185\u8054\u7684\u6587\u672c\u7f29\u8fdb\uff08\u7c7b\u4f3c indent\uff09
    • linkoff: \u6e05\u9664\u6240\u6709\u94fe\u63a5
    • counter: \u8ba1\u6570\u5668\u6a21\u5757
    • undo/redo: \u5185\u7f6e\u7684\u64a4\u9500\u548c\u91cd\u505a\u5904\u7406
    • selectall: \u9009\u4e2d\u5168\u90e8\u5185\u5bb9

toolbarOptions \u548c emotions \u5168\u5c40\u914d\u7f6e

  • /path/to/app/scripts/config/editor.js

    const toolbarTips = {\n  header: 'Headline',\n  font: 'Font Famliy',\n  size: 'Font Size',\n  lineheight: 'Line Height',\n  bold: 'Bold',\n  italic: 'Italic',\n  underline: 'Underline',\n  color: 'Text Color',\n  background: 'Background Color',\n  align: {\n    default: 'Left Align',\n    center: 'Center Align',\n    right: 'Right Align',\n    justify: 'Justify Align'\n  },\n  list: {\n    ordered: 'Ordered List',\n    bullet: 'Bullet List'\n  },\n  indent: {\n    '+1': 'Increase Indent',\n    '-1': 'Decrease Indent'\n  },\n  blockquote: 'Blockquote',\n  emoji: 'Emoji'\n};\n\nconst toolbarOptions = {\n  // \u81ea\u5b9a\u4e49 Font Family \u9700\u5bf9\u5e94\u914d\u7f6e Sass \u53d8\u91cf `$font-family`\n  font: [\n    'Arial',\n    'Arial Black',\n    'Comic Sans MS',\n    'Courier New',\n    'Tahoma',\n    'Georgia',\n    'Helvetica',\n    'Segoe UI',\n    'Impact',\n    'Times New Roman',\n    'Verdana'\n  ],\n  size: [\n    '8px',\n    '9px',\n    '10px',\n    '11px',\n    '12px',\n    '13px',\n    '14px',\n    '16px',\n    '18px',\n    '24px',\n    '36px',\n    '48px',\n    '60px',\n    '72px',\n    '96px'\n  ],\n  lineheight: [\n    '1',\n    '1.2',\n    '1.5',\n    '1.6',\n    '1.8',\n    '2',\n    '2.4',\n    '2.8',\n    '3',\n    '4',\n    '5'\n  ]\n};\n\nconst emotions = [\n  {\n    type: 'image',\n    title: 'Default',\n    content: [\n      {\n        name: 'oo',\n        alt: '\u574f\u7b11',\n        src: 'https://material.balmjs.com/images/emoji/p_huaixiao.png'\n      },\n      {\n        name: 'xx',\n        alt: '\u8214\u5c4f',\n        src: 'https://material.balmjs.com/images/emoji/p_tian.png'\n      }\n    ]\n  },\n  {\n    type: 'emoji',\n    title: 'emoji',\n    content: [\n      {\n        name: 'smile',\n        value: '\ud83d\ude00'\n      },\n      {\n        name: 'cry',\n        value: '\ud83d\ude06'\n      }\n    ]\n  },\n  {\n    type: 'image',\n    title: 'Custom',\n    content: [\n      {\n        name: 'yy',\n        alt: '\u795e\u517d',\n        src: 'https://material.balmjs.com/images/emoji/g_shenshou.gif'\n      },\n      {\n        name: 'zz',\n        alt: '\u6d6e\u4e91',\n        src: 'https://material.balmjs.com/images/emoji/g_fuyun.gif'\n      }\n    ]\n  }\n];\n\nexport { toolbarTips, toolbarOptions, emotions };\n
  • /path/to/app/scripts/main.js

    import { toolbarTips, toolbarOptions, emotions } from '@/config/editor';\nimport BalmUIPlus from 'balm-ui/dist/balm-ui-plus';\n\n// `app`: Vue app\napp.use(BalmUIPlus, {\n  UiEditor: {\n    toolbarTips,\n    toolbarOptions,\n    emotions\n  }\n});\n

toolbarHandlers \u5c5e\u6027

{\n  toolbar: ['customFormat'],\n  toolbarHandlers: {\n    customFormat: (quill, value) => {};\n  }\n}\n
  • quill.insert(customFormat, value) => {}: \u5411\u5bcc\u6587\u672c\u63d2\u5165\u5185\u5bb9
  • quill.insert('html', content): \u5411\u5bcc\u6587\u672c HTML (New in 9.2.0)

Slots

Name Props Description
toolbar toolbar \u63d2\u69fd\u5305\u542b\u81ea\u5b9a\u4e49\u5de5\u5177\u6309\u94ae\u53ca HTML

Events

Name Type Description
update:modelValue function(content: string) \u5bcc\u6587\u672c\u503c\u53d8\u5316\u65f6\u89e6\u53d1
file-change function(file, insert) \u9700\u8981\u914d\u7f6e customImageHandler\uff08\u901a\u8fc7 insert(url) \u65b9\u6cd5\u5411\u5bcc\u6587\u672c\u63d2\u5165\u4e0a\u4f20\u56fe\u7247\uff09

\u63d0\u793a\uff1a\u5982\u679c\u4f60\u4e0d\u4f7f\u7528 v-model \u7ed1\u5b9a\u6570\u636e\uff0c\u4f60\u5e94\u8be5\u4f7f\u7528 @update:modelValue \u76d1\u542c\u5bcc\u6587\u672c\u503c\u5e76\u66f4\u65b0 modelValue \u5c5e\u6027

  • \u81ea\u52a8

    <ui-editor v-model="content"></ui-editor>\n
  • \u624b\u52a8

    <ui-editor\n  :model-value="content"\n  @update:model-value="balmUI.onChange('content', $event)"\n></ui-editor>\n

Public Methods

Encode & Decode Emoji

<ui-editor ref="editor" v-model="content"></ui-editor>\n
  • $refs.editor.useEditor(): \u83b7\u53d6 Quill \u6a21\u5757\u548c\u4e00\u4e2a quill \u5b9e\u4f8b (New in 10.4.0)
  • this.$refs.editor.decodeEmoji(content): \u83b7\u53d6\u670d\u52a1\u7aef\u6570\u636e \u2192 \u8bbe\u7f6e\u5ba2\u6237\u7aef\u5c55\u793a
  • this.$refs.editor.encodeEmoji(html): \u63d0\u4ea4\u5ba2\u6237\u7aef\u6570\u636e \u2192 \u4fdd\u5b58\u670d\u52a1\u7aef\u6570\u636e
'},7672:function(t,e,o){"use strict";o.r(e);e.default='

\u5bcc\u6587\u672c

\u4e00\u6b3e\u73b0\u4ee3\u7684\u6240\u89c1\u5373\u6240\u5f97\u7f16\u8f91\u5668\uff08\u57fa\u4e8e Quill \u4e14\u5185\u7f6e\u4e86\u4e30\u5bcc\u7684\u6269\u5c55\u529f\u80fd\uff09\u3002

'},43446:function(t,e,o){"use strict";o.r(e);e.default='

\u5c42\u7ea7\u9634\u5f71

\u5c42\u7ea7\u9634\u5f71\u4e3a\u7269\u4f53\u7684\u6df1\u5ea6\u548c\u65b9\u5411\u8fd0\u52a8\u63d0\u4f9b\u4e86\u91cd\u8981\u7684\u89c6\u89c9\u7ebf\u7d22\u3002\u5b83\u4eec\u662f\u6307\u793a\u8868\u9762\u4e4b\u95f4\u5206\u79bb\u7a0b\u5ea6\u7684\u552f\u4e00\u89c6\u89c9\u63d0\u793a\u3002 \u5bf9\u8c61\u7684\u9ad8\u7a0b\u786e\u5b9a\u5176\u9634\u5f71\u7684\u5916\u89c2\u3002 \u9ad8\u7a0b\u503c\u6620\u5c04\u5230\u201c z \u7a7a\u95f4\u201d\u4e2d\uff0c\u8303\u56f4\u4ece 0 \u5230 24\u3002

'},37088:function(t,e,o){"use strict";o.r(e);e.default='
<div v-shadow="4"></div>\n

\u9ed8\u8ba4\u9634\u5f71

  • v-shadow="z"
Value Type Default Description
z number 0 \u8bbe\u7f6e\u9634\u5f71\u5c42\u7ea7\uff0c\u8303\u56f4\u503c\uff1a[0, 24]

\u52a8\u753b\u9634\u5f71

  • v-shadow.transition="[z1, z2]"

\u5e94\u7528\u6b63\u786e\u7684 CSS \u89c4\u5219\u5728\u9634\u5f71\u5c42\u7ea7\u4e4b\u95f4\u8f6c\u6362\uff1a

  • z1: \u9ed8\u8ba4\u7684\u5c42\u7ea7
  • z2: \u9f20\u6807\u7ecf\u8fc7\u65f6\u7684\u5c42\u7ea7
'},75431:function(t,e,o){"use strict";o.r(e);e.default='

1. \u4e8b\u4ef6\u7f29\u5199

\u26a0\ufe0f \u4e0d\u652f\u6301 <script setup>

interface BalmUIEvent {\n  onChange(property: string, value: any, fn?: Function);\n\n  onOpen(property: string, fn?: Function);\n  onShow(property: string, fn?: Function);\n\n  onClose(property: string, fn?: Function);\n  onHide(property: string, fn?: Function);\n}\n

Props

Name Type Default Description
property string '' \u66f4\u65b0\u6307\u5b9a\u7684 Vue \u5b9e\u4f8b\u5bf9\u8c61\u6570\u636e\uff08data or setup\uff09
value any undefined \u6307\u5b9a Vue \u5b9e\u4f8b\u5bf9\u8c61\u6570\u636e\uff08data or setup\uff09\u7684\u65b0\u503c\u3002\u4ec5\u9650 balmUI.onChange \u65b9\u6cd5\u3002
fn function noop \u66f4\u65b0\u6570\u636e\u540e\u7684\u81ea\u5b9a\u4e49\u4e8b\u4ef6
import { useEvent } from 'balm-ui';\n// \u6216\n// import { useEvent } from 'balm-ui/plugins/event';\n\nconst balmUI = useEvent();\n
  • \u66f4\u65b0 Vue \u5b9e\u4f8b\u7684\u6570\u636e\u5bf9\u8c61\u4e3a new value

    balmUI.onChange(property, value);\n
  • \u66f4\u65b0 Vue \u5b9e\u4f8b\u7684\u6570\u636e\u5bf9\u8c61\u4e3a true

    balmUI.onOpen(property);\nbalmUI.onShow(property);\n
  • \u66f4\u65b0 Vue \u5b9e\u4f8b\u7684\u6570\u636e\u5bf9\u8c61\u4e3a false

    balmUI.onClose(property);\nbalmUI.onHide(property);\n

2. \u4f18\u5316\u81ea\u5b9a\u4e49\u4e8b\u4ef6

  • balmResize\uff08\u4f18\u4e8e resize\uff09

  • balmScroll\uff08\u4f18\u4e8e scroll\uff09

    • Composition API

      import { onMounted, onBeforeUnmount } from 'vue';\n\nfunction init() {\n  // ...\n}\n\nexport default {\n  setup() {\n    onMounted(() => {\n      init();\n      window.addEventListener('balmResize', init);\n    });\n\n    onBeforeUnmount(() => {\n      window.removeEventListener('balmResize', init);\n    });\n  }\n};\n
    • Options API

      export default {\n  mounted() {\n    this.init();\n    window.addEventListener('balmResize', this.init);\n  },\n  beforeUnmount() {\n    window.removeEventListener('balmResize', this.init);\n  },\n  methods: {\n    init() {\n      // ...\n    }\n  }\n};\n

3. \u5168\u5c40\u901a\u4fe1

  • $bus.on(event, callback)

  • $bus.once(event, callback) (New in 10.9.0)

  • $bus.off(event, callback)

  • $bus.emit(eventName, ...args)

    interface BalmUIEventBus {\n  on(event: string | string[], callback: Function); // \u76d1\u542c\u5f53\u524d\u5b9e\u4f8b\u4e0a\u7684\u81ea\u5b9a\u4e49\u4e8b\u4ef6\u3002\n  once(event: string, callback: Function); // \u76d1\u542c\u4e00\u4e2a\u81ea\u5b9a\u4e49\u4e8b\u4ef6\uff0c\u4f46\u662f\u53ea\u89e6\u53d1\u4e00\u6b21\u3002\n  off(event: string | string[], callback?: Function); // \u79fb\u9664\u81ea\u5b9a\u4e49\u4e8b\u4ef6\u76d1\u542c\u5668\u3002\n  emit(eventName: string, ...args); // \u89e6\u53d1\u5f53\u524d\u5b9e\u4f8b\u4e0a\u7684\u4e8b\u4ef6\u3002\u9644\u52a0\u53c2\u6570\u90fd\u4f1a\u4f20\u7ed9\u76d1\u542c\u5668\u56de\u8c03\u3002\n}\n\ninterface VueInstance {\n  $bus: BalmUIEventBus;\n}\n

Props

Name Type Default Description
event, eventName string \u5168\u5c40\u901a\u4fe1\u7684\u81ea\u5b9a\u4e49\u4e8b\u4ef6\u7684\u540d\u79f0
args any \u5168\u5c40\u901a\u4fe1\u7684\u81ea\u5b9a\u4e49\u4e8b\u4ef6\u7684\u65b9\u6cd5\u7684\u53c2\u6570
callback function \u5168\u5c40\u901a\u4fe1\u7684\u81ea\u5b9a\u4e49\u4e8b\u4ef6\u7684\u65b9\u6cd5

3.1 \u5728 .vue \u7ec4\u4ef6\u4e2d\u4f7f\u7528 $bus

  • Composition API

    // `/path/to/awesome.vue`\nimport { onMounted, onBeforeUnmount } from 'vue';\nimport { useBus } from 'balm-ui';\n\nexport default {\n  setup() {\n    const bus = useBus();\n\n    onMounted(() => {\n      bus.on('custom-event', (msg) => {\n        console.log(msg);\n      });\n    });\n\n    onBeforeUnmount(() => {\n      bus.off('custom-event');\n    });\n  }\n};\n
  • Options API

    // `/path/to/awesome.vue`\nexport default {\n  mounted() {\n    this.$bus.on('custom-event', (msg) => {\n      console.log(msg);\n    });\n  },\n  beforeUnmount() {\n    this.$bus.off('custom-event');\n  }\n};\n

3.2 \u5728\u975e .vue \u7ec4\u4ef6\u4e2d\u4f7f\u7528 $bus

// `/path/to/awesome.js`\n\nimport { useBus } from 'balm-ui';\n// \u6216\n// import { useBus } from 'balm-ui/plugins/event';\n\nconst bus = useBus();\nbus.emit('custom-event', 'Hello BalmUI');\n
'},45326:function(t,e,o){"use strict";o.r(e);e.default='

UI \u5168\u5c40\u4e8b\u4ef6

'},28627:function(t,e,o){"use strict";o.r(e);e.default='
<ui-fab><!-- Icon --></ui-fab>\n\n<ui-fab extended><!-- Text label --></ui-fab>\n

<ui-fab> \u7c7b\u578b

  • 0: 'regular'
  • 1: 'extended'

Props

Name Type Default Description
type string, number 0 \u6d6e\u52a8\u6309\u94ae\u7c7b\u578b
extended boolean false \u6269\u5c55\u6d6e\u52a8\u6309\u94ae\u3002\u5c06\u6d6e\u52a8\u6309\u94ae\u4fee\u6539\u4e3a\u66f4\u5927\u7684\u5c3a\u5bf8\uff0c\u5305\u62ec\u6587\u672c\u6807\u7b7e\u3002
icon string '' \u8bbe\u7f6e\u56fe\u6807\u3002\u8be6\u89c1 Material Icons \u56fe\u6807\u96c6\u3002
mini boolean false \u8ff7\u4f60\u6d6e\u52a8\u6309\u94ae
exited boolean false \u5bf9\u6d6e\u52a8\u6309\u94ae\u8fdb\u884c\u52a8\u753b\u5904\u7406

Slots

Name Props Description
default iconClass default \u63d2\u69fd\u5305\u542b\u6d6e\u52a8\u6309\u94ae\u6587\u5b57\u6216\u56fe\u6807
before iconClass \u81ea\u5b9a\u4e49\u6269\u5c55\u6d6e\u52a8\u6309\u94ae\u7684\u9996\u56fe\u6807
after iconClass \u81ea\u5b9a\u4e49\u6269\u5c55\u6d6e\u52a8\u6309\u94ae\u7684\u5c3e\u56fe\u6807

\u63d0\u793a\uff1a\u6269\u5c55\u6d6e\u52a8\u6309\u94ae\u7684 default \u63d2\u69fd\u6ca1\u6709 slot-scope

<ui-fab>\n  <template #default="{ iconClass }">\n    <ui-icon :class="iconClass">ICON</ui-icon>\n  </template>\n</ui-fab>\n\n<ui-fab extended>\n  <template #before="{ iconClass }">\n    <ui-icon :class="iconClass">ICON</ui-icon>\n  </template>\n  Text label\n</ui-fab>\n

Events

Name Type Description
click function(event: object) \u70b9\u51fb\u6d6e\u52a8\u6309\u94ae\u65f6\u89e6\u53d1
'},28057:function(t,e,o){"use strict";o.r(e);e.default='

\u6d6e\u52a8\u6309\u94ae

\u6d6e\u52a8\u52a8\u4f5c\u6309\u94ae\uff08FAB\uff09\u8868\u793a\u5c4f\u5e55\u7684\u4e3b\u8981\u52a8\u4f5c\u3002

'},7686:function(t,e,o){"use strict";o.r(e);e.default='
<ui-file></ui-file>\n

Props

Name Type Default Description
inputId string null \u539f\u751f <input> \u7684 id \u5c5e\u6027\u548c <label> \u7684 for \u5c5e\u6027
accept string '' \u53ef\u4ee5\u63a5\u53d7\u7684\u6587\u4ef6\u7c7b\u578b
multiple boolean false \u652f\u6301\u591a\u6587\u4ef6\u4e0a\u4f20
disabled boolean false \u7981\u7528\u72b6\u6001
outlined boolean false \u4e0a\u4f20\u6309\u94ae\u663e\u793a\u4e3a\u8f6e\u5ed3\u6309\u94ae\u6837\u5f0f
text string 'Upload' \u4e0a\u4f20\u6309\u94ae\u7684\u6587\u672c
preview boolean false \u542f\u7528\u53ef\u9884\u89c8\u6a21\u5f0f

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u4e0a\u4f20\u6309\u94ae\u53ca HTML

Events

Name Type Description
change function(files: array) \u6587\u4ef6\u53d8\u5316\u65f6\u89e6\u53d1
  • files \u4e2d\u6bcf\u4e2a file \u7684\u5c5e\u6027
Name Type Description
tmpId string \u4e34\u65f6\u552f\u4e00 ID
lastModified number \u8fd4\u56de\u6587\u4ef6\u7684\u4e0a\u6b21\u4fee\u6539\u65f6\u95f4\uff0c\u4ee5 UNIX \u7eaa\u5143\u4ee5\u6765\u7684\u6beb\u79d2\u6570\u4e3a\u5355\u4f4d (January 1st, 1970 at Midnight)
name string \u8fd4\u56de File \u5bf9\u8c61\u5f15\u7528\u7684\u6587\u4ef6\u7684\u540d\u79f0
size number \u8fd4\u56de\u6587\u4ef6\u7684\u5927\u5c0f\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09
type string \u8fd4\u56de\u6587\u4ef6\u7684 MIME \u7c7b\u578b
sourceFile file \u8fd4\u56de\u4e00\u4e2a\u65b0\u7684 Blob \u5bf9\u8c61\uff0c\u5176\u4e2d\u5305\u542b\u6e90 Blob \u7684\u6307\u5b9a\u5b57\u8282\u8303\u56f4\u5185\u7684\u6570\u636e
previewSrc string \u7528\u4e8e\u9884\u89c8\u7684 src \u6570\u636e\u3002 \u4ec5\u9002\u7528\u4e8e\u53ef\u9884\u89c8\u6a21\u5f0f
previewError number \u9884\u89c8\u9519\u8bef\u4ee3\u7801\uff1a{0: 'OK', 1: 'Not image type', 2: 'Unsupported'}
'},88683:function(t,e,o){"use strict";o.r(e);e.default='

\u6587\u4ef6\u4e0a\u4f20

'},55728:function(t,e,o){"use strict";o.r(e);e.default='
<ui-form-field>\n  <label></label>\n  <!-- awesome form item -->\n</ui-form-field>\n

Props

Name Type Default Description
nowrap boolean false \u5f3a\u5236\u6587\u672c\u663e\u793a\u4e00\u884c\uff0c\u5e76\u4f7f\u6ea2\u51fa\u7684\u6587\u672c\u663e\u793a\u7701\u7565\u53f7\u3002
alignEnd boolean false \u5c06\u5185\u5bb9\u653e\u7f6e\u5728 <label> \u4e4b\u540e
spaceBetween boolean false \u5bf9\u9f50\u5185\u5bb9\u548c <label> \u4e4b\u95f4\u7684\u7a7a\u95f4

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u8868\u5355\u9879\u5185\u5bb9\u53ca HTML
'},15075:function(t,e,o){"use strict";o.r(e);e.default='
<ui-form>\n  <template #default="{ subitemClass, actionClass }">\n    <ui-form-field>\n      <label></label>\n      <!-- awesome form item 1 -->\n      <ui-form-field></ui-form-field>\n    </ui-form-field>\n    <ui-form-field>\n      <label></label>\n      <div :class="subitemClass">\n        <!-- awesome form item 2 -->\n        <ui-form-field></ui-form-field>\n        <ui-form-field></ui-form-field>\n      </div>\n    </ui-form-field>\n    <ui-form-field :class="actionClass">\n      <ui-button></ui-button>\n    </ui-form-field>\n  </template>\n</ui-form>\n

<ui-form> \u7c7b\u578b

  • 0: 'horizontal'
  • 1: 'vertical'

Props

Name Type Default Description Version
type string, number 0 \u8bbe\u7f6e\u8868\u5355\u7c7b\u578b\uff08\u6c34\u5e73\u6216\u5782\u76f4\u6a21\u5f0f\uff09
itemMarginBottom number 0 \u8bbe\u7f6e\u8868\u5355\u9879\u4e0b\u8fb9\u8ddd
nowrap boolean false \u56fa\u5b9a\u8868\u5355\u9879 <label>\uff0c\u8d85\u8fc7\u90e8\u5206\u7684\u6587\u5b57\u7528\u7701\u7565\u53f7\u8868\u793a
labelTopAligned boolean false \u8bbe\u7f6e\u8868\u5355\u9879 <label> \u9876\u5bf9\u9f50
labelRightAligned boolean false \u8bbe\u7f6e\u8868\u5355\u9879 <label> \u53f3\u5bf9\u9f50
labelTopRightAligned boolean false \u8bbe\u7f6e\u8868\u5355\u9879 <label> \u9876\u5bf9\u9f50\u4e14\u53f3\u5bf9\u9f50 9.9.0
labelWidth number 0 \uff08\u6c34\u5e73\u6a21\u5f0f\u8868\u5355\uff09\u8bbe\u7f6e <label> \u5bbd\u5ea6
labelMarginRight number 0 \uff08\u6c34\u5e73\u6a21\u5f0f\u8868\u5355\uff09\u8bbe\u7f6e <label> \u53f3\u8fb9\u8ddd
labelMarginBottom number 0 \uff08\u5782\u76f4\u6a21\u5f0f\u8868\u5355\uff09\u8bbe\u7f6e <label> \u4e0b\u8fb9\u8ddd
actionAlign string 'left' \u8bbe\u7f6e\u8868\u5355\u52a8\u4f5c\u9879\u7684\u5bf9\u9f50\u65b9\u5f0f 9.9.0

labelTopAligned\uff0clabelRightAligned \u548c labelTopRightAligned \u53ea\u80fd\u5e94\u7528\u4e8e\u6c34\u5e73\u6a21\u5f0f\u8868\u5355\u3002

interface Form {\n  actionAlign: 'left' | 'center' | 'right';\n}\n

Slots

Name Props Description
default itemClass, subitemClass, actionClass default \u63d2\u69fd\u5305\u542b\u8868\u5355\u9879\u53ca HTML

itemClass \u548c subitemClass \u662f 9.9.0 \u65b0\u589e prop

'},31323:function(t,e,o){"use strict";o.r(e);e.default='

\u8868\u5355

'},63052:function(t,e,o){"use strict";o.r(e);e.default='
<ui-grid-cell><!-- the grid cell content --></ui-grid-cell>\n
Name Type Default Description
nested boolean false \u5f00\u542f\u5d4c\u5957\u6805\u683c\u5e03\u5c40
columns number, object 4 \u6307\u5b9a\u5355\u5143\u683c\u8de8\u8d8a\u7684\u5217\u6570
order number 0 \u6307\u5b9a\u5355\u5143\u683c\u7684\u987a\u5e8f
align string '' \u6307\u5b9a\u5355\u5143\u683c\u7684\u5bf9\u9f50\u65b9\u5f0f
interface GridCell {\n  columns: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;\n  order: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;\n  align: 'top' | 'middle' | 'bottom';\n}\n

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u5355\u5143\u683c\u5185\u5bb9\u53ca HTML

\u5f53\u4f60\u7684\u5185\u5bb9\u9700\u8981\u989d\u5916\u7ed3\u6784\u4e14\u5355\u4e2a\u6805\u683c\u5e03\u5c40\u65e0\u6cd5\u652f\u6301\u65f6\uff0c\u53ef\u4ee5\u5c06\u6805\u683c\u5e03\u5c40\u5f7c\u6b64\u5d4c\u5957\u3002 \u5f00\u542f\u5d4c\u5957\u6805\u683c\u5e03\u5c40\uff0c\u8bf7\u4f7f\u7528 <ui-grid-cell nested>

<ui-grid>\n  <ui-grid-cell nested>\n    <!-- Parent 1 -->\n    <ui-grid-cell>Child 1</ui-grid-cell>\n    <ui-grid-cell>Child 2</ui-grid-cell>\n    <ui-grid-cell>Child 3</ui-grid-cell>\n  </ui-grid-cell>\n  <ui-grid-cell>Parent 2</ui-grid-cell>\n  <ui-grid-cell>Parent 3</ui-grid-cell>\n</ui-grid>\n
'},6591:function(t,e,o){"use strict";o.r(e);e.default='

\u624b\u52a8\u81ea\u5b9a\u4e49\u5168\u5c40\u6805\u683c\u5c5e\u6027

  • $grid

    interface VueInstance {\n  set: BalmUIGrid;\n}\n
    type GridProperty = 'margin' | 'gutter' | 'column-width';\ntype GridSize = 'desktop' | 'tablet' | 'phone';\n\ninterface BalmUIGrid {\n  set(property: GridProperty, size: GridSize, value: string): void;\n}\n
Param Type Default Description
property string '' \u6805\u683c\u5c5e\u6027
size string '' \u76ee\u6807\u5e73\u53f0
value string '' \u81ea\u5b9a\u4e49\u6805\u683c\u503c
  • \u6805\u683c\u5c5e\u6027\u8bf4\u660e
    • margin: \u6805\u683c\u8fb9\u8ddd\u7684\u5927\u5c0f
    • gutter: \u5355\u5143\u4e4b\u95f4\u7684\u88c5\u8ba2\u7ebf\u7684\u5927\u5c0f
    • column-width: \u6805\u683c\u5185\u5217\u7684\u5bbd\u5ea6

\u5728\u975e .vue \u7ec4\u4ef6\u4e2d\u4f7f\u7528 $grid

import { useGrid } from 'balm-ui';\n// \u6216\n// import { useGrid } from 'balm-ui/plugins/grid';\n\nconst $grid = useGrid();\n
'},18074:function(t,e,o){"use strict";o.r(e);e.default='
<ui-grid><!-- the grid cell --></ui-grid>\n

Props

Name Type Default Description
fixedColumnWidth boolean false \u6307\u5b9a\u6805\u683c\u5e94\u5177\u6709\u56fa\u5b9a\u7684\u5217\u5bbd
position string '' \u6307\u5b9a\u6574\u4e2a\u6805\u683c\u7684\u5bf9\u9f50\u65b9\u5f0f
interface Grid {\n  position: 'left' | 'right';\n}\n

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b <ui-grid-cell> \u53ca HTML
'},29250:function(t,e,o){"use strict";o.r(e);e.default='

\u6805\u683c

Material design \u7684\u54cd\u5e94\u5f0f UI \u57fa\u4e8e\u5217\u53d8\u91cf\u6805\u683c\u5e03\u5c40\u3002\u5b83\u5728\u53f0\u5f0f\u673a\u4e0a\u6709 12 \u5217\uff0c\u5728\u5e73\u677f\u7535\u8111\u4e0a\u6709 8 \u5217\uff0c\u5728\u624b\u673a\u4e0a\u6709 4 \u5217\u3002

'},73916:function(t,e,o){"use strict";o.r(e);e.default='

\u8fdb\u9636\u7528\u6cd5

\u4ee5\u4e0b\u914d\u7f6e\u4ecd\u7136\u662f\u57fa\u4e8e Balm CLI \u6784\u5efa\u7684 Vue \u811a\u624b\u67b6\u3002

\u76ee\u5f55

  1. CSS \u6a21\u5757\u5316
  2. JS \u6a21\u5757\u5316
  3. \u83b7\u53d6 Material Icons\uff08\u65e0\u9700\u4e0b\u8f7d\uff09

1. CSS \u6a21\u5757\u5316

1.1 \u4f7f\u7528 Sass\uff08\u63a8\u8350\uff09

  • \u7f16\u8f91 /path/to/my-project/config/balmrc.js

    module.exports = {\n  styles: {\n    extname: 'scss'\n  },\n  scripts: {\n    alias: {\n      'balm-ui-plus': 'balm-ui/dist/balm-ui-plus.js',\n      'balm-ui-css': 'balm-ui/dist/balm-ui.css'\n    }\n  }\n  // Other Options...\n};\n
  • \u7f16\u8f91 /path/to/my-project/app/styles/global/_vendors.scss

    SASS/CSS Management by BalmJS: the entry files of the vendors

    @use '@material/theme' as theme-variables with (\n  $primary: #6200ee,\n  $secondary: #018786\n);\n\n@use 'balm-ui/dist/balm-ui';\n

\u7136\u540e\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7 Sass\u53d8\u91cf \u590d\u5199\u6216\u91cd\u65b0\u5b9a\u4e49 UI \u6837\u5f0f\u3002\uff08\u8be6\u60c5\u89c1\u5404\u7ec4\u4ef6\u7684 SASS\u53d8\u91cf \u6587\u6863\uff09

\u5165\u53e3\u6a21\u677f\u6587\u4ef6\u6807\u51c6\u683c\u5f0f\uff1a

<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset="utf-8" />\n    ...\n    <link rel="stylesheet" href="%PUBLIC_URL%/styles/main.css" />\n  </head>\n  <body>\n    ...\n  </body>\n</html>\n

\u5982\u679c\u7b2c\u4e09\u65b9\u63d0\u4f9b\u4e86 sass/css \u6587\u4ef6\uff0c\u5efa\u8bae\u5728 /path/to/my-project/app/styles/global/_vendors.scss \u4e2d\u8fdb\u884c\u7ba1\u7406

1.2 \u4f7f\u7528 CSS

<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset="utf-8" />\n    ...\n    <!-- build:css css/vendors.css -->\n    <link rel="stylesheet" href="/node_modules/balm-ui/dist/balm-ui.css" />\n    <link rel="stylesheet" href="/node_modules/path/to/some-plugin.css" />\n    <!-- endbuild -->\n    <link rel="stylesheet" href="%PUBLIC_URL%/styles/main.css" />\n  </head>\n  <body>\n    ...\n  </body>\n</html>\n
  • css/vendors.css: BalmJS \u5de5\u4f5c\u6d41\u5408\u5e76\u6307\u5b9a\u7b2c\u4e09\u65b9\u6837\u5f0f\u6587\u4ef6\u4e4b\u540e\u7684\u6587\u4ef6\u8def\u5f84\u3002
  • main.css: \u9879\u76ee\u7684\u6837\u5f0f\u5165\u53e3\u6587\u4ef6\u3002

2. JS \u6a21\u5757\u5316

2.1 \u9ed8\u8ba4\u7528\u6cd5

\u63a8\u8350\u7528\u4e8e \u684c\u9762\u7aef

2.1.1 JS\u4e2d\u5f15\u7528\uff08\u63a8\u8350\uff09

  • \u7f16\u8f91 /path/to/my-project/app/scripts/main.js

    import { createApp } from 'vue';\nimport App from '@/views/layouts/app';\n\n// Import BalmUI scripts\nimport BalmUI from 'balm-ui'; // Official Google Material Components\nimport BalmUIPlus from 'balm-ui-plus'; // BalmJS Team Material Components\n\n// Import BalmUI styles (Not recommend usage, and see above "SASS/CSS Management" for recommended usage)\nimport 'balm-ui-css';\n\nconst app = createApp(App);\n\napp.use(BalmUI); // Mandatory\napp.use(BalmUIPlus); // Optional\n\napp.mount('#app');\n

2.1.2 \u6d4f\u89c8\u5668\u4e2d\u5f15\u7528

  • \u7f16\u8f91 /path/to/my-project/app/index.html

    <!DOCTYPE html>\n<html>\n  <head>\n    <meta charset="utf-8" />\n    ...\n    <!-- build:css css/vendors.css -->\n    <link rel="stylesheet" href="/node_modules/balm-ui/dist/balm-ui.css" />\n    <!-- endbuild -->\n  </head>\n  <body>\n    <div id="app">\n      <ui-button icon="add" @click="$alert(message)">SayHi</ui-button>\n    </div>\n\n    <!-- build:js js/vendors.js -->\n    <script src="/node_modules/vue/dist/vue.js"></script>\n    <script src="/node_modules/balm-ui/dist/balm-ui.js"></script>\n    <script src="/node_modules/balm-ui/dist/balm-ui-plus.js"></script>\n    <!-- endbuild -->\n    <script>\n      var app = Vue.createApp({\n        setup() {\n          var message = 'Hello BalmUI';\n\n          return {\n            message\n          };\n        }\n      });\n\n      app.use(BalmUI);\n      app.use(BalmUIPlus);\n\n      app.mount('#app');\n    </script>\n  </body>\n</html>\n

2.2 \u72ec\u7acb\u7528\u6cd5

\u63a8\u8350\u7528\u4e8e \u79fb\u52a8\u7aef\uff0c\u56e0\u4e3a\u6784\u5efa\u66f4\u5c0f\u66f4\u5feb\u3002

2.2.1 JS\u4e2d\u5f15\u7528

  • \u7f16\u8f91 /path/to/my-project/app/scripts/main.js

    import { createApp } from 'vue';\nimport App from '@/views/layouts/app';\n\n// Import BalmUI scripts\nimport UiButton from 'balm-ui/components/button';\nimport $alert from 'balm-ui/plugins/alert';\n\n// Import BalmUI styles (Not recommend usage, and see below "SASS/CSS management" for recommended usage)\nimport 'balm-ui/components/core.css';\nimport 'balm-ui/components/button/button.css';\nimport 'balm-ui/components/icon/icon.css';\nimport 'balm-ui/components/dialog/dialog.css';\nimport 'balm-ui/plugins/alert/alert.css';\n\nconst app = createApp(App);\n\n// Install components or plugins\napp.use(UiButton);\napp.use($alert);\n\napp.mount('#app');\n

\u5173\u4e8e CSSinJS \uff0c\u53ef\u4ee5\u901a\u8fc7BalmJS\u914d\u7f6e\u6765\u63d0\u53d6\u6837\u5f0f\uff1b\u4f46\u662f BalmJS\u7684\u601d\u60f3 \u66f4\u5efa\u8bae\u5206\u79bb\u7ba1\u7406\u9879\u76ee\u4e2d\u7684\u6837\u5f0f\u548c\u811a\u672c\uff0c\u4ee5\u5b9e\u73b0\u66f4\u7075\u6d3b\u7684\u6a21\u5757\u914d\u7f6e\u548c\u7ba1\u7406\u3002

  • SASS \u7ba1\u7406 (/path/to/my-project/app/styles/global/_vendors.scss)

    @use 'balm-ui/components/core';\n@use 'balm-ui/components/button/button';\n@use 'balm-ui/components/icon/icon';\n@use 'balm-ui/components/dialog/dialog';\n@use 'balm-ui/plugins/alert/alert';\n
  • CSS \u7ba1\u7406 (/path/to/my-project/app/index.html)

    <head>\n  <!-- build:css css/vendors.css -->\n  <link rel="stylesheet" href="/node_modules/balm-ui/components/core.css" />\n  <link rel="stylesheet" href="/node_modules/balm-ui/components/button/button.css" />\n  <link rel="stylesheet" href="/node_modules/balm-ui/components/icon/icon.css" />\n  <link rel="stylesheet" href="/node_modules/balm-ui/components/dialog/dialog.css" />\n  <link rel="stylesheet" href="/node_modules/balm-ui/plugins/alert/alert.css" />\n  <!-- endbuild -->\n</head>\n

2.2.2 \u6d4f\u89c8\u5668\u4e2d\u5f15\u7528

  • \u7f16\u8f91 /path/to/my-project/app/index.html

    <!DOCTYPE html>\n<html>\n  <head>\n    <meta charset="utf-8" />\n    ...\n    <!-- build:css css/vendors.css -->\n    <link rel="stylesheet" href="/node_modules/balm-ui/components/core.css" />\n    <link rel="stylesheet" href="/node_modules/balm-ui/components/button/button.css" />\n    <link rel="stylesheet" href="/node_modules/balm-ui/components/icon/icon.css" />\n    <link rel="stylesheet" href="/node_modules/balm-ui/components/dialog/dialog.css" />\n    <link rel="stylesheet" href="/node_modules/balm-ui/plugins/alert/alert.css" />\n    <!-- endbuild -->\n  </head>\n  <body>\n    <div id="app">\n      <ui-button icon="add" @click="$alert(message)">SayHi</ui-button>\n    </div>\n\n    <!-- build:js js/vendors.js -->\n    <script src="/node_modules/vue/dist/vue.js"></script>\n    <script src="/node_modules/balm-ui/components/button/button.js"></script>\n    <script src="/node_modules/balm-ui/plugins/alert/alert.js"></script>\n    <!-- endbuild -->\n    <script>\n      var app = Vue.createApp({\n        setup() {\n          var message = 'Hello BalmUI';\n\n          return {\n            message\n          };\n        }\n      });\n\n      app.use(UiButton);\n      app.use($alert);\n\n      app.mount('#app');\n    </script>\n  </body>\n</html>\n

2.3 \u6e90\u7801\u7528\u6cd5

\u8fd9\u662f\u6700\u4f18\u5316\u7684\u4ee3\u7801\u6784\u5efa\u65b9\u6848\uff0c\u7528\u6cd5\u548c\u9ed8\u8ba4\u6784\u5efa\u7248\u672c\u76f8\u540c\u3002

\u26a0\ufe0f \u63d0\u793a\uff1abalm-ui < 9.40.0 \u7684 alias \u914d\u7f6e

{\n  'balm-ui-source': 'balm-ui/src/scripts/index.js',\n  'balm-ui-plus-source': 'balm-ui/src/scripts/plus.js'\n}\n

2.3.1 Balm CLI

  • \u7f16\u8f91 /path/to/my-project/config/balmrc.js\uff0c\u5e76\u6dfb\u52a0\u4ee5\u4e0b\u4ee3\u7801\uff1a

    const path = require('path');\n\nfunction resolve(dir) {\n  return path.join(__dirname, '..', dir);\n}\n\nmodule.exports = {\n  ...\n  scripts: {\n    // To explicitly transpile a dependency with Babel\n    includeJsResource: [\n      resolve('node_modules/balm-ui/src/scripts')\n    ],\n    // Reassign the entry file\n    alias: {\n      'balm-ui-source': 'balm-ui/src/scripts/balm-ui.js',\n      'balm-ui-plus-source': 'balm-ui/src/scripts/balm-ui-plus.js'\n    }\n  },\n  ...\n};\n

2.3.2 Vue CLI or Vite

  • vue-cli

    // vue.config.js\nmodule.exports = {\n  runtimeCompiler: true,\n  transpileDependencies: ['node_modules/balm-ui/src/scripts'],\n  // NOTE: set alias via `configureWebpack` or `chainWebpack`\n  configureWebpack: {\n    resolve: {\n      alias: {\n        'balm-ui-source': 'balm-ui/src/scripts/balm-ui.js',\n        'balm-ui-plus-source': 'balm-ui/src/scripts/balm-ui-plus.js'\n      }\n    }\n  }\n  // chainWebpack: (config) => {\n  //   config.resolve.alias\n  //     .set('balm-ui-source', 'balm-ui/src/scripts/balm-ui.js')\n  //     .set('balm-ui-plus-source', 'balm-ui/src/scripts/balm-ui-plus.js');\n  // }\n};\n
  • vite

    // vite.config.js\nimport { defineConfig } from 'vite';\nimport vue from '@vitejs/plugin-vue';\n\nexport default defineConfig({\n  plugins: [vue()],\n  resolve: {\n    alias: {\n      vue: 'vue/dist/vue.esm-bundler.js',\n      'balm-ui-source': 'balm-ui/src/scripts/balm-ui.js',\n      'balm-ui-plus-source': 'balm-ui/src/scripts/balm-ui-plus.js'\n    }\n  }\n});\n

\u73b0\u5728\uff0c\u4ee3\u7801\u4e2d\u5f15\u7528\u7684 balm-ui \u5df2\u76f4\u63a5\u6307\u5411\u4e86\u6e90\u4ee3\u7801\uff0c\u53ef\u7528\u4e8e\u5f00\u53d1\u6216\u8c03\u8bd5 BalmUI\u3002

3. \u83b7\u53d6 Material Icons\uff08\u65e0\u9700\u4e0b\u8f7d\uff09

  • \u7f16\u8f91 /path/to/my-project/balm.config.js

    const config = require('./config/balmrc');\n\nconst api = (mix) => {\n  if (mix.env.isProd) {\n    // ...\n  } else {\n    // Use BalmJS `copy` api\n    mix.copy('node_modules/balm-ui/fonts/*', 'app/fonts');\n  }\n};\n\nmodule.exports = (balm) => {\n  return {\n    config,\n    api\n  };\n};\n
'},41032:function(t,e,o){"use strict";o.r(e);e.default='

\u4ecb\u7ecd

BalmUI \u662f\u4e3a Vue 3 \u91cf\u8eab\u8ba2\u5236\u7684\u6a21\u5757\u5316\u4e14\u9ad8\u53ef\u5b9a\u5236\u5316\u7684 Material Design UI \u5e93\u3002

balm-ui(v8) for Vue 2, see v8.material.balmjs.com

\u7279\u8272

  • \u63d0\u70bc\u81ea\u4f01\u4e1a\u7ea7\u4e2d\u540e\u53f0\u4ea7\u54c1\u7684\u4ea4\u4e92\u6548\u679c\u548c\u89c6\u89c9\u98ce\u683c
  • \u5f00\u7bb1\u5373\u7528\u7684\u9ad8\u8d28\u91cf Vue \u7ec4\u4ef6/\u63d2\u4ef6/\u6307\u4ee4/\u5e38\u7528\u5de5\u5177\u5e93
  • \u6df1\u5165\u6bcf\u4e2a\u7ec6\u8282\u7684\u4e3b\u9898\u5b9a\u5236\u80fd\u529b
  • \u96c6\u6210\u5b8c\u6574\u6700\u65b0\u7684 Material Icons
  • \u6240\u6709\u7ec4\u4ef6\u548c\u63d2\u4ef6\u5747\u9ad8\u53ef\u5b9a\u5236\u5316\uff0c\u5e76\u4e14\u53ef\u88ab\u72ec\u7acb\u4f7f\u7528

\u8d21\u732e

\u6211\u4eec\u5e0c\u671b\u60a8\u80fd\u505a\u51fa\u8d21\u732e\uff0c\u5e76\u4f7f BalmUI \u53d8\u5f97\u66f4\u597d\uff01\u63d0\u51fa\u62c9\u53d6\u8bf7\u6c42\u4e4b\u524d\uff0c\u8bf7\u52a1\u5fc5\u5148\u9605\u8bfb\u8d21\u732e\u6307\u5357\u3002\u60a8\u53ef\u4ee5\u5c06\u4efb\u4f55\u60f3\u6cd5\u4f5c\u4e3aPull \u8bf7\u6c42\u6216 GitHub \u95ee\u9898\u63d0\u4ea4\u4e0a\u6765\u3002

\u6d4f\u89c8\u5668\u517c\u5bb9

\u6211\u4eec\u652f\u6301\u5e76\u6d4b\u8bd5\u7684\u6d4f\u89c8\u5668\u8303\u56f4\u4e0e Google MDC Web \u4fdd\u6301\u4e00\u81f4\uff1a

  • Chrome on Android, Windows, macOS, and Linux
  • Firefox on Windows, macOS, and Linux
  • Safari on iOS and macOS
  • Edge on Windows

\u9e23\u8c22

'},67961:function(t,e,o){"use strict";o.r(e);e.default='

\u4e07\u6076\u7684 IE

\u5982\u679c\u9700\u8981\u8bf7\u76f4\u63a5 \u590d\u5236\u7c98\u8d34 \u6216 \u81ea\u5b9a\u4e49

  • \u6587\u4ef6\uff1a/path/to/app/scripts/kill-ie.js

    import { detectIE } from 'balm-ui'; // \u9ed8\u8ba4\u7528\u6cd5\n// \u6216\n// import detectIE from 'balm-ui/utils/ie'; // \u72ec\u7acb\u7528\u6cd5\n\nconst IE = detectIE();\n\nconst isIE = IE && IE <= 11;\n\nconst killIE = () => {\n  let body = document.getElementsByTagName('body')[0];\n  let template = `<div class="kill-ie">\n      <h1>\u60a8\u5f53\u524d\u4f7f\u7528\u7684\u6d4f\u89c8\u5668\u7248\u672c\u8fc7\u4f4e\uff0c\u53ef\u80fd\u5b58\u5728\u5b89\u5168\u98ce\u9669\uff0c\u8bf7\u70b9\u51fb<a href="https://browsehappy.com/">\u8fd9\u91cc</a>\u9009\u62e9\u4e00\u6b3e\u65b0\u7248\u6d4f\u89c8\u5668\u3002</h1>\n      <p>\u5efa\u8bae\u5347\u7ea7\uff1a<a href="https://www.google.cn/intl/zh-CN/chrome/">\u8c37\u6b4c\u6d4f\u89c8\u5668</a></p>\n    </div>`;\n\n  body.innerHTML = template;\n};\n\nexport { isIE, killIE };\n
  • \u6587\u4ef6\uff1a/path/to/app/scripts/main.js

    import { isIE, killIE } from './kill-ie';\n\nif (isIE) {\n  killIE();\n} else {\n  // your code\n}\n
  • \u6587\u4ef6\uff1a/path/to/app/styles/_kill-ie.scss

    .kill-ie {\n  position: absolute;\n  text-align: center;\n  background-color: #bdbdbd;\n\n  h1 {\n    font-size: 36px;\n  }\n\n  p {\n    font-size: 24px;\n  }\n\n  a {\n    text-decoration: underline;\n    color: red;\n    font-weight: bold;\n  }\n}\n
'},71457:function(t,e,o){"use strict";o.r(e);e.default='

\u5feb\u901f\u5165\u95e8

TOC

  1. \u8bbe\u7f6e\u5f00\u53d1\u73af\u5883
  2. Balm CLI
  3. Vue CLI \u6216 Vite
  4. <script> \u5f15\u7528

0. \u8bbe\u7f6e\u5f00\u53d1\u73af\u5883

\u5728\u5f00\u59cb\u4e4b\u524d\uff0c\u60a8\u9700\u8981\u5148\u8bbe\u7f6e\u5f00\u53d1\u73af\u5883\u3002

\u5982\u679c\u60a8\u7684\u8ba1\u7b97\u673a\u4e0a\u5c1a\u672a\u5b89\u88c5 Node.js\xae and npm\uff0c\u8bf7\u5b89\u88c5\u5b83\u4eec\u3002

\u901a\u8fc7\u5728\u7ec8\u7aef/\u63a7\u5236\u53f0\u7a97\u53e3\u4e2d\u8fd0\u884c node -v \u548c npm -v \u6765\u9a8c\u8bc1\u60a8\u81f3\u5c11\u5728\u8fd0\u884c Node.js 10.13.0 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u53ca npm 5.2.0 \u6216\u66f4\u9ad8\u7248\u672c\u3002\u8f83\u65e7\u7684\u7248\u672c\u53ef\u80fd\u4f1a\u4ea7\u751f\u9519\u8bef\uff0c\u6240\u4ee5\u63a8\u8350\u4f7f\u7528\u8f83\u65b0\u7684\u7248\u672c\u3002

\u5de5\u6b32\u5584\u5176\u4e8b\uff0c\u5fc5\u5148\u5229\u5176\u5668\u3002\u597d\u7684\u5de5\u5177\u53ef\u4ee5\u4f7f\u5e94\u7528\u7a0b\u5e8f\u5f00\u53d1\u66f4\u5feb\uff0c\u66f4\u5bb9\u6613\u7ef4\u62a4\u3002

Balm CLI \u662f\u4e00\u4e2a\u547d\u4ee4\u884c\u754c\u9762\u5de5\u5177\uff0c\u7528\u4e8e\u6784\u5efa BalmJS \u9879\u76ee\u3002

**Balm CLI**\uff08BalmJS \u5b98\u65b9\u63a8\u8350\uff09 \u6216 Vue CLI/Vite \u6216 \u5176\u4ed6\u5de5\u5177\u94fe \ud83d\ude80

  • \u4f7f\u7528 Balm CLI \u524d\u9996\u5148\u9700\u8981\u5168\u5c40\u5b89\u88c5 Balm Core \u548c Balm CLI\u3002

    npm install -g balm-core balm-cli\n# OR\nyarn global add balm-core balm-cli\n

\u26a0\ufe0f \u63d0\u793a\uff1a\u5982\u679c\u4f60\u4f7f\u7528 pnpm\uff0c\u8bf7\u4e3a BalmUI \u914d\u7f6e .npmrc \u6587\u4ef6

  • \u628a\u6240\u6709\u4f9d\u8d56\u90fd\u63d0\u5347\u5230 node_modules \u7684\u6839\u76ee\u5f55\uff1a

    shamefully-hoist=true\n
  • \u6216\u8005\u53ea\u63d0\u5347\u5339\u914d\u7684\u4f9d\u8d56\u5305\uff1a

    public-hoist-pattern[]="*balm*"\npublic-hoist-pattern[]="*deepmerge*"\npublic-hoist-pattern[]="*flatpickr*"\npublic-hoist-pattern[]="*material-components-web*"\npublic-hoist-pattern[]="@material*"\npublic-hoist-pattern[]="*quill*"\n

1. Balm CLI

1.0 \u521b\u5efa\u4e00\u4e2a\u65b0\u9879\u76ee

\u6253\u5f00\u4e00\u4e2a\u547d\u4ee4\u884c\u7a97\u53e3\u3002

\u6839\u636e\u4ee5\u4e0b\u547d\u4ee4\u751f\u6210\u4e00\u4e2a\u65b0\u9879\u76ee\uff1a

balm init vue my-project\ncd my-project # Go to the project directory\n

\u5b89\u88c5\u4f9d\u8d56

yarn\n# OR\nnpm install\n

\u5b89\u88c5\u5fc5\u987b\u8981\u7684 npm \u5305\uff0c\u8fd9\u91cc\u53ef\u80fd\u9700\u8981\u4e00\u4e9b\u65f6\u95f4\u3002

\uff08China Only\uff09\u5982\u679c\u201c\u7f51\u7edc\u201d\u4e0d\u79d1\u5b66\uff0c\u8bf7\u8bbe\u7f6e\u6dd8\u5b9d\u6e90

1.1 \u5b89\u88c5 balm-ui

yarn add balm-ui\n# OR\nnpm install --save balm-ui\n

1.2 \u914d\u7f6e

\u66f4\u65b0 balm.config.js

  • \u83b7\u53d6 Material Icons \u65e0\u9700\u4e0b\u8f7d\uff08\u6216\u8005\u4e0b\u8f7d\u540e\u89e3\u538b\u81f3 my-project/app/fonts\uff09

    const api = (mix) => {\n  if (mix.env.isDev) {\n    mix.copy('node_modules/balm-ui/fonts/*', 'app/fonts');\n  }\n};\n
  • \u7f16\u8f91 my-project/config/balmrc.js\uff0c\u914d\u7f6e\u4f7f\u7528 Dart Sass

    module.exports = {\n  styles: {\n    extname: 'scss'\n  }\n  // Other Options...\n};\n

1.3 \u4f7f\u7528

\u9ed8\u8ba4\u7528\u6cd5

  • \u7f16\u8f91 my-project/app/styles/global/_vendors.scss

    /* import BalmUI styles */\n@use 'balm-ui/dist/balm-ui';\n

\u63a8\u8350\u5728 /path/to/project-name/styles/_vendors.scss \u4e2d\u4f7f\u7528 Sass\uff0c\u8fd9\u6837\u4f60\u5c06\u80fd\u4f7f\u7528\u5230\u66f4\u591a BalmUI \u7684\u9ad8\u7ea7\u7b80\u4fbf\u7684\u6837\u5f0f\u7ba1\u7406\u65b9\u6848\u3002

  • \u7f16\u8f91 my-project/app/scripts/main.js

    import { createApp } from 'vue';\nimport App from '@/views/layouts/app';\nimport BalmUI from 'balm-ui'; // Official Google Material Components\nimport BalmUIPlus from 'balm-ui/dist/balm-ui-plus'; // BalmJS Team Material Components\n\nconst app = createApp(App);\n\napp.use(BalmUI); // Mandatory\napp.use(BalmUIPlus); // Optional\n\napp.mount('#app');\n

\u72ec\u7acb\u7528\u6cd5

  • \u7f16\u8f91 my-project/app/styles/global/_vendors.scss

    @use 'balm-ui/components/core';\n@use 'balm-ui/components/button/button';\n@use 'balm-ui/components/icon/icon';\n@use 'balm-ui/components/dialog/dialog';\n@use 'balm-ui/plugins/alert/alert';\n
  • \u7f16\u8f91 my-project/app/scripts/main.js

    import { createApp } from 'vue';\nimport App from '@/views/layouts/app';\nimport UiButton from 'balm-ui/components/button';\nimport $alert from 'balm-ui/plugins/alert';\n\nconst app = createApp(App);\n\napp.use(UiButton);\napp.use($alert);\n\napp.mount('#app');\n

1.4 \u5f00\u53d1\u548c\u6d4b\u8bd5

npm run dev\n
  • \u7f16\u8f91\u4e00\u4e2a vue \u7ec4\u4ef6\uff1amy-project/app/scripts/views/components/hello.vue

    <template>\n  <div class="hello">\n    ...\n    <!-- Add a test button -->\n    <ui-button icon="add" @click="$alert('Hello BalmUI')">Click Me</ui-button>\n  </div>\n</template>\n

1.5 \u6253\u5305\u548c\u53d1\u5e03

npm run prod\n

2. Vue CLI \u6216 Vite

2.0 \u521b\u5efa\u4e00\u4e2a\u65b0\u9879\u76ee

  • vue-cli

    vue create my-project\n\ncd my-project\n
  • vite

    # npm 6.x\nnpm init @vitejs/app my-project --template vue\n\n# npm 7+, extra double-dash is needed:\nnpm init @vitejs/app my-project -- --template vue\n\n# yarn\nyarn create @vitejs/app my-project --template vue\n\ncd my-project\n

2.1 \u5b89\u88c5 balm-ui

yarn add balm-ui\n# OR\nnpm install --save balm-ui\n

2.2 \u914d\u7f6e

  • vue-cli

    // vue.config.js\nmodule.exports = {\n  runtimeCompiler: true,\n  // NOTE: set alias via `configureWebpack` or `chainWebpack`\n  configureWebpack: {\n    resolve: {\n      alias: {\n        'balm-ui-plus': 'balm-ui/dist/balm-ui-plus.js',\n        'balm-ui-css': 'balm-ui/dist/balm-ui.css'\n      }\n    }\n  }\n  // chainWebpack: (config) => {\n  //   config.resolve.alias\n  //     .set('balm-ui-plus', 'balm-ui/dist/balm-ui-plus.js')\n  //     .set('balm-ui-css', 'balm-ui/dist/balm-ui.css');\n  // }\n};\n
  • vite

    // vite.config.js\nimport { defineConfig } from 'vite';\nimport vue from '@vitejs/plugin-vue';\n\nexport default defineConfig({\n  plugins: [vue()],\n  resolve: {\n    alias: {\n      vue: 'vue/dist/vue.esm-bundler.js',\n      'balm-ui-plus': 'balm-ui/dist/balm-ui-plus.esm.js',\n      'balm-ui-css': 'balm-ui/dist/balm-ui.css'\n    }\n  }\n});\n

2.3 \u4f7f\u7528

  • \u7f16\u8f91 my-project/src/main.js

    import { createApp } from 'vue';\nimport App from './App.vue';\n\nimport BalmUI from 'balm-ui'; // Official Google Material Components\nimport BalmUIPlus from 'balm-ui-plus'; // BalmJS Team Material Components\nimport 'balm-ui-css';\n\nconst app = createApp(App);\n\napp.use(BalmUI);\napp.use(BalmUIPlus);\n\napp.mount('#app');\n

3. <script> \u5f15\u7528

<!DOCTYPE html>\n<html lang="en">\n  <head>\n    <meta charset="UTF-8" />\n    <meta name="viewport" content="width=device-width, initial-scale=1.0" />\n    <title>Hello BalmUI</title>\n    <link rel="stylesheet" href="https://unpkg.com/balm-ui/dist/balm-ui.css" />\n  </head>\n  <body>\n    <div id="app">\n      <ui-button icon="add" @click="$alert(message)">SayHi</ui-button>\n    </div>\n    <script src="https://unpkg.com/vue"></script>\n    <script src="https://unpkg.com/balm-ui"></script>\n    <script src="https://unpkg.com/balm-ui/dist/balm-ui-plus.js"></script>\n    <script>\n      const app = Vue.createApp({\n        setup() {\n          var message = 'Hello BalmUI';\n\n          return {\n            message\n          };\n        }\n      });\n\n      app.use(BalmUI);\n      app.use(BalmUIPlus);\n\n      app.mount('#app');\n    </script>\n  </body>\n</html>\n

\u6109\u5feb\u7684\u201c\u7801\u201d\u8d77\u6765 \ud83d\udc7b

'},14833:function(t,e,o){"use strict";o.r(e);e.default='

TypeScript \u652f\u6301

balm-ui >= 9.40.0

\u63a8\u8350\u914d\u7f6e

  • alias

    {\n  'balm-ui-plus': 'balm-ui/dist/balm-ui-plus.js'\n}\n
  • tsconfig.json

    {\n  "compilerOptions": {\n    "baseUrl": ".",\n    "paths": {\n      "balm-ui-plus": ["node_modules/balm-ui/dist/balm-ui-plus.d.ts"]\n    }\n  }\n}\n
'},74561:function(t,e,o){"use strict";o.r(e);e.default='

\u5347\u7ea7\u5411\u5bfc

BREAKING CHANGES

  • balm-ui-next.js \u5df2\u5f03\u7528
  • \u7ec4\u4ef6\u5e73\u79fb:
    • \u79fb\u52a8 UiCollapse \u4ece balm-ui-plus.js \u5230 balm-ui.js \u5e93
    • \u79fb\u52a8 UiBottomNavigation \u4ece balm-ui-next.js \u5230 balm-ui-plus.js \u5e93
    • \u79fb\u52a8 UiBottomSheet \u4ece balm-ui-next.js \u5230 balm-ui-plus.js \u5e93
  • \u6307\u4ee4\u5e73\u79fb: \u79fb\u52a8 vDebounce \u4ece balm-ui-plus.js \u5230 balm-ui.js \u5e93

\u4ece 10.x \u5347\u7ea7\u5230 10.11.0

BREAKING CHANGES

  • \u7ec4\u4ef6\u5e73\u79fb: \u79fb\u52a8 UiAlert \u4ece balm-ui-plus.js \u5230 balm-ui.js \u5e93

\u4ece 10.x \u5347\u7ea7\u5230 10.7.0

BREAKING CHANGES

  • $validator: \u66f4\u65b0\u9a8c\u8bc1\u89c4\u5219\u683c\u5f0f

    • Old

      interface BalmUIValidationRule {\n  label?: string;\n  validator: string; // 'customRule1, customRule2, ...'\n  ...customRule?: {\n    validate(fieldValue: any, formData: { [fieldName: string]: any }): boolean;\n    message: string | (fieldValue: any, formData: { [fieldName: string]: any }) => string;\n  };\n}\n\ntype BalmUIValidations = {\n  [key: string]: BalmUIValidationRule;\n}\n
    • New

      interface BalmUIValidationRule {\n  key: string; // field name\n  label?: string;\n  validator: string; // 'customRule1, customRule2, ...'\n  ...customRule?: {\n    validate(fieldValue: any, formData: { [fieldName: string]: any }): boolean;\n    message: string | (fieldValue: any, formData: { [fieldName: string]: any }) => string;\n  };\n}\n\ntype BalmUIValidations = BalmUIValidationRule[]\n

\u4ece 9.x \u5347\u7ea7\u5230 10.0

BREAKING CHANGES

Props

  • <ui-chips>: \u91cd\u547d\u540d\u5c5e\u6027 chips \u4e3a items
  • <ui-nav>: \u79fb\u9664\u5c5e\u6027 modelValue, singleSelection \u548c\u76f8\u5173\u4e8b\u4ef6

\u4ece 9.x \u5347\u7ea7\u5230 9.27.0

BREAKING CHANGES

  • \u7ec4\u4ef6\u5e73\u79fb: \u79fb\u52a8 UiAutocomplete, UiDatepicker, UiRangepicker \u4ece balm-ui-plus.js \u5230 balm-ui.js \u5e93
  • \u63d2\u4ef6\u5e73\u79fb: \u79fb\u52a8 $alert, $confirm, $toast \u4ece balm-ui-plus.js \u5230 balm-ui.js \u5e93

\u4ece 8.x \u5347\u7ea7\u5230 9.0

BREAKING CHANGES

Props

  • <ui-icon-button>, <ui-textfield>, <ui-autocomplete>, <ui-editor>, <ui-select>, <ui-checkbox>, <ui-radio>, <ui-chips>, <ui-datepicker>, <ui-rangepicker>, <ui-switch>, <ui-slider>: \u91cd\u547d\u540d\u5c5e\u6027 model \u4e3a modelValue
  • <ui-drawer>, <ui-menu>: \u91cd\u547d\u540d\u5c5e\u6027 open \u4e3a modelValue
  • <ui-tab-bar>, <ui-tabs>: \u91cd\u547d\u540d\u5c5e\u6027 active \u4e3a modelValue
  • <ui-pagination>: \u91cd\u547d\u540d\u5c5e\u6027 page \u4e3a modelValue
  • <ui-textfield>, <ui-autocomplete>, <ui-checkbox>, <ui-radio>, <ui-file>, <ui-datepicker>, <ui-switch>: \u91cd\u547d\u540d\u5c5e\u6027 id \u4e3a inputId

Events

  • <ui-icon-button>, <ui-drawer>, <ui-tab-bar>, <ui-tabs>, <ui-menu>, <ui-pagination>, <ui-editor>, <ui-select>, <ui-checkbox>, <ui-radio>, <ui-chips>, <ui-datepicker>, <ui-rangepicker>, <ui-switch>, <ui-slider>: \u4e8b\u4ef6\u5c5e\u6027 @change \u4e3a @update:modelValue
  • <ui-textfield>, <ui-autocomplete>: \u4e8b\u4ef6\u5c5e\u6027 @input \u4e3a @update:modelValue

\u4ece 7.x \u5347\u7ea7\u5230 8.0

Features

  • \u65b0\u7ec4\u4ef6:

    • <ui-banner>
    • <ui-tooltip>
    • <ui-nav-item>
  • \u65b0\u63d2\u4ef6:

    • $bus
    • $store
  • $theme: \u5168\u65b0\u7684\u4e3b\u9898 APIs

  • v-shape: \u5168\u65b0\u7684\u5f62\u72b6 APIs

  • <ui-menuitem>: \u65b0\u589e\u5c5e\u6027 value

  • <ui-form>: \u65b0\u589e\u5c5e\u6027 itemMarginBottom, labelWidth, labelMarginRight, labelMarginBottom

  • Sass: \u590d\u5199\u53d8\u91cf\u66f4\u7b80\u6d01

    • \u65e7\u7684

      @use '@material/button/variables';\n
    • \u65b0\u7684

      @use '@material/button';\n

BREAKING CHANGES

  • $themeColor, $setTheme, $textColor, $setTextTheme: \u5df2\u5f03\u7528\u3002\u4f7f\u7528 $theme \u4ee3\u66ff
  • <ui-slider>: \u91cd\u547d\u540d\u5c5e\u6027 displayMarker \u4e3a withTickMarks
  • <ui-pagination>:
    • \u79fb\u9664\u63d2\u69fd\u5c5e\u6027 before, before-jumper \u548c after-jumper
    • \u65b0\u589e\u63d2\u69fd\u5c5e\u6027 first \u548c last
  • <ui-nav>: \u79fb\u9664\u63d2\u69fd\u5c5e\u6027 itemClass, activeClass\u3002\u4f7f\u7528\u65b0\u7ec4\u4ef6 <ui-nav-item>

\u4ece 6.x \u5347\u7ea7\u5230 7.0

BREAKING CHANGES

  • <ui-table>: thead \u81ea\u5b9a\u4e49\u5bf9\u8c61\u4e2d\u7684 by \u5b57\u6bb5\u91cd\u547d\u540d\u4e3a columnId

\u4ece 5.x \u5347\u7ea7\u5230 6.0

Features

  • <ui-drawer>: \u65b0\u589e\u5c5e\u6027 viewportHeight
  • <ui-menu>, <ui-select>: \u5404\u65b0\u589e\u5c5e\u6027 fullwidth
  • <ui-textfield>: \u65b0\u589e\u5c5e\u6027 prefixText, suffixText, endAligned, withCounter
  • v-anchor: \u65b0\u589e\u4fee\u9970\u7b26 bodyElement

BREAKING CHANGES

  • \u5f03\u7528\u7ec4\u4ef6:
    • <ui-a>
    • <ui-icon-a>
  • <ui-nav>: \u91cd\u547d\u540d\u63d2\u69fd\u5c5e\u6027 activatedClass \u4e3a activeClass
  • <ui-textfield>: \u79fb\u9664\u5c5e\u6027 dense
  • <ui-textfield-helper>: \u91cd\u547d\u540d\u5c5e\u6027 counter \u4e3a withCounter
  • <ui-textfield-counter>: \u79fb\u9664\u7ec4\u4ef6\u3002\u4f7f\u7528 <ui-textfield-helper withCounter> \u6216 <ui-textfield withCounter> \u6765\u4ee3\u66ff
'},54818:function(t,e,o){"use strict";o.r(e);e.default='
<ui-icon-button></ui-icon-button>\n

Props

Name Type Default Description
modelValue (v-model) boolean false \u5207\u6362\u72b6\u6001
icon string '' \u8bbe\u7f6e\u5355\u4e2a\u56fe\u6807\u3002\u8be6\u89c1 Material Icons \u56fe\u6807\u96c6\u3002
toggle object {} \u8bbe\u7f6e\u5207\u6362\u6309\u94ae\u4e24\u4e2a\u72b6\u6001\u7684\u56fe\u6807\u3002\u8be6\u89c1 Material Icons \u56fe\u6807\u96c6\u3002
  • \u901a\u8fc7 toggle.on \u548c toggle.off \u5c5e\u6027\u914d\u7f6e\u5207\u6362\u6309\u94ae\u72b6\u6001\u7684\u56fe\u6807

    interface IconButton {\n  toggle: {\n    on: string;\n    off: string;\n  };\n}\n

Slots

Name Props Description
default onClass, offClass default \u63d2\u69fd\u5305\u542b\u81ea\u5b9a\u4e49\u56fe\u6807\uff08\u7ec4\uff09\u53ca HTML
<template #default="{ onClass, offClass }">\n  <i :class="onClass">ON</i>\n  <i :class="offClass">OFF</i>\n</template>\n

Events

Name Type Description
click function(event: object) \u70b9\u51fb\u56fe\u6807\u6309\u94ae\u65f6\u89e6\u53d1
update:modelValue function(value: boolean) \u5207\u6362\u56fe\u6807\u72b6\u6001\u65f6\u89e6\u53d1

\u63d0\u793a\uff1a\u5982\u679c\u4f60\u4e0d\u4f7f\u7528 v-model \u7ed1\u5b9a\u6570\u636e\uff0c\u4f60\u5e94\u8be5\u4f7f\u7528 @update:modelValue \u76d1\u542c\u56fe\u6807\u6309\u94ae\u72b6\u6001\u5e76\u66f4\u65b0 modelValue \u5c5e\u6027

  • \u81ea\u52a8

    <ui-icon-button v-model="value"></ui-icon-button>\n
  • \u624b\u52a8

    <ui-icon-button\n  :model-value="value"\n  @update:model-value="balmUI.onChange('value', $event)"\n></ui-icon-button>\n
'},81534:function(t,e,o){"use strict";o.r(e);e.default='

\u56fe\u6807\u6309\u94ae

\u56fe\u6807\u6309\u94ae\uff08\u5207\u6362\u6309\u94ae\uff09\u4f7f\u7528\u6237\u53ea\u9700\u5355\u51fb\u4e00\u4e0b\u5373\u53ef\u6267\u884c\u64cd\u4f5c\u5e76\u505a\u51fa\u9009\u62e9\u3002

'},67315:function(t,e,o){"use strict";o.r(e);e.default='
<ui-icon><!-- the material design icon name --></ui-icon>\n

<ui-icon> \u7c7b\u578b

  • 0: 'filled'
  • 1: 'outlined'
  • 2: 'round'
  • 3: 'twoTone'
  • 4: 'sharp'

Props

Name Type Default Description
type string, number 0 \u56fe\u6807\u7c7b\u578b
outlined boolean false \u8f6e\u5ed3\u56fe\u6807\u53ef\u81ea\u5b9a\u4e49\u7b14\u89e6\u548c\u586b\u5145\u5c5e\u6027\uff0c\u4ee5\u63d0\u4f9b\u4e00\u79cd\u8f7b\u5de7\uff0c\u5e72\u51c0\u7684\u6837\u5f0f\uff0c\u8be5\u6837\u5f0f\u5728\u5bc6\u96c6\u7684 UI \u4e2d\u6548\u679c\u5f88\u597d\u3002 \u53ef\u4ee5\u8c03\u6574\u8f6e\u5ed3\u56fe\u6807\u7684\u7b14\u5212\u7c97\u7ec6\uff0c\u4ee5\u8865\u5145\u6216\u5bf9\u6bd4\u5b57\u4f53\u7684\u7c97\u7ec6\u3002
round boolean false \u5706\u5f62\u56fe\u6807\u4f7f\u7528\u7684\u8f6c\u89d2\u534a\u5f84\u4e0e\u4f7f\u7528\u8f83\u91cd\u7684\u5b57\u4f53\uff0c\u5f2f\u66f2\u7684\u5fbd\u6807\u6216\u5706\u5f62\u5143\u7d20\u6765\u8868\u8fbe\u5176\u98ce\u683c\u7684\u54c1\u724c\u642d\u914d\u5f97\u5f88\u597d\u3002
twoTone boolean false \u53cc\u8272\u56fe\u6807\u4f7f\u7528\u7b14\u89e6\uff0c\u586b\u5145\u548c\u989c\u8272\u7684\u5c5e\u6027\u6dfb\u52a0\u4e86\u5c3a\u5bf8\u3002 \u7b14\u89e6\u548c\u586b\u5145\u8272\u7684\u5bf9\u6bd4\u4f7f\u60a8\u53ef\u4ee5\u4f7f\u7528\u591a\u79cd\u54c1\u724c\u989c\u8272\uff0c\u5e76\u53ef\u4ee5\u63d0\u9ad8\u6e05\u6670\u5ea6\u3002
sharp boolean false \u5c16\u9510\u56fe\u6807\u663e\u793a\u5e26\u6709\u76f4\u8fb9\u7684\u89d2\uff0c\u4ee5\u786e\u4fdd\u5373\u4f7f\u5728\u8f83\u5c0f\u7684\u6bd4\u4f8b\u4e0b\u4e5f\u6e05\u6670\u53ef\u8fa8\u7684\u6837\u5f0f\u3002 \u8fd9\u4e9b\u77e9\u5f62\u53ef\u4ee5\u652f\u6301\u54c1\u724c\u98ce\u683c\uff0c\u800c\u5706\u5f62\u4e0d\u80fd\u5f88\u597d\u5730\u4f53\u73b0\u8fd9\u79cd\u98ce\u683c\u3002
size number 24 \u56fe\u6807\u5c3a\u5bf8
dark boolean false \u6df1\u8272\u56fe\u6807\uff08\u7528\u4e8e\u6d45\u8272\u80cc\u666f\u4e0a\uff09
light boolean false \u6d45\u8272\u56fe\u6807\uff08\u7528\u4e8e\u6df1\u8272\u80cc\u666f\u4e0a\uff09
inactive boolean false \u7981\u7528\u6216\u4e0d\u6d3b\u52a8\u72b6\u6001

\u5c3d\u7ba1\u5b57\u4f53\u4e2d\u7684\u56fe\u6807\u53ef\u4ee5\u7f29\u653e\u4e3a\u4efb\u610f\u5927\u5c0f\uff0c\u4f46\u6839\u636e Material Design Icons \u51c6\u5219\uff0c\u6211\u4eec\u5efa\u8bae\u5c06\u5b83\u4eec\u663e\u793a\u4e3a 18, 24, 36 \u6216 48px\u3002

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b material design \u56fe\u6807\u540d\u53ca HTML

Events

Name Type Description
click function(event: object) \u70b9\u51fb\u56fe\u6807\u65f6\u89e6\u53d1
'},50424:function(t,e,o){"use strict";o.r(e);e.default='

\u56fe\u6807

Material icons \u662f\u4e00\u7ec4\u5e38\u89c1\u52a8\u4f5c\u548c\u7269\u54c1\u7684\u7b26\u53f7\u56fe\u6807\u96c6\u5408\u3002

'},22890:function(t,e,o){"use strict";o.r(e);e.default='
<ui-image-item><!-- image and text --></ui-image-item>\n

Props

Name Type Default Description
image string null \u4e3a\u56fe\u7247\u5217\u8868\u9879\u6dfb\u52a0\u4e00\u4e2a <img> \u5143\u7d20\u5e76\u8bbe\u7f6e src \u5c5e\u6027
bgImage string null \u4f7f\u7528\u4e00\u4e2a <div> \u4ee3\u66ff<img> \u5143\u7d20

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u56fe\u7247\u5217\u8868\u9879\u7684\u6587\u5b57\u6807\u7b7e\u5185\u5bb9\u53ca HTML
image \u81ea\u5b9a\u4e49\u56fe\u7247

Events

Name Type Description
click function(event: object) \u70b9\u51fb\u56fe\u7247\u5217\u8868\u9879\u65f6\u89e6\u53d1
'},39512:function(t,e,o){"use strict";o.r(e);e.default='
<ui-image-list><!-- the image item components --></ui-image-list>\n

<ui-image-list> \u7c7b\u578b

  • 0: 'standard'
  • 1: 'masonry'

Props

Name Type Default Description
type string, number 0 \u56fe\u7247\u5217\u8868\u7c7b\u578b
masonry boolean false \u7011\u5e03\u6d41\u6837\u5f0f
textProtection boolean false \u56fe\u7247\u5217\u8868\u9879\u7684\u6587\u5b57\u6807\u7b7e\u653e\u7f6e\u4e8e\u56fe\u7247\u4e2d\uff08\u800c\u975e\u56fe\u7247\u4e0b\u65b9\uff09

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u56fe\u7247\u5217\u8868\u9879\u5185\u5bb9\u53ca HTML
'},99191:function(t,e,o){"use strict";o.r(e);e.default='
<ui-image-text><!-- Text labels --></ui-image-text>\n

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u56fe\u7247\u76f8\u5173\u7684\u4e00\u884c\u6587\u672c\u6807\u7b7e
action action \u63d2\u69fd\u5305\u542b\u56fe\u7247\u76f8\u5173\u52a8\u4f5c\u5185\u5bb9
'},45013:function(t,e,o){"use strict";o.r(e);e.default='

\u56fe\u7247\u5217\u8868

\u56fe\u7247\u5217\u8868\u5728\u6709\u7ec4\u7ec7\u7684\u7f51\u683c\u4e2d\u663e\u793a\u56fe\u7247\u7684\u96c6\u5408\u3002

'},45266:function(t,e,o){"use strict";o.r(e);e.default='
<ui-image-list>\n  <ui-image-item>\n    <ui-image-text></ui-image-text>\n  </ui-image-item>\n</ui-image-list>\n
Component Description
<ui-image-list> \u56fe\u7247\u5217\u8868\u5143\u7d20
<ui-image-item> \u56fe\u7247\u5217\u8868\u9879\u5143\u7d20
<ui-image-text> \u56fe\u7247\u5217\u8868\u9879\u7684\u6587\u5b57\u6807\u7b7e\u5143\u7d20
'},93500:function(t,e,o){"use strict";o.r(e);e.default='

\u5217\u8868

\u5217\u8868\u662f\u6587\u672c\u6216\u56fe\u50cf\u7684\u8fde\u7eed\u5782\u76f4\u7d22\u5f15\u3002

'},45588:function(t,e,o){"use strict";o.r(e);e.default='
<ui-list-divider></ui-list-divider>\n\n<ui-item-divider></ui-item-divider>\n

Common Props

Name Type Default Description
padded boolean false \u5728\u5206\u9694\u7ebf\u7684\u6bcf\u4e00\u4fa7\u90fd\u7559\u6709\u95f4\u9699\uff0c\u4ee5\u5339\u914d\u6700\u540e\u4e00\u4e2a\u56fe\u5757\u7684\u586b\u5145\u3002
inset boolean false \u589e\u52a0\u5206\u9694\u7ebf\u7684\u524d\u5bfc\u8fb9\u8ddd\uff0c\u4ee5\u4f7f\u5176\u4e0d\u4e0e\u56fe\u6807\u6216\u56fe\u50cf\u5217\u76f8\u4ea4\u3002
'},15041:function(t,e,o){"use strict";o.r(e);e.default='
<ui-list-group>\n  <ui-list-group-subheader></ui-list-group-subheader>\n  <ui-list></ui-list>\n\n  <ui-list-divider></ui-list-divider>\n\n  <ui-list-group-subheader></ui-list-group-subheader>\n  <ui-list></ui-list>\n</ui-list-group>\n
'},16133:function(t,e,o){"use strict";o.r(e);e.default='
<ui-item><!-- the item child components --></ui-item>\n\n<ui-nav-item><!-- the link item child components --></ui-nav-item>\n

<ui-item> Props

Name Type Default Description
selected boolean false \u9009\u4e2d\u72b6\u6001
disabled boolean false \u7981\u7528\u72b6\u6001

<ui-nav-item> Props

Name Type Default Description
href string (required) \u89e3\u6790\u7684\u7f51\u5740\u3002\u8fd9\u5c06\u662f\u4e00\u4e2a a \u5143\u7d20\u7684 href \u5c5e\u6027\u3002
active boolean false \u6fc0\u6d3b\u72b6\u6001
  • \u4e0e <router-link> \u4e00\u8d77\u4f7f\u7528\uff08\u9700\u8981 vue-router@3.1.0+\uff09

    <router-link v-slot="{ href, navigate, isActive }" custom>\n  <ui-nav-item\n    :href="href"\n    :active="isActive"\n    @click="navigate"\n  ></ui-nav-item>\n</router-link>\n

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u5217\u8868\u9879\u5b50\u7ec4\u4ef6\u53ca HTML
before iconClass \u81ea\u5b9a\u4e49 <ui-item-first-content> \u7684\u5185\u5bb9\u3002\u901a\u5e38\u662f\u56fe\u6807\u6216\u56fe\u50cf\u3002
after iconClass \u81ea\u5b9a\u4e49 <ui-item-last-content> \u7684\u5185\u5bb9\u3002\u901a\u5e38\u4e3a\u5c0f\u6587\u5b57\uff0c\u56fe\u6807\u6216\u56fe\u50cf\u3002

\u5b50\u7ec4\u4ef6\uff1a

  • <ui-item-text-content>
    • <ui-item-text1>
    • <ui-item-text2>
  • <ui-item-first-content>
  • <ui-item-last-content>

Events

Name Type Description
click function(event: object) \u70b9\u51fb\u5217\u8868\u9879\u65f6\u89e6\u53d1
'},78396:function(t,e,o){"use strict";o.r(e);e.default='
<ui-list><!-- <ui-item> --></ui-list>\n\n<ui-nav><!-- <ui-nav-item> --></ui-nav>\n

<ui-list> & <ui-nav> \u7c7b\u578b

  • 1: 'singleLine'
  • 2: 'twoLine'

\u5171\u7528 Props

Name Type Default Description
type string, number 0 \u5217\u8868\u7c7b\u578b
nonInteractive boolean false \u7981\u7528\u6c34\u6ce2\u7eb9\u6548\u679c
dense boolean false \u7d27\u51d1\u578b\u5217\u8868\u6837\u5f0f
avatar boolean false \u914d\u7f6e\u6bcf\u884c\u7684\u524d\u5bfc\u56fe\u5757\u4ee5\u663e\u793a\u56fe\u50cf\u800c\u4e0d\u662f\u56fe\u6807\u3002\u8fd9\u5c06\u4f7f\u5217\u8868\u9879\u76ee\u7684\u56fe\u5f62\u66f4\u5927\u3002

<ui-list> Props

Name Type Default Description
modelValue (v-model) number -1 \u5217\u8868\u9879\u7d22\u5f15\u503c\u3002\u4ec5\u9002\u7528\u4e8e\u5355\u9009\u6a21\u5f0f\u3002
singleSelection boolean false \u5355\u9009\u6a21\u5f0f\u3002\u8be5\u5217\u8868\u53ef\u4ee5\u5904\u7406\u57fa\u4e8e\u5355\u51fb\u6216\u952e\u76d8\u64cd\u4f5c\u6765\u9009\u4e2d\u5217\u8868\u9879\u3002

\u5171\u7528 Slots

Name Slots Description
default default \u63d2\u69fd\u5305\u542b\u5217\u8868\u9879\u7ec4\u4ef6\u53ca HTML

<ui-list> Events

Name Type Description
update:modelValue function(selectedIndex: number) \u5217\u8868\u9879\u7d22\u5f15\u503c\u53d8\u5316\u65f6\u89e6\u53d1

\u63d0\u793a\uff1a\u5982\u679c\u4f60\u4e0d\u4f7f\u7528 v-model \u7ed1\u5b9a\u6570\u636e\uff0c\u4f60\u5e94\u8be5\u4f7f\u7528 @update:modelValue \u76d1\u542c\u5217\u8868\u9879\u7d22\u5f15\u503c\u5e76\u66f4\u65b0 modelValue \u5c5e\u6027

  • \u81ea\u52a8

    <ui-list v-model="selectedIndex" single-selection></ui-list>\n
  • \u624b\u52a8

    <ui-list\n  :selected-index="selectedIndex"\n  single-selection\n  @action="balmUI.onChange('selectedIndex', $event)"\n></ui-list>\n
'},51794:function(t,e,o){"use strict";o.r(e);e.default='
<ui-list-group>\n  <ui-list-group-subheader>1. Single-line list</ui-list-group-subheader>\n  <ui-list>\n    <ui-item>\n      <ui-item-text-content></ui-item-text-content>\n    </ui-item>\n  </ui-list>\n\n  <ui-list-divider></ui-list-divider>\n\n  <ui-list-group-subheader>2. Two-line list</ui-list-group-subheader>\n  <ui-list type="twoLine">\n    <ui-item>\n      <ui-item-text-content>\n        <ui-item-text1></ui-item-text1>\n        <ui-item-text2></ui-item-text2>\n      </ui-item-text-content>\n    </ui-item>\n  </ui-list>\n\n  <ui-list-divider></ui-list-divider>\n\n  <ui-list-group-subheader>3. Rich List</ui-list-group-subheader>\n  <ui-list>\n    <ui-item>\n      <ui-item-first-content></ui-item-first-content>\n      <ui-item-text-content></ui-item-text-content>\n      <ui-item-last-content></ui-item-last-content>\n    </ui-item>\n  </ui-list>\n</ui-list-group>\n
<ui-nav>\n  <ui-nav-item active>Activated item</ui-nav-item>\n  <ui-nav-item>Unactivated item</ui-nav-item>\n</ui-nav>\n
Component Description
<ui-list>/<ui-nav> \u5217\u8868\u5143\u7d20
<ui-item>/<ui-nav-item> \u5217\u8868\u9879\u5143\u7d20
<ui-item-text-content> \u5217\u8868\u9879\u6587\u672c\u5185\u5bb9\u5bb9\u5668\uff08\u663e\u793a\u4e3a\u5217\u8868\u9879\u7684\u4e2d\u95f4\u5217\uff09
<ui-item-text1> \u5217\u8868\u9879\u7684\u4e3b\u8981\u6587\u5b57\u3002\u5e94\u8be5\u662f <ui-item-text-content> \u7684\u5b50\u5143\u7d20\u3002
<ui-item-text2> \u5217\u8868\u9879\u7684\u6b21\u8981\u6587\u5b57\u3002\u663e\u793a\u5728\u4e3b\u8981\u6587\u5b57\u4e0b\u65b9\u3002\u5e94\u8be5\u662f <ui-item-text-content> \u7684\u5b50\u5143\u7d20\u3002
<ui-item-first-content> \u5217\u8868\u9879\u6bcf\u884c\u7684\u7b2c\u4e00\u4e2a\u533a\u5757\u3002\u901a\u5e38\u662f\u56fe\u6807\u6216\u56fe\u50cf\u3002
<ui-item-last-content> \u5217\u8868\u9879\u6bcf\u884c\u7684\u6700\u540e\u4e00\u4e2a\u533a\u5757\u3002\u901a\u5e38\u4e3a\u5c0f\u6587\u5b57\uff0c\u56fe\u6807\u6216\u56fe\u50cf\u3002
<ui-list-group> \u5206\u7ec4\u5217\u8868\u5bb9\u5668\u3002\u4e24\u4e2a\u6216\u591a\u4e2a\u8981\u5206\u7ec4\u5728\u4e00\u8d77\u7684 <ui-list> \u5143\u7d20\u7684\u5bb9\u5668
<ui-list-group-subheader> \u5206\u7ec4\u5217\u8868\u6807\u9898\u3002\u6807\u9898\u6587\u672c\u663e\u793a\u5728\u7ec4\u4e2d\u6bcf\u4e2a\u5217\u8868\u4e0a\u65b9\u3002
<ui-list-divider> \u5217\u8868\u5206\u5272\u7ebf
<ui-item-divider> \u5217\u8868\u9879\u5206\u5272\u7ebf
'},67832:function(t,e,o){"use strict";o.r(e);e.default='

\u957f\u6309

New in 9.21.0

'},88217:function(t,e,o){"use strict";o.r(e);e.default='
<div v-longpress></div>\n
type LongpressConfig =\n  | Function // New in 10.9.1\n  | {\n      callback: Function;\n      delay?: number;\n    };\n
'},71326:function(t,e,o){"use strict";o.r(e);e.default='

\u83dc\u5355

\u83dc\u5355\u53ef\u663e\u793a\u4e34\u7684\u9009\u9879\u5217\u8868\u3002

'},83410:function(t,e,o){"use strict";o.r(e);e.default='
<ui-menu-anchor><!-- the menu component --></ui-menu-anchor>\n

Props

Name Type Default Description
position string '' \u8bbe\u7f6e\u83dc\u5355\u6309\u94ae\u4f4d\u7f6e\uff08\u76f8\u5bf9\u4e8e\u83dc\u5355\u951a\u70b9\uff09
absolute boolean false \u542f\u7528\u7edd\u5bf9\u5b9a\u4f4d\uff08\u5176\u5bb9\u5668\u9700\u8981\u8bbe\u7f6e position: relative\uff09
interface MenuAnchor {\n  position:\n    | 'top left'\n    | 'top right'\n    | 'middle left'\n    | 'middle right'\n    | 'bottom left'\n    | 'bottom right';\n}\n

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u83dc\u5355\u7ec4\u4ef6\u53ca HTML
'},49859:function(t,e,o){"use strict";o.r(e);e.default='
<ui-menu><!-- the menuitem components --></ui-menu>\n

Props

Name Type Default Description
modelValue (v-model) boolean false \u83dc\u5355\u72b6\u6001
items array [] \u8bbe\u7f6e\u83dc\u5355\u9879\u5bf9\u8c61\u5217\u8868
quickOpen boolean false \u5173\u95ed\u83dc\u5355\u6253\u5f00\u7684\u52a8\u753b
position string 'TOP_LEFT' \u8bbe\u7f6e\u83dc\u5355\u951a\u89d2\u4f4d\u7f6e\uff08\u76f8\u5bf9\u4e8e\u83dc\u5355\u6309\u94ae\uff09
distance object false \u951a\u8fb9\u8ddd\u3002\u683c\u5f0f\uff1a{ top, right, bottom, left }
fixed boolean false \u7528\u4e8e\u6307\u5b9a\u83dc\u5355\u4f7f\u7528\u56fa\u5b9a\u4f4d\u7f6e
fullwidth boolean false \u8bbe\u7f6e\u83dc\u5355\u7684\u5bbd\u5ea6\u4ee5\u5339\u914d\u5176\u7236\u951a\u7684\u5bbd\u5ea6\uff08fixed \u6a21\u5f0f\u65e0\u6548\uff09
cssOnly boolean false \u663e\u793a\u9759\u6001\u83dc\u5355
  • \u83dc\u5355\u9879\u5bf9\u8c61\u7684 keys:

    interface Item {\n  value?: string;\n  text: string;\n  icon?: string;\n  disabled?: boolean;\n  selected?: boolean;\n}\n\ninterface Menu {\n  items: Item[];\n  position:\n    | 'TOP_LEFT'\n    | 'TOP_RIGHT'\n    | 'BOTTOM_LEFT'\n    | 'BOTTOM_RIGHT'\n    | 'TOP_START'\n    | 'TOP_END'\n    | 'BOTTOM_START'\n    | 'BOTTOM_END';\n}\n

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u83dc\u5355\u9879\u7ec4\u4ef6\u53ca HTML

Events

Name Type Description
update:modelValue function(open: boolean) \u83dc\u5355\u53d8\u5316\u65f6\u89e6\u53d1
selected function(menuitem: SelectedItem) \u83dc\u5355\u9879\u88ab\u9009\u4e2d\u65f6\u89e6\u53d1
closed function() \u83dc\u5355\u5173\u95ed\u65f6\u89e6\u53d1
opened function() \u83dc\u5355\u6253\u5f00\u65f6\u89e6\u53d1
  • selected \u4e8b\u4ef6\u8fd4\u56de\u6570\u636e\uff1a

    interface SelectedItem {\n  index: number; // \u83dc\u5355\u9879\u7d22\u5f15\n  text: string; // \u83dc\u5355\u9879\u6587\u672c\n  value: string; // \u9009\u4e2d\u503c\n}\n

\u63d0\u793a\uff1a\u5982\u679c\u4f60\u4e0d\u4f7f\u7528 v-model \u7ed1\u5b9a\u6570\u636e\uff0c\u4f60\u5e94\u8be5\u4f7f\u7528 @update:modelValue \u76d1\u542c\u83dc\u5355\u72b6\u6001\u5e76\u66f4\u65b0 modelValue \u5c5e\u6027

  • \u81ea\u52a8

    <ui-menu v-model="open"></ui-menu>\n
  • \u624b\u52a8

    <ui-menu\n  :model-value="open"\n  @update:model-value="balmUI.onChange('open', $event)"\n></ui-menu>\n
'},67682:function(t,e,o){"use strict";o.r(e);e.default='
<ui-menuitem><!-- the menu item child components --></ui-menuitem>\n

Props

Name Type Default Description
nested boolean false \u5d4c\u5957\u83dc\u5355\u9879 <ui-menuitem> \u5f62\u6210\u4e00\u4e2a\u83dc\u5355\u9879\u7ec4
item object {} \u8bbe\u7f6e\u83dc\u5355\u9879\u5bf9\u8c61
value string, number null \u8bbe\u7f6e\u83dc\u5355\u9879\u7684\u503c
disabled boolean false \u7981\u7528\u72b6\u6001
selected boolean false \u9009\u4e2d\u72b6\u6001
  • \u83dc\u5355\u9879\u5bf9\u8c61\u7684 keys\uff1a

    interface Item {\n  value?: string;\n  text: string;\n  icon?: string;\n  disabled?: boolean;\n  selected?: boolean;\n}\n\ninterface MenuItem {\n  item: Item;\n}\n

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u83dc\u5355\u9879\u5b50\u7ec4\u4ef6\u53ca HTML

\u5b50\u7ec4\u4ef6\uff1a

  • <ui-menuitem-text>
  • <ui-menuitem-icon>
'},21840:function(t,e,o){"use strict";o.r(e);e.default='
<ui-menu-anchor>\n  <ui-menu :items="menuItems"></ui-menu>\n</ui-menu-anchor>\n
<ui-menu-anchor>\n  <ui-menu>\n    <ui-menuitem>\n      <ui-menuitem-text>Label</ui-menuitem-text>\n    </ui-menuitem>\n\n    <ui-menuitem-divider></ui-menuitem-divider>\n\n    <ui-menuitem nested>\n      <ui-menuitem>\n        <ui-menuitem-icon>Icon</ui-menuitem-icon>\n        <ui-menuitem-text>Label</ui-menuitem-text>\n      </ui-menuitem>\n    </ui-menuitem>\n  </ui-menu>\n</ui-menu-anchor>\n
Component Description
<ui-menu-anchor> \u83dc\u5355\u951a\u5b9a\u5bb9\u5668\u5143\u7d20
<ui-menu> \u83dc\u5355\u5bb9\u5668\u5143\u7d20
<ui-menuitem> \u83dc\u5355\u9879
<ui-menuitem-text> \u83dc\u5355\u6587\u672c
<ui-menuitem-icon> \u83dc\u5355\u56fe\u6807
<ui-menuitem-divider> \u83dc\u5355\u9879\u5206\u5272\u7ebf\uff08\u540c <ui-item-divider>\uff09
'},94506:function(t,e,o){"use strict";o.r(e);e.default='

\u5e95\u90e8\u5bfc\u822a\u680f

New in 9.25.0

\u5e95\u90e8\u5bfc\u822a\u680f\u5141\u8bb8\u5728\u5e94\u7528\u7a0b\u5e8f\u7684\u4e3b\u8981\u76ee\u7684\u5730\u4e4b\u95f4\u79fb\u52a8\u3002

'},20684:function(t,e,o){"use strict";o.r(e);e.default='
<ui-navigation-bar>\n  <!-- <ui-tabs> or <ui-tab-bar> component -->\n</ui-navigation-bar>\n
  • \u26a0\ufe0f \u63d0\u793a\uff1a10.1.0 \u4e2d <ui-bottom-navigation> \u5df2\u5f03\u7528\uff0c\u8bf7\u4f7f\u7528 <ui-navigation-bar> \u4ee3\u66ff\u3002

Props

Name Type Default Description
contentSelector string (required) \u9009\u62e9\u5668\u7528\u4e8e\u5bf9\u5e95\u90e8\u5bfc\u822a\u680f\u4e0a\u65b9\u7684\u5185\u5bb9\u8fdb\u884c\u6837\u5f0f\u8bbe\u7f6e\uff0c\u4ee5\u9632\u6b62\u5e95\u90e8\u5bfc\u822a\u680f\u8986\u76d6\u5176\u5185\u5bb9\u3002
stacked boolean false \u8bbe\u7f6e\u5e95\u90e8\u5bfc\u822a\u680f\u6807\u7b7e\u9875\u56fe\u6807\u548c\u6807\u7b7e\u4e3a\u5782\u76f4\u6a21\u5f0f\uff08\u9ed8\u8ba4\u4e3a\u6c34\u5e73\u6a21\u5f0f\uff09
min boolean false \u663e\u793a 3 \u4e2a\u5bfc\u822a\u6807\u7b7e\u9875
max boolean false \u663e\u793a 5 \u4e2a\u5bfc\u822a\u6807\u7b7e\u9875
'},26568:function(t,e,o){"use strict";o.r(e);e.default=""},26251:function(t,e,o){"use strict";o.r(e);e.default=""},36927:function(t,e,o){"use strict";o.r(e);e.default='

\u5206\u9875

'},64208:function(t,e,o){"use strict";o.r(e);e.default='
<ui-pagination></ui-pagination>\n

Props

Name Type Default Description Version
modelValue (v-model) number 1 \u9875\u7801
total number 0 \u6570\u636e\u603b\u6570
pageSpan number, boolean 3 \u5c55\u793a\u5f53\u524d\u9875\u7801\u7684\u524d N \u9875\uff08\u6700\u5c0f\u503c\uff1a3\uff09
showTotal boolean false \u663e\u793a\u6570\u636e\u91cf\u4fe1\u606f\u533a\u57df
pageSize number, array 10 \u6bcf\u9875\u5c55\u793a\u7684\u6570\u636e\u91cf
pageSizeText string, array 'Rows per page' \u6bcf\u9875\u6570\u636e\u91cf\u4fe1\u606f\u5c55\u793a\u7684\u524d/\u540e\u6587\u5b57
ofText string 'of' \u6570\u636e\u91cf\u4fe1\u606f\u533a\u57df\u4e2d\u7684 of \u6587\u5b57 9.39.0
unitText string '' \u6570\u636e\u91cf\u4fe1\u606f\u533a\u57df\u4e2d\u7684 unit \u6587\u5b57 10.11.0
showJumper boolean false \u663e\u793a\u8df3\u8f6c\u533a\u57df
jumperText string, array 'Goto' \u8df3\u8f6c\u533a\u57df\u5c55\u793a\u7684\u524d/\u540e\u6587\u5b57
jumperButtonOutlined boolean false \u8df3\u8f6c\u6309\u94ae\u542f\u7528\u8f6e\u5ed3\u6309\u94ae\u6837\u5f0f 9.11.0
jumperButtonText string '' \u8df3\u8f6c\u6309\u94ae\u6587\u5b57
position string '' \u5206\u9875\u6392\u7248\u4f4d\u7f6e
mini boolean false \u4f7f\u7528\u8ff7\u4f60\u6a21\u5f0f
interface Pagination {\n  position: 'left' | 'center' | 'right';\n}\n

Slots

Name Props Description Version
default currentMinRow, currentMaxRow \u81ea\u5b9a\u4e49\u6570\u636e\u91cf\u4fe1\u606f\u533a\u57df 9.3.0
first \u81ea\u5b9a\u4e49\u9996\u9875\u6309\u94ae\u56fe\u6807
prev \u81ea\u5b9a\u4e49\u4e0a\u9875\u6309\u94ae\u56fe\u6807
next \u81ea\u5b9a\u4e49\u4e0b\u9875\u6309\u94ae\u56fe\u6807
last \u81ea\u5b9a\u4e49\u5c3e\u9875\u6309\u94ae\u56fe\u6807

Events

Name Type Description Version
update:modelValue function(page: number) \u9875\u7801\u53d8\u5316\u65f6\u89e6\u53d1
update:pageSize function(pageInfo: object) \u6bcf\u9875\u5c55\u793a\u6570\u53d8\u5316\u65f6\u89e6\u53d1 10.4.0

\u63d0\u793a\uff1a\u5982\u679c\u4f60\u4e0d\u4f7f\u7528 v-model \u7ed1\u5b9a\u6570\u636e\uff0c\u4f60\u5e94\u8be5\u4f7f\u7528 @update:modelValue \u76d1\u542c\u5206\u9875\u9875\u7801\u72b6\u6001\u5e76\u66f4\u65b0 modelValue \u5c5e\u6027

  • \u81ea\u52a8

    <ui-pagination v-model="page"></ui-pagination>\n
  • \u624b\u52a8

    <ui-pagination\n  :model-value="page"\n  @update:model-value="balmUI.onChange('page', $event)"\n></ui-pagination>\n
'},86865:function(t,e,o){"use strict";o.r(e);e.default='

\u8fdb\u5ea6\u6761

\u7ebf\u6027\u8fdb\u5ea6\u6761\u901a\u8fc7\u6cbf\u56fa\u5b9a\u7684\u53ef\u89c1\u8f68\u9053\u7684\u957f\u5ea6\u8bbe\u7f6e\u6307\u793a\u5668\u52a8\u753b\u6765\u663e\u793a\u8fdb\u5ea6\u3002

'},37498:function(t,e,o){"use strict";o.r(e);e.default='
<ui-progress></ui-progress>\n

Props

Name Type Default Description
active boolean false \u8bbe\u7f6e\u8fdb\u5ea6\u6761\u4e3a\u6d3b\u52a8\u72b6\u6001
progress number 0 \u8bbe\u7f6e\u8fdb\u5ea6\u6761\u503c\u3002\u503c\u7684\u8303\u56f4\u4e3a [0, 1]
buffer number 0 \u8bbe\u7f6e\u7f13\u51b2\u533a\u503c\u3002\u503c\u7684\u8303\u56f4\u4e3a [0, 1]
label string '' \u8fdb\u5ea6\u6761\u8bf4\u660e\u6587\u5b57
closed boolean false \u9690\u85cf\u8fdb\u5ea6\u6761
'},15814:function(t,e,o){"use strict";o.r(e);e.default='

\u5355\u9009\u6309\u94ae

\u5355\u9009\u6309\u94ae\u5141\u8bb8\u7528\u6237\u4ece\u4e00\u7ec4\u4e2d\u9009\u62e9\u4e00\u4e2a\u9009\u9879\u3002

'},84967:function(t,e,o){"use strict";o.r(e);e.default='
<ui-form-field>\n  <ui-radio></ui-radio>\n  <label>Radio</label>\n</ui-form-field>\n

Props

Name Type Default Description
modelValue (v-model) string, number '' \u5355\u9009\u6309\u94ae\u503c
inputId string null \u539f\u751f <input> \u7684 id \u5c5e\u6027\u548c <label> \u7684 for \u5c5e\u6027
value string, number '' \u539f\u751f <input> \u7684 value \u5c5e\u6027
disabled boolean false \u7981\u7528\u72b6\u6001
attrs object {} <input> \u7684\u5176\u4ed6\u5c5e\u6027

Events

Name Type Description
update:modelValue function(value: string|number) \u5355\u9009\u6309\u94ae\u503c\u53d8\u5316\u65f6\u89e6\u53d1

\u63d0\u793a\uff1a\u5982\u679c\u4f60\u4e0d\u4f7f\u7528 v-model \u7ed1\u5b9a\u6570\u636e\uff0c\u4f60\u5e94\u8be5\u4f7f\u7528 @update:modelValue \u76d1\u542c\u5355\u9009\u6309\u94ae\u503c\u5e76\u66f4\u65b0 modelValue \u5c5e\u6027

  • \u81ea\u52a8

    <ui-radio v-model="value"></ui-radio>\n
  • \u624b\u52a8

    <ui-radio\n  :model-value="value"\n  @update:model-value="balmUI.onChange('value', $event)"\n></ui-radio>\n
'},19434:function(t,e,o){"use strict";o.r(e);e.default='

\u65e5\u671f\u8303\u56f4\u9009\u62e9\u5668

'},69270:function(t,e,o){"use strict";o.r(e);e.default='
<ui-rangepicker></ui-rangepicker>\n

Props

Name Type Default Description Version
outlined boolean false \u8f6e\u5ed3\u6587\u672c\u6846\uff08\u5fc5\u987b\u914d\u7f6e label \u6216 placeholder\uff09
modelValue (v-model) array '' \u65e5\u671f\u8303\u56f4\u9009\u62e9\u5668\u503c
disabled boolean false \u7981\u7528\u72b6\u6001
labels array [] \u6587\u672c\u6846\u7684\u6587\u672c\u6807\u9898\u6216\u8bf4\u660e\uff0c\u53ef\u4f7f\u7528\u6587\u672c\u6846\u7684 placeholder \u5c5e\u6027\u4ee3\u66ff
placeholders array [] \u539f\u751f <input> \u7684 placeholder \u5c5e\u6027
config object {} \u8be6\u89c1 Flatpickr configuration
disableRangePlugin boolean false \u7981\u7528 flatpickr rangePlugin\uff0c\u4f7f\u7528\u4e24\u4e2a <ui-datepicker> \u4ee3\u66ff 10.16.0

Slots

Name Props Description
separator \u81ea\u5b9a\u4e49\u5206\u9694\u7b26

Events

Name Type Description
update:modelValue function(value: array) \u65e5\u671f\u8303\u56f4\u9009\u62e9\u5668\u503c\u53d8\u5316\u65f6\u89e6\u53d1

\u63d0\u793a\uff1a\u5982\u679c\u4f60\u4e0d\u4f7f\u7528 v-model \u7ed1\u5b9a\u6570\u636e\uff0c\u4f60\u5e94\u8be5\u4f7f\u7528 @update:modelValue \u76d1\u542c\u65e5\u671f\u8303\u56f4\u9009\u62e9\u5668\u503c\u5e76\u66f4\u65b0 modelValue \u5c5e\u6027

  • \u81ea\u52a8

    <ui-rangepicker v-model="value"></ui-rangepicker>\n
  • \u624b\u52a8

    <ui-rangepicker\n  :model-value="value"\n  @update:model-value="balmUI.onChange('value', $event)"\n></ui-rangepicker>\n
'},42129:function(t,e,o){"use strict";o.r(e);e.default='

\u6c34\u6ce2\u7eb9\u6548\u679c

\u6c34\u6ce2\u7eb9\u6548\u679c\u5411\u7ec4\u4ef6\uff08\u6216\u4efb\u4f55\u5143\u7d20\uff09\u63d0\u4f9b\u5b9e\u8d28\u6027\u201c\u58a8\u6c34\u6ce2\u7eb9\u201d\u4ea4\u4e92\u6548\u679c\u3002 \u5b83\u88ab\u8bbe\u8ba1\u4e3a\u9ad8\u6548\uff0c\u65e0\u521b\u4e14\u53ef\u7528\u7684\uff0c\u800c\u65e0\u9700\u5411\u60a8\u7684\u5143\u7d20\u4e2d\u6dfb\u52a0\u4efb\u4f55\u989d\u5916\u7684 DOM\u3002

'},99735:function(t,e,o){"use strict";o.r(e);e.default='
<div v-ripple></div>\n

\u6ce8\u610f\uff1a\u4e0d\u652f\u6301\u52a8\u6001 class

\u6ce2\u7eb9\u6548\u679c

  • v-ripple="color"
  • v-ripple:cssOnly="color"
Value Type Default Description
color number, string undefined \u8bbe\u7f6e\u6ce2\u7eb9\u989c\u8272
  1. \u8bbe\u7f6e\u6ce2\u7eb9\u989c\u8272\u4e3a\u4e3b\u8272\uff1a1 \u6216 'primary'
  2. \u8bbe\u7f6e\u6ce2\u7eb9\u989c\u8272\u4e3a\u8f85\u8272\uff1a2 \u6216 'secondary'

\u53bb\u6ce2\u7eb9\u6548\u679c

  • v-ripple.unbounded="color"
  • v-ripple:cssOnly.unbounded="color"
'},24785:function(t,e,o){"use strict";o.r(e);e.default='

\u6309\u94ae\u7ec4

\u6309\u94ae\u7ec4\u5141\u8bb8\u7528\u6237\u5207\u6362\u5206\u7ec4\u6309\u94ae\u7684\u9009\u5b9a\u72b6\u6001\u3002

New in 9.5.0

'},92249:function(t,e,o){"use strict";o.r(e);e.default='
<ui-segmented-button></ui-segmented-button>\n

Props

Name Type Default Description
selected boolean false \u8bbe\u7f6e\u9009\u4e2d\u72b6\u6001\u6837\u5f0f
text string '' \u6309\u94ae\u6587\u5b57
icon string '' \u6309\u94ae\u56fe\u6807\u3002\u8be6\u89c1 Material Icons \u56fe\u6807\u96c6\u3002

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u6309\u94ae\u6587\u5b57\u53ca HTML
before iconClass \u81ea\u5b9a\u4e49\u9996\u56fe\u6807
after iconClass \u81ea\u5b9a\u4e49\u5c3e\u56fe\u6807
<template #after="{ iconClass }">\n  <ui-icon :class="iconClass">ICON</ui-icon>\n</template>\n

Events

Name Type Description
click function(event: object) \u70b9\u51fb\u6309\u94ae\u65f6\u89e6\u53d1
'},26950:function(t,e,o){"use strict";o.r(e);e.default='
<ui-segmented-buttons :items="buttonGroupItems"></ui-segmented-buttons>\n
<ui-segmented-buttons>\n  <ui-segmented-button></ui-segmented-button>\n</ui-segmented-buttons>\n

Props

Name Type Default Description
modelValue (v-model) array, number [] \u9009\u4e2d\u72b6\u6001
items array [] \u6309\u94ae\u7ec4\u5143\u7d20\u5bf9\u8c61
singleSelect boolean false \u5355\u9009\u6a21\u5f0f
  • \u6309\u94ae\u7ec4\u5143\u7d20\u5bf9\u8c61\u7684\u5173\u952e keys:

    {\n  text: 'text', // label text\n  icon: 'icon', // label icon\n}\n

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u6309\u94ae\u7ec4\u7ec4\u4ef6 <ui-segmented-button>

Events

Name Type Description
update:modelValue function(selectedIndex: array | number) \u6309\u94ae\u7ec4\u72b6\u6001\u53d8\u5316\u65f6\u89e6\u53d1
selected function(index: number) \u70b9\u51fb\u6309\u94ae\u7ec4\u65f6\u89e6\u53d1

\u63d0\u793a\uff1a\u5982\u679c\u4f60\u4e0d\u4f7f\u7528 v-model \u7ed1\u5b9a\u6570\u636e\uff0c\u4f60\u5e94\u8be5\u4f7f\u7528 @update:modelValue \u76d1\u542c\u6309\u94ae\u7ec4\u72b6\u6001\u5e76\u66f4\u65b0 modelValue \u5c5e\u6027

  • \u81ea\u52a8

    <ui-segmented-buttons v-model="selectedIndex"></ui-segmented-buttons>\n
  • \u624b\u52a8

    <ui-segmented-buttons\n  :model-value="selectedIndex"\n  @update:model-value="balmUI.onChange('selectedIndex', $event)"\n></ui-segmented-buttons>\n
'},53579:function(t,e,o){"use strict";o.r(e);e.default='

\u9009\u62e9\u5668

'},94141:function(t,e,o){"use strict";o.r(e);e.default='
<ui-select-helper><!-- the helper text --></ui-select-helper>\n

Props

Name Type Default Description
id string null \u5fc5\u586b\uff08\u53ef\u5bf9\u5e94\u5339\u914d <ui-select> \u7684 helperTextId \u5c5e\u6027\uff09
visible boolean false \u4f7f\u5e2e\u52a9\u6587\u672c\u6c38\u8fdc\u53ef\u89c1
validMsg string, boolean false \u9a8c\u8bc1\u6d88\u606f\u6587\u672c

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u9009\u62e9\u5668\u5e2e\u52a9\u6587\u5b57\u53ca HTML
'},626:function(t,e,o){"use strict";o.r(e);e.default='
<ui-select-icon><!-- the material design icon name --></ui-select-icon>\n

Props

Name Type Default Description
unclickable boolean false \u5c55\u793a\u4e0d\u53ef\u70b9\u51fb\u7684\u6837\u5f0f

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u56fe\u6807\u7ec4\u4ef6\u53ca HTML\u3002\u8be6\u89c1 Material Icons \u56fe\u6807\u96c6\u3002

Events

Name Type Description
click function(event: object) \u70b9\u51fb\u9009\u62e9\u5668\u56fe\u6807\u65f6\u89e6\u53d1
'},58382:function(t,e,o){"use strict";o.r(e);e.default='
<ui-select><!-- the label text --></ui-select>\n

<ui-select> \u7c7b\u578b

  • 0: 'filled'
  • 1: 'outlined'

Props

Name Type Default Description Version
type string, number 0 \u9009\u62e9\u5668\u7c7b\u578b
outlined boolean false \u8f6e\u5ed3\u9009\u62e9\u5668
modelValue (v-model) string, number '' \u9009\u62e9\u5668\u503c
options array [] \u8bbe\u7f6e\u9009\u9879\u5217\u8868\uff08\u9ed8\u8ba4\u9009\u9879\u683c\u5f0f\uff1a{ label, value }\uff09
optionFormat object { label: 'label', value: 'value' } \u5b9a\u4e49\u9009\u9879\u5361\u9009\u9879\u6570\u636e\u683c\u5f0f 9.34.0
defaultLabel string '' \u9009\u9879\u5360\u4f4d\u7b26 label \u7684\u503c
defaultValue string, number '' \u9009\u9879\u5360\u4f4d\u7b26 value \u7684\u503c
label string '' \u9009\u62e9\u5668\u7684\u6587\u672c\u6807\u9898\u6216\u8bf4\u660e
disabled boolean false \u7981\u7528\u72b6\u6001
required boolean false \u5fc5\u586b\u5b57\u6bb5\u6837\u5f0f
fullwidth boolean false \u5168\u5c4f\u5bbd\u5ea6\u6837\u5f0f
icon string '' \u8bbe\u7f6e\u9996\u56fe\u6807\u3002\u8be6\u89c1 Material Icons \u56fe\u6807\u96c6\u3002
withLeadingIcon boolean false \u542f\u7528\u9996\u56fe\u6807\u6837\u5f0f
helperTextId string null \u5339\u914d <ui-select-helper> \u7684 id \u5c5e\u6027
inside boolean false \u9002\u914d\u6837\u5f0f\uff0c\u53ef\u7528\u4e8e\u67d0\u4e9b\u7ec4\u4ef6\u5185\u90e8\u7684\u6ea2\u51fa (\u5982\uff1a\u7528\u5728 <ui-dialog> \u4e2d) 10.10.0

\u63d0\u793a\uff1awithLeadingIcon \u548c withTrailingIcon \u4ec5\u7528\u4e8e (\u975e <ui-select-icon>) \u81ea\u5b9a\u4e49\u9996/\u5c3e\u56fe\u6807\uff0c\u901a\u5e38\u65e0\u9700\u914d\u7f6e

\u26a0\ufe0f 9.34.0 \u4e2d optionLabel \u548c optionValue \u5c5e\u6027\u5df2\u5f03\u7528\uff0c\u8bf7\u4f7f\u7528 optionFormat \u4ee3\u66ff\u3002

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u9009\u62e9\u5668\u6807\u9898\u6216\u8bf4\u660e\u6587\u5b57
icon iconClass \u81ea\u5b9a\u4e49\u9996\u56fe\u6807
dropdown-icon \u81ea\u5b9a\u4e49\u4e0b\u62c9\u56fe\u6807

Events

Name Type Description
update:modelValue function(value: string|number) \u9009\u62e9\u5668\u503c\u53d8\u5316\u65f6\u89e6\u53d1
selected function(option: object) \u9009\u62e9\u5668\u9009\u9879\u88ab\u9009\u4e2d\u65f6\u89e6\u53d1

\u63d0\u793a\uff1a\u5982\u679c\u4f60\u4e0d\u4f7f\u7528 v-model \u7ed1\u5b9a\u6570\u636e\uff0c\u4f60\u5e94\u8be5\u4f7f\u7528 @update:modelValue \u76d1\u542c\u9009\u62e9\u5668\u503c\u5e76\u66f4\u65b0 modelValue \u5c5e\u6027

  • \u81ea\u52a8

    <ui-select v-model="value"></ui-select>\n
  • \u624b\u52a8

    <ui-select\n  :model-value="value"\n  @update:model-value="balmUI.onChange('value', $event)"\n></ui-select>\n
'},5130:function(t,e,o){"use strict";o.r(e);e.default='

\u5f62\u72b6

\u5f62\u72b6\u53ef\u4ee5\u5f15\u5bfc\u6ce8\u610f\u529b\uff0c\u8bc6\u522b\u7ec4\u4ef6\uff0c\u4f20\u8fbe\u72b6\u6001\u5e76\u8868\u8fbe\u54c1\u724c\u3002

'},37905:function(t,e,o){"use strict";o.r(e);e.default='
<div v-shape></div>\n
  • \u5706\u89d2\u5f62\u72b6
    • v-shape="corner" (medium)
    • v-shape.small="corner"
    • v-shape.large="corner"
  • \u5207\u5272\u5f62\u72b6 (\u5b9e\u9a8c\u6027\u529f\u80fd\uff0c\u4ec5\u652f\u6301 Sass \u7528\u6cd5)
    • v-shape.cut="corner" (medium)
    • v-shape.cut.small="corner"
    • v-shape.cut.large="corner"
Value Type Default Description
corner string '' \u7528\u4e8e\u906e\u76d6\u7279\u5b9a\u89d2\u843d\u7684\u5143\u7d20\uff1b\u6700\u591a\u53ef\u80fd\u6709 4 \u4e2a\u3002\uff08\u503c\u4e3a\u7a7a\u65f6\u4f7f\u7528 shape sass radius variable\uff09

\u8bed\u6cd5\u7c7b\u4f3c CSS border-radius \u5c5e\u6027

<!-- The syntax of the first corner allows one to four values -->\n<!-- Radius is set for all 4 sides -->\n<div v-shape="'4px'"></div>\n\n<!-- top-left | bottom-right -->\n<div v-shape="'4px 0'"></div>\n\n<!-- top-right | bottom-left -->\n<div v-shape="'0 4px'"></div>\n\n<!-- top-left -->\n<div v-shape="'4px 0 0'"></div>\n\n<!-- top-left | top-right | bottom-left -->\n<div v-shape="'4px 4px 0'"></div>\n\n<!-- top-left | top-right | bottom-right | bottom-left -->\n<div v-shape="'4px 4px 4px 4px'"></div>\n
'},4345:function(t,e,o){"use strict";o.r(e);e.default='

\u4fa7\u8fb9\u52a8\u4f5c\u8868

New in 10.19.0

'},19520:function(t,e,o){"use strict";o.r(e);e.default='
<ui-side-sheet></ui-side-sheet>\n

Props

Name Type Default Description
modelValue (v-model) boolean false \u4fa7\u8fb9\u52a8\u4f5c\u8868\u663e\u793a\u72b6\u6001
closable boolean false \u5c55\u73b0\u5173\u95ed\u6309\u94ae

Slots

Name Props Description
title title \u63d2\u69fd\u5305\u542b\u4fa7\u8fb9\u52a8\u4f5c\u8868\u7684\u6807\u9898\u53ca HTML
default default \u63d2\u69fd\u5305\u542b\u4fa7\u8fb9\u52a8\u4f5c\u8868\u7684\u5185\u5bb9\u53ca HTML
actions actions \u63d2\u69fd\u5305\u542b\u4fa7\u8fb9\u52a8\u4f5c\u8868\u7684\u52a8\u4f5c\u53ca HTML

Events

Name Type Description
update:modelValue function(open: boolean) \u4fa7\u8fb9\u52a8\u4f5c\u8868\u9690\u85cf\u65f6\u89e6\u53d1

\u63d0\u793a\uff1a\u5982\u679c\u4f60\u4e0d\u4f7f\u7528 v-model \u7ed1\u5b9a\u6570\u636e\uff0c\u4f60\u5e94\u8be5\u4f7f\u7528 @update:modelValue \u76d1\u542c\u4fa7\u8fb9\u52a8\u4f5c\u8868\u663e\u793a\u72b6\u6001\u5e76\u66f4\u65b0 modelValue \u5c5e\u6027

  • \u81ea\u52a8

    <ui-side-sheet v-model="open"></ui-side-sheet>\n
  • \u624b\u52a8

    <ui-side-sheet\n  :model-value="open"\n  @update:model-value="balmUI.onChange('open', $event)"\n></ui-side-sheet>\n
'},59566:function(t,e,o){"use strict";o.r(e);e.default='

\u9aa8\u67b6\u5c4f

'},741:function(t,e,o){"use strict";o.r(e);e.default='
<ui-skeleton><!-- (the loaded data) --></ui-skeleton>\n

Props

Name Type Default Description
loading boolean true \u663e\u793a\u9aa8\u67b6\u5c4f
active boolean false \u663e\u793a\u52a8\u753b\u6548\u679c
avatar boolean, object false \u663e\u793a\u5934\u50cf\u5360\u4f4d\u7b26
title boolean, object true \u663e\u793a\u6807\u9898\u5360\u4f4d\u7b26
paragraph boolean, object true \u663e\u793a\u5185\u5bb9\u5360\u4f4d\u7b26
interface Skeleton {\n  avatar: {\n    size: 'large' | 'small' | number; // \u8bbe\u7f6e\u5934\u50cf\u5c3a\u5bf8\n    shape: 'circle' | 'square'; // \u8bbe\u7f6e\u5934\u50cf\u5f62\u72b6\n  };\n  title: {\n    width: string; // \u8bbe\u7f6e\u6807\u9898\u5bbd\u5ea6\n  };\n  paragraph: {\n    width: string; // \u8bbe\u7f6e\u5185\u5bb9\u5bbd\u5ea6\n    rows: number; // \u8bbe\u7f6e\u5185\u5bb9\u884c\u6570\n  };\n}\n

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u4efb\u610f\u7ec4\u4ef6\u53ca HTML
'},6649:function(t,e,o){"use strict";o.r(e);e.default='

\u6ed1\u52a8\u6761

\u6ed1\u52a8\u6761\u5141\u8bb8\u7528\u6237\u4ece\u4e00\u7cfb\u5217\u503c\u4e2d\u8fdb\u884c\u9009\u62e9\u3002

'},55324:function(t,e,o){"use strict";o.r(e);e.default='
<ui-slider></ui-slider>\n

<ui-slider> \u7c7b\u578b

  • 0: 'continuous'
  • 1: 'discrete'

Props

Name Type Default Description
type string, number 0 \u6ed1\u52a8\u6761\u7c7b\u578b
discrete boolean false \u5c06\u6ed1\u52a8\u6761\u6837\u5f0f\u8bbe\u7f6e\u4e3a\u79bb\u6563\u6ed1\u52a8\u6761
withTickMarks boolean false \u79bb\u6563\u6ed1\u52a8\u6761\u652f\u6301\u8f68\u9053\u4e0a\u7684\u663e\u793a\u6807\u8bb0
modelValue (v-model) number, array 0 \u6ed1\u52a8\u6761\u503c\uff08array \u503c\u8868\u793a\u4e3a\u8303\u56f4\u6ed1\u52a8\u6761\uff09
min number 0 \u6ed1\u52a8\u6761\u53ef\u4ee5\u5177\u6709\u7684\u6700\u5c0f\u503c
max number 100 \u6ed1\u52a8\u6761\u53ef\u4ee5\u5177\u6709\u7684\u6700\u5927\u503c
step number 1 \u8bbe\u7f6e\u6ed1\u52a8\u6761\u503c\u7684\u589e\u91cf
disabled boolean false \u7981\u7528\u72b6\u6001

Events

Name Type Description
update:modelValue function(value: number|array) \u5f53\u7528\u6237\u505c\u6b62\u62d6\u52a8\u6ed1\u5757\u6216\u6ed1\u52a8\u6761\u503c\u53d8\u5316\u65f6\u89e6\u53d1

\u63d0\u793a\uff1a\u5982\u679c\u4f60\u4e0d\u4f7f\u7528 v-model \u7ed1\u5b9a\u6570\u636e\uff0c\u4f60\u5e94\u8be5\u4f7f\u7528 @update:modelValue \u76d1\u542c\u6ed1\u52a8\u6761\u503c\u5e76\u66f4\u65b0 modelValue \u5c5e\u6027

  • \u81ea\u52a8

    <ui-slider v-model="value"></ui-slider>\n
  • \u624b\u52a8

    <ui-slider\n  :model-value="value"\n  @update:model-value="balmUI.onChange('value', $event)"\n></ui-slider>\n

Public Methods

\u9488\u5bf9\u67d0\u4e9b\u5f02\u6b65\u6570\u636e\u7684\u60c5\u51b5

<ui-slider ref="slider" v-model="value"></ui-slider>\n
  • $refs.slider.recompute()\uff1a\u91cd\u65b0\u5e03\u5c40
'},44385:function(t,e,o){"use strict";o.r(e);e.default='

\u5e95\u90e8\u6d88\u606f\u6846

\u5e95\u90e8\u6d88\u606f\u6846\u5728\u5c4f\u5e55\u5e95\u90e8\u63d0\u4f9b\u6709\u5173\u5e94\u7528\u7a0b\u5e8f\u8fc7\u7a0b\u7684\u7b80\u77ed\u6d88\u606f\u3002

'},12615:function(t,e,o){"use strict";o.r(e);e.default='
<ui-snackbar><!-- the message text --></ui-snackbar>\n

Props

Name Type Default Description Version
actionType number 0 \u8bbe\u7f6e\u5e95\u90e8\u6d88\u606f\u6846\u7684\u52a8\u4f5c\u7c7b\u578b\uff080: \u52a8\u4f5c\u6309\u94ae, 1: \u5173\u95ed\u56fe\u6807\uff09
modelValue (v-model) boolean false \u5e95\u90e8\u6d88\u606f\u6846\u663e\u793a\u72b6\u6001
timeoutMs number 5000 \u81ea\u52a8\u5173\u95ed\u7684\u8d85\u65f6\u65f6\u95f4\uff08\u4ee5\u6beb\u79d2\u4e3a\u5355\u4f4d\uff09\u3002\u503c\u5fc5\u987b\u5728 4000 \u548c 10000 \u4e4b\u95f4\uff0c\u5426\u5219\u4f1a\u5f15\u53d1\u9519\u8bef\u3002
message string '' \u6d88\u606f\u6587\u672c
actionButtonText string '' \u64cd\u4f5c\u6309\u94ae/\u56fe\u6807\u5143\u7d20\uff08\u5982\u679c\u5b58\u5728\uff09
stacked boolean false \u5c06\u64cd\u4f5c\u6309\u94ae/\u56fe\u6807\u653e\u5728\u6d88\u606f\u4e0b\u65b9\u800c\u4e0d\u662f\u65c1\u8fb9
leading boolean false \u5c06\u5e95\u90e8\u6d88\u606f\u6846\u653e\u7f6e\u5728\u5c4f\u5e55\u7684\u524d\u7aef\uff08\u5728 LTR \u4e2d\u4e3a\u5de6\uff0c\u5728 RTL \u4e2d\u4e3a\u53f3\uff09\uff0c\u800c\u4e0d\u662f\u5c45\u4e2d\u3002\uff08\u4ec5\u9650\u5e73\u677f\u7535\u8111\u548c\u53f0\u5f0f\u673a\uff09
position string 'bottom' \u8bbe\u7f6e\u5e95\u90e8\u6d88\u606f\u6846\u7684\u4f4d\u7f6e 9.21.0
interface Snackbar {\n  position: 'bottom' | 'center' | 'top';\n}\n

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u6d88\u606f\u6587\u672c\u53ca HTML
action actionClass \u81ea\u5b9a\u4e49\u52a8\u4f5c\u6309\u94ae

Events

Name Type Description
update:modelValue function(open: boolean) \u5e95\u90e8\u6d88\u606f\u6846\u9690\u85cf\u65f6\u89e6\u53d1
closed function() \u5e95\u90e8\u6d88\u606f\u6846\u5173\u95ed\u65f6\u89e6\u53d1

\u63d0\u793a\uff1a\u5982\u679c\u4f60\u4e0d\u4f7f\u7528 v-model \u7ed1\u5b9a\u6570\u636e\uff0c\u4f60\u5e94\u8be5\u4f7f\u7528 @update:modelValue \u76d1\u542c\u5e95\u90e8\u6d88\u606f\u6846\u663e\u793a\u72b6\u6001\u5e76\u66f4\u65b0 modelValue \u5c5e\u6027

  • \u81ea\u52a8

    <ui-snackbar v-model="open"></ui-snackbar>\n
  • \u624b\u52a8

    <ui-snackbar\n  :model-value="open"\n  @update:model-value="balmUI.onChange('open', $event)"\n></ui-snackbar>\n
'},18271:function(t,e,o){"use strict";o.r(e);e.default='

\u52a0\u8f7d\u4e2d

'},59680:function(t,e,o){"use strict";o.r(e);e.default='
<ui-spinner></ui-spinner>\n

Props

Name Type Default Description
active boolean false \u542f\u7528\u52a0\u8f7d\u4e2d\u72b6\u6001
progress number 0 \u8bbe\u7f6e\u8fdb\u5ea6\u6761\u7684\u503c\u3002\u503c\u5e94\u4ecb\u4e8e [0, 1] \u4e4b\u95f4\u3002
size string 'large' \u8bbe\u7f6e\u8fdb\u5ea6\u6761\u5c3a\u5bf8
fourColored boolean false \u542f\u7528 4 \u79cd\u989c\u8272\u5faa\u73af
label string '' \u8fdb\u5ea6\u6761\u7684\u6807\u7b7e
closed boolean false \u9690\u85cf\u8fdb\u5ea6\u6761
  • \u5c3a\u5bf8\u503c\uff1a

    interface Spinner {\n  size: 'large' | 'L' | 'medium' | 'M' | 'small' | 'S';\n}\n
'},61482:function(t,e,o){"use strict";o.r(e);e.default='

\u72b6\u6001\u7ba1\u7406 (cover Vuex or Pinia)

\u4e00\u79cd\u66f4\u7b80\u5355\u7684\u72b6\u6001\u7ba1\u7406\u6a21\u5f0f\u3002

'},61684:function(t,e,o){"use strict";o.r(e);e.default='
// `/path/to/app/scripts/store/index.js`\nimport useDemoStore from './demo';\n\nexport default {\n  ...useDemoStore()\n};\n
// `/path/to/app/scripts/store/demo.js`\nimport { reactive, toRefs } from 'vue';\nimport { useHttp } from '@/plugins/http'; // \u4f8b\u5982 axios\n\nconst state = reactive({\n  demoMenu: []\n});\n\nasync function getDemoMenu() {\n  const $http = useHttp();\n  state.demoMenu = await $http.get('/api/get-menu');\n}\n\nconst useDemoStore = () => {\n  return {\n    ...toRefs(state),\n    getDemoMenu\n  };\n};\n\nexport default useDemoStore;\n
  • Composition API

    <ui-button @click="store.getDemoMenu">Test</ui-button>\n<ui-divider></ui-divider>\n{{ store.demoMenu }}\n
    import { onBeforeMount } from 'vue';\nimport { useStore } from 'balm-ui';\n\nexport default {\n  setup() {\n    const store = useStore();\n\n    onBeforeMount(() => {\n      store.getDemoMenu();\n    });\n\n    return {\n      store\n    };\n  }\n};\n
  • Options API

    <ui-button @click="$store.getDemoMenu">Test</ui-button>\n<ui-divider></ui-divider>\n{{ $store.demoMenu }}\n
    export default {\n  beforeMount() {\n    this.$store.getDemoMenu();\n  }\n};\n
'},15024:function(t,e,o){"use strict";o.r(e);e.default='

\u5f00\u5173

\u5f00\u5173\u5c06\u5355\u4e2a\u8bbe\u7f6e\u7684\u72b6\u6001\u5207\u6362\u4e3a\u6253\u5f00\u6216\u5173\u95ed\u3002\u5b83\u4eec\u662f\u5728\u79fb\u52a8\u8bbe\u5907\u4e0a\u8c03\u6574\u8bbe\u7f6e\u7684\u9996\u9009\u65b9\u6cd5\u3002

'},41503:function(t,e,o){"use strict";o.r(e);e.default='
<ui-form-field>\n  <ui-switch></ui-switch>\n  <label>Switch</label>\n</ui-form-field>\n

Props

Name Type Default Description
modelValue (v-model) boolean false \u5f00\u5173\u72b6\u6001
trueValue boolean, number, string true \u5f00\u5173\u5f00\u542f\u65f6\u7684\u8fd4\u56de\u503c
falseValue boolean, number, string false \u5f00\u5173\u5173\u95ed\u65f6\u7684\u8fd4\u56de\u503c
disabled boolean false \u7981\u7528\u72b6\u6001

Events

Name Type Description
update:modelValue function(value: boolean) \u5f00\u5173\u72b6\u6001\u53d8\u5316\u65f6\u89e6\u53d1
selected function(value: boolean|string|number) \u5f00\u5173\u503c\u53d8\u5316\u65f6\u89e6\u53d1

\u63d0\u793a\uff1a\u5982\u679c\u4f60\u4e0d\u4f7f\u7528 v-model \u7ed1\u5b9a\u6570\u636e\uff0c\u4f60\u5e94\u8be5\u4f7f\u7528 @update:modelValue \u76d1\u542c\u5f00\u5173\u503c\u5e76\u66f4\u65b0 modelValue \u5c5e\u6027

  • \u81ea\u52a8

    <ui-switch v-model="value"></ui-switch>\n
  • \u624b\u52a8

    <ui-switch\n  :model-value="value"\n  @update:model-value="balmUI.onChange('value', $event)"\n></ui-switch>\n
'},97201:function(t,e,o){"use strict";o.r(e);e.default='

\u6570\u636e\u8868

\u6570\u636e\u8868\u663e\u793a\u884c\u548c\u5217\u4e4b\u95f4\u7684\u6570\u636e\u96c6\u3002

'},57989:function(t,e,o){"use strict";o.r(e);e.default='
<ui-table></ui-table>\n

Props

Name Type Default Description Version
data array [] \u6570\u636e\u6e90
thead array [] \u6570\u636e\u8868\u5934\u90e8\u6e32\u67d3\u683c\u5f0f
tbody array [] \u6570\u636e\u8868\u5185\u5bb9\u6e32\u67d3\u683c\u5f0f
tfoot array [] \u6570\u636e\u8868\u5e95\u90e8\u6e32\u67d3\u683c\u5f0f
fullwidth boolean false \u5168\u5c4f\u5bbd\u5ea6\u6837\u5f0f
rowCheckbox boolean false \u5e26\u6709\u884c\u9009\u62e9\u7684\u6570\u636e\u8868
rowCheckboxDisabled function, boolean false \u6392\u9664\u9009\u4e2d\u884c\u7684\u6570\u636e 10.9.0
modelValue (v-model) array [] \u9009\u62e9\u884c\u7684\u7d22\u5f15\u6216 IDs\uff08\u5fc5\u987b\u8bbe\u7f6e rowCheckbox: true\uff09
selectedKey boolean, string false selectedRows \u4f7f\u7528\u81ea\u5b9a\u4e49\u952e\u5b57\u6bb5\uff0c\u9ed8\u8ba4\u4f7f\u7528\u884c\u7d22\u5f15\u3002
rowIdPrefix string '' \u5728\u884c\u5143\u7d20 <tr> \u4e0a\u7684 data-row-id \u5c5e\u6027\u503c\u7684\u524d\u7f00
sortIconAlignEnd boolean false \u8bbe\u7f6e\u6392\u5e8f\u56fe\u6807\u4f4d\u4e8e\u6807\u7b7e\u4e4b\u540e
showProgress boolean false \u542f\u7528\u6570\u636e\u8868\u8fdb\u5ea6\u6307\u793a\u5668\u8868\u793a\u52a0\u8f7d\u6570\u636e\u4e2d 9.7.0
fixedHeader boolean false \u6570\u636e\u8868\u5934\u90e8\u56fa\u5b9a\u6a21\u5f0f 9.7.0
defaultColWidth number 0 \u8bbe\u7f6e\u56fa\u5b9a\u6a21\u5f0f\u6570\u636e\u8868\u6bcf\u5217\u7684\u9ed8\u8ba4\u5bbd\u5ea6 9.7.0
scroll object { x: false, y: false } \u8bbe\u7f6e\u56fa\u5b9a\u6a21\u5f0f\u6570\u636e\u8868\u5bb9\u5668\u7684\u5927\u5c0f 9.7.0
  • thead & tbody & tfoot \u5c5e\u6027\u901a\u7528\u683c\u5f0f

    interface TableCell {\n  value: string; // \u5355\u5143\u683c\u5185\u5bb9\n  numeric: boolean; // \u6570\u5b57\u5355\u5143\u683c\u5c45\u53f3\u663e\u793a\uff08\u76f8\u5f53\u4e8e `align: 'right'`\uff09\n  align: 'left' | 'center' | 'right';\n  class: string; // \u81ea\u5b9a\u4e49 class\n  slot: string; // \u81ea\u5b9a\u4e49\u63d2\u69fd\n}\n
  • thead \u683c\u5f0f

    • \u9ed8\u8ba4\uff08string[]\uff09

      [\n  'ID',\n  'Dessert (100g serving)',\n  'Calories',\n  'Fat (g)',\n  'Carbs (g)',\n  'Protein (g)'\n];\n
    • \u81ea\u5b9a\u4e49\uff08object[] \u6216 object[][]\uff09

      interface Thead {\n  sort: 'none' | 'asc' | 'desc'; // \u6392\u5e8f\n  columnId: string; // \u6392\u5e8f\u5b57\u6bb5\uff1a\u4f8b\u5982 'id'\n  rowspan: number;\n  colspan: number;\n}\n
      [\n  [\n    {\n      value: 'ID',\n      rowspan: 2,\n      sort: 'asc',\n      columnId: 'id'\n    },\n    {\n      value: 'Type1',\n      colspan: 2,\n      align: 'center'\n    },\n    {\n      value: 'Type2',\n      colspan: 3,\n      align: 'center'\n    },\n    {\n      value: 'Actions',\n      rowspan: 2\n    }\n  ],\n  [\n    'Dessert (100g serving)',\n    'Calories',\n    'Fat (g)',\n    'Carbs (g)',\n    'Protein (g)'\n  ]\n];\n
  • tbody \u683c\u5f0f

    • \u9ed8\u8ba4\uff08string[]\uff09

      ['id', 'dessert', 'calories', 'fat', 'carbs', 'protein'];\n
    • \u81ea\u5b9a\u4e49\uff08object[]\uff09

      interface Tbody {\n  field: string; // \u6570\u636e\u5b57\u6bb5\u540d\n  fn: function; // \u7b80\u5355\u7684\u6570\u636e\u5904\u7406\n  colClass: string; // <col> \u5143\u7d20\u7684 class (New in 9.7.0)\n  fixed: 'left' \uff5c 'right'; // \u8bbe\u7f6e\u56fa\u5b9a\u6a21\u5f0f\u6570\u636e\u8868\u4e2d\u5355\u5143\u683c\u7684\u4f4d\u7f6e (New in 9.7.0)\n  width: number; // \u8bbe\u7f6e\u56fa\u5b9a\u6a21\u5f0f\u6570\u636e\u8868\u4e2d\u5355\u5143\u683c\u7684\u5bbd\u5ea6 (New in 9.7.0)\n}\n
      [\n  'id',\n  'dessert',\n  {\n    field: 'calories',\n    numeric: true,\n    class: 'my-data'\n  },\n  {\n    field: 'fat',\n    fn: (data) => {\n      return data.fat.toFixed(1);\n    }\n  },\n  'carbs',\n  {\n    field: 'protein',\n    class: (data) => {\n      return data.protein > 5 ? 'red' : 'green';\n    }\n  },\n  {\n    slot: 'actions'\n  }\n];\n
      <ui-table>\n  <template #actions="{ data }">\n    <ui-icon @click="show(data)">description</ui-icon>\n    <ui-icon @click="edit(data)">edit</ui-icon>\n    <ui-icon @click="remove(data)">delete</ui-icon>\n  </template>\n</ui-table>\n
  • tfoot \u683c\u5f0f\uff08object[]\uff09

    interface Tfoot {\n  fnName: 'count' | 'sum' | 'avg' | 'max' | 'min'; // \u5e38\u7528\u7edf\u8ba1\u65b9\u6cd5\n  fn: function; // \u7b80\u5355\u7684\u6570\u636e\u7ed3\u679c\u5904\u7406\n  slot: string; // \u81ea\u5b9a\u4e49\u63d2\u69fd\n}\n
    • fnName \u65b9\u6cd5\uff1acount, sum, avg, max, min

      [\n  {\n    field: 'id',\n    fnName: 'count'\n  },\n  null,\n  {\n    field: 'calories',\n    fnName: 'sum'\n  },\n  {\n    field: 'fat',\n    fnName: 'avg'\n  },\n  {\n    field: 'carbs',\n    fnName: 'max'\n  },\n  {\n    field: 'protein',\n    fnName: 'min'\n  }\n];\n

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u5206\u9875\u7ec4\u4ef6\u53ca HTML
(custom-name) \u5355\u5143\u683c\u81ea\u5b9a\u4e49\u63d2\u69fd

Events

Name Type Description Version
update:modelValue function(selectedRows: array) \u9009\u62e9\u884c\u53d8\u5316\u65f6\u89e6\u53d1
sorted function(detail: object) \u70b9\u51fb\u53ef\u6392\u5e8f\u8868\u5934\u65f6\u89e6\u53d1 10.16.0

\u63d0\u793a\uff1a\u5982\u679c\u4f60\u4e0d\u4f7f\u7528 v-model \u7ed1\u5b9a\u6570\u636e\uff0c\u4f60\u5e94\u8be5\u4f7f\u7528 @update:modelValue \u76d1\u542c\u6570\u636e\u8868\u9009\u62e9\u884c\u5e76\u66f4\u65b0 modelValue \u5c5e\u6027

  • \u81ea\u52a8

    <ui-table v-model="selectedRows" row-checkbox></ui-table>\n
  • \u624b\u52a8

    <ui-table\n  :model-value="selectedRows"\n  row-checkbox\n  @update:model-value="balmUI.onChange('selectedRows', $event)"\n></ui-table>\n
'},96569:function(t,e,o){"use strict";o.r(e);e.default='

\u6807\u7b7e\u9875

\u6807\u7b7e\u9875\u8de8\u4e0d\u540c\u7684\u5c4f\u5e55\uff0c\u6570\u636e\u96c6\u548c\u5176\u4ed6\u4ea4\u4e92\u6765\u7ec4\u7ec7\u5185\u5bb9\u3002

'},16483:function(t,e,o){"use strict";o.r(e);e.default='
<ui-tab-bar><!-- the tab components --></ui-tab-bar>\n

<ui-tab-bar> & <ui-tabs> \u5171\u7528 Props

Name Type Default Description
modelValue (v-model) number 0 \u6807\u7b7e\u9875\u7d22\u5f15\u503c

<ui-tab-bar> Slots

Name Slots Description
default default \u63d2\u69fd\u5305\u542b\u6807\u7b7e\u9875\u7ec4\u4ef6\u53ca HTML

<ui-tab-bar> & <ui-tabs> \u5171\u7528 Events

Name Type Description
update:modelValue function(activeIndex: number) \u6807\u7b7e\u9875\u7d22\u5f15\u53d8\u5316\u65f6\u89e6\u53d1

\u63d0\u793a\uff1a\u5982\u679c\u4f60\u4e0d\u4f7f\u7528 v-model \u7ed1\u5b9a\u6570\u636e\uff0c\u4f60\u5e94\u8be5\u4f7f\u7528 @update:modelValue \u76d1\u542c\u9009\u9879\u5361\u7d22\u5f15\u5e76\u66f4\u65b0 modelValue \u5c5e\u6027

  • \u81ea\u52a8

    <ui-tab-bar v-model="activeIndex"></ui-tab-bar>\n<!-- \u6216 -->\n<ui-tabs v-model="activeIndex"></ui-tabs>\n
  • \u624b\u52a8

    <ui-tab-bar\n  :model-value="activeIndex"\n  @update:model-value="balmUI.onChange('activeIndex', $event)"\n></ui-tab-bar>\n<!-- \u6216 -->\n<ui-tabs\n  :model-value="activeIndex"\n  @update:model-value="balmUI.onChange('activeIndex', $event)"\n></ui-tabs>\n
'},84190:function(t,e,o){"use strict";o.r(e);e.default='
<ui-tab-indicator></ui-tab-indicator>\n

Props

Name Type Default Description
type string 'underline' \u6807\u7b7e\u9875\u6307\u793a\u5668\u7c7b\u578b
fade boolean false \u6de1\u5165\u6de1\u51fa\u6548\u679c
interface TabIndicator {\n  type: 'underline' | 'icon';\n}\n

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u6307\u793a\u5668\u81ea\u5b9a\u4e49\u56fe\u6807 \u53ca HTML

\u63d0\u793a\uff1aunderline \u7c7b\u578b\u6ca1\u6709 slot

'},17663:function(t,e,o){"use strict";o.r(e);e.default='
<ui-panels>\n  <!-- the panel components -->\n  <ui-panel><!-- the panel content --></ui-panel>\n</ui-panels>\n

Props

Name Type Default Description
modelValue (v-model) number 0 \u6fc0\u6d3b\u7684\u6807\u7b7e\u9875\u7d22\u5f15

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u6807\u7b7e\u9875\u9762\u677f\u7ec4\u4ef6\u53ca HTML
<ui-tabs v-model="active">\n  <ui-tab>Tab One</ui-tab>\n  <ui-tab>Tab Two</ui-tab>\n  <ui-tab>Tab Three</ui-tab>\n</ui-tabs>\n\n<ui-panels v-model="active">\n  <ui-panel>Panel One</ui-panel>\n  <ui-panel>Panel Two</ui-panel>\n  <ui-panel>Panel Three</ui-panel>\n</ui-panels>\n
'},43268:function(t,e,o){"use strict";o.r(e);e.default='
<ui-tab-scroller><!-- the tab components --></ui-tab-scroller>\n

Props

Name Type Default Description
scrollX (v-model:scrollX) number 0 \u5f53\u524d\u7684\u6eda\u52a8\u503c
align string '' <ui-tabs> \u5171\u7528\u5c5e\u6027\u3002\u6807\u7b7e\u9875\u5bf9\u9f50\u65b9\u5f0f\u3002
interface TabScroller {\n  align: 'start' | 'center' | 'end';\n}\n

Slots

Name Slots Description
default default \u63d2\u69fd\u5305\u542b\u6807\u7b7e\u9875\u7ec4\u4ef6\u53ca HTML

Events

Name Type Description
update:scrollX function(scrollX: number) \u6eda\u52a8\u503c\u53d8\u5316\u65f6\u89e6\u53d1

Public Methods

<ui-tab-scroller ref="scroller" v-model:scrollX="value"></ui-tab-scroller>\n
  • $refs.scroller.increment(scrollX: number)
'},57938:function(t,e,o){"use strict";o.r(e);e.default='
<ui-tab><!-- The tab text label --></ui-tab>\n

<ui-tab> & <ui-tabs> \u7c7b\u578b

  • 0: 'text'
  • 1: 'iconOnly'
  • 2: 'textWithIcon'

<ui-tab> & <ui-tabs> \u5171\u7528 Props

Name Type Default Description
type string, number 0 \u6807\u7b7e\u9875\u7c7b\u578b\uff08\u6392\u5217\u65b9\u5f0f\uff09
stacked boolean false \u8bbe\u7f6e\u6807\u7b7e\u9875\u56fe\u6807\u548c\u6807\u7b7e\u4e3a\u5782\u76f4\u6a21\u5f0f\uff08\u9ed8\u8ba4\u4e3a\u6c34\u5e73\u6a21\u5f0f\uff09
minWidth boolean false \u8bbe\u7f6e\u6807\u7b7e\u9875\u7684\u5927\u5c0f\u5e94\u7f29\u5c0f\u5230\u5c3d\u53ef\u80fd\u7a84\u800c\u4e0d\u5f15\u8d77\u6587\u672c\u6362\u884c
contentIndicator boolean false \u6807\u7b7e\u6587\u672c\u5bbd\u5ea6\u5339\u914d\u6307\u793a\u5668

<ui-tab> Props

Name Type Default Description
text string '' \u6807\u7b7e\u6587\u672c
icon string '' \u6807\u7b7e\u56fe\u6807\u3002\u8be6\u89c1 Material Icons \u56fe\u6807\u96c6\u3002

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u6807\u7b7e\u9875\u6587\u672c \u53ca HTML
icon iconClass \u81ea\u5b9a\u4e49\u6807\u7b7e\u9875\u56fe\u6807
indicator \u81ea\u5b9a\u4e49\u6807\u7b7e\u9875\u6307\u793a\u5668
<ui-tab>\n  <template #icon="{ iconClass }">\n    <ui-icon :class="iconClass">ICON</ui-icon>\n  </template>\n</ui-tab>\n
'},46552:function(t,e,o){"use strict";o.r(e);e.default='
<ui-tabs></ui-tabs>\n

<ui-tabs> Props

Name Type Default Description
items array [] \u8bbe\u7f6e\u6807\u7b7e\u9875\u5bf9\u8c61\u5217\u8868
  • \u6807\u7b7e\u9875\u5bf9\u8c61\u7684 keys:

    {\n  text: 'text', // label text\n  icon: 'icon', // label icon\n}\n

<ui-tabs> Slots

Name Slots Description
default default \u63d2\u69fd\u5305\u542b\u6807\u7b7e\u9875\u7ec4\u4ef6\u53ca HTML
<!-- Full syntax -->\n<ui-tab-bar v-model="active">\n  <ui-tab\n    v-for="(tabItem, tabIndex) in items"\n    :key="tabIndex"\n    :icon="tabItem.icon"\n  >\n    {{ tabItem.text }}\n  </ui-tab>\n</ui-tab-bar>\n\n<!-- Shorthand -->\n<ui-tabs v-model="active" :items="items"></ui-tabs>\n
'},25838:function(t,e,o){"use strict";o.r(e);e.default='
<ui-tabs :items="tabItems"></ui-tabs>\n
<ui-tab-bar>\n  <ui-tab>\n    Tab Text\n    <template #indicator>\n      <ui-tab-indicator></ui-tab-indicator>\n    </template>\n  </ui-tab>\n</ui-tab-bar>\n\n<ui-panels>\n  <ui-panel></ui-panel>\n</ui-panels>\n
Component Description
<ui-tabs> <ui-tab-bar> \u548c <ui-tab> \u7684\u7f29\u5199
<ui-tab-bar> \u6807\u7b7e\u9875\u5bb9\u5668
<ui-tab> \u6807\u7b7e\u9875
<ui-panels> \u6807\u7b7e\u9875\u9762\u677f\u5bb9\u5668
<ui-panel> \u6807\u7b7e\u9875\u9762\u677f
<ui-tab-indicator> \u5305\u542b\u81ea\u5b9a\u4e49\u6807\u7b7e\u9875\u6307\u793a\u5668\u7684\u5185\u5bb9
<ui-tab-scroller> \u5305\u542b\u81ea\u5b9a\u4e49\u6807\u7b7e\u9875\u6eda\u52a8\u5668\u7684\u5185\u5bb9
'},32903:function(t,e,o){"use strict";o.r(e);e.default='

\u6587\u672c\u6846

\u6587\u672c\u6846\u4f7f\u7528\u6237\u53ef\u4ee5\u8f93\u5165\u548c\u7f16\u8f91\u6587\u672c\u3002

'},81963:function(t,e,o){"use strict";o.r(e);e.default='
<ui-textfield-helper><!-- the helper text --></ui-textfield-helper>\n

Props

Name Type Default Description
id string null \u5fc5\u586b\uff08\u53ef\u5bf9\u5e94\u5339\u914d <ui-textfield> \u7684 helperTextId \u5c5e\u6027\uff09
visible boolean false \u4f7f\u5e2e\u52a9\u6587\u672c\u6c38\u8fdc\u53ef\u89c1
withCounter boolean false \u542f\u7528\u8ba1\u6570\u5668\uff08\u9700\u8981\u914d\u7f6e <ui-textfield> \u7684 maxlength \u5c5e\u6027\uff09
validMsg string, boolean false \u9a8c\u8bc1\u6d88\u606f\u6587\u672c

\u63d0\u793a\uff1a\u8bf7\u4e0d\u8981\u5728 <ui-textfield> \u548c\u542f\u7528\u8ba1\u6570\u5668\u7684 <ui-textfield-helper> \u4e4b\u524d\u63d2\u5165\u4efb\u4f55\u6807\u7b7e

<!-- Single line text field -->\n<ui-form-field>\n  <ui-textfield maxlength="40"></ui-textfield>\n  <ui-textfield-helper with-counter></ui-textfield-helper>\n</ui-form-field>\n\n<!-- Single line text field with an internal character counter -->\n<ui-form-field>\n  <ui-textfield maxlength="40" with-counter></ui-textfield>\n</ui-form-field>\n

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u6587\u672c\u6846\u5e2e\u52a9\u6587\u5b57\u53ca HTML
'},17940:function(t,e,o){"use strict";o.r(e);e.default='
<ui-textfield-icon><!-- the material design icon name --></ui-textfield-icon>\n

Props

Name Type Default Description
trailing boolean false \u5c55\u793a\u4ee5\u5c3e\u56fe\u6807\u7684\u6837\u5f0f
unclickable boolean false \u5c55\u793a\u4e0d\u53ef\u70b9\u51fb\u7684\u6837\u5f0f

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u56fe\u6807\u7ec4\u4ef6\u53ca HTML\u3002\u8be6\u89c1 Material Icons \u56fe\u6807\u96c6\u3002

Events

Name Type Description
click function(event: object) \u70b9\u51fb\u6587\u672c\u6846\u56fe\u6807\u65f6\u89e6\u53d1
'},68406:function(t,e,o){"use strict";o.r(e);e.default='
<ui-textfield><!-- the label text --></ui-textfield>\n

<ui-textfield> \u7c7b\u578b

  • 0: 'filled'
  • 1: 'outlined'

Props

Name Type Default Description
type string, number 0 \u6587\u672c\u6846\u7c7b\u578b
outlined boolean false \u8f6e\u5ed3\u6587\u672c\u6846\uff08\u5fc5\u987b\u914d\u7f6e label \u6216 placeholder\uff09
modelValue (v-model) string, number '' \u6587\u672c\u6846\u503c
inputType string 'text' \u539f\u751f <input> \u7c7b\u578b\uff1atext, number, password, \u7b49
inputId string null \u539f\u751f <input> \u7684 id \u5c5e\u6027\u548c <label> \u7684 for \u5c5e\u6027
label string '' \u6587\u672c\u6846\u7684\u6587\u672c\u6807\u9898\u6216\u8bf4\u660e\uff0c\u53ef\u4f7f\u7528\u6587\u672c\u6846\u7684 placeholder \u5c5e\u6027\u4ee3\u66ff
placeholder string null \u539f\u751f <input> \u7684 placeholder \u5c5e\u6027
disabled boolean false \u7981\u7528\u72b6\u6001
required boolean false \u5fc5\u586b\u5b57\u6bb5\u6837\u5f0f
fullwidth boolean false \u5168\u5c4f\u5bbd\u5ea6\u6837\u5f0f
endAligned boolean false \u8f93\u5165\u6587\u672c\u53f3\u5bf9\u9f50
icon string '' \u8bbe\u7f6e\u9996\u56fe\u6807\u3002\u8be6\u89c1 Material Icons \u56fe\u6807\u96c6\u3002
withLeadingIcon boolean false \u542f\u7528\u9996\u56fe\u6807\u6837\u5f0f
withTrailingIcon boolean false \u542f\u7528\u5c3e\u56fe\u6807\u6837\u5f0f
prefixText string '' \u8bbe\u7f6e\u6587\u672c\u524d\u7f00\u5185\u5bb9
suffixText string '' \u8bbe\u7f6e\u6587\u672c\u540e\u7f00\u5185\u5bb9
withCounter boolean false \u542f\u7528\u5185\u90e8\u8ba1\u6570\u5668
helperTextId string null \u5339\u914d <ui-textfield-helper> \u7684 id \u5c5e\u6027
attrs object {} <input> \u6216 <textarea> \u7684\u5176\u4ed6\u5c5e\u6027

\u63d0\u793a\uff1awithLeadingIcon \u548c withTrailingIcon \u4ec5\u7528\u4e8e (\u975e <ui-textfield-icon>) \u81ea\u5b9a\u4e49\u9996/\u5c3e\u56fe\u6807\uff0c\u901a\u5e38\u65e0\u9700\u914d\u7f6e

\u9664\u4e0a\u8ff0\u5185\u5bb9\u5916\uff0c\u4ee5\u4e0b\u5c5e\u6027\u8fd8\u53ef\u4ee5\u66ff\u4ee3\u5177\u6709\u76f8\u540c\u540d\u79f0\u7684 input \u6216 textarea \u5143\u7d20\u7684\u5c5e\u6027\uff1a

  • pattern
  • minlength
  • maxlength\uff1a\u8ba1\u6570\u5668\u5fc5\u5907\u5c5e\u6027
  • min
  • max
  • step
  • rows
  • cols

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u6587\u672c\u6846\u6807\u9898\u6216\u8bf4\u660e\u6587\u5b57
before iconClass \u81ea\u5b9a\u4e49\u9996\u56fe\u6807
after iconClass \u81ea\u5b9a\u4e49\u5c3e\u56fe\u6807

Events

Name Type Description
focus function(event: object) \u6587\u672c\u6846\u805a\u7126\u65f6\u89e6\u53d1
keydown function(event: object) \u6587\u672c\u6846\u4e2d\u6309\u4e0b\u952e\u76d8\u65f6\u89e6\u53d1
update:modelValue function(value: string) \u6587\u672c\u6846\u4e2d\u8f93\u5165\u5185\u5bb9\u65f6\u89e6\u53d1
change function(event: object) \u6587\u672c\u6846\u503c\u53d8\u5316\u65f6\u89e6\u53d1
enter function(value: string) \u6587\u672c\u6846\u4e2d\u6309\u4e0b Enter \u952e\u76d8\u65f6\u89e6\u53d1
blur function(event: object) \u6587\u672c\u6846\u5931\u53bb\u805a\u7126\u65f6\u89e6\u53d1

\u63d0\u793a\uff1a\u5982\u679c\u4f60\u4e0d\u4f7f\u7528 v-model \u7ed1\u5b9a\u6570\u636e\uff0c\u4f60\u5e94\u8be5\u4f7f\u7528 @update:modelValue \u76d1\u542c\u6587\u672c\u6846\u503c\u5e76\u66f4\u65b0 modelValue \u5c5e\u6027

  • \u81ea\u52a8

    <ui-textfield v-model="value"></ui-textfield>\n
  • \u624b\u52a8

    <ui-textfield\n  :model-value="value"\n  @update:model-value="balmUI.onChange('value', $event)"\n></ui-textfield>\n
'},81680:function(t,e,o){"use strict";o.r(e);e.default='
<ui-form-field>\n  <ui-textfield maxlength="20">\n    <template #before>\n      <ui-textfield-icon>event</ui-textfield-icon>\n    </template>\n    Floating Label Text\n    <template #after>\n      <ui-textfield-icon trailing>delete</ui-textfield-icon>\n    </template>\n  </ui-textfield>\n  <ui-textfield-helper with-counter> Helper message </ui-textfield-helper>\n</ui-form-field>\n
Component Description
<ui-textfield> \u6587\u672c\u6846\u5143\u7d20
<ui-textfield-icon> \u6587\u672c\u6846\u9996/\u5c3e\u56fe\u6807\u5143\u7d20
<ui-textfield-helper> \u5e2e\u52a9\u6587\u672c\u548c\u5b57\u7b26\u8ba1\u6570\u5668\u5143\u7d20
'},40731:function(t,e,o){"use strict";o.r(e);e.default='

\u4e3b\u9898\u8272\u5f69

'},93843:function(t,e,o){"use strict";o.r(e);e.default='
  • $theme

    interface VueInstance {\n  $theme: BalmUITheme;\n}\n

2.1 \u4e3b\u9898\u989c\u8272\uff08\u80cc\u666f\u8272\uff09

2.1.1 \u83b7\u53d6/\u8bbe\u7f6e\u67d0\u4e2a\u4e3b\u9898\u8272

  • $theme.primary

  • $theme.secondary

  • $theme.background

  • $theme.surface

  • $theme.error

  • $theme.onPrimary

  • $theme.onSecondary

  • $theme.onSurface

  • $theme.onError

    interface BalmUITheme {\n  primary: string;\n  secondary: string;\n  background: string;\n  surface: string;\n  error: string;\n  onPrimary: string;\n  onSecondary: string;\n  onSurface: string;\n  onError: string;\n}\n

2.1.2 \u6279\u91cf\u8bbe\u7f6e\u4e3b\u9898\u8272

  • $theme.colors

    type ThemeColor = {\n  primary?: string;\n  secondary?: string;\n  background?: string;\n  surface?: string;\n  error?: string;\n  on-primary?: string;\n  on-secondary?: string;\n  on-surface?: string;\n  on-error?: string;\n}\n\ninterface BalmUITheme {\n  colors: ThemeColor;\n}\n

2.1.3 \u83b7\u53d6\u4e3b\u9898\u8272\u503c/class

  • $theme.getThemeColor(style)

    type ThemeColorStyle =\n  | 'primary'\n  | 'secondary'\n  | 'background'\n  | 'surface'\n  | 'error'\n  | 'on-primary'\n  | 'on-secondary'\n  | 'on-surface'\n  | 'on-error';\n\ninterface BalmUITheme {\n  getThemeColor(style: ThemeColorStyle): string;\n}\n
  • $theme.getThemeClass(style)

    type ThemeClassStyle = ThemeColorStyle | 'primary-bg' | 'secondary-bg';\n\ninterface BalmUITheme {\n  getThemeClass(style: ThemeClassStyle): string;\n}\n

2.2 \u6587\u5b57\u989c\u8272\uff08\u524d\u666f\u8272\uff09

type TextStyle = 'primary' | 'secondary' | 'hint' | 'disabled' | 'icon';\n\ntype ThemeTone = 'background' | 'light' | 'dark';\n

2.2.1 \u9ed8\u8ba4

  • \u83b7\u53d6\u6587\u5b57\u989c\u8272\u503c/class

    interface BalmUITheme {\n  getTextColor(style: TextStyle, tone: ThemeTone): string;\n  getTextClass(style: TextStyle, tone: ThemeTone): string;\n}\n
  • \u8bbe\u7f6e\u6587\u5b57\u989c\u8272

    interface BalmUITheme {\n  setTextColor(style: TextStyle, value: string): void;\n}\n
Param Type Default Description
style string '' \u6587\u5b57\u6837\u5f0f\u540d
tone string 'background' \u4e3b\u9898\u8272\u8c03\u540d
value string '' \u6587\u5b57\u989c\u8272\u503c

2.2.2 \u660e\u6697\u8272\u7cfb

  • \u83b7\u53d6\u6587\u5b57\u989c\u8272\u503c/class

    interface BalmUITheme {\n  getTextColorOnLight(style: TextStyle): string;\n  getTextClassOnLight(style: TextStyle): string;\n\n  getTextColorOnDark(style: TextStyle): string;\n  getTextClassOnDark(style: TextStyle): string;\n}\n
  • \u8bbe\u7f6e\u6587\u5b57\u989c\u8272

    interface BalmUITheme {\n  setTextColorOnLight(style: TextStyle, value: string): void;\n  setTextColorOnDark(style: TextStyle, value: string): void;\n}\n
Param Type Default Description
style string '' \u6587\u5b57\u6837\u5f0f\u540d
value string '' \u6587\u5b57\u989c\u8272\u503c

\u5728\u975e .vue \u7ec4\u4ef6\u4e2d\u4f7f\u7528 $theme

import { useTheme } from 'balm-ui';\n// \u6216\n// import { useTheme } from 'balm-ui/plugins/theme';\n\nconst $theme = useTheme();\n
'},49715:function(t,e,o){"use strict";o.r(e);e.default='

\u77ed\u6d88\u606f\u63d0\u793a

'},67623:function(t,e,o){"use strict";o.r(e);e.default='
  • $toast(message)

  • $toast(options)

    type ToastMessage = string;\n\ninterface ToastOptions {\n  className?: string;\n  timeoutMs?: number;\n  message: ToastMessage;\n  position?: 'bottom' | 'center' | 'top';\n}\n\ninterface VueInstance {\n  $toast(options: ToastMessage | ToastOptions): Promise<void>;\n}\n

Options

Option Type Default Description Version
className string '' \u81ea\u5b9a\u4e49\u77ed\u6d88\u606f\u63d0\u793a\u7684 class
timeoutMs number 2750 \u81ea\u52a8\u5173\u95ed\u7684\u8d85\u65f6\u65f6\u95f4\uff08\u4ee5\u6beb\u79d2\u4e3a\u5355\u4f4d\uff09\u3002\u503c\u5fc5\u987b\u5728 2000 \u548c 3500 \u4e4b\u95f4\uff0c\u5426\u5219\u4f1a\u5f15\u53d1\u9519\u8bef\u3002
message string '' \u77ed\u6d88\u606f\u6587\u672c
position string 'bottom' \u77ed\u6d88\u606f\u63d0\u793a\u7684\u4f4d\u7f6e 9.21.0

\u5728\u975e .vue \u7ec4\u4ef6\u4e2d\u4f7f\u7528 $toast

import { useToast } from 'balm-ui';\n// \u6216\n// import { useToast } from 'balm-ui/plugins/toast';\n\nconst $toast = useToast();\n$toast('Hello BalmUI');\n
'},17371:function(t,e,o){"use strict";o.r(e);e.default='

\u6587\u5b57\u63d0\u793a

\u5f53\u7528\u6237\u5c06\u9f20\u6807\u60ac\u505c\uff0c\u805a\u7126\u6216\u70b9\u51fb\u67d0\u4e2a\u5143\u7d20\u65f6\uff0c\u6587\u5b57\u63d0\u793a\u5c06\u663e\u793a\u4fe1\u606f\u4e30\u5bcc\u7684\u6587\u672c\u3002

'},8361:function(t,e,o){"use strict";o.r(e);e.default='

\u6587\u5b57\u63d0\u793a\u7ec4\u4ef6

<ui-tooltip> \u7c7b\u578b

  • 0: 'plain'

    <div aria-describedby="tooltip-id">Text</div>\n<ui-tooltip id="tooltip-id">Tips content</ui-tooltip>\n
  • 1: 'rich' (New in 9.18.0)

    <ui-tooltip-anchor>\n  <div data-tooltip-id="tooltip-id">Text</div>\n  <ui-tooltip id="tooltip-id" rich>Tips content</ui-tooltip>\n</ui-tooltip-anchor>\n

Props

Name Type Default Description Version
type string, number 0 \u6587\u5b57\u63d0\u793a\u7684\u7c7b\u578b 9.18.0
rich boolean false \u53ef\u9009\u3002\u542f\u7528\u5bcc\u6587\u5b57\u63d0\u793a 9.18.0
width number 0 \u81ea\u5b9a\u4e49\u6587\u5b57\u63d0\u793a\u7ec4\u4ef6\u7684\u6700\u5927\u5bbd\u5ea6

Slots

  • Plain tooltip
Name Props Description
default default \u63d2\u69fd\u5305\u542b\u6587\u5b57\u63d0\u793a\u7684\u5185\u5bb9\uff08\u53ef\u5305\u542b HTML\uff09
  • Rich tooltip (New in 9.18.0)
Name Props Description
title title \u63d2\u69fd\u5305\u542b\u6587\u5b57\u63d0\u793a\u7684\u6807\u9898\uff08\u53ef\u5305\u542b HTML\uff09
default linkClass default \u63d2\u69fd\u5305\u542b\u6587\u5b57\u63d0\u793a\u7684\u5185\u5bb9\uff08\u53ef\u5305\u542b HTML\uff09
'},66520:function(t,e,o){"use strict";o.r(e);e.default='

\u6587\u5b57\u63d0\u793a\u6307\u4ee4

<div v-tooltip="'plain tips'" aria-describedby="tooltip-id"></div>\n
'},90350:function(t,e,o){"use strict";o.r(e);e.default='

\u9876\u90e8\u5bfc\u822a\u680f

\u9876\u90e8\u5bfc\u822a\u680f\u663e\u793a\u4e0e\u5f53\u524d\u5c4f\u5e55\u6709\u5173\u7684\u4fe1\u606f\u548c\u64cd\u4f5c\u3002

'},67479:function(t,e,o){"use strict";o.r(e);e.default='
<ui-top-app-bar><!-- the application title --></ui-top-app-bar>\n

<ui-top-app-bar> \u7c7b\u578b

  • 0: 'standard'
  • 1: 'fixed'
  • 2: 'dense'
  • 3: 'prominent'
  • 4: 'prominentDense'
  • 5: 'short'
  • 6: 'shortCollapsed'
  • -1: 'nonRegular'

Props

Name Type Default Description
contentSelector string (required) \u9009\u62e9\u5668\u7528\u4e8e\u8bbe\u7f6e\u9876\u90e8\u5bfc\u822a\u680f\u4e0b\u65b9\u5185\u5bb9\u7684\u6837\u5f0f\uff0c\u4ee5\u9632\u6b62\u9876\u90e8\u5bfc\u822a\u680f\u8986\u76d6\u5185\u5bb9\u3002
type string, number 0 \u9876\u90e8\u5bfc\u822a\u680f\u7c7b\u578b
fixed boolean false \u56fa\u5b9a\u7684\u9876\u90e8\u5bfc\u822a\u680f\u4f4d\u4e8e\u9875\u9762\u9876\u90e8\uff0c\u5e76\u4e14\u5728\u6eda\u52a8\u65f6\u4f4d\u4e8e\u5185\u5bb9\u4e0a\u65b9\u3002
dense boolean false \u5bc6\u96c6\u7684\u9876\u90e8\u5bfc\u822a\u680f\u8f83\u77ed\u3002
prominent boolean false \u7a81\u51fa\u7684\u9876\u90e8\u5bfc\u822a\u680f\u8f83\u9ad8\u3002
prominentDense boolean false \u7a81\u51fa\u4e14\u5bc6\u96c6\u7684\u9876\u90e8\u5bfc\u822a\u680f
short boolean false \u9876\u90e8\u77ed\u5bfc\u822a\uff0c\u6eda\u52a8\u65f6\u53ef\u4ee5\u6298\u53e0\u5230\u5bfc\u822a\u56fe\u6807\u7684\u4e00\u4fa7\u3002
shortCollapsed boolean false \u8bbe\u7f6e\u9876\u90e8\u77ed\u5bfc\u822a\u59cb\u7ec8\u663e\u793a\u6298\u53e0\u72b6\u6001\u3002
title string '' \u8bbe\u7f6e\u5bfc\u822a\u6807\u9898
navIcon string, boolean 'menu' \u8bbe\u7f6e\u5bfc\u822a\u56fe\u6807
navId string null \u4fa7\u8fb9\u5bfc\u822a\u680f\u7684\u5143\u7d20 ID\uff08\u8bf7\u53c2\u8003 drawer \u7684 navId \u5c5e\u6027\uff09

\u9876\u90e8\u77ed\u5bfc\u822a\u5e94\u4e0e\u6700\u591a 1 \u4e2a\u52a8\u4f5c\u9879\u4e00\u8d77\u4f7f\u7528\u3002

Slots

Name Props Description
default default \u63d2\u69fd\u5305\u542b\u5bfc\u822a\u6807\u9898\u53ca HTML
nav-icon navIconClass \u81ea\u5b9a\u4e49\u5bfc\u822a\u56fe\u6807
toolbar toolbarItemClass toolbar \u63d2\u69fd\u5305\u542b\u52a8\u4f5c\u9879\u76ee\u53ca HTML
<template #toolbar="{ toolbarItemClass }">\n  <ui-icon-button :class="toolbarItemClass" icon="ICON"></ui-icon-button>\n</template>\n

Events

Name Type Description
nav function() \u70b9\u51fb\u5bfc\u822a\u9ed8\u8ba4\u56fe\u6807\u65f6\u89e6\u53d1
close function() \u70b9\u51fb\u5bfc\u822a\u5173\u95ed\u56fe\u6807\u65f6\u89e6\u53d1\uff08\u4ec5\u9650 navIcon \u8bbe\u7f6e\u4e3a close \u65f6\uff09

\u63d0\u793a\uff1a\u5982\u679c\u4f60\u6ca1\u6709\u8054\u5408\u4f7f\u7528\u9876\u90e8\u5bfc\u822a\u680f\u548c\u4fa7\u8fb9\u5bfc\u822a\u680f\u7684 navId \u5c5e\u6027\u7ed1\u5b9a\u4e24\u8005\u5173\u7cfb\uff0c\u4f60\u5e94\u8be5\u4f7f\u7528 @nav \u76d1\u542c\u9876\u90e8\u5bfc\u822a\u680f\u5e76\u66f4\u65b0\u4fa7\u8fb9\u5bfc\u822a\u680f\u7684 v-model \u5c5e\u6027

  • \u81ea\u52a8

    <ui-top-app-bar nav-id="demo-menu"></ui-top-app-bar>\n<ui-drawer nav-id="demo-menu" type="modal"></ui-drawer>\n
  • \u624b\u52a8

    <ui-top-app-bar @nav="balmUI.onChange('open', !open)"></ui-top-app-bar>\n<ui-drawer v-model="open" type="modal"></ui-drawer>\n
'},4182:function(t,e,o){"use strict";o.r(e);e.default='

\u6811

New in 9.16.0

'},22498:function(t,e,o){"use strict";o.r(e);e.default='
<ui-tree></ui-tree>\n

Props

Name Type Default Description Version
modelValue (v-model) string, number, array '' \u9009\u4e2d\u7684\u6811\u8282\u70b9\u952e\u503c
filterParentNode boolean false \u9009\u4e2d\u7684\u6811\u8282\u70b9\u952e\u503c\u8fc7\u6ee4\u6240\u6709\u7236\u8282\u70b9 10.17.0
data array [] \u6e90\u6570\u636e
dataFormat object {} \u5b9a\u4e49\u6e90\u6570\u636e\u7684\u683c\u5f0f
maxLevel number 0 \u8bbe\u7f6e\u52a0\u8f7d\u6811\u8282\u70b9\u7684\u6700\u5927\u5c42\u7ea7
multiple boolean false \u662f\u5426\u652f\u6301\u9009\u5b9a\u7684\u591a\u4e2a\u6811\u8282\u70b9
singleChecked boolean false \u542f\u7528\u6811\u8282\u70b9\u5355\u8282\u70b9\u9009\u62e9\u3002\u4ec5\u9488\u5bf9 multiple \u6811\u8282\u70b9\u6709\u6548\u3002 9.34.0
loadData function null \u542f\u7528\u5f02\u6b65\u52a0\u8f7d\u6570\u636e
autoExpandParent boolean false \u662f\u5426\u81ea\u52a8\u5c55\u5f00\u6839\u7236\u7ea7\u6811\u8282\u70b9 9.17.0
autoExpandSelected boolean false \u662f\u5426\u81ea\u52a8\u5c55\u5f00\u624b\u52a8\u8d4b\u503c\u9009\u62e9\u7684\u6811\u8282\u70b9\u548c\u5b83\u7684\u7236\u7ea7\u6811\u8282\u70b9 10.21.0
autoExpandAll boolean false \u662f\u5426\u81ea\u52a8\u5c55\u5f00\u6240\u6709\u6811\u8282\u70b9 10.21.0
defaultExpandedKeys array [] \u6307\u5b9a\u9ed8\u8ba4\u5c55\u5f00\u7684\u6811\u8282\u70b9\u7684\u8282\u70b9\u503c 9.17.0
  • \u9ed8\u8ba4\u6570\u636e\u683c\u5f0f

    {\n  label: 'label',\n  value: 'value', // nodeKey\n  children: 'children',\n  hasChildren: 'hasChildren',\n  isLeaf: 'isLeaf',\n  disabled: 'disabled' // New in 9.35.0\n}\n
  • \u5f02\u6b65\u52a0\u8f7d\u6570\u636e

    type TreeNodes = { [key: string]: any }[];\n\ninterface Tree {\n  loadData(nodeKey: string | number): TreeNodes;\n}\n

Slots

Name Props Description Version
default default \u63d2\u69fd\u5305\u542b\u6811\u9876\u90e8\u680f\u5185\u5bb9\u53ca HTML
expand-more-icon \u81ea\u5b9a\u4e49\u5c55\u5f00\u56fe\u6807
expand-less-icon \u81ea\u5b9a\u4e49\u6536\u8d77\u56fe\u6807
before data before \u63d2\u69fd\u5305\u542b\u6811\u8282\u70b9\u7684\u81ea\u5b9a\u4e49\u4fe1\u606f\u53ca HTML 9.32.0
title data title \u63d2\u69fd\u5305\u542b\u6811\u8282\u70b9\u7684\u6807\u9898\u53ca HTML
after data after \u63d2\u69fd\u5305\u542b\u6811\u8282\u70b9\u7684\u81ea\u5b9a\u4e49\u52a8\u4f5c\u53ca HTML

Rename slot action to after in 9.32.0

Events

Name Type Description Version
update:modelValue function(selectedNodes: string | array, selectedEvent: object) \u6811\u8282\u70b9\u503c\u53d8\u5316\u65f6\u89e6\u53d1
selected function(selectedNodesData: string | array) \u6811\u8282\u70b9\u88ab\u9009\u4e2d\u65f6\u89e6\u53d1 9.34.0

9.35.0 \u4e2d @change \u4e8b\u4ef6\u65b0\u589e selectedEvent \u53c2\u6570

\u63d0\u793a\uff1a\u5982\u679c\u4f60\u4e0d\u4f7f\u7528 v-model \u7ed1\u5b9a\u6570\u636e\uff0c\u4f60\u5e94\u8be5\u4f7f\u7528 @update:modelValue \u76d1\u542c\u6811\u8282\u70b9\u503c\u5e76\u66f4\u65b0 modelValue \u5c5e\u6027

  • \u81ea\u52a8

    <ui-tree v-model="selectedNodes"></ui-tree>\n
  • \u624b\u52a8

    <ui-tree\n  :model-value="selectedNodes"\n  @update:model-value="balmUI.onChange('selectedNodes', $event)"\n></ui-tree>\n

Public Methods

  • \u64cd\u4f5c\u6811\u8282\u70b9 (New in 9.31.0)

    <ui-tree ref="tree"></ui-tree>\n
    $refs.tree.updateNode(type: 'create' | 'update' | 'delete', parentKey: string | number, nodeData: object)\n\n$refs.tree.getNode(nodeKey: string): object\n
'},18661:function(t,e,o){"use strict";o.r(e);e.default='

\u6392\u7248

Material Design \u6392\u7248\u8bbe\u8ba1\u4e86\u6587\u672c\u5927\u5c0f\u548c\u6837\u5f0f\uff0c\u4ee5\u5728\u5178\u578b\u4f7f\u7528\u6761\u4ef6\u4e0b\u5e73\u8861\u5185\u5bb9\u5bc6\u5ea6\u548c\u9605\u8bfb\u8212\u9002\u5ea6\u3002

'},91283:function(t,e,o){"use strict";o.r(e);e.default='
  • $tt(style)

    type TypographyStyle =\n  | 'headline1'\n  | 'headline2'\n  | 'headline3'\n  | 'headline4'\n  | 'headline5'\n  | 'headline6'\n  | 'subtitle1'\n  | 'subtitle2'\n  | 'body1'\n  | 'body2'\n  | 'caption'\n  | 'button'\n  | 'overline'\n  | string;\n\ninterface VueInstance {\n  $tt(style: TypographyStyle): string;\n}\n
Param Type Default Description
style string '' \u6392\u7248\u6837\u5f0f\u540d\u6216\u81ea\u5b9a\u4e49\u6837\u5f0f class

MDC Web \u9ed8\u8ba4\u63d0\u4f9b\u4e86 13 \u79cd\u6837\u5f0f\uff1a

Style Description
headline1 \u6807\u9898 1\uff0c\u5c4f\u5e55\u4e0a\u6700\u5927\u7684\u6587\u672c\uff0c\u4fdd\u7559\u7b80\u77ed\uff0c\u91cd\u8981\u7684\u6587\u672c\u6216\u6570\u5b57
headline2 \u6807\u9898 2
headline3 \u6807\u9898 3
headline4 \u6807\u9898 4
headline5 \u6807\u9898 5
headline6 \u6807\u9898 6
subtitle1 \u526f\u6807\u9898 1\uff0c\u6bd4\u6807\u9898\u5c0f\uff0c\u4fdd\u7559\u7ed9\u957f\u5ea6\u8f83\u77ed\u7684\u4e2d\u5f3a\u8c03\u6587\u5b57
subtitle2 \u526f\u6807\u9898 2
body1 \u4e3b\u4f53\u5185\u5bb9 1\uff0c\u7528\u4e8e\u957f\u7bc7\u5199\u4f5c
body2 \u4e3b\u4f53\u5185\u5bb9 2
caption \u6ce8\u91ca\u6587\u5b57
button \u6309\u94ae\u6587\u5b57
overline \u8bf4\u660e\u6587\u5b57

\u4f60\u53ef\u4ee5\u5f88\u5bb9\u6613\u4e3a\u4f60\u7684\u9879\u76ee\u91cd\u5199\u6392\u7248\u6837\u5f0f\uff08CSS Classes\uff09

\u5728\u975e .vue \u7ec4\u4ef6\u4e2d\u4f7f\u7528 $tt

import { useTypography } from 'balm-ui';\n// \u6216\n// import { useTypography } from 'balm-ui/plugins/typography';\n\nconst $tt = useTypography();\nconsole.log($tt('custom-style-1'));\n
'},31512:function(t,e,o){"use strict";o.r(e);e.default='

\u5e38\u7528\u5de5\u5177\u5e93

1. \u7c7b\u578b\u68c0\u6d4b

\u9ed8\u8ba4\u7528\u6cd5

import { types } from 'balm-ui';\n

\u72ec\u7acb\u7528\u6cd5

import types from 'balm-ui/utils/types';\n

\u65b9\u6cd5

types.getType(any): string;\n\ntypes.isUndefined(value): boolean;\ntypes.isNull(value): boolean;\ntypes.isBoolean(value): boolean;\ntypes.isNumber(value): boolean;\ntypes.isString(value): boolean;\ntypes.isSymbol(value): boolean;\ntypes.isObject(value): boolean;\ntypes.isArray(value): boolean;\ntypes.isFunction(value): boolean;\n

2. Helpers

\u72ec\u7acb\u7528\u6cd5

import { helpers } from 'balm-ui';\n

\u72ec\u7acb\u7528\u6cd5

import helpers from 'balm-ui/utils/helpers';\n

\u65b9\u6cd5

helpers.isEmpty(value): boolean;\n\nhelpers.jsonEqual(jsonA, jsonB): boolean; // \u5c5e\u6027\u7684\u987a\u5e8f\u5f88\u91cd\u8981\nhelpers.isDeepEqual(obj1, obj2): boolean;\n\nhelpers.merge(target: object, source: object): object;\nhelpers.merge.all(arrayOfObjects: object[]): object;\n\n// New in 9.28.0\nhelpers.toCamelCase(str: string): string;\nhelpers.toCapitalize(str: string): string;\n
  • isEmpty \u4ee5\u4e0b\u503c\u88ab\u8ba4\u4e3a\u662f\u7a7a\u503c\uff1a
    • undefined
    • null
    • false
    • 0
    • ''
    • '0'
    • {}
    • []
    • an empty map or set

3. IE

\u72ec\u7acb\u7528\u6cd5

import { detectIE } from 'balm-ui';\n

\u72ec\u7acb\u7528\u6cd5

import detectIE from 'balm-ui/utils/ie';\n

\u65b9\u6cd5

detectIE(): number | false;\n

IE \u6d4f\u89c8\u5668\u8fd4\u56de\u7248\u672c\u53f7\uff0c\u5176\u4ed6\u6d4f\u89c8\u5668\u8fd4\u56de false

4. Ban debugger

New in 10.23.0

\u9ed8\u8ba4\u7528\u6cd5

import { ban } from 'balm-ui';\n

\u72ec\u7acb\u7528\u6cd5

import ban from 'balm-ui/utils/ban';\n

\u65b9\u6cd5

ban(): void;\n
'},52506:function(t,e,o){"use strict";o.r(e);e.default='

\u9a8c\u8bc1\u5668

'},66187:function(t,e,o){"use strict";o.r(e);e.default='
import { useValidator } from 'balm-ui';\n// \u6216\n// import { useValidator } from 'balm-ui/plugins/validator';\n\nconst validator = useValidator();\n
  • \u9a8c\u8bc1\u65b9\u6cd5

    interface BalmUIValidator {\n  validate(\n    formData: { [fieldName: string]: any },\n    customFieldset?: string[]\n  ): BalmUIValidationResult;\n}\n
Param Type Default Description
formData object {} \u4e00\u7ec4\u8868\u5355\u6570\u636e\u5bf9\u8c61
customFieldset array [] \u53ef\u9009\u3002\u9700\u8981\u9a8c\u8bc1\u7684\u5b57\u6bb5\u540d\u79f0\u3002
  • \u9a8c\u8bc1\u7ed3\u679c

    interface BalmUIValidationResult {\n  valid: boolean;\n  validFields: string[];\n  invalidFields: string[];\n  message: string;\n  messages: string[];\n  validMsg: { [fieldName: string]: string };\n}\n
Result Type Description
valid boolean \u9a8c\u8bc1\u7ed3\u679c
validFields array \u901a\u8fc7\u9a8c\u8bc1\u7684\u5b57\u6bb5
invalidFields array \u672a\u901a\u8fc7\u9a8c\u8bc1\u7684\u5b57\u6bb5
message string \u7b2c\u4e00\u4e2a\u672a\u901a\u8fc7\u9a8c\u8bc1\u7684\u5b57\u6bb5\u63d0\u793a\u8bed
messages array \u6240\u6709\u672a\u901a\u8fc7\u9a8c\u8bc1\u7684\u5b57\u6bb5\u63d0\u793a\u8bed
validMsg object \u63d0\u793a\u8bed\u5bf9\u8c61\u5316\uff08\u683c\u5f0f\u7c7b\u4f3c formData\uff09

\u63d0\u793a\uff1avalidMsg \u53ef\u4ee5\u914d\u5408 <ui-textfield-helper>/<ui-select-helper> \u4e00\u8d77\u4f7f\u7528\u6765\u89e6\u53d1 <ui-textfield>/<ui-select> \u9519\u8bef\u63d0\u793a\u7684\u6837\u5f0f

  • \u9a8c\u8bc1\u89c4\u5219

    interface BalmUIValidationRule {\n  key: string; // field name\n  label?: string;\n  validator: string; // 'customRule1, customRule2, ...'\n  ...customRule?: {\n    validate(fieldValue: any, formData: { [fieldName: string]: any }): boolean;\n    message: string | (fieldValue: any, formData: { [fieldName: string]: any }) => string;\n  };\n}\n

2.1 \u9ed8\u8ba4\u9a8c\u8bc1

\u26a0\ufe0f \u4e0d\u652f\u6301 <script setup>

// \u81ea\u5b9a\u4e49\u5c40\u90e8\u9a8c\u8bc1\u89c4\u5219\nconst validations = [\n  {\n    key: 'fieldName1',\n    label: 'Field Label',\n    validator: 'required, customRule1',\n    customRule1: {\n      validate(fieldValue, formData) {\n        // \u9a8c\u8bc1\u65b9\u6cd5\n        return true;\n      },\n      message: '%s is required' // '%s' \u7b26\u53f7\u5c06\u81ea\u52a8\u66ff\u6362 label \u7684\u6587\u672c\n    }\n    // \u66f4\u591a\u81ea\u5b9a\u4e49\u89c4\u5219\n    // customRule2: { ... }\n  }\n  // \u66f4\u591a\u8868\u5355\u5b57\u6bb5\n  // {\n  //   key: 'fieldName2',\n  //   validator: 'required'\n  // }\n];\n
  • Composition API

    import { reactive, toRefs } from 'vue';\nimport { useValidator } from 'balm-ui';\n\n// const validations = [...]\n\nconst state = reactive({\n  formData: {\n    fieldName1: '',\n    fieldName2: ''\n  }\n});\n\nexport default {\n  setup() {\n    const validator = useValidator();\n\n    function onSubmit() {\n      const {\n        valid,\n        validFields,\n        invalidFields,\n        message,\n        messages,\n        validMsg\n      } = validator.validate(state.formData);\n    }\n\n    return {\n      validations,\n      ...toRefs(state),\n      onSubmit\n    };\n  }\n};\n
  • Options API

    import { useValidator } from 'balm-ui';\n\n// const validations = [...]\n\nexport default {\n  data() {\n    return {\n      validator: useValidator(),\n      validations,\n      formData: {\n        fieldName1: '',\n        fieldName2: ''\n      }\n    };\n  },\n  methods: {\n    onSubmit() {\n      const {\n        valid,\n        validFields,\n        invalidFields,\n        message,\n        messages,\n        validMsg\n      } = this.validator.validate(this.formData);\n    }\n  }\n};\n

2.2 \u52a8\u6001\u8868\u5355\u9a8c\u8bc1

// New in 9.15.0\ninterface BalmUIValidator {\n  clear(): void;\n  get(fieldName?: string): BalmUIValidationRule[] | BalmUIValidationRule; // \u663e\u793a\u5f53\u524d\u5df2\u8bbe\u7f6e\u7684\u9a8c\u8bc1\u89c4\u5219\n  set(fieldName: string, validationRule: BalmUIValidationRule): void;\n  set(validations: BalmUIValidationRule[]): void;\n}\n
Param Type Default Description
fieldName string '' formData \u7684\u4e00\u4e2a\u5b57\u6bb5\u540d\u79f0\uff08BalmUI \u9a8c\u8bc1\u5668\u89c4\u5219\u7684 key\uff09
validation object {} \u4e00\u4e2a\u9a8c\u8bc1\u89c4\u5219\uff08BalmUI \u9a8c\u8bc1\u5668\u89c4\u5219\u7684 value\uff09
validations object [] \u8be6\u89c1\u4e0a\u65b9 BalmUI \u9a8c\u8bc1\u5668\u89c4\u5219
    1. \u4f7f\u7528 computed
    import { useValidator } from 'balm-ui';\n\nexport default {\n  data() {\n    return {\n      validator: useValidator(),\n      step: 1,\n      formData: {\n        username: '',\n        password: ''\n      }\n    };\n  },\n  computed: {\n    validations() {\n      return this.step === 1\n        ? [\n            {\n              key: 'username',\n              label: 'Username',\n              validator: 'required'\n            }\n          ]\n        : [\n            {\n              key: 'password',\n              label: 'Password',\n              validator: 'required'\n            }\n          ];\n    }\n  },\n  methods: {\n    onSubmit() {\n      let result = this.validator.validate(this.formData);\n      // ...\n    }\n  }\n};\n
    1. \u4f7f\u7528 customFieldset
    import { useValidator } from 'balm-ui';\n\nconst validations = [\n  {\n    key: 'username',\n    label: 'Username',\n    validator: 'required'\n  },\n  {\n    key: 'password',\n    label: 'Password',\n    validator: 'required'\n  }\n];\n\nexport default {\n  data() {\n    return {\n      validator: useValidator(),\n      validations,\n      step: 1,\n      formData: {\n        username: '',\n        password: ''\n      }\n    };\n  },\n  methods: {\n    onSubmit() {\n      let customFieldset = this.step === 1 ? ['username'] : ['password'];\n      let result = this.validator.validate(this.formData, customFieldset);\n      // ...\n    }\n  }\n};\n
    1. \u4f7f\u7528 validator.set \u8bbe\u7f6e\u81ea\u5b9a\u4e49\u9a8c\u8bc1\u89c4\u5219
    import { useValidator } from 'balm-ui';\n\nexport default {\n  data() {\n    return {\n      validator: useValidator(),\n      step: 1,\n      formData: {\n        username: '',\n        password: ''\n      }\n    }\n  },\n  methods: {\n    onSubmit() {\n      let customValidations =\n        this.step === 1\n          ? [\n              {\n                key: 'username',\n                label: 'Username',\n                validator: 'required'\n              }\n            ]\n          : [\n              {\n                key: 'password',\n                label: 'Password',\n                validator: 'required'\n              }\n            ];\n      this.validator.set(customValidations);\n\n      let result = this.validator.validate(this.formData);\n      // ...\n  }\n};\n
'},41468:function(t,e,o){"use strict";o.r(e),o.d(e,{default:function(){return i}});var d=o(73114);const n={key:1},a={key:3};var l={name:"UiFooterNav",props:{prev:{type:[Object,Boolean],default:!1},next:{type:[Object,Boolean],default:!1}}};var i=(0,o(83744).Z)(l,[["render",function(t,e,o,l,i,c){const r=(0,d.resolveComponent)("router-link");return(0,d.openBlock)(),(0,d.createElementBlock)("footer",null,[o.prev?((0,d.openBlock)(),(0,d.createBlock)(r,{key:0,to:{name:o.prev.url}},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)(" \u2190 "+(0,d.toDisplayString)(o.prev.name),1)])),_:1},8,["to"])):((0,d.openBlock)(),(0,d.createElementBlock)("span",n)),o.next?((0,d.openBlock)(),(0,d.createBlock)(r,{key:2,to:{name:o.next.url}},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)((0,d.toDisplayString)(o.next.name)+" \u2192 ",1)])),_:1},8,["to"])):((0,d.openBlock)(),(0,d.createElementBlock)("span",a))])}]])},33724:function(t,e,o){"use strict";o.r(e),o.d(e,{default:function(){return l}});var d=o(73114);const n=["innerHTML"];var a={name:"UiMarkdown",props:{text:{type:String,default:""},code:{type:Boolean,default:!1}},data(){return{html:this.text}},computed:{className(){return this.code?"snippet-code":"markdown-body"}},watch:{text(t){this.html=t,this.init()}},mounted(){this.init()},methods:{init(){this.html&&this.$nextTick((()=>{this.$prism.highlightAll()}))}}};var l=(0,o(83744).Z)(a,[["render",function(t,e,o,a,l,i){const c=(0,d.resolveComponent)("ui-skeleton");return l.html?((0,d.openBlock)(),(0,d.createElementBlock)("div",{key:0,class:(0,d.normalizeClass)(i.className),innerHTML:l.html},null,10,n)):((0,d.openBlock)(),(0,d.createBlock)(c,{key:1,active:""}))}]])},48558:function(t,e,o){"use strict";o.r(e),o.d(e,{default:function(){return l}});var d=o(73114);const n={class:"snippet-content"};var a={name:"UiSnippet",props:{code:{type:String,default:""}},data(){return{show:!1}}};var l=(0,o(83744).Z)(a,[["render",function(t,e,o,a,l,i){const c=(0,d.resolveComponent)("ui-button"),r=(0,d.resolveComponent)("ui-markdown"),s=(0,d.resolveComponent)("ui-collapse");return(0,d.openBlock)(),(0,d.createBlock)(s,{modelValue:l.show,"onUpdate:modelValue":e[0]||(e[0]=t=>l.show=t),class:"ui-snippet"},{toggle:(0,d.withCtx)((()=>[(0,d.createVNode)(c,{icon:l.show?"code":"settings_ethernet"},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)((0,d.toDisplayString)(l.show?"Hide":"Show")+" Code ",1)])),_:1},8,["icon"])])),default:(0,d.withCtx)((()=>[(0,d.createElementVNode)("div",n,[(0,d.createVNode)(r,{code:"",text:o.code},null,8,["text"])])])),_:1},8,["modelValue"])}]])},10067:function(t,e,o){"use strict";o.r(e),o.d(e,{default:function(){return i}});var d=o(73114);const n={class:"octicon octicon-mark-github",width:"32",height:"32",viewBox:"0 0 16 16","aria-hidden":"true"},a=[(0,d.createElementVNode)("path",{"fill-rule":"evenodd",d:"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"},null,-1)];var l={name:"SvgGithub"};var i=(0,o(83744).Z)(l,[["render",function(t,e,o,l,i,c){return(0,d.openBlock)(),(0,d.createElementBlock)("svg",n,a)}]])},99023:function(t,e,o){"use strict";o.r(e),o.d(e,{default:function(){return i}});var d=o(73114);const n={viewBox:"0 0 24 24","aria-hidden":"true"},a=[(0,d.createElementVNode)("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),(0,d.createElementVNode)("path",{d:"M23 12c0-6.07-4.93-11-11-11S1 5.93 1 12s4.93 11 11 11 11-4.93 11-11zM5 17.64C3.75 16.1 3 14.14 3 12c0-2.13.76-4.08 2-5.63v11.27zM17.64 5H6.36C7.9 3.75 9.86 3 12 3s4.1.75 5.64 2zM12 14.53L8.24 7h7.53L12 14.53zM17 9v8h-4l4-8zm-6 8H7V9l4 8zm6.64 2c-1.55 1.25-3.51 2-5.64 2s-4.1-.75-5.64-2h11.28zM21 12c0 2.14-.75 4.1-2 5.64V6.37c1.24 1.55 2 3.5 2 5.63z"},null,-1)];var l={name:"SvgLogo"};var i=(0,o(83744).Z)(l,[["render",function(t,e,o,l,i,c){return(0,d.openBlock)(),(0,d.createElementBlock)("svg",n,a)}]])},63665:function(t,e,o){"use strict";o.r(e),o.d(e,{default:function(){return s}});var d=o(73114);const n=(0,d.createElementVNode)("i",{class:"demo-theme-color-radio"},[(0,d.createElementVNode)("span",{class:"demo-theme-color-radio__inner"})],-1),a=(0,d.createElementVNode)("i",{class:"demo-theme-color-radio"},[(0,d.createElementVNode)("span",{class:"demo-theme-color-radio__inner"})],-1);var l=o(13361);const i=[{label:"Baseline (default)",value:"baseline"},{label:"Dark background (custom)",value:"dark"},{label:"Black primary (custom)",value:"black"},{label:"Shrine (custom)",value:"shrine"}],c=()=>{const t=(0,d.reactive)({open:!1,selectedTheme:"baseline"}),e=(0,l.Fg)(),o=(0,l.oR)();return{...(0,d.toRefs)(t),onSelected:function(d){let n,a,l=i[d.index].value;switch(l){case"dark":n="#ffd54f",a="#ec407a";break;case"black":n="#212121",a="#64dd17";break;case"shrine":n="#fcb8ab",a="#feeae6";break;default:n="#6200ee",a="#018786"}e.colors="shrine"===l?{primary:n,secondary:a,"on-primary":"#442b2d","on-secondary":"#442b2d"}:{primary:n,secondary:a},o.getTheme(),t.selectedTheme=l}}};var r={setup(){return{themeColorList:i,...c()}}};var s=(0,o(83744).Z)(r,[["render",function(t,e,o,l,i,c){const r=(0,d.resolveComponent)("ui-button"),s=(0,d.resolveComponent)("ui-menuitem-icon"),u=(0,d.resolveComponent)("ui-menuitem"),p=(0,d.resolveComponent)("ui-menu"),m=(0,d.resolveComponent)("ui-menu-anchor");return(0,d.openBlock)(),(0,d.createBlock)(m,{class:"switch-theme"},{default:(0,d.withCtx)((()=>[(0,d.createVNode)(r,{title:"Change theme colors","data-theme":t.selectedTheme,onClick:e[0]||(e[0]=e=>t.open=!0)},{default:(0,d.withCtx)((()=>[n])),_:1},8,["data-theme"]),(0,d.createVNode)(p,{modelValue:t.open,"onUpdate:modelValue":e[1]||(e[1]=e=>t.open=e),class:"demo-theme-menu",onSelected:t.onSelected},{default:(0,d.withCtx)((()=>[((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(l.themeColorList,((e,o)=>((0,d.openBlock)(),(0,d.createBlock)(u,{key:o,class:(0,d.normalizeClass)({"demo-theme-menu__list-item--selected":t.selectedTheme===e.value}),"data-theme":e.value},{default:(0,d.withCtx)((()=>[(0,d.createVNode)(s,null,{default:(0,d.withCtx)((()=>[a])),_:1}),(0,d.createTextVNode)(" "+(0,d.toDisplayString)(e.label),1)])),_:2},1032,["class","data-theme"])))),128))])),_:1},8,["modelValue","onSelected"])])),_:1})}]])},33750:function(t,e,o){"use strict";o.r(e),o.d(e,{default:function(){return r}});var d=o(73114);const n={class:"toc-affix"};var a=o(85870),l=o(98197);const i=document.documentElement||document.body;var c={name:"UiTocAffix",props:{items:{type:Object,default(){return{}}},withoutApis:{type:Boolean,default:!1},withoutCss:{type:Boolean,default:!1}},setup(){const{t:t}=(0,a.QT)();return{t:t}},data(){return{active:0,lastScrollTop:0,lastScrollTopCache:0}},computed:{offset(){return window.innerWidth>=l.$MIN_WIDTH?128:104}},mounted(){window.IE&&window.IE<=11||(this.lastScrollTop=this.getScrollTop(),this.$nextTick((()=>{const t=["usage","demo","apis","sass"].map((t=>{const e=document.getElementById(`ui-${t}`);return e?this.getElementTop(e)-this.offset:0})),e=t.filter((t=>t)).length,o=.5*document.body.clientHeight;window.addEventListener("balmScroll",(()=>{const d=this.getScrollTop(),n=d+o;if(d>this.lastScrollTop)for(let o=this.active+1;o=t[o];o++)this.active!==o&&(this.active=o,this.lastScrollTopCache=d);else if(dl.active=t),i.onChange]},{default:(0,d.withCtx)((()=>[(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createBlock)(c,{class:"v-anchor"},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)((0,d.toDisplayString)(a.t("page.usage")),1)])),_:1})),[[s,"#ui-usage","href"]]),(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createBlock)(c,{class:"v-anchor"},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)((0,d.toDisplayString)(a.t("page.demo")),1)])),_:1})),[[s,"#ui-demo","href"]]),((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(o.items,((t,e)=>(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createBlock)(c,{key:e,class:"v-anchor"},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)((0,d.toDisplayString)(t.name),1)])),_:2},1024)),[[s,t.id,"href"]]))),128)),o.withoutApis?(0,d.createCommentVNode)("",!0):(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createBlock)(c,{key:0,class:"v-anchor"},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)((0,d.toDisplayString)(a.t("page.apis")),1)])),_:1})),[[s,"#ui-apis","href"]]),o.withoutCss?(0,d.createCommentVNode)("",!0):(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createBlock)(c,{key:1,class:"v-anchor"},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)((0,d.toDisplayString)(a.t("page.sass")),1)])),_:1})),[[s,"#ui-sass","href"]]),(0,d.renderSlot)(t.$slots,"default")])),_:3},8,["modelValue","onUpdate:modelValue"])])),[[u,[2,8],void 0,{transition:!0}]])}]])},32476:function(t,e,o){"use strict";o.r(e),o.d(e,{default:function(){return u}});var d=o(73114);const n={class:"top-app-toolbar"},a={class:"pro",href:"https://pro.balmjs.com/",target:"_blank",rel:"noopener","aria-describedby":"balm-ui-pro"},l={href:"https://github.com/balmjs/balm-ui",target:"_blank",rel:"noopener"};var i=o(63665),c=o(10067),r=o(98197),s={name:"TopAppToolbar",components:{SwitchTheme:i.default,SvgGithub:c.default},props:{itemClass:{type:String,required:!0}},setup(){return{translations:r.translations}}};var u=(0,o(83744).Z)(s,[["render",function(t,e,o,i,c,r){const s=(0,d.resolveComponent)("switch-theme"),u=(0,d.resolveComponent)("ui-icon-button"),p=(0,d.resolveComponent)("ui-menuitem"),m=(0,d.resolveComponent)("ui-menu"),h=(0,d.resolveComponent)("ui-menu-anchor"),g=(0,d.resolveComponent)("svg-github"),b=(0,d.resolveDirective)("tooltip");return(0,d.openBlock)(),(0,d.createElementBlock)(d.Fragment,null,["styles.color"===t.$route.name?((0,d.openBlock)(),(0,d.createBlock)(s,{key:0})):(0,d.createCommentVNode)("",!0),(0,d.createElementVNode)("div",n,[(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createElementBlock)("a",a,[(0,d.createTextVNode)(" PRO ")])),[[b,"BalmUI Pro is now released"]]),(0,d.createVNode)(h,null,{default:(0,d.withCtx)((()=>[(0,d.createVNode)(u,{icon:"language",onClick:e[0]||(e[0]=e=>t.$store.showTranslations=!0)}),(0,d.createVNode)(m,{modelValue:t.$store.showTranslations,"onUpdate:modelValue":e[1]||(e[1]=e=>t.$store.showTranslations=e),onSelected:t.$store.setLang},{default:(0,d.withCtx)((()=>[((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(i.translations,(e=>((0,d.openBlock)(),(0,d.createBlock)(p,{key:e.value,item:e,selected:e.value===t.$store.lang},null,8,["item","selected"])))),128))])),_:1},8,["modelValue","onSelected"])])),_:1}),(0,d.withDirectives)((0,d.createVNode)(u,{class:(0,d.normalizeClass)([o.itemClass,"donate"]),icon:"support","aria-describedby":"donate",onClick:e[2]||(e[2]=e=>t.$router.push({name:"donate"}))},null,8,["class"]),[[b,"Support BalmUI"]]),(0,d.createElementVNode)("a",l,[(0,d.createVNode)(u,{class:(0,d.normalizeClass)([o.itemClass,"github"]),"aria-describedby":"github"},{default:(0,d.withCtx)((()=>[(0,d.createVNode)(g)])),_:1},8,["class"])])])],64)}]])},91355:function(t,e,o){"use strict";o.r(e),o.d(e,{default:function(){return l}});var d=o(73114);const n={class:"hero"};var a={name:"PageHome",metaInfo(){return{subtitle:"Home"}}};var l=(0,o(83744).Z)(a,[["render",function(t,e,o,a,l,i){const c=(0,d.resolveComponent)("ui-button"),r=(0,d.resolveDirective)("ripple");return(0,d.openBlock)(),(0,d.createElementBlock)("div",{class:(0,d.normalizeClass)(t.$tt("body1"))},[(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createElementBlock)("header",n,[(0,d.createElementVNode)("h1",{class:(0,d.normalizeClass)(t.$tt("headline1"))},"BalmUI for Vue3",2)])),[[r,void 0,void 0,{unbounded:!0}]]),(0,d.createElementVNode)("div",{class:(0,d.normalizeClass)([t.$tt("body2"),"pure-docs"])},[(0,d.createElementVNode)("p",{class:(0,d.normalizeClass)(t.$tt("subtitle1"))},(0,d.toDisplayString)(t.$t("home.slogan")),3),(0,d.createElementVNode)("p",{class:(0,d.normalizeClass)(t.$tt("subtitle2"))},(0,d.toDisplayString)(t.$t("home.title")),3),(0,d.createVNode)(c,{raised:"",onClick:e[0]||(e[0]=e=>t.$router.push({name:"guide.introduction"}))},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)((0,d.toDisplayString)(t.$t("home.get-started")),1)])),_:1})],2)],2)}]])},50873:function(t,e,o){"use strict";o.r(e),o.d(e,{default:function(){return y}});var d=o(73114),n=o(22201),a=o(85870),l=o(13361),i=o(32476),c=o(35125),r=o(98197),s=o(41536);const u={class:"balmui-body"},p=["href","onClick"],m={class:"balmui-version"},h={class:"version"},g=(0,d.createElementVNode)("a",{href:"https://balm.js.org/",target:"_blank",rel:"noopener"}," BalmJS ",-1),b={class:"version"},f="BalmUI",v={name:"AppLayout",inheritAttrs:!1,customOptions:{title:f,VERSION:r.VERSION,lazyLoadedTime:r.lazyLoadedTime,$MIN_WIDTH:r.$MIN_WIDTH,menu:s.default},metaInfo(){return{title:f}}};var y=Object.assign(v,{setup(t){const e=document.documentElement||document.body,o=(0,d.reactive)({drawerType:"permanent",drawerOpen:!1,isWideScreen:!0,httpLoading:!1,pageLoad:{loading:!1,progress:0,timer:null},showBanner:!1,hasNewVersion:!1}),{drawerType:v,drawerOpen:y,isWideScreen:k,pageLoad:w,showBanner:x,hasNewVersion:T}=(0,d.toRefs)(o),C=(0,d.ref)(null),q=(0,n.yj)(),S=(0,l.xN)(),{t:I,locale:$}=(0,a.QT)(),N=(0,l.oR)(),E=(0,l.VY)();function B(){o.isWideScreen=window.innerWidth>=r.$MIN_WIDTH,o.drawerType=o.isWideScreen?"permanent":"modal"}function D(){o.pageLoad.progress=1,clearInterval(o.pageLoad.timer)}function V(){o.pageLoad.progress<1?(o.pageLoad.progress+=.2,o.pageLoad.progress=+o.pageLoad.progress.toFixed(2)):D()}const j=(0,d.computed)((()=>(0,c.getPageClassName)("page",q.name)));function U(){o.showBanner=!1,o.hasNewVersion&&(N.serviceWorker.postMessage({action:"skipWaiting"}),o.hasNewVersion=!1)}function O(t,e){o.drawerOpen=!1,window.innerWidth{(0,d.nextTick)((()=>C.value.parentNode.removeAttribute("class"))),S.on("request",(()=>{o.httpLoading=!0})),S.on("response",(()=>{o.httpLoading=!1})),S.on("on-error",(t=>{E(t)})),S.on("page-loading",(()=>{o.pageLoad.loading=!0,o.pageLoad.progress=0,clearInterval(o.pageLoad.timer),o.pageLoad.timer=setInterval(V,r.lazyLoadedTime/5)})),S.on("page-loaded",(()=>{D(),setTimeout((()=>{o.pageLoad.loading=!1,e.scrollTop=0}),1)})),S.on("global-message",(t=>{o.showBanner=t})),S.on("switch-lang",(t=>{$.value=t})),S.on("refresh",(()=>{o.hasNewVersion=!0,o.showBanner=!0})),B(),window.addEventListener("balmResize",B),N.isFirstLoad&&(o.pageLoad.loading=!1,e.scrollTop=0),setTimeout((()=>{$.value=N.lang}),1)})),(0,d.onBeforeUnmount)((()=>{S.off(),window.removeEventListener("balmResize",B)})),(t,e)=>{const o=(0,d.resolveComponent)("ui-progress"),n=(0,d.resolveComponent)("router-view"),a=(0,d.resolveComponent)("router-link"),l=(0,d.resolveComponent)("ui-top-app-bar"),c=(0,d.resolveComponent)("ui-icon"),q=(0,d.resolveComponent)("ui-button"),S=(0,d.resolveComponent)("ui-banner"),$=(0,d.resolveComponent)("ui-drawer-title"),N=(0,d.resolveComponent)("ui-drawer-subtitle"),E=(0,d.resolveComponent)("ui-drawer-header"),B=(0,d.resolveComponent)("ui-badge"),D=(0,d.resolveComponent)("ui-nav-item"),V=(0,d.resolveComponent)("ui-list-divider"),_=(0,d.resolveComponent)("ui-list-group-subheader"),z=(0,d.resolveComponent)("ui-nav"),A=(0,d.resolveComponent)("ui-drawer-content"),M=(0,d.resolveComponent)("ui-drawer"),L=(0,d.resolveComponent)("ui-spinner");return(0,d.openBlock)(),(0,d.createElementBlock)("div",{ref_key:"root",ref:C,class:"balmui-container"},[(0,d.unref)(w).loading?((0,d.openBlock)(),(0,d.createBlock)(o,{key:0,class:"top-loading",progress:(0,d.unref)(w).progress},null,8,["progress"])):(0,d.createCommentVNode)("",!0),t.$store.noLayout?((0,d.openBlock)(),(0,d.createBlock)(n,{key:1,class:(0,d.normalizeClass)(j.value)},null,8,["class"])):((0,d.openBlock)(),(0,d.createElementBlock)(d.Fragment,{key:2},[(0,d.createVNode)(l,{class:"balmui-head","content-selector":".balmui-content","nav-id":"balmui-menu",fixed:"",onNav:e[0]||(e[0]=t=>y.value=!(0,d.unref)(y))},{toolbar:(0,d.withCtx)((t=>{let{toolbarItemClass:e}=t;return[(0,d.createVNode)((0,d.unref)(i.default),{"item-class":e},null,8,["item-class"])]})),default:(0,d.withCtx)((()=>[(0,d.createVNode)(a,{to:{name:"home"},class:(0,d.normalizeClass)(["catalog-title",t.$theme.getThemeClass("on-primary")])},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)((0,d.toDisplayString)(f))])),_:1},8,["class"])])),_:1}),(0,d.createVNode)(S,{modelValue:(0,d.unref)(x),"onUpdate:modelValue":e[1]||(e[1]=t=>(0,d.isRef)(x)?x.value=t:null),class:"global-message-banner",centered:"",fixed:"","with-image":"","mobile-stacked":""},{image:(0,d.withCtx)((()=>[(0,d.createVNode)(c,null,{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)((0,d.toDisplayString)((0,d.unref)(T)?"refresh":"celebration"),1)])),_:1})])),actions:(0,d.withCtx)((()=>[(0,d.createVNode)(q,{outlined:"",onClick:U},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)((0,d.toDisplayString)((0,d.unref)(T)?"Refresh":"Good Job"),1)])),_:1})])),default:(0,d.withCtx)((()=>[(0,d.unref)(T)?((0,d.openBlock)(),(0,d.createElementBlock)(d.Fragment,{key:0},[(0,d.createTextVNode)("New content is available.")],64)):((0,d.openBlock)(),(0,d.createElementBlock)(d.Fragment,{key:1},[(0,d.createTextVNode)("Welcome to BalmUI!")],64))])),_:1},8,["modelValue"]),(0,d.createElementVNode)("div",u,[(0,d.createElementVNode)("div",{class:(0,d.normalizeClass)(["balmui-drawer-container",{"balmui-drawer--mobile":!(0,d.unref)(k)}])},[(0,d.createVNode)(M,{modelValue:(0,d.unref)(y),"onUpdate:modelValue":e[2]||(e[2]=t=>(0,d.isRef)(y)?y.value=t:null),type:(0,d.unref)(v),class:"balmui-menu"},{default:(0,d.withCtx)((()=>[(0,d.createVNode)(E,null,{default:(0,d.withCtx)((()=>[(0,d.createVNode)($,null,{default:(0,d.withCtx)((()=>[(0,d.createVNode)(a,{to:{name:"home"},custom:""},{default:(0,d.withCtx)((t=>{let{navigate:e,href:o}=t;return[(0,d.createElementVNode)("a",{href:o,onClick:t=>O(t,e)}," BalmUI ",8,p)]})),_:1})])),_:1}),(0,d.createVNode)(N,null,{default:(0,d.withCtx)((()=>[(0,d.createElementVNode)("i",m,[(0,d.createTextVNode)(" v "),(0,d.createElementVNode)("span",h,(0,d.toDisplayString)((0,d.unref)(r.VERSION)),1)])])),_:1})])),_:1}),(0,d.createVNode)(A,null,{default:(0,d.withCtx)((()=>[(0,d.createVNode)(z,{class:"catalog-list"},{default:(0,d.withCtx)((()=>[((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)((0,d.unref)(s.default),((e,o)=>((0,d.openBlock)(),(0,d.createElementBlock)(d.Fragment,{key:`item${o}`},[e.url||e.isSubmenu?((0,d.openBlock)(),(0,d.createBlock)(a,{key:0,custom:"",to:{name:e.url}},{default:(0,d.withCtx)((o=>{let{navigate:n,href:a,isActive:l}=o;return[(0,d.createVNode)(D,{href:a,active:l,class:(0,d.normalizeClass)({submenu:e.isSubmenu,"no-icon":!e.icon}),onClick:t=>O(t,n)},{before:(0,d.withCtx)((o=>{let{iconClass:n}=o;return[e.icon?((0,d.openBlock)(),(0,d.createBlock)(c,{key:0,class:(0,d.normalizeClass)(["catalog-list-icon",n,t.$theme.getTextClass("secondary",t.$store.theme)])},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)((0,d.toDisplayString)(e.icon),1)])),_:2},1032,["class"])):(0,d.createCommentVNode)("",!0)]})),after:(0,d.withCtx)((()=>[e.plus?((0,d.openBlock)(),(0,d.createBlock)(B,{key:0,class:"plus",state:"info"},{badge:(0,d.withCtx)((()=>[(0,d.createTextVNode)("plus")])),_:1})):(0,d.createCommentVNode)("",!0),e.next?((0,d.openBlock)(),(0,d.createBlock)(B,{key:1,class:"next",state:"error"},{badge:(0,d.withCtx)((()=>[(0,d.createTextVNode)("next")])),_:1})):(0,d.createCommentVNode)("",!0)])),default:(0,d.withCtx)((()=>[(0,d.createElementVNode)("span",{class:(0,d.normalizeClass)(t.$theme.getTextClass("primary",t.$store.theme))},(0,d.toDisplayString)((0,d.unref)(I)(`menu.${e.name}`)),3)])),_:2},1032,["href","active","class","onClick"])]})),_:2},1032,["to"])):"-"===e?((0,d.openBlock)(),(0,d.createBlock)(V,{key:1})):"footer"===e?((0,d.openBlock)(),(0,d.createBlock)(_,{key:`footer${o}`},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)(" Powered by "),g])),_:2},1024)):((0,d.openBlock)(),(0,d.createBlock)(_,{key:3,class:(0,d.normalizeClass)(t.$theme.getTextClass("primary",t.$store.theme))},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)((0,d.toDisplayString)((0,d.unref)(I)(`menu.${e.name}`))+" ",1),(0,d.unref)(k)&&"guide"===e.name?((0,d.openBlock)(),(0,d.createElementBlock)("i",{key:0,class:(0,d.normalizeClass)(["balmui-version",t.$tt("subtitle2")])},[(0,d.createTextVNode)(" v "),(0,d.createElementVNode)("span",b,(0,d.toDisplayString)((0,d.unref)(r.VERSION)),1)],2)):(0,d.createCommentVNode)("",!0)])),_:2},1032,["class"]))],64)))),128))])),_:1})])),_:1})])),_:1},8,["modelValue","type"])],2),(0,d.createElementVNode)("div",{class:(0,d.normalizeClass)(["balmui-content",t.$theme.getThemeClass("background"),t.$theme.getTextClass("primary",t.$store.theme)])},[(0,d.unref)(w).loading?((0,d.openBlock)(),(0,d.createBlock)(L,{key:0,class:"page-loading",active:"","four-colored":""})):(0,d.createCommentVNode)("",!0),(0,d.createVNode)(n,null,{default:(0,d.withCtx)((t=>{let{Component:e}=t;return[(0,d.createVNode)(d.Transition,{name:"loading"},{default:(0,d.withCtx)((()=>[((0,d.openBlock)(),(0,d.createBlock)((0,d.resolveDynamicComponent)(e),{class:(0,d.normalizeClass)(j.value)},null,8,["class"]))])),_:2},1024)]})),_:1})],2)])],64))],512)}}})},62470:function(t,e,o){"use strict";o.r(e),o.d(e,{default:function(){return a}});var d=o(73114);var n={name:"BlankLayout",customOptions:{}};var a=(0,o(83744).Z)(n,[["render",function(t,e,o,n,a,l){const i=(0,d.resolveComponent)("router-view");return(0,d.openBlock)(),(0,d.createBlock)(i)}]])},82180:function(t,e,o){"use strict";o.r(e),o.d(e,{default:function(){return p}});var d=o(73114),n=o(13361),a=o(33445);const l={class:"ui-intro"},i=(0,d.createElementVNode)("p",null,"Coming Up...",-1),c={key:3},r={key:4},s={name:"DocsPage",customOptions:{}};var u=Object.assign(s,{props:{type:{type:String,default:"component"},name:{type:String,required:!0},demoCount:{type:[String,Number],default:0},apis:{type:Array,default(){return[]}},withoutCss:{type:Boolean,default:!1},bottomAffix:{type:Boolean,default:!1}},setup(t){const e=t,s=(0,n.oR)(),{t:u}=(0,a.default)(),p=(0,d.computed)((()=>["store","typography","validator"].includes(e.name))),m=(0,d.computed)((()=>function(t,e){let{type:o,name:d,apis:n,withoutCss:a}=t;const l={apis:n||[],css:!a||!1};let i={intro:"",usage:"",apis:[],css:""};if(i.intro=h(d,"intro",e),"utils"!==d){if(i.usage=h(d,"usage",e),l.apis){let t;if(l.apis.length)t=l.apis;else{t=["directive"===o?`v-${d}`:d]}i.apis=h(d,t,e)}l.css&&(i.css=h(d,"css",e))}return i}(e,p.value)));function h(t,e){let d,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];switch(e){case"css":let a=`${e}/${t}.md`,l=o(10909)(`./${a}`).default;d=l;break;case"usage":d={},(n?["requirement","default","individual"]:["default","individual"]).forEach((n=>{let a=`${e}/${t}/${n}.md`,l=o(10909)(`./${a}`).default;d[n]=l}));break;default:if(Array.isArray(e))d=e.map((e=>{let d=`${s.lang}/${t}/${e}.md`;return o(10909)(`./${d}`).default}));else{let n=`${s.lang}/${t}/${e}.md`,a=o(10909)(`./${n}`).default;d=a}}return d}return(0,d.onBeforeMount)((()=>s.initSnippet(e.name,e.demoCount))),(e,o)=>{const n=(0,d.resolveComponent)("ui-tab"),a=(0,d.resolveComponent)("ui-toc-affix"),s=(0,d.resolveComponent)("ui-markdown"),h=(0,d.resolveDirective)("anchor");return(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createElementBlock)("div",{class:(0,d.normalizeClass)(e.$tt("body1"))},[(0,d.createElementVNode)("header",{class:(0,d.normalizeClass)([e.$theme.getTextClassOnLight("primary"),"hero",t.type])},[(0,d.renderSlot)(e.$slots,"hero")],2),"icon"===t.name?((0,d.openBlock)(),(0,d.createBlock)(a,{key:0},{default:(0,d.withCtx)((()=>[(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createBlock)(n,{class:"v-anchor"},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)((0,d.toDisplayString)(e.$t("page.icons")),1)])),_:1})),[[h,"#ui-icons","href"]])])),_:1})):"theme"===t.name?((0,d.openBlock)(),(0,d.createBlock)(a,{key:1},{default:(0,d.withCtx)((()=>[(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createBlock)(n,{class:"v-anchor"},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)((0,d.toDisplayString)(e.$t("page.colors")),1)])),_:1})),[[h,"#ui-colors","href"]])])),_:1})):((0,d.openBlock)(),(0,d.createBlock)(a,{key:2,class:(0,d.normalizeClass)({"toc-affix--bottom":t.bottomAffix}),"without-apis":"store"===t.name,"without-css":t.withoutCss},null,8,["class","without-apis","without-css"])),(0,d.createElementVNode)("div",{class:(0,d.normalizeClass)(e.$tt("body2"))},[(0,d.createElementVNode)("div",l,[(0,d.createVNode)(s,{text:m.value.intro},null,8,["text"])]),(0,d.renderSlot)(e.$slots,"before"),(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createElementBlock)("h2",null,[(0,d.createTextVNode)("0. "+(0,d.toDisplayString)((0,d.unref)(u)("page.usage")),1)])),[[h,"ui-usage","id"]]),p.value?((0,d.openBlock)(),(0,d.createBlock)(s,{key:0,text:m.value.usage.requirement},null,8,["text"])):(0,d.createCommentVNode)("",!0),(0,d.createElementVNode)("h3",null,(0,d.toDisplayString)((0,d.unref)(u)("page.default-usage")),1),(0,d.createVNode)(s,{text:m.value.usage.default},null,8,["text"]),(0,d.createElementVNode)("h3",null,(0,d.toDisplayString)((0,d.unref)(u)("page.individual-usage")),1),(0,d.createVNode)(s,{text:m.value.usage.individual},null,8,["text"]),(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createElementBlock)("h2",null,[(0,d.createTextVNode)("1. "+(0,d.toDisplayString)((0,d.unref)(u)("page.demo")),1)])),[[h,"ui-demo","id"]]),"store"!==t.name?((0,d.openBlock)(),(0,d.createElementBlock)(d.Fragment,{key:1},[(0,d.renderSlot)(e.$slots,"default",{},(()=>[i])),(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createElementBlock)("h2",null,[(0,d.createTextVNode)("2. "+(0,d.toDisplayString)((0,d.unref)(u)("page.apis")),1)])),[[h,"ui-apis","id"]])],64)):(0,d.createCommentVNode)("",!0),((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(m.value.apis,((e,o)=>((0,d.openBlock)(),(0,d.createBlock)(s,{key:o,class:(0,d.normalizeClass)(["component-docs",t.apis[o]?`component--${t.apis[o]}`:""]),text:e},null,8,["class","text"])))),128)),t.withoutCss?(0,d.createCommentVNode)("",!0):((0,d.openBlock)(),(0,d.createElementBlock)(d.Fragment,{key:2},[(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createElementBlock)("h2",null,[(0,d.createTextVNode)("3. "+(0,d.toDisplayString)((0,d.unref)(u)("page.sass")),1)])),[[h,"ui-sass","id"]]),(0,d.createVNode)(s,{text:m.value.css},null,8,["text"])],64)),"icon"===t.name?(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createElementBlock)("h2",c,[(0,d.createTextVNode)(" 4. "+(0,d.toDisplayString)(e.$t("page.icon-list")),1)])),[[h,"ui-icons","id"]]):(0,d.createCommentVNode)("",!0),"theme"===t.name?(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createElementBlock)("h2",r,[(0,d.createTextVNode)(" 4. "+(0,d.toDisplayString)(e.$t("page.color-palette")),1)])),[[h,"ui-colors","id"]]):(0,d.createCommentVNode)("",!0),(0,d.renderSlot)(e.$slots,"after")],2)],2)),[[h,t.bottomAffix?64:128,void 0,{offset:!0}]])}}});var p=u},65049:function(t,e,o){"use strict";o.r(e),o.d(e,{default:function(){return l}});var d=o(73114),n=o(13361);const a={name:"PurePage",customOptions:{}};var l=Object.assign(a,{props:{name:{type:String,required:!0},prev:{type:[Object,null],default:null},next:{type:[Object,null],default:null}},setup(t){const e=t,a=(0,n.oR)(),l=(0,d.computed)((()=>{const t=`${a.lang}/guide/${e.name}.md`;return o(10909)(`./${t}`).default}));return(e,o)=>{const n=(0,d.resolveComponent)("ui-markdown"),a=(0,d.resolveComponent)("ui-footer-nav"),i=(0,d.resolveDirective)("anchor");return(0,d.withDirectives)(((0,d.openBlock)(),(0,d.createElementBlock)("div",{class:(0,d.normalizeClass)(e.$tt("body1"))},[(0,d.createElementVNode)("div",{class:(0,d.normalizeClass)([e.$tt("body2"),"pure-docs"])},[(0,d.createVNode)(n,{text:l.value},null,8,["text"]),(0,d.createVNode)(a,{prev:t.prev,next:t.next},null,8,["prev","next"])],2)],2)),[[i,64,void 0,{html:!0,offset:!0}]])}}})},75802:function(t,e,o){"use strict";const d=o(2198).Z;e.default=d},98979:function(t,e,o){"use strict";const d=o(56611).Z;e.default=d},87244:function(t,e,o){"use strict";const d=o(38063).Z;e.default=d},54626:function(t,e,o){"use strict";o.r(e);var d=o(56510),n=o(67728);d.isIE?(0,d.killIE)():(0,n.default)()},76703:function(t,e,o){"use strict";o.r(e),o.d(e,{createAnalytics:function(){return l},statistics:function(){return i}});var d=o(98197);const n="G-KL224V1QB5";let a=null;function l(){if(d.isProd&&!a){function t(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],t("js",new Date),t("config",n),a=t}}function i(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Unknown";a?setTimeout((function(){a("set","page_path",t),a("event","page_view")}),200):l()}},57061:function(t,e,o){"use strict";o.r(e);var d=o(65049),n=o(82180),a=o(33724),l=o(48558),i=o(41468),c=o(33750),r=o(99023);e.default=function(t){t.component(d.default.name,d.default),t.component(n.default.name,n.default),t.component(a.default.name,a.default),t.component(l.default.name,l.default),t.component(i.default.name,i.default),t.component(c.default.name,c.default),t.component(r.default.name,r.default)}},50003:function(t,e,o){"use strict";o.r(e),o.d(e,{emotions:function(){return i},toolbar:function(){return n},toolbarOptions:function(){return l},toolbarTips:function(){return a}});const d=`${o(98197).domain}/images/demo/emoji`,n=[[{header:[!1,1,2,3,4,5,6]},{font:[]},{size:[]},{lineheight:[]}],["bold","italic","underline",{color:[]},{background:[]}],[{align:""},{align:"center"},{align:"right"},{align:"justify"}],[{list:"ordered"},{list:"bullet"},{indent:"+1"},{indent:"-1"},"blockquote","emoji"],["link","image","video"],["strike",{script:"super"},{script:"sub"},"divider"],["clean","undo","redo"],["preview"]],a={header:"Headline",font:"Font Famliy",size:"Font Size",lineheight:"Line Height",bold:"Bold",italic:"Italic",underline:"Underline",color:"Text Color",background:"Background Color",align:{default:"Left Align",center:"Center Align",right:"Right Align",justify:"Justify Align"},list:{ordered:"Ordered List",bullet:"Bullet List"},indent:{"+1":"Increase Indent","-1":"Decrease Indent"},blockquote:"Blockquote",emoji:"Emoji"},l={font:["Arial","Arial Black","Comic Sans MS","Courier New","Tahoma","Georgia","Helvetica","Segoe UI","Impact","Times New Roman","Verdana"],size:["8px","9px","10px","11px","12px","13px","14px","16px","18px","24px","36px","48px","60px","72px","96px"],lineheight:["1","1.2","1.5","1.6","1.8","2","2.4","2.8","3","4","5"]},i=[{type:"image",title:"Default",content:[{name:"oo",alt:"\u574f\u7b11",src:`${d}/p_huaixiao.png`},{name:"xx",alt:"\u8214\u5c4f",src:`${d}/p_tian.png`}]},{type:"emoji",title:"Emoji",content:[{name:"smile",value:"\ud83d\ude00"},{name:"cry",value:"\ud83d\ude06"}]},{type:"image",title:"Custom",content:[{name:"yy",alt:"\u795e\u517d",src:`${d}/g_shenshou.gif`},{name:"zz",alt:"\u6d6e\u4e91",src:`${d}/g_fuyun.gif`}]}]},98197:function(t,e,o){"use strict";o.r(e),o.d(e,{$MIN_WIDTH:function(){return r},MDI_INFO:function(){return n},VERSION:function(){return d},domain:function(){return i},isDev:function(){return a},isProd:function(){return l},lazyLoadedTime:function(){return c},themes:function(){return u},translations:function(){return s}});const d=o(4147).i8,n={version:"140",updated:"2023.04.06"},a=!1,l=!0,i=l?"//material.balmjs.com":"",c=1e3,r=1241,s=[{text:"English",value:"en"},{text:"\u4e2d\u6587",value:"zh"}],u={light:{primary:"#6200ee",secondary:"#018786",background:"#fff",surface:"#fff",error:"#b00020"},dark:{primary:"#bb86fc",secondary:"#03dac6",background:"#121212",surface:"#121212",error:"#cf6679"}}},41536:function(t,e,o){"use strict";o.r(e);const d=[{name:"guide",children:[{name:"introduction"},{name:"quick-start"},{name:"advanced"},{name:"ts"},{name:"kill-ie"},{name:"upgrade"}]},"-",{name:"styles",children:[{icon:"palette",name:"color"},{icon:"layers",name:"elevation"},{icon:"emoji_symbols",name:"icons"},{icon:"category",name:"shape"},{icon:"text_fields",name:"typography"}]},"-",{name:"actions",children:[{icon:"add_box",name:"button"},{icon:"add_circle_outline",name:"fab"},{icon:"add",name:"icon-button"},{icon:"add_box",name:"segmented-button"}]},"-",{name:"communication",children:[{icon:"feedback",name:"alert"},{icon:"category",name:"badge"},{icon:"trip_origin",name:"progress"},{icon:"pending",name:"spinner"},{icon:"call_to_action",name:"snackbar"},{icon:"call_to_action",name:"toast"},{icon:"notifications",name:"banner"},{icon:"feedback",name:"tooltip"},{icon:"notes",name:"skeleton",plus:!0}]},"-",{name:"containment",children:[{icon:"grid_on",name:"grid"},{icon:"video_label",name:"bottom-sheet",plus:!0},{icon:"video_label",name:"side-sheet",plus:!0},{icon:"category",name:"card"},{icon:"event_note",name:"dialog"},{icon:"event_note",name:"alert-dialog"},{icon:"event_note",name:"confirm-dialog"},{icon:"horizontal_rule",name:"divider"},{icon:"list",name:"list"},{icon:"view_comfy",name:"image-list"},{icon:"view_list",name:"form"},{icon:"table_view",name:"table"},{icon:"account_tree",name:"tree",plus:!0},{icon:"swap_vert",name:"collapse"}]},"-",{name:"navigation",children:[{icon:"video_label",name:"navigation-bar",plus:!0},{icon:"vertical_split",name:"drawer"},{icon:"tab",name:"tabs"},{icon:"web",name:"top-app-bar"},{icon:"pages",name:"pagination"}]},"-",{name:"selection",children:[{icon:"indeterminate_check_box",name:"chips"},{icon:"menu",name:"menu"},{icon:"menu",name:"select"},{icon:"check_box",name:"checkbox"},{icon:"radio_button_checked",name:"radio"},{icon:"linear_scale",name:"slider"},{icon:"toggle_off",name:"switch"},{icon:"today",name:"datepicker"},{icon:"date_range",name:"rangepicker"},{icon:"file_upload",name:"file"}]},"-",{name:"text-inputs",children:[{icon:"text_format",name:"textfield"},{icon:"text_format",name:"autocomplete"},{icon:"wysiwyg",name:"editor",plus:!0}]},"-",{name:"misc",children:[{icon:"api",name:"event"},{icon:"api",name:"validator"},{icon:"mouse",name:"debounce"},{icon:"texture",name:"ripple"},{icon:"anchor",name:"anchor",plus:!0},{icon:"content_copy",name:"copy",plus:!0},{icon:"touch_app",name:"longpress",plus:!0}]},"-",{icon:"storage",name:"store",link:!0},"-",{icon:"widgets",name:"utils",link:!0},"-","footer"];let n=[];for(let a of d)if("-"===a||"footer"===a)n.push(a);else if(n.push({icon:a.icon,name:a.name,url:!!a.link&&a.name}),a.children)for(let t of a.children){let e="icons"===t.name?t.name:`${a.name}.${t.name}`;n.push({isSubmenu:!0,icon:t.icon,name:t.name,url:e,plus:t.plus||!1})}e.default=n},41235:function(t,e,o){"use strict";o.r(e);var d=o(28325),n=o.n(d),a=(o(24335),o(29525),o(15251),o(35433),o(39980),o(57874),o(92447),o(96836),o(97193),o(75206),o(66263),o(98197));e.default=function(t){t.config.compilerOptions.isCustomElement=t=>t.startsWith("ui-"),t.config.globalProperties.$domain=a.domain,t.config.globalProperties.$prism=n(),t.config.globalProperties.$docs={props:{thead:["Name","Type","Default","Description"],tbody:["name","type","default",{field:"description",raw:!0}]},slots:{thead:["Name","Description","Slot"],tbody:["name","description","props"]},events:{thead:["Name","Type","Description"],tbody:["name","type","description"]},sass:{thead:["Variable","Description"],tbody:["var",{field:"description",raw:!0}]}}}},70533:function(t,e,o){"use strict";o.r(e);var d=o(13361);e.default={required:{validate(t){return!d.BM.isEmpty(t)},message:"%s is required"},mobile:{validate(t){return/^1[0-9]\d{9}$/.test(t)},message:"Invalid phone number"},password:{validate(t){return/^\w+$/.test(t)},message:"%s must be a letter, digit or underline"},email:{validate(t){return/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/.test(t)},message:"Invalid E-mail"}}},56510:function(t,e,o){"use strict";o.r(e),o.d(e,{isIE:function(){return n},killIE:function(){return a}});const d=(0,o(13361).Nt)();window.IE=d;const n=d&&d<=11,a=()=>{document.getElementsByTagName("body")[0].innerHTML='
\n

Your browser is out-of-date. Please download one of the up-to-date, free and excellent browsers for better security, speed and comfort.

\n

Recommended Choice\uff1aChrome

\n
'}},26452:function(t,e,o){"use strict";o.r(e);var d=o(85870),n=o(45286),a=o(48702);const l=new d.o({locale:"en",messages:{en:n,zh:a}});e.default=l},67728:function(t,e,o){"use strict";o.r(e),o.d(e,{default:function(){return ft}});var d=o(73114),n=o(94268),a=o(26452),l=o(80353),i=o(50873),c=o(57061),r=o(41235),s=o(13361),u=(o(25474),o(40100)),p=o(66326);const m={key:0,class:"mdc-skeleton__header"},h={class:"mdc-skeleton__content"},g={key:1,class:"mdc-skeleton-paragraph"},b={name:"UiSkeleton",customOptions:{}};var f=Object.assign(b,{props:{loading:{type:Boolean,default:!0},active:{type:Boolean,default:!1},avatar:{type:[Boolean,Object],default:!1},title:{type:[Boolean,Object],default:!0},paragraph:{type:[Boolean,Object],default:!0}},setup(t){const e=t,o=(0,d.computed)((()=>e.loading?{"mdc-skeleton":!0,"mdc-skeleton--with-avatar":e.avatar,"mdc-skeleton--active":e.active}:{})),n=(0,d.computed)((()=>"object"===(0,p.Z)(e.avatar)?e.avatar:{})),a=(0,d.computed)((()=>({"mdc-skeleton-avatar":!0,"mdc-skeleton-avatar--circle":"square"!==n.value.shape,"mdc-skeleton-avatar--large":"large"===n.value.size,"mdc-skeleton-avatar--small":"small"===n.value.size}))),l=(0,d.computed)((()=>{const{size:t}=n.value;return"number"===(0,p.Z)(t)?{width:`${t}px`,height:`${t}px`,lineHeight:`${t}px`}:{}})),i=(0,d.computed)((()=>{let t={};return!e.avatar&&e.paragraph&&(t={width:"38%"}),e.avatar&&e.paragraph&&(t={width:"50%"}),"object"===(0,p.Z)(e.title)&&e.title.width&&(t={width:e.title.width}),t})),c=(0,d.computed)((()=>{let t={};return e.avatar&&e.title||(t={width:"61%"}),"object"===(0,p.Z)(e.paragraph)&&e.paragraph.width&&(t={width:e.paragraph.width}),t})),r=(0,d.computed)((()=>{let t=0;return t=!e.avatar&&e.title?3:2,"object"===(0,p.Z)(e.paragraph)&&e.paragraph.rows&&(t=e.paragraph.rows),t}));return(e,n)=>((0,d.openBlock)(),(0,d.createElementBlock)("div",{class:(0,d.normalizeClass)(o.value)},[t.loading?((0,d.openBlock)(),(0,d.createElementBlock)(d.Fragment,{key:0},[t.avatar?((0,d.openBlock)(),(0,d.createElementBlock)("div",m,[(0,d.createElementVNode)("i",{class:(0,d.normalizeClass)(a.value),style:(0,d.normalizeStyle)(l.value)},null,6)])):(0,d.createCommentVNode)("",!0),(0,d.createElementVNode)("div",h,[t.title?((0,d.openBlock)(),(0,d.createElementBlock)("h3",{key:0,class:"mdc-skeleton-title",style:(0,d.normalizeStyle)(i.value)},null,4)):(0,d.createCommentVNode)("",!0),r.value?((0,d.openBlock)(),(0,d.createElementBlock)("ul",g,[((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(r.value,(t=>((0,d.openBlock)(),(0,d.createElementBlock)("li",{key:t,style:(0,d.normalizeStyle)(t===r.value?c.value:{})},null,4)))),128))])):(0,d.createCommentVNode)("",!0)])],64)):(0,d.renderSlot)(e.$slots,"default",{key:1})],2))}});var v=o(99315).Z,y=o(76580);var k=o(55415).Z;const w={dataFormat:{label:"label",value:"value",children:"children",hasChildren:"hasChildren",isLeaf:"isLeaf",disabled:"disabled"},EVENTS:{CHANGE:"update:modelValue",SELECTED:"selected"}},x={name:"UiTree",customOptions:{UI_TREE:w}};var T=Object.assign(x,{props:{modelValue:{type:[String,Number,Array],default:""},filterParentNode:{type:Boolean,default:!1},data:{type:Array,default:()=>[]},dataFormat:{type:Object,default:()=>({})},maxLevel:{type:Number,default:0},multiple:{type:Boolean,default:!1},singleChecked:{type:Boolean,default:!1},loadData:{type:[Function,null],default:null},autoExpandParent:{type:Boolean,default:!1},defaultExpandedKeys:{type:Array,default:()=>[]},autoExpandSelected:{type:Boolean,default:!1},autoExpandAll:{type:Boolean,default:!1}},emits:[w.EVENTS.CHANGE,w.EVENTS.SELECTED],setup(t,e){let{expose:o,emit:n}=e;const a=t,l=(0,d.reactive)({$tree:null,nodeList:[],treeData:{dataFormat:Object.assign(w.dataFormat,a.dataFormat),maxLevel:a.maxLevel,nodeMap:new Map,selectedValue:a.modelValue,filterParentNode:a.filterParentNode,multiple:a.multiple,singleChecked:a.singleChecked,loadData:a.loadData,selectedEvent:{}}}),{nodeList:i,treeData:c}=(0,d.toRefs)(l),r=(0,d.computed)((()=>({"mdc-tree":!0,"mdc-tree--multiple":a.multiple})));function s(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a.data;l.nodeList=l.$tree.getData(t),l.nodeList.length&&(y.w.setExpanded(l.treeData,l.nodeList,{autoExpandParent:a.autoExpandParent,defaultExpandedKeys:a.defaultExpandedKeys,autoExpandAll:a.autoExpandAll}),y.w.setSelected(l.treeData,l.treeData.selectedValue,{nodeList:l.nodeList,autoExpandSelected:a.autoExpandSelected}))}function u(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];(0,d.nextTick)((()=>{e.length&&y.w.resetSelected(l.treeData,e),y.w.setSelected(l.treeData,t,{nodeList:l.nodeList,autoExpandSelected:a.autoExpandSelected}),l.treeData.selectedValue=t}))}(0,d.watch)((()=>a.modelValue),((t,e)=>{Array.isArray(t)?((t,e)=>{for(const o of new Set([...t,...e]))if(t.filter((t=>t===o)).length!==e.filter((t=>t===o)).length)return!1;return!0})(l.treeData.selectedValue,t)||u(t,e):l.treeData.selectedValue!==t&&u(t)})),(0,d.watch)((()=>a.data),(t=>s(t))),(0,d.watch)((()=>l.treeData.selectedValue),(t=>{n(w.EVENTS.CHANGE,t,l.treeData.selectedEvent),n(w.EVENTS.SELECTED,Array.isArray(t)?t.map((t=>p(t))):p(t))})),(0,d.onBeforeMount)((()=>{if(a.multiple&&!Array.isArray(l.treeData.selectedValue))throw new Error("[UiTree]: The 'modelValue' prop must be an array in the multiple tree")})),(0,d.onMounted)((()=>{l.$tree=new y.w(l.treeData),s()}));const p=t=>l.treeData.nodeMap.get(t);return o({updateNode:function(t,e,o){switch(t){case"create":y.w.createNode(l.treeData,e,o);break;case"delete":y.w.deleteNode(l.treeData,e,o);break;default:y.w.updateNode(l.treeData,e,o)}},getNode:p}),(t,e)=>((0,d.openBlock)(),(0,d.createElementBlock)("div",{class:(0,d.normalizeClass)(r.value)},[(0,d.renderSlot)(t.$slots,"default"),(0,d.createVNode)(k,{children:(0,d.unref)(i),"tree-data":(0,d.unref)(c)},(0,d.createSlots)({_:2},[(0,d.renderList)(t.$slots,((e,o)=>({name:o,fn:(0,d.withCtx)((e=>[(0,d.renderSlot)(t.$slots,o,(0,d.normalizeProps)((0,d.guardReactiveProps)(e)))]))})))]),1032,["children","tree-data"])],2))}});var C=T;const q={class:"mdc-navigation-bar__destinations"},S="UiNavigationBar",I={FIXED_ADJUST:{STANDARD:"mdc-navigation-bar--fixed-adjust",STACKED:"mdc-navigation-bar--stacked-fixed-adjust"}},$={name:S,customOptions:{name:S,UI_NAVIGATION_BAR:I}};var N=Object.assign($,{props:{contentSelector:{type:String,required:!0},stacked:{type:Boolean,default:!1},min:{type:Boolean,default:!1},max:{type:Boolean,default:!1}},setup(t){const e=t,o=(0,d.reactive)({destinations:4}),n=(0,d.computed)((()=>{let t=["mdc-navigation-bar",{"mdc-navigation-bar--stacked":e.stacked}];const d=Math.floor(100/o.destinations);return t.push(`mdc-navigation-bar--dest-${d}`),t}));return(0,d.onBeforeMount)((()=>{e.contentSelector||console.error(`[${S}]: The 'contentSelector' prop is required`),e.min?o.destinations=3:e.max&&(o.destinations=5)})),(0,d.onMounted)((()=>function(){const t=document.querySelector(e.contentSelector),o=document.createElement("div");o.classList.add(e.stacked?I.FIXED_ADJUST.STACKED:I.FIXED_ADJUST.STANDARD),t.appendChild(o)}())),(t,e)=>((0,d.openBlock)(),(0,d.createElementBlock)("div",{class:(0,d.normalizeClass)(n.value)},[(0,d.createElementVNode)("div",q,[(0,d.renderSlot)(t.$slots,"default")])],2))}});const E={key:0,class:"mdc-bottom-sheet__content"},B={EVENTS:{CHANGE:"update:modelValue"}},D={name:"UiBottomSheet",customOptions:{UI_BOTTOM_SHEET:B}};var V=Object.assign(D,{props:{modelValue:{type:Boolean,default:!1}},emits:[B.EVENTS.CHANGE],setup(t,e){let{emit:o}=e;const n=t,a=(0,d.reactive)({closing:!1}),l=(0,d.computed)((()=>({"mdc-bottom-sheet":!0,"mdc-bottom-sheet--open":n.modelValue,"mdc-bottom-sheet--closing":a.closing})));function i(){a.closing=!0,setTimeout((()=>{o(B.EVENTS.CHANGE,!1),a.closing=!1}),300)}return(e,o)=>((0,d.openBlock)(),(0,d.createElementBlock)("div",{class:(0,d.normalizeClass)(l.value)},[(0,d.createVNode)(d.Transition,{name:"mdc-slide"},{default:(0,d.withCtx)((()=>[t.modelValue?((0,d.openBlock)(),(0,d.createElementBlock)("div",E,[(0,d.renderSlot)(e.$slots,"default")])):(0,d.createCommentVNode)("",!0)])),_:3}),(0,d.createElementVNode)("div",{class:"mdc-bottom-sheet__scrim",onClick:i})],2))}});const j={class:"mdc-navigation-rail"},U={class:"mdc-navigation-rail__menu"},O={class:"mdc-navigation-rail__key-action"},_={class:"mdc-navigation-rail__destinations"},z={key:0},A={name:"UiNavigationRail",customOptions:{}};var M=Object.assign(A,{props:{items:{type:Array,default:()=>[]}},setup(t){return(e,o)=>{const n=(0,d.resolveComponent)("mdc-icon-button");return(0,d.openBlock)(),(0,d.createElementBlock)("div",j,[(0,d.createElementVNode)("div",U,[(0,d.renderSlot)(e.$slots,"menu",{},(()=>[e.hasMenu?((0,d.openBlock)(),(0,d.createBlock)(n,{key:0,class:"mdc-navigation-rail__navigation-icon"},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)(" menu ")])),_:1})):(0,d.createCommentVNode)("",!0)]))]),(0,d.createElementVNode)("div",O,[(0,d.renderSlot)(e.$slots,"key-action")]),(0,d.createElementVNode)("div",_,[(0,d.renderSlot)(e.$slots,"default",{},(()=>[t.items.length?((0,d.openBlock)(),(0,d.createElementBlock)("ul",z,[((0,d.openBlock)(!0),(0,d.createElementBlock)(d.Fragment,null,(0,d.renderList)(t.items,((e,o)=>((0,d.openBlock)(),(0,d.createElementBlock)("li",{key:o},(0,d.toDisplayString)(t.items),1)))),128))])):(0,d.createCommentVNode)("",!0)]))])])}}}),L=o(1065);const P={key:0,class:"mdc-side-sheet__container"},R={class:"mdc-side-sheet__wrapper"},F={key:0,class:"mdc-side-sheet__header"},H={class:"mdc-side-sheet__title"},G={class:"mdc-side-sheet__content"},Z={key:0,class:"mdc-side-sheet__actions"},W={EVENTS:{CHANGE:"update:modelValue"}},K={name:"UiSideSheet",customOptions:{UI_SIDE_SHEET:W}};var Y=Object.assign(K,{props:{modelValue:{type:Boolean,default:!1},closable:{type:Boolean,default:!1}},emits:[W.EVENTS.CHANGE],setup(t,e){let{emit:o}=e;const n=t,a=(0,d.useSlots)(),l=(0,d.reactive)({closing:!1}),i=(0,d.computed)((()=>({"mdc-side-sheet":!0,"mdc-side-sheet--open":n.modelValue,"mdc-side-sheet--closing":l.closing}))),c=(0,d.computed)((()=>a.title||n.closable)),r=(0,d.computed)((()=>a.actions));function s(){l.closing=!0,setTimeout((()=>{o(W.EVENTS.CHANGE,!1),l.closing=!1}),300)}return(e,o)=>((0,d.openBlock)(),(0,d.createElementBlock)("div",{class:(0,d.normalizeClass)(i.value)},[(0,d.createVNode)(d.Transition,{name:"mdc-side-sheet"},{default:(0,d.withCtx)((()=>[t.modelValue?((0,d.openBlock)(),(0,d.createElementBlock)("div",P,[(0,d.createElementVNode)("div",R,[c.value?((0,d.openBlock)(),(0,d.createElementBlock)("header",F,[(0,d.createElementVNode)("h4",H,[(0,d.renderSlot)(e.$slots,"title")]),t.closable?((0,d.openBlock)(),(0,d.createBlock)(L.Z,{key:0,tabindex:"-1",onClick:o[0]||(o[0]=t=>s())},{default:(0,d.withCtx)((()=>[(0,d.createTextVNode)(" close ")])),_:1})):(0,d.createCommentVNode)("",!0)])):(0,d.createCommentVNode)("",!0),(0,d.createElementVNode)("div",G,[(0,d.renderSlot)(e.$slots,"default")])]),r.value?((0,d.openBlock)(),(0,d.createElementBlock)("footer",Z,[(0,d.renderSlot)(e.$slots,"actions")])):(0,d.createCommentVNode)("",!0)])):(0,d.createCommentVNode)("",!0)])),_:3}),(0,d.createElementVNode)("div",{class:"mdc-side-sheet__scrim",onClick:s})],2))}});const J={src:"",delay:300,scrollEvent:"scroll"};let X=J,Q=!0;const tt=(t,e)=>{const o="IMG"===t.tagName?t:t.querySelector("img");if(!o||"IMG"!==o.tagName)throw Q=!1,new Error("[v-lazyload]: element not found");e(o)},et={init(t,e){t.setAttribute("data-src",e),t.setAttribute("src",X.src)},observe(t){new IntersectionObserver((e=>{const o=t.dataset.src;e[0].isIntersecting&&o&&(t.src=o,t.removeAttribute("data-src"))})).observe(t)},listenerScroll(t){const e=et.throttle(et.load,X.delay);et.load(t),window.addEventListener(X.scrollEvent,(()=>{e(t)}))},load(t){const e=document.documentElement.clientHeight,o=t.getBoundingClientRect().top,d=t.getBoundingClientRect().bottom;if(o-e<0&&d>0){const e=t.dataset.src;e&&(t.src=e,t.removeAttribute("data-src"))}},throttle(t,e){let o,d;return function(){for(var n=arguments.length,a=new Array(n),l=0;le)return d=i,t.apply(c,a),void clearTimeout(o);o=setTimeout((function(){d=Date.now(),o=null,t.apply(c,a)}),e)}}},ot={name:"lazyload",definition:{beforeMount(t,e){let{value:o}=e;Q&&tt(t,(t=>{et.init(t,o)}))},mounted(t){Q&&tt(t,(t=>IntersectionObserver?et.observe(t):et.listenerScroll(t)))}}};const dt={install:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};X=Object.assign({},J,e),t.directive(ot.name,ot.definition)}};let nt={cssClasses:{outer:"v-anchor--html",inner:"v-anchor"},body:null,offset:0};const at=t=>{let e=document.querySelector(t);e?nt.body.scrollTop=e.offsetTop-nt.offset:console.warn("[v-anchor]",`Invalid anchor: ${t}`)},lt=(t,e,o)=>{let{value:d,arg:n,modifiers:a}=o;switch(n){case"href":e.dataset.href=d,e[`${t}EventListener`]("click",(()=>{at(d)}));break;case"id":e.setAttribute("id",d)}a.html&&e.classList[t](nt.cssClasses.outer)},it=function(t){let e=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:document).querySelectorAll(`.${nt.cssClasses.outer} .${nt.cssClasses.inner}`);e.length&&e.forEach((e=>{e[`${t}EventListener`]("click",(()=>{at(e.dataset.href)}))}))};function ct(t,e){let{callback:o,delay:d}=e,n=null;function a(t){"click"===t.type&&0!==t.button||null===n&&(n=setTimeout((()=>{!function(t){o(t)}(t)}),d||2e3))}function l(t){null!==n&&(clearTimeout(n),n=null)}t.addEventListener("mousedown",a),t.addEventListener("touchstart",a),t.addEventListener("click",l),t.addEventListener("mouseout",l),t.addEventListener("touchend",l),t.addEventListener("touchcancel",l)}const rt={UiEditor:v,UiSideSheet:Y,UiSkeleton:f,UiTree:C,UiTreeNode:k,UiBottomSheet:V,UiNavigationBar:N,UiNavigationRail:M},st={$lazyload:dt},ut={vAnchor:{name:"anchor",beforeMount(t,e){lt("add",t,e)},mounted(t,e){((t,e)=>{let{value:o,modifiers:d}=e;Object.keys(d).length&&(nt.body=d.bodyElement?t:document.documentElement||document.body,nt.offset=d.offset?o:nt.body.dataset.vanchorOffset||0)})(t,e),e.modifiers.html&&it("add")},updated(t,e,o){e.modifiers.html&&it("add",o.el)},beforeUnmount(t,e){t===nt.body&&(nt.body=document.documentElement||document.body),lt("remove",t,e),e.modifiers.html&&it("remove")}},vCopy:{name:"copy",beforeMount(t,e){let{value:o}=e;if("object"!==(0,p.Z)(o))throw new Error("[v-copy]: The 'value' must be an object ({ text: string; success: Function; error?: Function })");{const{text:e,success:d,error:n}=o;"function"!==(0,p.Z)(d)&&console.warn("[v-copy]: The 'success' must be a function"),t.$value=e,t.handler=()=>{if(!t.$value)return void(n&&n());const e=document.createElement("textarea");e.readOnly=!0,e.style.position="absolute",e.style.left="-9999px",e.value=t.$value,document.body.appendChild(e),e.select();document.execCommand("copy")&&d(),document.body.removeChild(e)},t.addEventListener("click",t.handler)}},updated(t,e){let{value:o}=e;t.$value=o.text},unmounted(t){t.removeEventListener("click",t.handler)}},vLongpress:{name:"longpress",beforeMount(t,e){let{value:o}=e;if("function"===(0,p.Z)(o))ct(t,{callback:o});else{if("object"!==(0,p.Z)(o))throw new Error("[v-longpress]: The 'value' must be an object ({ callback: Function, delay?: number })");"function"!==(0,p.Z)(o.callback)&&console.warn("[v-longpress]: The 'callback' must be a function"),ct(t,o)}},updated(t,e){let{value:o}=e;t.$value=o},unmounted(t){t.removeEventListener("click",t.handler)}}},pt={install:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,u.Z)(t,e,{Components:rt,Plugins:st,Directives:ut})}};var mt=pt,ht=o(4919),gt=o(70533),bt=o(50003);o(61784);var ft=function(){const t=(0,d.createApp)(i.default);t.use(n.default),t.use(a.default),t.use(l.default),t.use(s.ZP,{$store:ht.default,$typography:["custom-style-1","custom-style-2"],$validator:gt.default}),t.use(mt,{UiEditor:{toolbarTips:bt.toolbarTips,toolbarOptions:bt.toolbarOptions,emotions:bt.emotions}}),(0,c.default)(t),(0,r.default)(t),n.default.isReady().then((()=>t.mount("#app")))}},61784:function(t,e,o){"use strict";o.r(e);var d=o(13361);o(98197).isProd&&"serviceWorker"in navigator&&window.addEventListener("load",(()=>{let t;navigator.serviceWorker.register("/sw.js").then((t=>{let e;console.log("THX BalmJS - https://github.com/balmjs/balm"),t.addEventListener("updatefound",(()=>{e=t.installing,e.addEventListener("statechange",(()=>{if("installed"===e.state)if(navigator.serviceWorker.controller){const t=(0,d.xN)();(0,d.oR)().serviceWorker=e,t.emit("refresh")}}))}))})).catch((t=>console.error("GG",t))),navigator.serviceWorker.addEventListener("controllerchange",(()=>{t||(window.location.reload(),t=!0)}))}))},80353:function(t,e,o){"use strict";o.r(e),o.d(e,{useHttp:function(){return a}});var d=o(52861);const n=(0,o(13361).xN)();d.Z.interceptors.request.use((t=>(t.loading&&n.emit("request"),t)),(t=>Promise.reject(t))),d.Z.interceptors.response.use((t=>(t.config.loading&&n.emit("response"),t.data)),(t=>(t.response?n.emit("on-error","Response Error"):t.request?n.emit("on-error","Request Error"):n.emit("on-error","Unknown Error"),Promise.reject(t))));const a=()=>d.Z;e.default={install(t){t.config.globalProperties.$http=d.Z,t.provide("http",d.Z)}}},94268:function(t,e,o){"use strict";o.r(e);var d=o(22201),n=o(5031),a=o(69100);const l=(0,d.PO)(),i=(0,d.p7)({history:l,routes:n.default});(0,a.initRouter)(i),e.default=i},5031:function(t,e,o){"use strict";o.r(e);var d=o(91355),n=o(62470),a=o(38822),l=o(35517),i=o(70222),c=o(64558),r=o(82104),s=o(21889),u=o(29177),p=o(88584),m=o(43554),h=o(12889);const g=[{path:"/",name:"home",component:d.default},{path:"/guide",name:"guide",redirect:{name:"guide.introduction"},component:n.default,children:a.default},{path:"/styles",name:"styles",redirect:{name:"styles.color"},component:n.default,children:l.default},{path:"/actions",name:"actions",redirect:{name:"actions.button"},component:n.default,children:i.default},{path:"/communication",name:"communication",redirect:{name:"communication.alert"},component:n.default,children:c.default},{path:"/containment",name:"containment",redirect:{name:"containment.grid"},component:n.default,children:r.default},{path:"/navigation",name:"navigation",redirect:{name:"navigation.drawer"},component:n.default,children:s.default},{path:"/selection",name:"selection",redirect:{name:"selection.chips"},component:n.default,children:u.default},{path:"/text-inputs",name:"text-inputs",redirect:{name:"text-inputs.textfield"},component:n.default,children:p.default},{path:"/misc",name:"misc",redirect:{name:"misc.event"},component:n.default,children:m.default},{path:"/store",name:"store",component:()=>o.e(813).then(o.bind(o,10813))},{path:"/utils",name:"utils",component:()=>o.e(2869).then(o.bind(o,42869))},{path:"/donate",name:"donate",component:()=>o.e(1997).then(o.bind(o,81997))},...h.default,{path:"/:catchAll(.*)",component:()=>o.e(9885).then(o.bind(o,19885))}];e.default=g},69100:function(t,e,o){"use strict";o.r(e),o.d(e,{initRouter:function(){return i}});var d=o(13361),n=o(35125),a=o(76703);const l="balmui";function i(t){const e=(0,d.xN)();t.beforeEach(((t,o,n)=>{const a=(0,d.oR)();a.noLayout=t.matched.some((t=>t.meta.noLayout)),a.isFirstLoad=!o.name,a&&!a.isFirstLoad&&e.emit("page-loading"),n()})),t.afterEach(((t,o)=>{const i=(0,d.oR)(),c=document.querySelector("html").classList,r=o.name,s=t.name;if(!s||(s.indexOf("-drawer")>-1||s.indexOf("-toolbar")>-1||["layouts.grid","layouts.top-app-bar","test"].includes(s))?c.add(`${l}-no-layout`):c.remove(`${l}-no-layout`),r){const t=(0,n.getPageClassName)(l,r);c.remove(...t)}if(s){const t=(0,n.getPageClassName)(l,s);c.add(...t)}s!==r&&(0,a.statistics)(t.fullPath),i&&!i.isFirstLoad&&e.emit("page-loaded")}))}},70222:function(t,e,o){"use strict";o.r(e);e.default=[{path:"button",name:"actions.button",component:()=>o.e(1676).then(o.bind(o,31676))},{path:"fab",name:"actions.fab",component:()=>o.e(8883).then(o.bind(o,48883))},{path:"icon-button",name:"actions.icon-button",component:()=>o.e(6435).then(o.bind(o,66435))},{path:"segmented-button",name:"actions.segmented-button",component:()=>o.e(6359).then(o.bind(o,30854))}]},64558:function(t,e,o){"use strict";o.r(e);e.default=[{path:"alert",name:"communication.alert",component:()=>o.e(4916).then(o.bind(o,24916))},{path:"badge",name:"communication.badge",component:()=>o.e(8683).then(o.bind(o,38683))},{path:"progress",name:"communication.progress",component:()=>o.e(9136).then(o.bind(o,38634))},{path:"spinner",name:"communication.spinner",component:()=>o.e(2357).then(o.bind(o,72357))},{path:"snackbar",name:"communication.snackbar",component:()=>o.e(4725).then(o.bind(o,34725))},{path:"toast",name:"communication.toast",component:()=>o.e(4146).then(o.bind(o,64146))},{path:"banner",name:"communication.banner",component:()=>o.e(5877).then(o.bind(o,45877))},{path:"tooltip",name:"communication.tooltip",component:()=>o.e(1356).then(o.bind(o,61356))},{path:"skeleton",name:"communication.skeleton",component:()=>o.e(6853).then(o.bind(o,90429))}]},82104:function(t,e,o){"use strict";o.r(e);e.default=[{path:"grid",name:"containment.grid",component:()=>o.e(7819).then(o.bind(o,27819)),meta:{noLayout:!0}},{path:"bottom-sheet",name:"containment.bottom-sheet",component:()=>o.e(4566).then(o.bind(o,64566))},{path:"side-sheet",name:"containment.side-sheet",component:()=>o.e(8248).then(o.bind(o,28248))},{path:"card",name:"containment.card",component:()=>o.e(9280).then(o.bind(o,49280))},{path:"dialog",name:"containment.dialog",component:()=>o.e(8437).then(o.bind(o,68437))},{path:"alert-dialog",name:"containment.alert-dialog",component:()=>o.e(2703).then(o.bind(o,52703))},{path:"confirm-dialog",name:"containment.confirm-dialog",component:()=>o.e(9345).then(o.bind(o,49345))},{path:"divider",name:"containment.divider",component:()=>o.e(9868).then(o.bind(o,69868))},{path:"list",name:"containment.list",component:()=>o.e(3406).then(o.bind(o,13406))},{path:"image-list",name:"containment.image-list",component:()=>o.e(8327).then(o.bind(o,28327))},{path:"form",name:"containment.form",component:()=>o.e(7116).then(o.bind(o,67116))},{path:"table",name:"containment.table",component:()=>o.e(8).then(o.bind(o,8))},{path:"tree",name:"containment.tree",component:()=>o.e(7927).then(o.bind(o,47927))},{path:"collapse",name:"containment.collapse",component:()=>o.e(6239).then(o.bind(o,56239))},{path:"lazyload",name:"containment.lazyload",component:()=>o.e(4223).then(o.bind(o,14223))}]},38822:function(t,e,o){"use strict";o.r(e);e.default=[{path:"introduction",name:"guide.introduction",component:()=>o.e(7943).then(o.bind(o,83390))},{path:"quick-start",name:"guide.quick-start",component:()=>o.e(767).then(o.bind(o,80767))},{path:"advanced",name:"guide.advanced",component:()=>o.e(8132).then(o.bind(o,8132))},{path:"typescript-support",name:"guide.ts",component:()=>o.e(7171).then(o.bind(o,17171))},{path:"kill-ie",name:"guide.kill-ie",component:()=>o.e(5904).then(o.bind(o,45904))},{path:"upgrade",name:"guide.upgrade",component:()=>o.e(1259).then(o.bind(o,9136))}]},43554:function(t,e,o){"use strict";o.r(e);e.default=[{path:"event",name:"misc.event",component:()=>o.e(1958).then(o.bind(o,31958))},{path:"validator",name:"misc.validator",component:()=>o.e(7903).then(o.bind(o,97903))},{path:"debounce",name:"misc.debounce",component:()=>o.e(2787).then(o.bind(o,22787))},{path:"ripple",name:"misc.ripple",component:()=>o.e(9880).then(o.bind(o,78767))},{path:"anchor",name:"misc.anchor",component:()=>o.e(9154).then(o.bind(o,19154))},{path:"copy",name:"misc.copy",component:()=>o.e(6335).then(o.bind(o,6335))},{path:"longpress",name:"misc.longpress",component:()=>o.e(6293).then(o.bind(o,66293))}]},21889:function(t,e,o){"use strict";o.r(e);e.default=[{path:"navigation-bar",name:"navigation.navigation-bar",component:()=>o.e(9530).then(o.bind(o,99530)),meta:{noLayout:!0}},{path:"drawer",name:"navigation.drawer",component:()=>o.e(9162).then(o.bind(o,79162))},{path:"permanent-drawer-above-toolbar",name:"navigation.permanent-drawer-above-toolbar",component:()=>o.e(5202).then(o.bind(o,95202)),meta:{noLayout:!0}},{path:"permanent-drawer-below-toolbar",name:"navigation.permanent-drawer-below-toolbar",component:()=>o.e(8241).then(o.bind(o,68241)),meta:{noLayout:!0}},{path:"dismissible-drawer-full-height-drawer",name:"navigation.dismissible-drawer-full-height-drawer",component:()=>o.e(4644).then(o.bind(o,64644)),meta:{noLayout:!0}},{path:"dismissible-drawer-below-top-app-bar",name:"navigation.dismissible-drawer-below-top-app-bar",component:()=>o.e(4189).then(o.bind(o,34189)),meta:{noLayout:!0}},{path:"modal-drawer",name:"navigation.modal-drawer",component:()=>o.e(6127).then(o.bind(o,46127)),meta:{noLayout:!0}},{path:"navigation-rail",name:"navigation.navigation-rail",component:()=>o.e(9668).then(o.bind(o,9668)),meta:{noLayout:!0}},{path:"tabs",name:"navigation.tabs",component:()=>o.e(9643).then(o.bind(o,99643))},{path:"top-app-bar",name:"navigation.top-app-bar",component:()=>o.e(8308).then(o.bind(o,78308)),meta:{noLayout:!0}},{path:"pagination",name:"navigation.pagination",component:()=>o.e(4102).then(o.bind(o,44102))}]},29177:function(t,e,o){"use strict";o.r(e);e.default=[{path:"menu",name:"selection.menu",component:()=>o.e(7228).then(o.bind(o,47228))},{path:"select",name:"selection.select",component:()=>o.e(3708).then(o.bind(o,53708))},{path:"checkbox",name:"selection.checkbox",component:()=>o.e(1711).then(o.bind(o,41711))},{path:"radio",name:"selection.radio",component:()=>o.e(7316).then(o.bind(o,37316))},{path:"chips",name:"selection.chips",component:()=>o.e(9418).then(o.bind(o,99418))},{path:"switch",name:"selection.switch",component:()=>o.e(7858).then(o.bind(o,37858))},{path:"slider",name:"selection.slider",component:()=>o.e(7939).then(o.bind(o,77939))},{path:"file",name:"selection.file",component:()=>o.e(801).then(o.bind(o,801))},{path:"datepicker",name:"selection.datepicker",component:()=>o.e(680).then(o.bind(o,60680))},{path:"rangepicker",name:"selection.rangepicker",component:()=>o.e(8801).then(o.bind(o,8801))}]},35517:function(t,e,o){"use strict";o.r(e);e.default=[{path:"color",name:"styles.color",component:()=>Promise.all([o.e(2152),o.e(4039)]).then(o.bind(o,4039))},{path:"elevation",name:"styles.elevation",component:()=>o.e(5779).then(o.bind(o,25779))},{path:"/icons",name:"icons",component:()=>Promise.all([o.e(2152),o.e(8239)]).then(o.bind(o,38578))},{path:"shape",name:"styles.shape",component:()=>o.e(5454).then(o.bind(o,85454))},{path:"typography",name:"styles.typography",component:()=>o.e(1965).then(o.bind(o,1965))}]},12889:function(t,e,o){"use strict";o.r(e);var d=o(62470);e.default=[{path:"/test",name:"test",redirect:{name:"test.composition"},component:d.default,children:[{path:"composition/:id?",name:"test.composition",component:()=>o.e(288).then(o.bind(o,288)),meta:{noLayout:!0}},{path:"options/:id?",name:"test.options",component:()=>o.e(4775).then(o.bind(o,34775)),meta:{noLayout:!0}}]}]},88584:function(t,e,o){"use strict";o.r(e);e.default=[{path:"textfield",name:"text-inputs.textfield",component:()=>o.e(9860).then(o.bind(o,19860))},{path:"autocomplete",name:"text-inputs.autocomplete",component:()=>o.e(2259).then(o.bind(o,22259))},{path:"editor",name:"text-inputs.editor",component:()=>o.e(1718).then(o.bind(o,61718))}]},4919:function(t,e,o){"use strict";o.r(e);var d=o(87684),n=o(18439),a=o(5635),l=o(83393);e.default={...(0,d.default)(),...(0,n.default)(),...(0,a.default)(),...(0,l.default)()}},18439:function(t,e,o){"use strict";o.r(e);var d=o(73114);const n=(0,o(13361).xN)(),a=(0,d.reactive)({lang:"",showTranslations:!1});function l(){return localStorage.getItem("lang")||"en"}function i(t){let{value:e}=t;a.lang=e,localStorage.setItem("lang",e),n.emit("switch-lang",e)}a.lang=l();e.default=()=>({...(0,d.toRefs)(a),getLang:l,setLang:i})},87684:function(t,e,o){"use strict";o.r(e);var d=o(73114);const n=(0,d.reactive)({noLayout:!1,isFirstLoad:!0,serviceWorker:null});e.default=()=>({...(0,d.toRefs)(n)})},83393:function(t,e,o){"use strict";o.r(e);var d=o(73114),n=o(35125);const a=(0,d.ref)([]);async function l(t,e){if(a.value=[],"utils"!==t&&e){a.value=[""];for(let o=1;o<=e;o++){const e=`snippets/${t}/demo${o}.md`,d=await(0,n.loadAsset)(e);a.value.push(d)}}}e.default=()=>({demos:a,initSnippet:l})},5635:function(t,e,o){"use strict";o.r(e);var d=o(73114),n=o(13361),a=o(98197);const l=(0,n.Fg)(),i=(0,d.reactive)({theme:"",themeColors:{}});function c(){return localStorage.getItem("theme")||"light"}function r(){["background","primary","on-primary","secondary","on-secondary","surface","on-surface","error","on-error"].forEach((t=>{i.themeColors[t]=l.getThemeColor(t)}))}function s(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i.theme;const e=a.themes[t];localStorage.setItem("theme",t),l.colors=e,r()}function u(){const t="dark"===i.theme?"light":"dark";i.theme=t,s(t)}i.theme=c(),s();e.default=()=>({...(0,d.toRefs)(i),getThemeName:c,getTheme:r,setTheme:s,switchTheme:u})},35125:function(t,e,o){"use strict";function d(t,e){const o=e?e.split("."):"",d=o[0]?`${t}-${o[0]}`:"";return[d,o[1]?`${d}_${o[1]}`:""].filter((t=>t))}async function n(t){try{return(await o(47562)(`./${t}`)).default}catch(e){console.warn(e.toString())}}function a(t){const e=document.createElement("a");e.setAttribute("href",t),e.setAttribute("target","_blank"),e.setAttribute("rel","noopener"),e.click()}o.r(e),o.d(e,{getPageClassName:function(){return d},loadAsset:function(){return n},openInNewTab:function(){return a}})},33445:function(t,e,o){"use strict";o.r(e);var d=o(85870);e.default=()=>{const{t:t}=(0,d.QT)();return{t:t}}},13361:function(t,e,o){"use strict";o.d(e,{ZP:function(){return Rc},Nt:function(){return zc},BM:function(){return _c},VY:function(){return Ii},xN:function(){return Tl},zX:function(){return xl},oR:function(){return El},Fg:function(){return Jl},pm:function(){return Zi},ny:function(){return tc}});o(25474);var d=o(40100),n=o(73114),a=o(5522),l=o(42818);const i="UiIcon",c={TYPES:{filled:0,outlined:1,round:2,twoTone:3,sharp:4},DEFAULT_SIZE:24},r={name:i,customOptions:{name:i,UI_GLOBAL:a.Z,UI_ICON:c}};var s=Object.assign(r,{props:{type:{type:[String,Number],default:0},outlined:{type:Boolean,default:!1},round:{type:Boolean,default:!1},twoTone:{type:Boolean,default:!1},sharp:{type:Boolean,default:!1},size:{type:[Number,String],default:c.DEFAULT_SIZE},dark:{type:Boolean,default:!1},light:{type:Boolean,default:!1},inactive:{type:Boolean,default:!1}},emits:[a.Z.EVENTS.CLICK],setup(t,e){let{emit:o}=e;const d=t,{handleClick:r}=(0,a.O)({emit:o}),s=(0,n.computed)((()=>(0,l.Z)(d,c.TYPES,"filled"))),u=(0,n.computed)((()=>(0,l.Z)(d,c.TYPES,"outlined"))),p=(0,n.computed)((()=>(0,l.Z)(d,c.TYPES,"round"))),m=(0,n.computed)((()=>(0,l.Z)(d,c.TYPES,"twoTone"))),h=(0,n.computed)((()=>(0,l.Z)(d,c.TYPES,"sharp"))),g=(0,n.computed)((()=>d.dark&&d.light)),b=(0,n.computed)((()=>d.dark||d.light)),f=(0,n.computed)((()=>{let t={"material-icons":s.value,"material-icons-outlined":u.value,"material-icons-round":p.value,"material-icons-two-tone":m.value,"material-icons-sharp":h.value,"md-dark":d.dark&&!d.light,"md-light":d.light&&!d.dark,"md-inactive":d.inactive};return+d.size!==c.DEFAULT_SIZE&&d.size>0&&(t[`md-${d.size}`]=!0),t}));return(0,n.onBeforeMount)((()=>{(g.value||!b.value&&d.inactive)&&console.warn(`[${i}]: Invalid dark or light icon`)})),(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("i",{class:(0,n.normalizeClass)(f.value),"aria-hidden":"true",onClick:e[0]||(e[0]=function(){return(0,n.unref)(r)&&(0,n.unref)(r)(...arguments)})},[(0,n.renderSlot)(t.$slots,"default")],2))}});var u=s,p=o(43800),m=(o(58167),o(74507));function h(t){return new p.F(t)}function g(t,e){(0,n.onMounted)((()=>{const o=t.value;h(o),(0,n.watch)((()=>e.type),(()=>h(o)))}))}var b=o(29221),f=o(66326);const v={action:"mdc-card__actions",button:"mdc-card__action-buttons",icon:"mdc-card__action-icons"};let y={cardButton:!1,cardIcon:!1};function k(t){const e=(0,n.computed)((()=>({"mdc-card__action":y.cardButton||y.cardIcon,"mdc-card__action--button":y.cardButton,"mdc-card__action--icon":y.cardIcon})));return(0,n.onMounted)((()=>{var e;const o=null===(e=t.value)||void 0===e?void 0:e.parentNode;o&&"htmldivelement"===(0,f.Z)(o)&&(y.cardButton=o.classList.contains(v.button)||o.classList.contains(v.action),y.cardIcon=o.classList.contains(v.icon))})),{cardActionClasses:e}}const w=["type"],x=(0,n.createElementVNode)("span",{class:"mdc-button__ripple"},null,-1),T=(0,n.createElementVNode)("span",{class:"mdc-button__focus-ring"},null,-1),C=["textContent"],q={TYPES:{text:0,outlined:1,raised:2,unelevated:3},cssClasses:{icon:"mdc-button__icon",label:"mdc-button__label",touch:"mdc-button--touch"}},S={name:"UiButton",customOptions:{UI_GLOBAL:a.Z,UI_BUTTON:q}};var I=Object.assign(S,{props:{type:{type:[String,Number],default:0},outlined:{type:Boolean,default:!1},raised:{type:Boolean,default:!1},unelevated:{type:Boolean,default:!1},...b.U,nativeType:{type:String,default:"button"}},emits:[a.Z.EVENTS.CLICK],setup(t,e){let{emit:o}=e;const d=t,i=(0,n.ref)(null),{handleClick:c}=(0,a.O)({emit:o});g(i,d);const{materialIcon:r}=(0,b.J)(d),{cardActionClasses:s}=k(i),u=(0,n.computed)((()=>(0,l.Z)(d,q.TYPES,"outlined"))),p=(0,n.computed)((()=>(0,l.Z)(d,q.TYPES,"raised"))),m=(0,n.computed)((()=>(0,l.Z)(d,q.TYPES,"unelevated"))),h=(0,n.computed)((()=>i.value&&i.value.classList.contains(q.cssClasses.touch))),f=(0,n.computed)((()=>[{"mdc-button":!0,"mdc-button--outlined":u.value,"mdc-button--raised":p.value,"mdc-button--unelevated":m.value,"mdc-button--touch":h.value},s.value]));return(e,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("button",{ref_key:"button",ref:i,type:t.nativeType,class:(0,n.normalizeClass)(f.value),onClick:o[0]||(o[0]=function(){return(0,n.unref)(c)&&(0,n.unref)(c)(...arguments)})},[x,T,(0,n.renderSlot)(e.$slots,"before",{iconClass:q.cssClasses.icon},(()=>[(0,n.unref)(r)?((0,n.openBlock)(),(0,n.createElementBlock)("i",{key:0,class:(0,n.normalizeClass)((0,n.unref)(a.Z).getMaterialIconClass(q.cssClasses.icon)),"aria-hidden":"true",textContent:(0,n.toDisplayString)((0,n.unref)(r))},null,10,C)):(0,n.createCommentVNode)("",!0)])),(0,n.createElementVNode)("span",{class:(0,n.normalizeClass)(q.cssClasses.label)},[(0,n.renderSlot)(e.$slots,"default")],2),(0,n.renderSlot)(e.$slots,"after",{iconClass:q.cssClasses.icon})],10,w))}});var $=I,N={TYPES:{regular:0,extended:1},cssClasses:{icon:"mdc-fab__icon",touch:"mdc-fab--touch"}};const E=(0,n.createElementVNode)("div",{class:"mdc-fab__ripple"},null,-1),B=(0,n.createElementVNode)("div",{class:"mdc-fab__focus-ring"},null,-1),D=["textContent"],V={class:"mdc-fab__label"},j=["textContent"],U={name:"UiFab",customOptions:{UI_GLOBAL:a.Z,UI_FAB:N}};var O=Object.assign(U,{props:{type:{type:[String,Number],default:0},extended:{type:Boolean,default:!1},...b.U,mini:{type:Boolean,default:!1},exited:{type:Boolean,default:!1}},emits:[a.Z.EVENTS.CLICK],setup(t,e){let{emit:o}=e;const d=t,i=(0,n.ref)(null),{handleClick:c}=(0,a.O)({emit:o});g(i,d);const{materialIcon:r}=(0,b.J)(d),s=(0,n.computed)((()=>(0,l.Z)(d,N.TYPES,"extended"))),u=(0,n.computed)((()=>i.value&&i.value.classList.contains(N.cssClasses.touch))),p=(0,n.computed)((()=>({"mdc-fab":!0,"mdc-fab--extended":s.value,"mdc-fab--mini":d.mini,"mdc-fab--exited":d.exited,"mdc-fab--touch":u.value})));return(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("button",{ref_key:"fab",ref:i,type:"button",class:(0,n.normalizeClass)(p.value),onClick:e[0]||(e[0]=function(){return(0,n.unref)(c)&&(0,n.unref)(c)(...arguments)})},[E,B,s.value?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},[(0,n.renderSlot)(t.$slots,"before",{iconClass:(0,n.unref)(N).cssClasses.icon},(()=>[(0,n.unref)(r)?((0,n.openBlock)(),(0,n.createElementBlock)("i",{key:0,class:(0,n.normalizeClass)((0,n.unref)(a.Z).getMaterialIconClass((0,n.unref)(N).cssClasses.icon)),textContent:(0,n.toDisplayString)((0,n.unref)(r))},null,10,D)):(0,n.createCommentVNode)("",!0)])),(0,n.createElementVNode)("span",V,[(0,n.renderSlot)(t.$slots,"default")]),(0,n.renderSlot)(t.$slots,"after",{iconClass:(0,n.unref)(N).cssClasses.icon})],64)):(0,n.renderSlot)(t.$slots,"default",{key:1,iconClass:(0,n.unref)(N).cssClasses.icon},(()=>[(0,n.unref)(r)?((0,n.openBlock)(),(0,n.createElementBlock)("i",{key:0,class:(0,n.normalizeClass)((0,n.unref)(a.Z).getMaterialIconClass((0,n.unref)(N).cssClasses.icon)),textContent:(0,n.toDisplayString)((0,n.unref)(r))},null,10,j)):(0,n.createCommentVNode)("",!0)]))],2))}});var _=O,z=o(97582),A=o(48315),M=o(85099),L={ICON_BUTTON_ON:"mdc-icon-button--on",ROOT:"mdc-icon-button"},P={ARIA_LABEL:"aria-label",ARIA_PRESSED:"aria-pressed",DATA_ARIA_LABEL_OFF:"data-aria-label-off",DATA_ARIA_LABEL_ON:"data-aria-label-on",CHANGE_EVENT:"MDCIconButtonToggle:change"},R=function(t){function e(o){var d=t.call(this,(0,z.pi)((0,z.pi)({},e.defaultAdapter),o))||this;return d.hasToggledAriaLabel=!1,d}return(0,z.ZT)(e,t),Object.defineProperty(e,"cssClasses",{get:function(){return L},enumerable:!1,configurable:!0}),Object.defineProperty(e,"strings",{get:function(){return P},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{addClass:function(){},hasClass:function(){return!1},notifyChange:function(){},removeClass:function(){},getAttr:function(){return null},setAttr:function(){}}},enumerable:!1,configurable:!0}),e.prototype.init=function(){var t=this.adapter.getAttr(P.DATA_ARIA_LABEL_ON),e=this.adapter.getAttr(P.DATA_ARIA_LABEL_OFF);if(t&&e){if(null!==this.adapter.getAttr(P.ARIA_PRESSED))throw new Error("MDCIconButtonToggleFoundation: Button should not set `aria-pressed` if it has a toggled aria label.");this.hasToggledAriaLabel=!0}else this.adapter.setAttr(P.ARIA_PRESSED,String(this.isOn()))},e.prototype.handleClick=function(){this.toggle(),this.adapter.notifyChange({isOn:this.isOn()})},e.prototype.isOn=function(){return this.adapter.hasClass(L.ICON_BUTTON_ON)},e.prototype.toggle=function(t){if(void 0===t&&(t=!this.isOn()),t?this.adapter.addClass(L.ICON_BUTTON_ON):this.adapter.removeClass(L.ICON_BUTTON_ON),this.hasToggledAriaLabel){var e=t?this.adapter.getAttr(P.DATA_ARIA_LABEL_ON):this.adapter.getAttr(P.DATA_ARIA_LABEL_OFF);this.adapter.setAttr(P.ARIA_LABEL,e||"")}else this.adapter.setAttr(P.ARIA_PRESSED,""+t)},e}(M.K),F=R.strings,H=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.rippleComponent=e.createRipple(),e}return(0,z.ZT)(e,t),e.attachTo=function(t){return new e(t)},e.prototype.initialSyncWithDOM=function(){var t=this;this.handleClick=function(){t.foundation.handleClick()},this.listen("click",this.handleClick)},e.prototype.destroy=function(){this.unlisten("click",this.handleClick),this.ripple.destroy(),t.prototype.destroy.call(this)},e.prototype.getDefaultFoundation=function(){var t=this;return new R({addClass:function(e){return t.root.classList.add(e)},hasClass:function(e){return t.root.classList.contains(e)},notifyChange:function(e){t.emit(F.CHANGE_EVENT,e)},removeClass:function(e){return t.root.classList.remove(e)},getAttr:function(e){return t.root.getAttribute(e)},setAttr:function(e,o){return t.root.setAttribute(e,o)}})},Object.defineProperty(e.prototype,"ripple",{get:function(){return this.rippleComponent},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"on",{get:function(){return this.foundation.isOn()},set:function(t){this.foundation.toggle(t)},enumerable:!1,configurable:!0}),e.prototype.createRipple=function(){var t=new p.F(this.root);return t.unbounded=!0,t},e}(A.B);const G=(0,n.createElementVNode)("div",{class:"mdc-icon-button__ripple"},null,-1),Z=(0,n.createElementVNode)("span",{class:"mdc-icon-button__focus-ring"},null,-1),W=["textContent"],K=["textContent"],Y={cssClasses:{off:"mdc-icon-button__icon",on:"mdc-icon-button__icon mdc-icon-button__icon--on"},EVENTS:{CHANGE:"update:modelValue"}},J={name:"UiIconButton",customOptions:{UI_GLOBAL:a.Z,UI_ICON_BUTTON:Y}};var X=Object.assign(J,{props:{modelValue:{type:Boolean,default:!1},...b.U,toggle:{type:Object,default:()=>({})}},emits:[a.Z.EVENTS.CLICK,Y.EVENTS.CHANGE],setup(t,e){let{emit:o}=e;const d=t,l=(0,n.ref)(null),{handleClick:i}=(0,a.O)({emit:o}),{cardActionClasses:c}=k(l),r=(0,n.computed)((()=>d.toggle.on&&d.toggle.off)),s=(0,n.computed)((()=>[{"mdc-icon-button":!0,"material-icons":!r.value},c.value]));return(0,n.onMounted)((()=>{const t=new H(l.value);t.listen(P.CHANGE_EVENT,(t=>{let{detail:e}=t;o(Y.EVENTS.CHANGE,e.isOn)})),t.on=d.modelValue,(0,n.watch)((()=>d.modelValue),(e=>t.on=e))})),(e,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("button",{ref_key:"iconButton",ref:l,type:"button",class:(0,n.normalizeClass)(s.value),onClick:o[0]||(o[0]=function(){return(0,n.unref)(i)&&(0,n.unref)(i)(...arguments)})},[G,Z,r.value?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},[(0,n.createElementVNode)("i",{class:(0,n.normalizeClass)((0,n.unref)(a.Z).getMaterialIconClass(Y.cssClasses.off)),textContent:(0,n.toDisplayString)(t.toggle.off)},null,10,W),(0,n.createElementVNode)("i",{class:(0,n.normalizeClass)((0,n.unref)(a.Z).getMaterialIconClass(Y.cssClasses.on)),textContent:(0,n.toDisplayString)(t.toggle.on)},null,10,K)],64)):(0,n.renderSlot)(e.$slots,"default",{key:1,onClass:Y.cssClasses.on,offClass:Y.cssClasses.off},(()=>[(0,n.createTextVNode)((0,n.toDisplayString)(e.icon),1)]))],2))}});var Q=X;var tt=o(24292).Z,et=o(98979);var ot=o(87415).Z;const dt={class:"mdc-layout-grid__inner"};var nt={name:"UiGridInner"},at=o(83744);var lt=(0,at.Z)(nt,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("div",dt,[(0,n.renderSlot)(t.$slots,"default")])}]]);const it="UiGrid",ct={POSITIONS:["left","right"]},rt={name:it,customOptions:{name:it,UI_GRID:ct}};var st=Object.assign(rt,{props:{fixedColumnWidth:{type:Boolean,default:!1},position:{type:String,default:""}},setup(t){const e=t,o=(0,n.computed)((()=>{let t=["mdc-layout-grid"];if(e.fixedColumnWidth&&t.push("mdc-layout-grid--fixed-column-width"),e.position){const o=e.position;ct.POSITIONS.includes(o)?t.push(`mdc-layout-grid--align-${o}`):console.warn(`[${it}]: Invalid `)}return t}));return(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{class:(0,n.normalizeClass)(o.value)},[(0,n.createVNode)(lt,null,{default:(0,n.withCtx)((()=>[(0,n.renderSlot)(t.$slots,"default")])),_:3})],2))}});const ut="UiGridCell",pt={cssClasses:"mdc-layout-grid__cell",TYPE:{COLUMNS:"span",ORDER:"order",ALIGN:"align"},TYPE_OF_DEVICE:["desktop","tablet","phone"],POSITION:["top","middle","bottom"]},mt={name:ut,customOptions:{UI_GRID_CELL:pt}};var ht=Object.assign(mt,{props:{nested:{type:Boolean,default:!1},columns:{type:[Number,String,Object],default:4},order:{type:[Number,String],default:0},align:{type:String,default:""}},setup(t){const e=t;function o(t,e,o){if("object"===(0,f.Z)(o))for(let d in o){let n=o[d];pt.TYPE_OF_DEVICE.includes(d)?e.push(`${pt.cssClasses}--${t}-${n}-${d}`):"default"===d&&e.push(`${pt.cssClasses}--${t}-${n}`)}else{let d=o;e.push(`${pt.cssClasses}--${t}-${d}`)}return e}const d=(0,n.computed)((()=>{let t=[pt.cssClasses];if(e.columns&&(t=o(pt.TYPE.COLUMNS,t,e.columns)),e.order){let d=+e.order;d>=1&&d<=12?t=o(pt.TYPE.ORDER,t,d):console.warn(`[${ut}]: Order is an integer between 1 and 12`)}if(e.align){let d=e.align.toLowerCase();pt.POSITION.includes(d)&&(t=o(pt.TYPE.ALIGN,t,d))}return t}));return(e,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{class:(0,n.normalizeClass)(d.value)},[t.nested?((0,n.openBlock)(),(0,n.createBlock)(lt,{key:0},{default:(0,n.withCtx)((()=>[(0,n.renderSlot)(e.$slots,"default")])),_:3})):(0,n.renderSlot)(e.$slots,"default",{key:1})],2))}});var gt=ht;const bt={class:"mdc-divider__text"},ft={key:1,class:"mdc-divider__text"},vt={TYPES:{horizontal:0,vertical:1}},yt={name:"UiDivider",customOptions:{UI_DIVIDER:vt}};var kt=Object.assign(yt,{props:{type:{type:[String,Number],default:0}},setup(t){const e=t,o=(0,n.useSlots)(),d=(0,n.computed)((()=>(0,l.Z)(e,vt.TYPES,"vertical")||"|"===e.type)),a=(0,n.computed)((()=>!!o.default)),i=(0,n.computed)((()=>({"mdc-divider":!0,"mdc-divider--horizontal":!d.value,"mdc-divider--vertical":d.value,"mdc-divider--no-text":!a.value})));return(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{class:(0,n.normalizeClass)(i.value)},[a.value?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},[d.value?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},[(0,n.renderSlot)(t.$slots,"left"),(0,n.createElementVNode)("span",bt,[(0,n.createElementVNode)("span",null,[(0,n.renderSlot)(t.$slots,"default")])]),(0,n.renderSlot)(t.$slots,"right")],64)):((0,n.openBlock)(),(0,n.createElementBlock)("span",ft,[(0,n.createElementVNode)("span",null,[(0,n.renderSlot)(t.$slots,"default")])]))],64)):(0,n.createCommentVNode)("",!0)],2))}});var wt=o(14970).Z;const xt={class:"mdc-drawer__header"};var Tt={name:"UiDrawerHeader"};var Ct=(0,at.Z)(Tt,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("header",xt,[(0,n.renderSlot)(t.$slots,"default")])}]]);const qt={class:"mdc-drawer__title"};var St={name:"UiDrawerTitle"};var It=(0,at.Z)(St,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("h3",qt,[(0,n.renderSlot)(t.$slots,"default")])}]]);const $t={class:"mdc-drawer__subtitle"};var Nt={name:"UiDrawerSubtitle"};var Et=(0,at.Z)(Nt,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("h6",$t,[(0,n.renderSlot)(t.$slots,"default")])}]]);const Bt={class:"mdc-drawer__content"};var Dt={name:"UiDrawerContent"};var Vt=(0,at.Z)(Dt,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("div",Bt,[(0,n.renderSlot)(t.$slots,"default")])}]]);const jt={class:"mdc-drawer-app-content"};var Ut={name:"UiDrawerAppContent"};var Ot=(0,at.Z)(Ut,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("div",jt,[(0,n.renderSlot)(t.$slots,"default")])}]]);var _t=o(90238).Z,zt=o(17436);const At="UiTabIndicator",Mt={name:At,customOptions:{name:At,UI_GLOBAL:a.Z,UI_TAB_INDICATOR:zt.gA}};var Lt=Object.assign(Mt,{props:{type:{type:String,default:zt.gA.UNDERLINE},fade:{type:Boolean,default:!1}},setup(t){const e=t,o=(0,n.getCurrentInstance)().parent,d=(0,n.ref)(null),l=(0,n.computed)((()=>o&&o.props.modelValue)),i=(0,n.computed)((()=>({"mdc-tab-indicator":!0,"mdc-tab-indicator--active":l.value,"mdc-tab-indicator--fade":e.fade}))),c=(0,n.computed)((()=>{let t=["mdc-tab-indicator__content",`mdc-tab-indicator__content--${e.type}`];return e.type===zt.gA.ICON&&t.push(a.Z.cssClasses.icon),t.join(" ")}));return(0,n.onBeforeMount)((()=>{Object.values(zt.gA).includes(e.type)||console.warn(`[${At}]: Invalid tab indicator type`)})),(e,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("span",{ref_key:"tabIndicator",ref:d,class:(0,n.normalizeClass)(i.value)},[(0,n.createElementVNode)("span",{class:(0,n.normalizeClass)(c.value)},[t.type===(0,n.unref)(zt.gA).ICON?(0,n.renderSlot)(e.$slots,"default",{key:0}):(0,n.createCommentVNode)("",!0)],2)],2))}});const Pt={type:{type:[String,Number],default:0},stacked:{type:Boolean,default:!1},minWidth:{type:Boolean,default:!1},contentIndicator:{type:Boolean,default:!1}};const Rt={class:"mdc-tab__content"},Ft=["textContent"],Ht={class:"mdc-tab__text-label"},Gt=["textContent"],Zt={key:2,class:"mdc-tab__text-label"},Wt=(0,n.createElementVNode)("span",{class:"mdc-tab__ripple"},null,-1),Kt=(0,n.createElementVNode)("div",{class:"mdc-tab__focus-ring"},null,-1),Yt={name:"UiTab",customOptions:{UI_GLOBAL:a.Z,UI_TAB:zt.a1}};var Jt=Object.assign(Yt,{props:{...Pt,...b.U,text:{type:String,default:""}},emits:[a.Z.EVENTS.CLICK],setup(t,e){let{emit:o}=e;const d=t,i=(0,n.getCurrentInstance)().parent,c=(0,n.ref)(null),{handleClick:r}=(0,a.O)({emit:o}),{isTextWithIcon:s,isIconOnly:u}=function(t){return{isTextWithIcon:(0,n.computed)((()=>(0,l.Z)(t,zt.a1.TYPES,"textWithIcon"))),isIconOnly:(0,n.computed)((()=>(0,l.Z)(t,zt.a1.TYPES,"iconOnly")))}}(d),{materialIcon:p}=(0,b.J)(d),m=(0,n.computed)((()=>c.value&&c.value.classList.contains(zt.a1.cssClasses.active))),h=(0,n.computed)((()=>({"mdc-tab":!0,"mdc-tab--stacked":d.stacked,"mdc-tab--min-width":d.minWidth,"mdc-tab--active":m.value})));return(0,n.onUpdated)((()=>{try{var t,e;null===(t=i.parent)||void 0===t||null===(e=t.exposed)||void 0===e||e.updated()}catch(o){}})),(e,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("button",{ref_key:"tab",ref:c,class:(0,n.normalizeClass)(h.value),role:"tab","aria-selected":"false",tabindex:"-1",onClick:o[0]||(o[0]=function(){return(0,n.unref)(r)&&(0,n.unref)(r)(...arguments)})},[(0,n.createElementVNode)("span",Rt,[(0,n.unref)(s)?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},[(0,n.renderSlot)(e.$slots,"icon",{iconClass:(0,n.unref)(zt.a1).cssClasses.icon},(()=>[(0,n.unref)(p)?((0,n.openBlock)(),(0,n.createElementBlock)("i",{key:0,class:(0,n.normalizeClass)((0,n.unref)(a.Z).getMaterialIconClass((0,n.unref)(zt.a1).cssClasses.icon)),"aria-hidden":"true",textContent:(0,n.toDisplayString)((0,n.unref)(p))},null,10,Ft)):(0,n.createCommentVNode)("",!0)])),(0,n.createElementVNode)("span",Ht,[(0,n.renderSlot)(e.$slots,"default",{},(()=>[(0,n.createTextVNode)((0,n.toDisplayString)(t.text),1)]))])],64)):(0,n.unref)(u)?(0,n.renderSlot)(e.$slots,"icon",{key:1,iconClass:(0,n.unref)(zt.a1).cssClasses.icon},(()=>[(0,n.unref)(p)?((0,n.openBlock)(),(0,n.createElementBlock)("i",{key:0,class:(0,n.normalizeClass)((0,n.unref)(a.Z).getMaterialIconClass((0,n.unref)(zt.a1).cssClasses.icon)),"aria-hidden":"true",textContent:(0,n.toDisplayString)((0,n.unref)(p))},null,10,Gt)):(0,n.createCommentVNode)("",!0)])):((0,n.openBlock)(),(0,n.createElementBlock)("span",Zt,[(0,n.renderSlot)(e.$slots,"default",{},(()=>[(0,n.createTextVNode)((0,n.toDisplayString)(t.text),1)]))])),e.contentIndicator?(0,n.renderSlot)(e.$slots,"indicator",{key:3},(()=>[(0,n.createVNode)(Lt)])):(0,n.createCommentVNode)("",!0)]),e.contentIndicator?(0,n.createCommentVNode)("",!0):(0,n.renderSlot)(e.$slots,"indicator",{key:0},(()=>[(0,n.createVNode)(Lt)])),Wt,Kt],2))}});var Xt=Jt,Qt=o(82990),te=o(54811);const ee={name:"UiTabs",customOptions:{UI_TAB_BAR:zt.Y2}};var oe=Object.assign(ee,{props:{...Qt.m,...te.o,...Pt,items:{type:Array,default:()=>[]}},emits:[zt.Y2.EVENTS.CHANGE],setup(t,e){let{emit:o}=e;const{handleChange:d}=(0,Qt.f)({emit:o});return(e,o)=>((0,n.openBlock)(),(0,n.createBlock)(_t,{"model-value":e.modelValue,align:e.align,"onUpdate:modelValue":(0,n.unref)(d)},{default:(0,n.withCtx)((()=>[(0,n.renderSlot)(e.$slots,"default",{},(()=>[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(t.items,((t,o)=>((0,n.openBlock)(),(0,n.createBlock)(Xt,{key:o,type:e.type,text:t.text||null,icon:t.icon||null,stacked:e.stacked,"min-width":e.minWidth,"content-indicator":e.contentIndicator},null,8,["type","text","icon","stacked","min-width","content-indicator"])))),128))]))])),_:3},8,["model-value","align","onUpdate:modelValue"]))}});var de=oe,ne=o(87244);const ae={cssClasses:{active:"active"},EVENTS:{CHANGE:"update:modelValue"}},le={name:"UiPanels",customOptions:{UI_PANEL:ae}};var ie=Object.assign(le,{props:{modelValue:{type:Number,default:0}},setup(t){const e=t,o=(0,n.ref)(null);function d(t){const e=o.value;if(e){const o=e.querySelectorAll(".mdc-panel");o.length&&o.forEach(((e,o)=>{o!==t||e.classList.contains(ae.cssClasses.active)?e.classList.remove(ae.cssClasses.active):e.classList.add(ae.cssClasses.active)}))}}return(0,n.onMounted)((()=>{d(e.modelValue),(0,n.watch)((()=>e.modelValue),(t=>d(t)))})),(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{ref_key:"panels",ref:o,class:"mdc-panels"},[(0,n.renderSlot)(t.$slots,"default")],512))}});var ce=ie;const re={class:"mdc-panel",role:"tabpanel"};var se={name:"UiPanel"};var ue=(0,at.Z)(se,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("div",re,[(0,n.renderSlot)(t.$slots,"default")])}]]);const pe="UiMenuAnchor",me=["top left","top right","middle left","middle right","bottom left","bottom right"],he={name:pe,customOptions:{name:pe,ANCHOR_POSITIONS:me}};var ge=Object.assign(he,{props:{position:{type:String,default:""},absolute:{type:Boolean,default:!1}},setup(t){const e=t,o=(0,n.computed)((()=>({"mdc-menu-surface--anchor":!0,"mdc-menu-surface--absolute":e.absolute}))),d=(0,n.computed)((()=>{let t="",o=e.position;if(o)if(me.includes(o)){let e=o.split(" ");t="middle"===e[0]?`top:50%;${e[1]}:0;transform:translateY(-50%);`:e.map((t=>`${t}:0`)).join(";")}else console.warn(`[${pe}]: Invalid anchor position`);return t}));return(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{class:(0,n.normalizeClass)(o.value),style:(0,n.normalizeStyle)(d.value)},[(0,n.renderSlot)(t.$slots,"default")],6))}}),be=o(78200),fe=o(64008);o(79282),o(49329);var ve=o(39311),ye={name:"UiMenuitemIcon",data(){return{UI_ITEM:ve.WR}}};var ke=(0,at.Z)(ye,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("span",{class:(0,n.normalizeClass)([a.UI_ITEM.cssClasses.firstTile,"mdc-menu__selection-group-icon"])},[(0,n.renderSlot)(t.$slots,"default")],2)}]]);var we={name:"UiMenuitemText",data(){return{deprecatedListClassNameMap:ve.Yc}}};var xe=(0,at.Z)(we,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("span",{class:(0,n.normalizeClass)(a.deprecatedListClassNameMap["mdc-list-item__text"])},[(0,n.renderSlot)(t.$slots,"default")],2)}]]),Te=o(42361);const Ce=["role","data-value"],qe={key:0,class:"mdc-menu__selection-group"},Se=["textContent"],Ie={name:"UiMenuitem",customOptions:{UI_GLOBAL:a.Z}};var $e=Object.assign(Ie,{props:{nested:{type:Boolean,default:!1},item:{type:Object,default:()=>({})},value:{type:null,default:null},disabled:{type:Boolean,default:!1},selected:{type:Boolean,default:!1}},emits:[a.Z.EVENTS.CLICK],setup(t,e){let{emit:o}=e;const d=t,l=(0,n.ref)(null),{handleClick:i}=(0,a.O)({emit:o}),{deprecatedListClassNameMap:c}=(0,Te.y)(l);function r(t){return[c["mdc-list-item"],...(0,Te.p)({disabled:d.disabled||t.disabled}),{"mdc-menu-item--selected":d.selected||t.selected}]}return(0,n.onMounted)((()=>{d.nested||h(l.value)})),(e,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("li",{ref_key:"menuitem",ref:l,class:(0,n.normalizeClass)(t.nested?null:r(t.item)),role:t.nested?null:"menuitem","data-value":t.item.value||t.value,onClick:o[0]||(o[0]=function(){return(0,n.unref)(i)&&(0,n.unref)(i)(...arguments)})},[t.nested?((0,n.openBlock)(),(0,n.createElementBlock)("ul",qe,[(0,n.renderSlot)(e.$slots,"default")])):((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[(0,n.createElementVNode)("span",{class:(0,n.normalizeClass)((0,n.unref)(c)["mdc-list-item__ripple"])},null,2),(0,n.renderSlot)(e.$slots,"default",{},(()=>[t.item.icon?((0,n.openBlock)(),(0,n.createBlock)(ke,{key:0},{default:(0,n.withCtx)((()=>[(0,n.createElementVNode)("i",{class:(0,n.normalizeClass)((0,n.unref)(a.Z).cssClasses.icon),"aria-hidden":"true",textContent:(0,n.toDisplayString)(t.item.icon)},null,10,Se)])),_:1})):(0,n.createCommentVNode)("",!0),t.item.text?((0,n.openBlock)(),(0,n.createBlock)(xe,{key:1},{default:(0,n.withCtx)((()=>[(0,n.createTextVNode)((0,n.toDisplayString)(t.item.text),1)])),_:1})):(0,n.createCommentVNode)("",!0)]))],64))],10,Ce))}});var Ne=$e;const Ee={padded:{type:Boolean,default:!1},inset:{type:Boolean,default:!1}};function Be(t){return{className:(0,n.computed)((()=>({"mdc-deprecated-list-divider":!0,"mdc-deprecated-list-divider--padded":t.padded,"mdc-deprecated-list-divider--inset":t.inset})))}}const De={name:"UiItemDivider",customOptions:{}};var Ve=Object.assign(De,{props:Ee,setup(t){const e=t,{className:o}=Be(e);return(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("li",{class:(0,n.normalizeClass)((0,n.unref)(o)),role:"separator"},null,2))}});const je="UiMenu",Ue={DIVIDER:"-",MENU_POSITIONS:["TOP_LEFT","TOP_RIGHT","BOTTOM_LEFT","BOTTOM_RIGHT","TOP_START","TOP_END","BOTTOM_START","BOTTOM_END"],EVENTS:{SELECTED:"selected",CLOSED:"closed",OPENED:"opened",CHANGE:"update:modelValue"}},Oe={name:je,customOptions:{name:je,UI_MENU:Ue,getType:f.Z,deprecatedListClassNameMap:ve.Yc}};var _e=Object.assign(Oe,{props:{modelValue:{type:Boolean,default:!1},items:{type:Array,default:()=>[]},quickOpen:{type:Boolean,default:!1},position:{type:String,default:"TOP_LEFT"},distance:{type:Object,default:()=>({})},fixed:{type:Boolean,default:!1},fullwidth:{type:Boolean,default:!1},cssOnly:{type:Boolean,default:!1}},emits:[Ue.EVENTS.SELECTED,Ue.EVENTS.CLOSED,Ue.EVENTS.OPENED,Ue.EVENTS.CHANGE],setup(t,e){let{emit:o}=e;const d=t,a=(0,n.computed)((()=>({"mdc-menu":!0,"mdc-menu-surface":!0,"mdc-menu-surface--fixed":d.fixed,"mdc-menu-surface--fullwidth":d.fullwidth&&!d.fixed,"mdc-menu-surface--open":d.cssOnly}))),l=(0,n.ref)(null),i=(0,n.reactive)({$menu:null,currentItems:d.items,currentTextItems:[],currentItem:null}),{currentItems:c}=(0,n.toRefs)(i);(0,n.onMounted)((()=>{if(s(),!d.cssOnly){const t=l.value;i.$menu=new fe.g(t),t.addEventListener(`MDCMenu:${Ue.EVENTS.SELECTED}`,(t=>{let{detail:e}=t;const d=e.index,n=e.item.dataset.value,a=i.currentTextItems[d],l="object"===(0,f.Z)(a)?a:{value:a};i.currentItem=l,o(Ue.EVENTS.SELECTED,{index:d,text:i.$menu.getPrimaryTextAtIndex(d),value:l.value||n})})),t.addEventListener(`MDCMenuSurface:${Ue.EVENTS.CLOSED}`,(()=>{o(Ue.EVENTS.CHANGE,!1),o(Ue.EVENTS.CLOSED)})),t.addEventListener(`MDCMenuSurface:${Ue.EVENTS.OPENED}`,(()=>{o(Ue.EVENTS.OPENED)})),p(),h(),g(),(0,n.watch)((()=>d.modelValue),(t=>{i.$menu.open!==t&&(i.$menu.open=t)})),(0,n.watch)((()=>d.items),(t=>{i.currentItems=t,s()})),(0,n.watch)((()=>d.quickOpen),(t=>{p(t)})),(0,n.watch)((()=>d.position),(t=>{h(t)})),(0,n.watch)((()=>d.distance),(t=>{g(t)}))}}));const r=t=>t===Ue.DIVIDER;function s(){i.currentTextItems=i.currentItems.filter((t=>"object"===(0,f.Z)(t)?t.text!==Ue.DIVIDER:t!==Ue.DIVIDER))}function u(t){let e=!1;return e="object"===(0,f.Z)(t)&&"object"===(0,f.Z)(i.currentItem)?t.text===i.currentItem.text:t===i.currentItem,e}function p(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:d.quickOpen;i.$menu.quickOpen=t}function m(){const t=l.value;return t.parentElement&&t.parentElement.classList.contains("mdc-menu-surface--anchor")}function h(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:d.position;m()&&(Ue.MENU_POSITIONS.includes(t)?i.$menu.setAnchorCorner(be.Ns[t]):console.warn(`[${je}]: Invalid menu position`))}function g(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:d.distance;m()&&Object.keys(t).length&&i.$menu.setAnchorMargin(t)}return(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{ref_key:"menu",ref:l,class:(0,n.normalizeClass)(a.value)},[(0,n.createElementVNode)("ul",{class:(0,n.normalizeClass)((0,n.unref)(ve.Yc)["mdc-list"]),tabindex:"-1",role:"menu","aria-hidden":"true","aria-orientation":"vertical"},[(0,n.renderSlot)(t.$slots,"default",{},(()=>[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)((0,n.unref)(c),((t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:`menu-item-${e}`},["array"===(0,n.unref)(f.Z)(t)?((0,n.openBlock)(),(0,n.createBlock)(Ne,{key:`group${e}`,nested:""},{default:(0,n.withCtx)((()=>[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(t,((t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:`menu-subitem-${e}`},[r(t)?((0,n.openBlock)(),(0,n.createBlock)(Ve,{key:0})):((0,n.openBlock)(),(0,n.createBlock)(Ne,{key:1,item:"object"===(0,n.unref)(f.Z)(t)?t:{},selected:u(t)},{default:(0,n.withCtx)((()=>["string"===(0,n.unref)(f.Z)(t)?((0,n.openBlock)(),(0,n.createBlock)(xe,{key:0,textContent:(0,n.toDisplayString)(t)},null,8,["textContent"])):(0,n.createCommentVNode)("",!0)])),_:2},1032,["item","selected"]))],64)))),128))])),_:2},1024)):((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[r(t)?((0,n.openBlock)(),(0,n.createBlock)(Ve,{key:0})):((0,n.openBlock)(),(0,n.createBlock)(Ne,{key:1,item:"object"===(0,n.unref)(f.Z)(t)?t:{},selected:u(t)},{default:(0,n.withCtx)((()=>["string"===(0,n.unref)(f.Z)(t)?((0,n.openBlock)(),(0,n.createBlock)(xe,{key:0,textContent:(0,n.toDisplayString)(t)},null,8,["textContent"])):(0,n.createCommentVNode)("",!0)])),_:2},1032,["item","selected"]))],64))],64)))),128))]))],2)],2))}});var ze=_e;const Ae={name:"UiMenuitemDivider",customOptions:{}};var Me=Object.assign(Ae,{setup(t){const{className:e}=Be({});return(t,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("li",{class:(0,n.normalizeClass)((0,n.unref)(e)),role:"separator"},null,2))}}),Le=o(85574);const Pe={class:"mdc-data-table__pagination-trailing"},Re={key:0,class:"mdc-data-table__pagination-rows-per-page"},Fe={class:"mdc-data-table__pagination-rows-per-page-label"},He={class:"mdc-data-table__pagination-rows-per-page-select"},Ge={class:"mdc-data-table__pagination-navigation"},Ze={key:0,class:"mdc-data-table__pagination-total"},We={key:2,class:"mdc-data-table__pagination-page"},Ke={key:1,class:"mdc-button mdc-data-table__pagination-button mdc-pagination__button--ellipsis"},Ye=[(0,n.createElementVNode)("span",{class:"mdc-button__label"},"...",-1)],Je={key:1,class:"mdc-data-table__pagination-jumper"},Xe={class:"mdc-data-table__pagination-jumper-label"},Qe={class:"mdc-data-table__pagination-jumper-input"},to=["max"],eo={POSITIONS:["left","center","right"],MIN_PAGE_SPAN:3,EVENTS:{CHANGE:"update:modelValue",CHANGE_PAGE_SIZE:"update:pageSize"}},oo={name:"UiPagination",customOptions:{UI_GLOBAL:a.Z,UI_PAGINATION:eo}};var no=Object.assign(oo,{props:{modelValue:{type:Number,default:1},total:{type:Number,default:0},pageSpan:{type:[Number,Boolean],default:eo.MIN_PAGE_SPAN},showTotal:{type:Boolean,default:!1},pageSize:{type:[Number,Array],default:10},pageSizeText:{type:[String,Array],default:"Rows per page"},ofText:{type:String,default:"of"},unitText:{type:String,default:""},showJumper:{type:Boolean,default:!1},jumperText:{type:[String,Array],default:"Goto"},jumperButtonOutlined:{type:Boolean,default:!1},jumperButtonText:{type:String,default:""},position:{type:String,default:""},mini:{type:Boolean,default:!1}},emits:[eo.EVENTS.CHANGE,eo.EVENTS.CHANGE_PAGE_SIZE],setup(t,e){let{emit:o}=e;const d=t,l=(0,n.reactive)({currentPage:d.modelValue,currentPageSize:Array.isArray(d.pageSize)?d.pageSize[0]:d.pageSize,jumpPage:d.modelValue}),{currentPage:i,currentPageSize:c,jumpPage:r}=(0,n.toRefs)(l),s=(0,n.computed)((()=>{let t=["mdc-data-table__pagination","mdc-pagination",{"mdc-pagination--mini":d.mini}];return eo.POSITIONS.includes(d.position)&&t.push(`mdc-pagination--${d.position}`),t})),u=(0,n.computed)((()=>Math.ceil(d.total/l.currentPageSize))),p=(0,n.computed)((()=>l.currentPageSize*(l.currentPage-1)+1)),m=(0,n.computed)((()=>{const t=l.currentPageSize*l.currentPage;return t>d.total?d.total:t})),h=(0,n.computed)((()=>d.mini||d.pageSpan&&d.pageSpan>=eo.MIN_PAGE_SPAN)),g=(0,n.computed)((()=>Array.isArray(d.pageSizeText)?d.pageSizeText[0]:d.pageSizeText)),b=(0,n.computed)((()=>Array.isArray(d.pageSizeText)?d.pageSizeText[1]:"")),f=(0,n.computed)((()=>Array.isArray(d.jumperText)?d.jumperText[0]:d.jumperText)),v=(0,n.computed)((()=>Array.isArray(d.jumperText)?d.jumperText[1]:""));function y(t){let e=!1;switch(!0){case 1===t:case t===u.value:case l.currentPage>=t&&t>=l.currentPage-d.pageSpan:case l.currentPage<=t&&t<=l.currentPage+d.pageSpan:e=!0}return e}function k(t){let e=l.currentPage===t-d.pageSpan||l.currentPage===t+d.pageSpan,o=1!==t&&t!==u.value;return!(e&&o)}function w(t){switch(!0){case t>u.value:t=u.value;break;case t<1:t=1}return t}function x(t){l.currentPage!==t&&(isNaN(t)?l.jumpPage=l.currentPage:(t=w(t),l.jumpPage=t,o(eo.EVENTS.CHANGE,+t)))}function T(){const t=w(l.currentPage);l.currentPage!==t&&(l.jumpPage=t,o(eo.EVENTS.CHANGE,+t)),o(eo.EVENTS.CHANGE_PAGE_SIZE,{page:t,pageSize:l.currentPageSize,pageCount:u.value})}return(0,n.watch)((()=>d.modelValue),(t=>{l.currentPage=t,l.jumpPage=t})),(0,n.watch)((()=>d.total),(()=>{p.value>m.value&&T()})),(0,n.watch)((()=>d.pageSize),(t=>{Array.isArray(t)||(l.currentPageSize=t)})),(e,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{class:(0,n.normalizeClass)(s.value)},[(0,n.createElementVNode)("div",Pe,[!t.mini&&Array.isArray(t.pageSize)?((0,n.openBlock)(),(0,n.createElementBlock)("div",Re,[(0,n.createElementVNode)("div",Fe,(0,n.toDisplayString)(g.value),1),(0,n.createElementVNode)("div",He,[(0,n.withDirectives)((0,n.createElementVNode)("select",{"onUpdate:modelValue":o[0]||(o[0]=t=>(0,n.isRef)(c)?c.value=t:null),onChange:T},[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(t.pageSize,(t=>((0,n.openBlock)(),(0,n.createElementBlock)("option",{key:`pageSize-${t}`},(0,n.toDisplayString)(t),1)))),128))],544),[[n.vModelSelect,(0,n.unref)(c)]])]),(0,n.createElementVNode)("span",null,(0,n.toDisplayString)(b.value),1)])):(0,n.createCommentVNode)("",!0),(0,n.createElementVNode)("div",Ge,[t.showTotal?((0,n.openBlock)(),(0,n.createElementBlock)("div",Ze,[(0,n.renderSlot)(e.$slots,"default",(0,n.normalizeProps)((0,n.guardReactiveProps)({currentMinRow:p.value,currentMaxRow:m.value})),(()=>[(0,n.createTextVNode)((0,n.toDisplayString)(p.value)+"\u2011"+(0,n.toDisplayString)(m.value)+" "+(0,n.toDisplayString)(t.ofText)+" "+(0,n.toDisplayString)(t.total)+" "+(0,n.toDisplayString)(t.unitText),1)]))])):(0,n.createCommentVNode)("",!0),h.value?(0,n.createCommentVNode)("",!0):((0,n.openBlock)(),(0,n.createBlock)(Le.Z,{key:1,class:"mdc-data-table__pagination-button mdc-data-table__pagination-first-button","no-label":"",disabled:1===(0,n.unref)(i),"data-first-page":"true",onClick:o[1]||(o[1]=t=>x(1))},{default:(0,n.withCtx)((()=>[(0,n.renderSlot)(e.$slots,"first",{},(()=>[(0,n.createElementVNode)("i",{class:(0,n.normalizeClass)((0,n.unref)(a.Z).cssClasses.icon)},"first_page",2)]))])),_:3},8,["disabled"])),(0,n.createVNode)(Le.Z,{class:"mdc-data-table__pagination-button mdc-data-table__pagination-prev-button","no-label":"",disabled:1===(0,n.unref)(i),"data-prev-page":"true",onClick:o[2]||(o[2]=t=>x((0,n.unref)(i)-1))},{default:(0,n.withCtx)((()=>[(0,n.renderSlot)(e.$slots,"prev",{},(()=>[(0,n.createElementVNode)("i",{class:(0,n.normalizeClass)((0,n.unref)(a.Z).cssClasses.icon)},"chevron_left",2)]))])),_:3},8,["disabled"]),!t.mini&&h.value?((0,n.openBlock)(),(0,n.createElementBlock)("div",We,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(u.value,(t=>((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:`page-${t}`},[y(t)?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},[k(t)?((0,n.openBlock)(),(0,n.createBlock)(Le.Z,{key:0,class:(0,n.normalizeClass)({"mdc-data-table__pagination-button":!0,"mdc-pagination__button--active":t===(0,n.unref)(i)}),onClick:e=>x(t)},{default:(0,n.withCtx)((()=>[(0,n.createTextVNode)((0,n.toDisplayString)(t),1)])),_:2},1032,["class","onClick"])):((0,n.openBlock)(),(0,n.createElementBlock)("button",Ke,Ye))],64)):(0,n.createCommentVNode)("",!0)],64)))),128))])):(0,n.createCommentVNode)("",!0),(0,n.createVNode)(Le.Z,{class:"mdc-data-table__pagination-button mdc-data-table__pagination-next-button",disabled:(0,n.unref)(i)===u.value,"no-label":"","data-next-page":"true",onClick:o[3]||(o[3]=t=>x((0,n.unref)(i)+1))},{default:(0,n.withCtx)((()=>[(0,n.renderSlot)(e.$slots,"next",{},(()=>[(0,n.createElementVNode)("i",{class:(0,n.normalizeClass)((0,n.unref)(a.Z).cssClasses.icon)},"chevron_right",2)]))])),_:3},8,["disabled"]),h.value?(0,n.createCommentVNode)("",!0):((0,n.openBlock)(),(0,n.createBlock)(Le.Z,{key:3,class:"mdc-data-table__pagination-button mdc-data-table__pagination-last-button",disabled:(0,n.unref)(i)===u.value,"no-label":"","data-last-page":"true",onClick:o[4]||(o[4]=t=>x(u.value))},{default:(0,n.withCtx)((()=>[(0,n.renderSlot)(e.$slots,"last",{},(()=>[(0,n.createElementVNode)("i",{class:(0,n.normalizeClass)((0,n.unref)(a.Z).cssClasses.icon)},"last_page",2)]))])),_:3},8,["disabled"]))]),!t.mini&&t.showJumper?((0,n.openBlock)(),(0,n.createElementBlock)("div",Je,[(0,n.createElementVNode)("div",Xe,(0,n.toDisplayString)(f.value),1),(0,n.createElementVNode)("div",Qe,[(0,n.withDirectives)((0,n.createElementVNode)("input",{"onUpdate:modelValue":o[5]||(o[5]=t=>(0,n.isRef)(r)?r.value=t:null),type:"number",min:"1",max:u.value,onKeydown:o[6]||(o[6]=(0,n.withKeys)((0,n.withModifiers)((t=>x(t.target.value)),["prevent"]),["enter"]))},null,40,to),[[n.vModelText,(0,n.unref)(r)]]),(0,n.createElementVNode)("span",null,(0,n.toDisplayString)(v.value),1),t.jumperButtonText?((0,n.openBlock)(),(0,n.createBlock)(Le.Z,{key:0,outlined:t.jumperButtonOutlined,unelevated:!t.jumperButtonOutlined,onClick:o[7]||(o[7]=t=>x((0,n.unref)(r)))},{default:(0,n.withCtx)((()=>[(0,n.createTextVNode)((0,n.toDisplayString)(t.jumperButtonText),1)])),_:1},8,["outlined","unelevated"])):(0,n.createCommentVNode)("",!0)])])):(0,n.createCommentVNode)("",!0)])],2))}});var ao=no;const lo={TYPES:{horizontal:0,vertical:1},cssClasses:{item:"mdc-form__item",subitem:"mdc-form__subitem",actions:"mdc-form__actions"}},io={name:"UiForm",customOptions:{UI_FORM:lo}};var co=Object.assign(io,{props:{type:{type:[String,Number],default:0},nowrap:{type:Boolean,default:!1},labelTopAligned:{type:Boolean,default:!1},labelRightAligned:{type:Boolean,default:!1},labelTopRightAligned:{type:Boolean,default:!1},itemMarginBottom:{type:[String,Number],default:0},actionAlign:{type:String,default:"left"},labelWidth:{type:[String,Number],default:0},labelMarginRight:{type:[String,Number],default:0},labelMarginBottom:{type:[String,Number],default:0}},setup(t){const e=t,o=(0,n.computed)((()=>(0,l.Z)(e,lo.TYPES,"vertical")||"|"===e.type)),d=(0,n.computed)((()=>({"mdc-form":!0,"mdc-form--horizontal":!o.value,"mdc-form--vertical":o.value,"mdc-form--nowrap":e.nowrap,"mdc-form--label-top-aligned":e.labelTopAligned,"mdc-form--label-right-aligned":e.labelRightAligned,"mdc-form--label-top-right-aligned":e.labelTopRightAligned,"mdc-form--actions-center":"center"===e.actionAlign,"mdc-form--actions-right":"right"===e.actionAlign}))),a=(0,n.ref)(null);return(0,n.onBeforeMount)((()=>{o.value?(e.labelWidth||e.labelMarginRight)&&console.warn("[UiForm]","The 'labelWidth'/'labelMarginRight' prop only takes effect in the horizontal type form"):e.labelMarginBottom&&console.warn("[UiForm]","The 'labelMarginBottom' prop only takes effect in the vertical type form")})),(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{ref_key:"form",ref:a,class:(0,n.normalizeClass)(d.value)},[(0,n.renderSlot)(t.$slots,"default",{itemClass:lo.cssClasses.item,subitemClass:lo.cssClasses.subitem,actionClass:lo.cssClasses.actions})],2))}}),ro={ROOT:"mdc-form-field"},so={LABEL_SELECTOR:".mdc-form-field > label"},uo=function(t){function e(o){var d=t.call(this,(0,z.pi)((0,z.pi)({},e.defaultAdapter),o))||this;return d.click=function(){d.handleClick()},d}return(0,z.ZT)(e,t),Object.defineProperty(e,"cssClasses",{get:function(){return ro},enumerable:!1,configurable:!0}),Object.defineProperty(e,"strings",{get:function(){return so},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{activateInputRipple:function(){},deactivateInputRipple:function(){},deregisterInteractionHandler:function(){},registerInteractionHandler:function(){}}},enumerable:!1,configurable:!0}),e.prototype.init=function(){this.adapter.registerInteractionHandler("click",this.click)},e.prototype.destroy=function(){this.adapter.deregisterInteractionHandler("click",this.click)},e.prototype.handleClick=function(){var t=this;this.adapter.activateInputRipple(),requestAnimationFrame((function(){t.adapter.deactivateInputRipple()}))},e}(M.K),po=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return(0,z.ZT)(e,t),e.attachTo=function(t){return new e(t)},e.prototype.labelEl=function(){var t=uo.strings.LABEL_SELECTOR;return this.root.querySelector(t)},e.prototype.getDefaultFoundation=function(){var t=this;return new uo({activateInputRipple:function(){t.input&&t.input.ripple&&t.input.ripple.activate()},deactivateInputRipple:function(){t.input&&t.input.ripple&&t.input.ripple.deactivate()},deregisterInteractionHandler:function(e,o){var d=t.labelEl();d&&d.removeEventListener(e,o)},registerInteractionHandler:function(e,o){var d=t.labelEl();d&&d.addEventListener(e,o)}})},e}(A.B);const mo={name:"UiFormField",customOptions:{}};var ho=Object.assign(mo,{props:{nowrap:{type:Boolean,default:!1},alignEnd:{type:Boolean,default:!1},spaceBetween:{type:Boolean,default:!1}},setup(t,e){let{expose:o}=e;const d=t,a=(0,n.useSlots)(),l=(0,n.getCurrentInstance)(),i=l.parent,c=(0,n.ref)(null),r=(0,n.reactive)({$formField:null,form:null}),{$formField:s}=(0,n.toRefs)(r),u=(0,n.computed)((()=>"UiForm"===i.type.name)),p=(0,n.computed)((()=>({"mdc-form__item":u.value,"mdc-form-field":!0,"mdc-form-field--nowrap":d.nowrap,"mdc-form-field--align-end":d.alignEnd,"mdc-form-field--space-between":d.spaceBetween}))),m=(0,n.computed)((()=>c.value&&c.value.classList.contains("mdc-form__item"))),h=(0,n.computed)((()=>{const t=r.form;return t&&t.itemMarginBottom?{"margin-bottom":`${t.itemMarginBottom}px`}:0})),g=(0,n.computed)((()=>{const t=r.form;return t&&t.labelWidth?+t.labelWidth:0})),b=(0,n.computed)((()=>{const t=r.form;return t&&t.labelMarginRight?+t.labelMarginRight:0})),f=(0,n.computed)((()=>{const t=r.form;return t&&"left"===t.actionAlign&&(g.value||b.value)?g.value+b.value:0})),v=(0,n.computed)((()=>{const t=r.form;return t&&t.labelMarginBottom?+t.labelMarginBottom:0}));function y(t){const e=t.parent;return"UiForm"===e.type.name?e.props:m.value?y(e):null}return(0,n.onMounted)((()=>{r.$formField=new po(c.value),r.form=y(l),function(){if(a.default){const t=a.default().find((t=>"label"===t.type)),e=null===t||void 0===t?void 0:t.el;e&&(g.value&&(e.style.flexBasis=`${g.value}px`),b.value&&(e.style.marginRight=`${b.value}px`),v.value&&(e.style.marginBottom=`${v.value}px`));const o=c.value;o&&o.classList.contains("mdc-form__actions")&&f.value&&(o.style.paddingLeft=`${f.value}px`)}}()})),o({$formField:s}),(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{ref_key:"formField",ref:c,class:(0,n.normalizeClass)(p.value),style:(0,n.normalizeStyle)(h.value)},[(0,n.renderSlot)(t.$slots,"default")],6))}});var go=ho;var bo=o(80569).Z,fo=o(25256),vo=o(68713);const yo=["id"],ko="UiTextfieldHelper",wo={name:ko,customOptions:{name:ko}};var xo=Object.assign(wo,{props:{...vo.sL,withCounter:{type:Boolean,default:!1}},setup(t){const e=t,o=(0,n.ref)(null),{hasValidMsg:d,validMessage:a}=(0,vo.sD)(e),l=(0,n.computed)((()=>({"mdc-text-field-helper-text":!0,"mdc-text-field-helper-text--persistent":e.visible,"mdc-text-field-helper-text--validation-msg":d.value})));return(0,n.onBeforeMount)((()=>{!e.id&&e.withCounter&&console.warn(`[${ko}]: The 'helperTextId' prop is required for with outer counter`)})),(0,n.onMounted)((()=>{const t=o.value.previousElementSibling,d=t&&t.classList.contains("mdc-text-field");e.withCounter&&!d&&console.warn(`[${ko}]: Do not insert any tags between '' and '' with counter`)})),(e,d)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{ref_key:"textfieldHelper",ref:o,class:"mdc-text-field-helper-line"},[(0,n.createElementVNode)("div",{id:e.id,class:(0,n.normalizeClass)(l.value),"aria-hidden":"true"},[(0,n.renderSlot)(e.$slots,"default",{},(()=>[(0,n.createTextVNode)((0,n.toDisplayString)((0,n.unref)(a)),1)]))],10,yo),t.withCounter?((0,n.openBlock)(),(0,n.createBlock)(fo.Z,{key:0})):(0,n.createCommentVNode)("",!0)],512))}}),To=o(20601);const Co=["tabindex","role"],qo={name:"UiTextfieldIcon",customOptions:{UI_GLOBAL:a.Z,UI_TEXTFIELD_ICON:To.F}};var So=Object.assign(qo,{props:{trailing:{type:Boolean,default:!1},unclickable:{type:Boolean,default:!1}},emits:[a.Z.EVENTS.CLICK],setup(t,e){let{emit:o}=e;const d=t,l=(0,n.computed)((()=>{let t=[a.Z.cssClasses.icon,To.F.cssClasses.icon];return d.trailing?t.push(To.F.cssClasses.trailingIcon):t.push(To.F.cssClasses.leadingIcon),t}));function i(t){d.unclickable||o(a.Z.EVENTS.CLICK,t)}return(e,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("i",{class:(0,n.normalizeClass)(l.value),tabindex:t.unclickable?null:0,role:t.unclickable?null:"button",onClick:i},[(0,n.renderSlot)(e.$slots,"default")],10,Co))}});var Io=So,$o=o(26479);const No={CLICK:"click"};function Eo(t,e){return o=>{(function(t,e){let o=t.target,d=o===e;for(;o&&!d;)o=o.parentNode,o===e&&(d=!0);return d})(o,t)||e()}}function Bo(t){let{el:e,listener:o,callback:d}=t;o||(o=Eo(e,d)),document.addEventListener(No.CLICK,o,{capture:!0})}function Do(t){t&&document.removeEventListener(No.CLICK,t,{capture:!0})}function Vo(){return{createDatalistEventListener:Eo,addDatalistEventListener:Bo,removeDatalistEventListener:Do}}var jo=o(95586);const Uo=["textContent"],Oo=(0,n.createElementVNode)("div",{class:"mdc-drawer-scrim"},null,-1),_o=["data-index","onClick","innerHTML"],zo="UiAutocomplete",Ao={cssClasses:{selected:"selected"},EVENTS:{INPUT:"update:modelValue",SEARCH:"search",SELECTED:"selected",CLICK:"click",MOUSEMOVE:"mousemove",MOUSELEAVE:"mouseleave"}},Mo={UP:38,DOWN:40,ENTER:13},Lo={name:zo,customOptions:{name:zo,UI_GLOBAL:a.Z,UI_AUTOCOMPLETE:Ao,KEYCODE:Mo,deprecatedListClassNameMap:ve.Yc}};var Po=Object.assign(Lo,{props:{...$o.l,...b.U,outlined:{type:Boolean,default:!1},modelValue:{type:[String,Number],default:""},source:{type:Array,default:()=>[]},sourceFormat:{type:Object,default:()=>jo.A},inputId:{type:[String,null],default:null},autofocus:{type:Boolean,default:!1},delay:{type:[Number,String],default:300},minlength:{type:[Number,String],default:1},remote:{type:Boolean,default:!1},highlight:{type:Boolean,default:!1},filterKeywords:{type:Boolean,default:!1},inside:{type:Boolean,default:!1}},emits:[Ao.EVENTS.INPUT,Ao.EVENTS.SEARCH,Ao.EVENTS.SELECTED],setup(t,e){let{expose:o,emit:d}=e;const l=t,i=(0,n.useSlots)(),c=((0,n.getCurrentInstance)().parent,(0,n.ref)(null)),r=(0,n.ref)(null),s=(0,n.reactive)({open:!1,autocompleteListEl:null,$listener:null,inputValue:l.modelValue,currentSource:[],currentSuggestion:{data:[],index:-1},currentSelectedItem:null});let u=null,p={$view:null,viewHeight:0,listHeight:0,itemHeight:0,currentFirstIndex:0,currentLastIndex:0,defaultFirstIndex:0,defaultLastIndex:0,defaultReversedLastIndex:0,defaultReversedFirstIndex:0};const{inputValue:m,currentSuggestion:h}=(0,n.toRefs)(s),{createDatalistEventListener:g,removeDatalistEventListener:v}=Vo(),{materialIcon:y}=(0,b.J)(l),k=(0,n.computed)((()=>({"mdc-autocomplete":!0,"mdc-autocomplete--fullwidth":l.fullwidth,"mdc-autocomplete--in-dialog":l.inside}))),w=(0,n.computed)((()=>["mdc-autocomplete__menu","mdc-menu","mdc-menu-surface",{"mdc-menu-surface--fullwidth":l.fullwidth,"mdc-menu-surface--open":s.open}])),x=(0,n.computed)((()=>!(!l.withLeadingIcon&&!i.before))),T=(0,n.computed)((()=>!(!l.withTrailingIcon&&!i.after)));(0,n.onBeforeMount)((()=>(0,jo.C)(zo,l.sourceFormat))),(0,n.onMounted)((()=>{s.autocompleteListEl=r.value,s.autocompleteListEl.addEventListener(Ao.EVENTS.MOUSEMOVE,D),s.autocompleteListEl.addEventListener(Ao.EVENTS.MOUSELEAVE,V),I(l.source),(0,n.watch)((()=>l.modelValue),(t=>{m.value!==t&&(m.value=`${t}`)})),(0,n.watch)((()=>l.source),(t=>{I(t),q()}))})),(0,n.onBeforeUnmount)((()=>{v(s.$listener),s.autocompleteListEl.removeEventListener(Ao.EVENTS.MOUSEMOVE,D),s.autocompleteListEl.removeEventListener(Ao.EVENTS.MOUSELEAVE,V)}));const C=t=>t.replace(/&/g,"&").replace(//g,">").replace(/"/g,""");function q(){const t=m.value;if("string"!==(0,f.Z)(t))throw new Error("[UiAutocomplete]: The keywords value must be a string");!function(t){const e="("+t.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&")+")",o=new RegExp(e,"gi"),d=l.filterKeywords?s.currentSource.filter((e=>new RegExp(t,"i").test(e[l.sourceFormat.label]))):s.currentSource;s.currentSuggestion.data=d.map((t=>{const e=t[l.sourceFormat.label];return t.html=l.highlight?C(e.replace(o,"$1")).replace(/<(\/?strong)>/g,"<$1>"):C(e),t}))}(t.trim().toLowerCase()),t.length>=l.minlength&&s.currentSuggestion.data.length&&(s.open=!0,(0,n.nextTick)((()=>function(){const t=s.autocompleteListEl,e=t.querySelector("ul"),o=t.querySelector("li");p.$view||(p.$view=t,p.viewHeight=t.offsetHeight),p.item||(p.itemHeight=o.offsetHeight),p.list!==e.offsetHeight&&(p.listHeight=e.offsetHeight),p.defaultFirstIndex=0,p.defaultLastIndex=parseInt(p.viewHeight/p.itemHeight,10)-1;const d=s.currentSuggestion.data.length-1;p.defaultReversedLastIndex!==d&&(p.defaultReversedLastIndex=d,p.defaultReversedFirstIndex=p.defaultReversedLastIndex-p.defaultLastIndex),p.currentLastIndex=p.defaultLastIndex}())))}function S(){s.open=!1,s.currentSuggestion.index=-1,U()}function I(t){"array"===(0,f.Z)(t)&&(s.currentSource=t.map((t=>{let e={};return"string"===(0,f.Z)(t)||"number"===(0,f.Z)(t)?(e[l.sourceFormat.label]=t,e[l.sourceFormat.value]=t):"object"===(0,f.Z)(t)?e=t:console.warn(`[${zo}]: The item of the 'source' prop must be a string or object`),e})),s.currentSuggestion.data=s.currentSource)}function $(){l.autofocus&&q()}function N(t){if(s.currentSuggestion.data.length){const e=0,o=s.currentSuggestion.data.length-1;switch(t.keyCode){case Mo.DOWN:U(),s.currentSuggestion.index===o?(s.currentSuggestion.index=e,p.currentFirstIndex=p.defaultFirstIndex,p.currentLastIndex=p.defaultLastIndex,p.$view.scrollTop=0):(s.currentSuggestion.index++,s.currentSuggestion.index>p.currentLastIndex&&(p.currentFirstIndex++,p.currentLastIndex++,p.$view.scrollTop+=p.itemHeight)),s.autocompleteListEl.blur(),t.preventDefault();break;case Mo.UP:U(),s.currentSuggestion.index===e||-1===s.currentSuggestion.index?(s.currentSuggestion.index=o,p.currentFirstIndex=p.defaultReversedFirstIndex,p.currentLastIndex=p.defaultReversedLastIndex,p.$view.scrollTop=p.itemHeight*p.defaultReversedFirstIndex):(s.currentSuggestion.index--,s.currentSuggestion.index0){j(s.currentSuggestion.data[s.currentSuggestion.index=l.minlength?function(t){l.remote?(u&&clearTimeout(u),u=setTimeout((()=>{d(Ao.EVENTS.SEARCH,t)}),l.delay)):q()}(e):S()}function B(){if(!s.$listener){var t;const e=null===(t=c.value)||void 0===t?void 0:t.textfield;s.$listener=g(e,(()=>{v(s.$listener),S()}))}document.addEventListener(No.CLICK,s.$listener,{capture:!0})}function D(t){const e=t.target;"LI"!==e.tagName||e.classList.contains(Ao.cssClasses.selected)||(s.currentSelectedItem=e,U(),e.classList.add(Ao.cssClasses.selected),s.currentSuggestion.index=e.dataset.index)}function V(){s.currentSelectedItem&&s.currentSelectedItem.classList.remove(Ao.cssClasses.selected)}function j(t){S(),delete t[Ao.cssClasses.selected],delete t.html,d(Ao.EVENTS.INPUT,t[l.sourceFormat.label]),d(Ao.EVENTS.SELECTED,t)}function U(){const t=s.autocompleteListEl.querySelector(`li.${Ao.cssClasses.selected}`);t&&t.classList.remove(Ao.cssClasses.selected)}const O=t=>[ve.Yc["mdc-list-item"],{selected:t===s.currentSuggestion.index}];return o({hasLeadingIcon:x,hasTrailingIcon:T}),(e,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{class:(0,n.normalizeClass)(k.value)},[(0,n.createVNode)(bo,{ref_key:"autocomplete",ref:c,"model-value":(0,n.unref)(m),"input-id":t.inputId,outlined:t.outlined,label:e.label,placeholder:e.placeholder,disabled:e.disabled,required:e.required,fullwidth:e.fullwidth,"end-aligned":e.endAligned,"with-leading-icon":x.value,"with-trailing-icon":T.value,onFocus:$,onKeydown:N,"onUpdate:modelValue":E,onBlur:B},{before:(0,n.withCtx)((t=>{let{iconClass:o}=t;return[(0,n.unref)(y)?((0,n.openBlock)(),(0,n.createElementBlock)("i",{key:0,class:(0,n.normalizeClass)((0,n.unref)(a.Z).getMaterialIconClass(o)),textContent:(0,n.toDisplayString)((0,n.unref)(y))},null,10,Uo)):(0,n.renderSlot)(e.$slots,"before",{key:1,iconClass:o})]})),default:(0,n.withCtx)((()=>[(0,n.renderSlot)(e.$slots,"default")])),after:(0,n.withCtx)((t=>{let{iconClass:o}=t;return[(0,n.renderSlot)(e.$slots,"after",{iconClass:o})]})),_:3},8,["model-value","input-id","outlined","label","placeholder","disabled","required","fullwidth","end-aligned","with-leading-icon","with-trailing-icon"]),(0,n.withDirectives)((0,n.createElementVNode)("div",{ref_key:"autocompleteList",ref:r,class:(0,n.normalizeClass)(w.value)},[Oo,(0,n.createElementVNode)("ul",{class:(0,n.normalizeClass)((0,n.unref)(ve.Yc)["mdc-list"])},[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)((0,n.unref)(h).data,((t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("li",{key:e,"data-index":e,class:(0,n.normalizeClass)(O(e)),onClick:e=>j(t),innerHTML:t.html},null,10,_o)))),128))],2)],2),[[n.vShow,(0,n.unref)(h).data.length]])],2))}});var Ro=Po,Fo=o(78527),Ho=o(70592),Go=o.n(Ho);const Zo=["textContent"],Wo={key:0,class:"mdc-datepicker__toggle","data-toggle":""},Ko=(0,n.createElementVNode)("svg",{viewBox:"0 0 18 18"},[(0,n.createElementVNode)("path",{d:"M14 2v-1h-3v1h-5v-1h-3v1h-3v15h17v-15h-3zM12 2h1v2h-1v-2zM4 2h1v2h-1v-2zM16 16h-15v-8.921h15v8.921zM1 6.079v-3.079h2v2h3v-2h5v2h3v-2h2v3.079h-15z",fill:"#000000"})],-1),Yo=(0,n.createElementVNode)("svg",{viewBox:"0 0 18 18"},[(0,n.createElementVNode)("path",{d:"M9.207 8.5l6.646 6.646-0.707 0.707-6.646-6.646-6.646 6.646-0.707-0.707 6.646-6.646-6.647-6.646 0.707-0.707 6.647 6.646 6.646-6.646 0.707 0.707-6.646 6.646z",fill:"#000000"})],-1),Jo={MODE:{SINGLE:"single",MULTIPLE:"multiple",RANGE:"range",MONTH:"month",TIME:"time"},EVENTS:{CHANGE:"update:modelValue"}},Xo={name:"UiDatepicker",customOptions:{UI_GLOBAL:a.Z,UI_DATEPICKER:Jo}};var Qo=Object.assign(Xo,{props:{...$o.l,...b.U,outlined:{type:Boolean,default:!1},modelValue:{type:[String,Number,Array],default:""},inputId:{type:[String,null],default:null},config:{type:Object,default:()=>({})},toggle:{type:Boolean,default:!1},clear:{type:Boolean,default:!1},monthOptions:{type:Object,default:()=>({})}},emits:[Jo.EVENTS.CHANGE],setup(t,e){let{expose:o,emit:d}=e;const l=t,i=(0,n.useSlots)(),c=(0,n.ref)(null),r=(0,n.reactive)({picker:null,inputValue:l.modelValue,mode:l.config.mode||Jo.MODE.SINGLE,rangeSeparator:""}),{inputValue:s}=(0,n.toRefs)(r),{materialIcon:u}=(0,b.J)(l),p=(0,n.computed)((()=>!(!l.withLeadingIcon&&!i.before))),m=(0,n.computed)((()=>!!(l.withTrailingIcon||i.after||l.toggle||l.clear)));function h(t){r.picker&&r.picker.setDate(t)}function g(t){let e;switch(r.inputValue=t.target.value,r.mode){case Jo.MODE.MULTIPLE:let t=r.inputValue.replace(/\s,\s/,",").split(",");e=1===t.length?t[0]:t;break;case Jo.MODE.RANGE:let o=r.inputValue.split(r.rangeSeparator),d=o[0],n=o[1];d&&n&&(e=d===n?d:[d,n],h(e));break;default:e=r.inputValue}e&&d(Jo.EVENTS.CHANGE,e)}function f(t){r.inputValue||t.stopPropagation()}function v(t){if(Array.isArray(t)&&2===t.length){let e=t[0],o=t[1];r.inputValue=e===o?e:`${e}${r.rangeSeparator}${o}`}}return(0,n.onMounted)((()=>{const t=c.value.textfield,e=t.querySelector("input");if(e.dataset.input="",!r.picker){let o=Object.assign({},l.config);switch(o.mode){case Jo.MODE.MONTH:o=Object.assign(o,{mode:Jo.MODE.SINGLE,plugins:[new(Go())(l.monthOptions)]});break;case Jo.MODE.TIME:o=Object.assign(o,{enableTime:!0,noCalendar:!0,dateFormat:"H:i"})}o.disableMobile=!0,o.wrap=!0,o.onOpen=()=>{o.altInput&&c.value.$textField.foundation.activateFocus()},o.onClose=()=>{o.altInput&&c.value.$textField.foundation.deactivateFocus(),o.mode!==Jo.MODE.TIME||r.inputValue||(e.value=""),e.blur()},r.mode===Jo.MODE.RANGE?(r.rangeSeparator=o.locale?o.locale.rangeSeparator:" to ",v(l.modelValue)):(o.onReady=(t,e,o)=>{e&&(r.inputValue=e,d(Jo.EVENTS.CHANGE,e))},o.onChange=(t,e,o)=>!e&&d(Jo.EVENTS.CHANGE,e)),o.defaultDate=r.inputValue,r.picker=(0,Fo.Z)(t,o)}(0,n.watch)((()=>l.modelValue),(t=>{r.mode===Jo.MODE.RANGE?v(t):r.inputValue=t,h(r.inputValue)}))})),(0,n.onBeforeUnmount)((()=>{r.picker&&(r.picker.destroy(),r.picker=null)})),o({hasLeadingIcon:p,hasTrailingIcon:m}),(e,o)=>((0,n.openBlock)(),(0,n.createBlock)(bo,{ref_key:"datepicker",ref:c,"model-value":(0,n.unref)(s),class:"mdc-datepicker","input-id":t.inputId,outlined:t.outlined,label:e.label,placeholder:e.placeholder,disabled:e.disabled,required:e.required,fullwidth:e.fullwidth,"end-aligned":e.endAligned,"with-leading-icon":p.value,"with-trailing-icon":m.value,onChange:g},{before:(0,n.withCtx)((t=>{let{iconClass:o}=t;return[(0,n.unref)(u)?((0,n.openBlock)(),(0,n.createElementBlock)("i",{key:0,class:(0,n.normalizeClass)((0,n.unref)(a.Z).getMaterialIconClass(o)),textContent:(0,n.toDisplayString)((0,n.unref)(u))},null,10,Zo)):(0,n.renderSlot)(e.$slots,"before",{key:1,iconClass:o})]})),default:(0,n.withCtx)((()=>[(0,n.renderSlot)(e.$slots,"default")])),after:(0,n.withCtx)((o=>{let{iconClass:d}=o;return[t.toggle||t.clear?((0,n.openBlock)(),(0,n.createElementBlock)("span",{key:0,class:(0,n.normalizeClass)([d,"mdc-datepicker__icon"])},[t.toggle?((0,n.openBlock)(),(0,n.createElementBlock)("span",Wo,[(0,n.renderSlot)(e.$slots,"toggle",{},(()=>[Ko]))])):(0,n.createCommentVNode)("",!0),t.clear?((0,n.openBlock)(),(0,n.createElementBlock)("span",{key:1,class:"mdc-datepicker__clear","data-clear":"",onClickCapture:f},[(0,n.renderSlot)(e.$slots,"clear",{},(()=>[Yo]))],32)):(0,n.createCommentVNode)("",!0)],2)):(0,n.renderSlot)(e.$slots,"after",{key:1,iconClass:d})]})),_:3},8,["model-value","input-id","outlined","label","placeholder","disabled","required","fullwidth","end-aligned","with-leading-icon","with-trailing-icon"]))}});var td=Qo,ed=o(53550),od=o.n(ed);const dd={class:"mdc-rangepicker"},nd={class:"mdc-rangepicker__separator"},ad={EVENTS:{CHANGE:"update:modelValue"}},ld={name:"UiRangepicker",customOptions:{UI_RANGEPICKER:ad}};var id=Object.assign(ld,{props:{outlined:{type:Boolean,default:!1},modelValue:{type:Array,default:()=>[]},disabled:{type:Boolean,default:!1},placeholders:{type:Array,default:()=>[]},labels:{type:Array,default:()=>[]},config:{type:Object,default:()=>({})},disableRangePlugin:{type:Boolean,default:!1}},emits:[ad.EVENTS.CHANGE],setup(t,e){let{emit:o}=e;const d=t,a=(0,n.computed)((()=>d.labels[0]||"")),l=(0,n.computed)((()=>d.labels[1]||"")),i=(0,n.computed)((()=>d.placeholders[0]||"")),c=(0,n.computed)((()=>d.placeholders[1]||"")),r=(0,n.ref)(null),s=(0,n.ref)(null),u=(0,n.reactive)({picker:null,startInputValue:"",endInputValue:""}),{startInputValue:p,endInputValue:m}=(0,n.toRefs)(u);function h(t){let e=!1;if(2===t.length){const o=t.map((t=>t?Fo.Z.formatDate(new Date(t),d.config.dateFormat||"Y-m-d"):"")),n=o[0],a=o[1];u.startInputValue===n&&u.endInputValue===a||(u.startInputValue=n,u.endInputValue=a,e=n&&a)}return e}function g(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:u.picker;const e=u.startInputValue&&u.endInputValue?[u.startInputValue,u.endInputValue]:[];if(d.disableRangePlugin)u.picker&&2===u.picker.length&&u.picker.forEach(((t,e)=>t.setDate(d.modelValue[e])));else{t.setDate(e,!0);r.value.$textField.foundation.deactivateFocus()}}return(0,n.onMounted)((()=>{const t=r.value,e=t.textfield.querySelector("input"),a=s.value.textfield.querySelector("input");if(!u.picker){const n=function(t,e,n){let a=Object.assign({},d.config,{disableMobile:!0,plugins:d.disableRangePlugin?[]:[new(od())({input:n})]});a.onChange=(t,d,a)=>{h([e.value,n.value])&&o(ad.EVENTS.CHANGE,[u.startInputValue,u.endInputValue])},a.onClose=()=>{setTimeout((()=>{t.$textField.foundation.deactivateFocus(),e.blur()}),1)},a.onReady=(t,e,n)=>{h(d.modelValue)&&(g(n),o(ad.EVENTS.CHANGE,[u.startInputValue,u.endInputValue]))},d.disableRangePlugin||(a.onValueUpdate=()=>{!function(){if(d.config.enableTime){const t=s.value.$textField.value;if(t!==u.endInputValue){h([u.startInputValue,t])&&o(ad.EVENTS.CHANGE,[u.startInputValue,u.endInputValue])}}}()});return a}(t,e,a);u.picker=d.disableRangePlugin?[(0,Fo.Z)(e,n),(0,Fo.Z)(a,n)]:(0,Fo.Z)(e,n)}(0,n.watch)((()=>d.modelValue),((t,e)=>{const o=e[0]||e[1],d=t[0]&&t[1];!o&&d?(h(t),g()):o&&!d&&(u.startInputValue="",u.endInputValue="",g())}))})),(0,n.onBeforeUnmount)((function(){u.picker&&(d.disableRangePlugin?u.picker.forEach((t=>t.destroy())):u.picker.destroy(),u.picker=null)})),(e,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",dd,[(0,n.createVNode)(bo,{ref_key:"startDatepicker",ref:r,modelValue:(0,n.unref)(p),"onUpdate:modelValue":o[0]||(o[0]=t=>(0,n.isRef)(p)?p.value=t:null),class:"mdc-rangepicker__start",outlined:t.outlined,label:a.value,placeholder:i.value,disabled:t.disabled},null,8,["modelValue","outlined","label","placeholder","disabled"]),(0,n.createElementVNode)("span",nd,[(0,n.renderSlot)(e.$slots,"separator")]),(0,n.createVNode)(bo,{ref_key:"endDatepicker",ref:s,modelValue:(0,n.unref)(m),"onUpdate:modelValue":o[1]||(o[1]=t=>(0,n.isRef)(m)?m.value=t:null),class:"mdc-rangepicker__end",outlined:t.outlined,label:l.value,placeholder:c.value,disabled:t.disabled},null,8,["modelValue","outlined","label","placeholder","disabled"])]))}});var cd=id;var rd=o(33506).Z;const sd=["id"],ud="UiSelectHelper",pd={name:ud,customOptions:{name:ud}};var md=Object.assign(pd,{props:{...vo.sL},setup(t){const e=t,{hasValidMsg:o,validMessage:d}=(0,vo.sD)(e),a=(0,n.computed)((()=>!e.visible||o.value)),l=(0,n.computed)((()=>({"mdc-select-helper-text":!0,"mdc-select-helper-text--validation-msg-persistent":o.value,"mdc-select-helper-text--validation-msg":a.value})));return(0,n.onBeforeMount)((()=>{const t=e.visible||o.value;!e.id&&t&&console.warn(`[${ud}]: The 'helperTextId' prop is required for `)})),(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("p",{id:t.id,class:(0,n.normalizeClass)(l.value),"aria-hidden":"true"},[(0,n.renderSlot)(t.$slots,"default",{},(()=>[(0,n.createTextVNode)((0,n.toDisplayString)((0,n.unref)(d)),1)]))],10,sd))}});const hd=["tabindex","role"],gd={name:"UiSelectIcon",customOptions:{UI_GLOBAL:a.Z}};var bd=Object.assign(gd,{props:{unclickable:{type:Boolean,default:!1}},emits:[a.Z.EVENTS.CLICK],setup(t,e){let{emit:o}=e;const d=t;function l(t){d.unclickable||o(a.Z.EVENTS.CLICK,t)}return(e,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("i",{class:(0,n.normalizeClass)((0,n.unref)(a.Z).getMaterialIconClass("mdc-select__icon")),tabindex:t.unclickable?null:0,role:t.unclickable?null:"button",onClick:l},[(0,n.renderSlot)(e.$slots,"default")],10,hd))}});var fd=bd,vd=o(27567),yd=(o(73492),o(5543),o(22782)),kd=o(80703);const wd=["id","value","disabled","data-indeterminate"],xd={cssClasses:{touch:"mdc-checkbox--touch"},EVENTS:{CHANGE:"update:modelValue"}},Td={name:"UiCheckbox",customOptions:{UI_CHECKBOX:xd}};var Cd=Object.assign(Td,{props:{modelValue:{type:null,default:!1},indeterminate:{type:Boolean,default:!1},...kd.g,value:{type:[String,Number],default:""},disabled:{type:Boolean,default:!1}},emits:[xd.EVENTS.CHANGE],setup(t,e){let{emit:o}=e;const d=t,a=(0,n.getCurrentInstance)().parent,l=(0,n.ref)(null),i=(0,n.reactive)({$checkbox:null,selectedValue:u(d.modelValue)}),{selectedValue:c}=(0,n.toRefs)(i),r=(0,n.computed)((()=>{const t=l.value;return t&&t.mdcCheckbox.classList.contains(xd.cssClasses.touch)})),s=(0,n.computed)((()=>({"mdc-checkbox--disabled":d.disabled,"mdc-checkbox--touch":r.value})));function u(t){return Array.isArray(t)?[...t]:!!t}function p(){o(xd.EVENTS.CHANGE,i.selectedValue)}return(0,n.onMounted)((()=>{(0,n.nextTick)((()=>{var t;const e=l.value;i.$checkbox=new vd.B(e.mdcCheckbox),i.$checkbox.indeterminate=d.indeterminate;const o=null===a||void 0===a||null===(t=a.exposed)||void 0===t?void 0:t.$formField.value;o&&(o.input=i.$checkbox)})),(0,n.watch)((()=>d.modelValue),(t=>i.selectedValue=u(t))),(0,n.watch)((()=>d.indeterminate),(t=>i.$checkbox.indeterminate=t)),(0,n.watch)((()=>d.disabled),(t=>i.$checkbox.disabled=t))})),(e,o)=>((0,n.openBlock)(),(0,n.createBlock)(yd.Z,{ref_key:"checkbox",ref:l,class:(0,n.normalizeClass)(s.value)},{default:(0,n.withCtx)((()=>[(0,n.withDirectives)((0,n.createElementVNode)("input",(0,n.mergeProps)({id:e.inputId,"onUpdate:modelValue":o[0]||(o[0]=t=>(0,n.isRef)(c)?c.value=t:null),type:"checkbox",class:"mdc-checkbox__native-control",value:t.value,disabled:t.disabled,"data-indeterminate":t.indeterminate},e.attrs,{onChange:p}),null,16,wd),[[n.vModelCheckbox,(0,n.unref)(c)]])])),_:1},8,["class"]))}});var qd=Cd,Sd=o(75857),Id={NATIVE_CONTROL_SELECTOR:".mdc-radio__native-control"},$d={DISABLED:"mdc-radio--disabled",ROOT:"mdc-radio"},Nd=function(t){function e(o){return t.call(this,(0,z.pi)((0,z.pi)({},e.defaultAdapter),o))||this}return(0,z.ZT)(e,t),Object.defineProperty(e,"cssClasses",{get:function(){return $d},enumerable:!1,configurable:!0}),Object.defineProperty(e,"strings",{get:function(){return Id},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{addClass:function(){},removeClass:function(){},setNativeControlDisabled:function(){}}},enumerable:!1,configurable:!0}),e.prototype.setDisabled=function(t){var o=e.cssClasses.DISABLED;this.adapter.setNativeControlDisabled(t),t?this.adapter.addClass(o):this.adapter.removeClass(o)},e}(M.K),Ed=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.rippleSurface=e.createRipple(),e}return(0,z.ZT)(e,t),e.attachTo=function(t){return new e(t)},Object.defineProperty(e.prototype,"checked",{get:function(){return this.nativeControl.checked},set:function(t){this.nativeControl.checked=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return this.nativeControl.disabled},set:function(t){this.foundation.setDisabled(t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return this.nativeControl.value},set:function(t){this.nativeControl.value=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"ripple",{get:function(){return this.rippleSurface},enumerable:!1,configurable:!0}),e.prototype.destroy=function(){this.rippleSurface.destroy(),t.prototype.destroy.call(this)},e.prototype.getDefaultFoundation=function(){var t=this;return new Nd({addClass:function(e){return t.root.classList.add(e)},removeClass:function(e){return t.root.classList.remove(e)},setNativeControlDisabled:function(e){return t.nativeControl.disabled=e}})},e.prototype.createRipple=function(){var t=this,e=(0,z.pi)((0,z.pi)({},p.F.createAdapter(this)),{registerInteractionHandler:function(e,o){t.nativeControl.addEventListener(e,o,(0,Sd.K)())},deregisterInteractionHandler:function(e,o){t.nativeControl.removeEventListener(e,o,(0,Sd.K)())},isSurfaceActive:function(){return!1},isUnbounded:function(){return!0}});return new p.F(this.root,new m.l(e))},Object.defineProperty(e.prototype,"nativeControl",{get:function(){var t=Nd.strings.NATIVE_CONTROL_SELECTOR,e=this.root.querySelector(t);if(!e)throw new Error("Radio component requires a "+t+" element");return e},enumerable:!1,configurable:!0}),e}(A.B);const Bd=["id","value","disabled"],Dd=(0,n.createStaticVNode)('
',3),Vd={cssClasses:{touch:"mdc-radio--touch"},EVENTS:{CHANGE:"update:modelValue"}},jd={name:"UiRadio",customOptions:{UI_RADIO:Vd}};var Ud=Object.assign(jd,{props:{modelValue:{type:[String,Number],default:""},...kd.g,value:{type:[String,Number],default:""},disabled:{type:Boolean,default:!1}},emits:[Vd.EVENTS.CHANGE],setup(t,e){let{emit:o}=e;const d=t,a=(0,n.getCurrentInstance)().parent,l=(0,n.ref)(null),i=(0,n.reactive)({$radio:null,selectedValue:d.modelValue}),{selectedValue:c}=(0,n.toRefs)(i),r=(0,n.computed)((()=>l.value&&l.value.classList.contains(Vd.cssClasses.touch))),s=(0,n.computed)((()=>({"mdc-radio":!0,"mdc-radio--disabled":d.disabled,"mdc-radio--touch":r.value})));function u(){o(Vd.EVENTS.CHANGE,i.selectedValue)}return(0,n.onMounted)((()=>{(0,n.nextTick)((()=>{var t;i.$radio=new Ed(l.value);const e=null===a||void 0===a||null===(t=a.exposed)||void 0===t?void 0:t.$formField.value;e&&(e.input=i.$radio)})),(0,n.watch)((()=>d.modelValue),(t=>{i.selectedValue=t})),(0,n.watch)((()=>d.disabled),(t=>{i.$radio&&(i.$radio.disabled=t)}))})),(e,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{ref_key:"radio",ref:l,class:(0,n.normalizeClass)(s.value)},[(0,n.withDirectives)((0,n.createElementVNode)("input",(0,n.mergeProps)({id:e.inputId,"onUpdate:modelValue":o[0]||(o[0]=t=>(0,n.isRef)(c)?c.value=t:null),class:"mdc-radio__native-control",type:"radio",value:t.value,disabled:t.disabled},e.attrs,{onChange:u}),null,16,Bd),[[n.vModelRadio,(0,n.unref)(c)]]),Dd],2))}});var Od=Ud;var _d=o(42635).Z,zd=o(75802);var Ad=o(79256).Z;var Md=o(12815).Z,Ld=o(33321);const Pd=["id","accept","multiple","disabled"],Rd={EVENTS:{CHANGE:"change"}},Fd={name:"UiFile",customOptions:{UI_FILE:Rd}};var Hd=Object.assign(Fd,{props:{...kd.g,accept:{type:String,default:""},multiple:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},outlined:{type:Boolean,default:!1},text:{type:String,default:"Upload"},preview:{type:Boolean,default:!1}},emits:[Rd.EVENTS.CHANGE],setup(t,e){let{emit:o}=e;const d=t,a=(0,n.computed)((()=>({"mdc-file":!0,"mdc-file--single":!d.multiple,"mdc-file--multiple":d.multiple}))),l=(0,n.ref)(null);function i(){if(!d.disabled){const t=l.value;t&&t.click()}}function c(t){(0,Ld.Z)(d,t,(t=>o(Rd.EVENTS.CHANGE,t)))}return(e,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{class:(0,n.normalizeClass)(a.value),onClick:i},[(0,n.withDirectives)((0,n.createElementVNode)("input",(0,n.mergeProps)({id:e.inputId,ref_key:"file",ref:l,type:"file",accept:t.accept,multiple:t.multiple,disabled:t.disabled},e.attrs,{onChange:c}),null,16,Pd),[[n.vShow,!1]]),(0,n.renderSlot)(e.$slots,"default",{},(()=>[(0,n.createVNode)(Le.Z,{outlined:t.outlined,unelevated:!t.outlined,icon:"file_upload",disabled:t.disabled},{default:(0,n.withCtx)((()=>[(0,n.createTextVNode)((0,n.toDisplayString)(t.text),1)])),_:1},8,["outlined","unelevated","disabled"])]))],2))}});var Gd=Hd,Zd=o(97790),Wd=o(98473);o(62184);const Kd={type:{type:[String,Number],default:1},nonInteractive:{type:Boolean,default:!1},dense:{type:Boolean,default:!1},avatar:{type:Boolean,default:!1}},Yd=(0,n.reactive)({$list:null});function Jd(t,e,o){let{init:d,update:a}=o;const i=(0,n.computed)((()=>(0,l.Z)(e,ve.LW.TYPES,"twoLine"))),c=(0,n.computed)((()=>[ve.Yc["mdc-list"],{"mdc-deprecated-list--two-line":i.value,"mdc-deprecated-list--non-interactive":e.nonInteractive,"mdc-deprecated-list--dense":e.dense,"mdc-deprecated-list--avatar-list":e.avatar}]));return(0,n.onMounted)((()=>{Yd.$list=new Zd.e(t.value),d&&d(Yd.$list),function(t){const e=t.value.parentNode;if(e&&e.classList.contains("mdc-drawer__content")&&Yd.$list.listElements.length){const t=Yd.$list.listElements.find((t=>t.classList.contains(ve.WR.cssClasses.active)||t.classList.contains(ve.Yc["mdc-list-item--activated"])))||Yd.$list.listElements[0];t.setAttribute("tabindex",0)}}(t),(0,n.watch)((()=>e.modelValue),(t=>{Yd.$list&&(Yd.$list.selectedIndex=t)}))})),(0,n.onUpdated)((()=>a&&a(Yd.$list))),{className:c}}const Xd={name:"UiNav",customOptions:{}};var Qd=Object.assign(Xd,{props:{...Kd},setup(t){const e=t,o=(0,n.ref)(null),{className:d}=Jd(o,e,{});return(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("nav",{ref_key:"list",ref:o,class:(0,n.normalizeClass)((0,n.unref)(d))},[(0,n.renderSlot)(t.$slots,"default")],2))}});var tn=Qd;const en=["href"],on={name:"UiNavItem",customOptions:{UI_GLOBAL:a.Z,UI_ITEM:ve.WR}};var dn=Object.assign(on,{props:{href:{type:String,required:!0},active:{type:Boolean,default:!1}},emits:[a.Z.EVENTS.CLICK],setup(t,e){let{emit:o}=e;const d=t,l=(0,n.ref)(null),{handleClick:i}=(0,a.O)({emit:o}),{hasRipple:c,deprecatedListClassNameMap:r}=(0,Te.y)(l),s=(0,n.computed)((()=>[r["mdc-list-item"],...(0,Te.p)({activated:d.active})]));return(e,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("a",{ref_key:"item",ref:l,href:t.href,class:(0,n.normalizeClass)(s.value),onClick:o[0]||(o[0]=function(){return(0,n.unref)(i)&&(0,n.unref)(i)(...arguments)})},[(0,n.unref)(c)?((0,n.openBlock)(),(0,n.createElementBlock)("span",{key:0,class:(0,n.normalizeClass)((0,n.unref)(r)["mdc-list-item__ripple"])},null,2)):(0,n.createCommentVNode)("",!0),(0,n.renderSlot)(e.$slots,"before",{iconClass:(0,n.unref)(ve.WR).cssClasses.firstTile}),(0,n.renderSlot)(e.$slots,"default"),(0,n.renderSlot)(e.$slots,"after",{iconClass:(0,n.unref)(ve.WR).cssClasses.lastTile})],10,en))}});var nn=dn;const an=["role"],ln={name:"UiList",customOptions:{UI_LIST:ve.LW}};var cn=Object.assign(ln,{props:{...Kd,modelValue:{type:Number,default:-1},singleSelection:{type:Boolean,default:!1}},emits:[ve.LW.EVENTS.ACTION,ve.LW.EVENTS.SELECTED],setup(t,e){let{expose:o,emit:d}=e;const a=t,l=(0,n.ref)(null);function i(t){t&&(a.singleSelection&&~a.modelValue&&(t.singleSelection=!0,t.selectedIndex=a.modelValue),a.nonInteractive||t.listElements.forEach((e=>{h(e);const o=e.getAttribute("role");"checkbox"!==o&&"radio"!==o||t.layout()})))}const{className:c}=Jd(l,a,{init:function(t){t.listen(Wd.j2.ACTION_EVENT,(t=>{let{detail:e}=t;d(ve.LW.EVENTS.ACTION,e.index)})),i(t)},update:i}),r=(0,n.computed)((()=>l.value&&(l.value.getAttribute("role")||(a.singleSelection?"listbox":"list"))));return o({role:r}),(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("ul",{ref_key:"list",ref:l,class:(0,n.normalizeClass)((0,n.unref)(c)),role:r.value},[(0,n.renderSlot)(t.$slots,"default")],10,an))}});var rn=cn;const sn=["role"],un={name:"UiItem",customOptions:{UI_GLOBAL:a.Z,UI_ITEM:ve.WR}};var pn=Object.assign(un,{props:{selected:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:[a.Z.EVENTS.CLICK],setup(t,e){let{emit:o}=e;const d=t,l=(0,n.getCurrentInstance)().parent,i=(0,n.ref)(null),{handleClick:c}=(0,a.O)({emit:o}),{hasRipple:r,deprecatedListClassNameMap:s}=(0,Te.y)(i),u=(0,n.computed)((()=>[s["mdc-list-item"],...(0,Te.p)({selected:d.selected,disabled:d.disabled})])),p=(0,n.computed)((()=>{let t=null;var e;if(l)switch(null===l||void 0===l||null===(e=l.exposed)||void 0===e?void 0:e.role.value){case"listbox":t="option";break;case"radiogroup":t="radio";break;case"group":t="checkbox"}return t}));return(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("li",{ref_key:"item",ref:i,class:(0,n.normalizeClass)(u.value),role:p.value,onClick:e[0]||(e[0]=function(){return(0,n.unref)(c)&&(0,n.unref)(c)(...arguments)})},[(0,n.unref)(r)?((0,n.openBlock)(),(0,n.createElementBlock)("span",{key:0,class:(0,n.normalizeClass)((0,n.unref)(s)["mdc-list-item__ripple"])},null,2)):(0,n.createCommentVNode)("",!0),(0,n.renderSlot)(t.$slots,"before",{iconClass:(0,n.unref)(ve.WR).cssClasses.firstTile}),(0,n.renderSlot)(t.$slots,"default"),(0,n.renderSlot)(t.$slots,"after",{iconClass:(0,n.unref)(ve.WR).cssClasses.lastTile})],10,sn))}});var mn=pn;var hn={name:"UiItemTextContent",data(){return{deprecatedListClassNameMap:ve.Yc}}};var gn=(0,at.Z)(hn,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("span",{class:(0,n.normalizeClass)(a.deprecatedListClassNameMap["mdc-list-item__text"])},[(0,n.renderSlot)(t.$slots,"default")],2)}]]);var bn={name:"UiItemText1",data(){return{deprecatedListClassNameMap:ve.Yc}}};var fn=(0,at.Z)(bn,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("span",{class:(0,n.normalizeClass)(a.deprecatedListClassNameMap["mdc-list-item__primary-text"])},[(0,n.renderSlot)(t.$slots,"default")],2)}]]);var vn={name:"UiItemText2",data(){return{deprecatedListClassNameMap:ve.Yc}}};var yn=(0,at.Z)(vn,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("span",{class:(0,n.normalizeClass)(a.deprecatedListClassNameMap["mdc-list-item__secondary-text"])},[(0,n.renderSlot)(t.$slots,"default")],2)}]]);var kn={name:"UiItemFirstContent",data(){return{UI_ITEM:ve.WR}}};var wn=(0,at.Z)(kn,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("span",{class:(0,n.normalizeClass)(a.UI_ITEM.cssClasses.firstTile)},[(0,n.renderSlot)(t.$slots,"default")],2)}]]);var xn={name:"UiItemLastContent",data(){return{UI_ITEM:ve.WR}}};var Tn=(0,at.Z)(xn,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("span",{class:(0,n.normalizeClass)(a.UI_ITEM.cssClasses.lastTile)},[(0,n.renderSlot)(t.$slots,"default")],2)}]]);const Cn={name:"UiListDivider",customOptions:{}};var qn=Object.assign(Cn,{props:Ee,setup(t){const e=t,{className:o}=Be(e);return(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("hr",{class:(0,n.normalizeClass)((0,n.unref)(o))},null,2))}});var Sn={name:"UiListGroup",data(){return{deprecatedListClassNameMap:ve.Yc}}};var In=(0,at.Z)(Sn,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("div",{class:(0,n.normalizeClass)(a.deprecatedListClassNameMap["mdc-list-group"])},[(0,n.renderSlot)(t.$slots,"default")],2)}]]);var $n={name:"UiListGroupSubheader",data(){return{deprecatedListClassNameMap:ve.Yc}}};var Nn=(0,at.Z)($n,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("h3",{class:(0,n.normalizeClass)(a.deprecatedListClassNameMap["mdc-list-group__subheader"])},[(0,n.renderSlot)(t.$slots,"default")],2)}]]);const En={TYPES:{standard:0,masonry:1},cssClasses:{image:"mdc-image-list__image"},EVENTS:{CLICK:"click"}},Bn={name:"UiImageList",customOptions:{UI_IMAGE_LIST:En}};var Dn=Object.assign(Bn,{props:{type:{type:[String,Number],default:0},masonry:{type:Boolean,default:!1},textProtection:{type:Boolean,default:!1}},setup(t,e){let{expose:o}=e;const d=t,a=(0,n.computed)((()=>(0,l.Z)(d,En.TYPES,"masonry"))),i=(0,n.computed)((()=>({"mdc-image-list":!0,"mdc-image-list--masonry":a.value,"mdc-image-list--with-text-protection":d.textProtection})));return o({isMasonry:a}),(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("ul",{class:(0,n.normalizeClass)(i.value)},[(0,n.renderSlot)(t.$slots,"default")],2))}});const Vn=["src"],jn={key:1,class:"mdc-image-list__image-aspect-container"},Un=["src"],On="UiImageItem",_n={cssClasses:{image:"mdc-image-list__image"}},zn={name:On,customOptions:{name:On,UI_GLOBAL:a.Z,UI_IMAGE_ITEM:_n}};var An=Object.assign(zn,{props:{image:{type:[String,null],default:null},bgImage:{type:[String,null],default:null}},emits:[a.Z.EVENTS.CLICK],setup(t,e){let{emit:o}=e;const d=t,l=(0,n.getCurrentInstance)().parent,{handleClick:i}=(0,a.O)({emit:o}),c=(0,n.computed)((()=>({"background-image":`url(${d.bgImage})`})));return(0,n.onBeforeMount)((()=>{var t;null!==l&&void 0!==l&&null!==(t=l.exposed)&&void 0!==t&&t.isMasonry.value&&d.bgImage&&console.warn(`[${On}]: The 'bgImage' prop is not compatible with the masonry image list, you need to set the 'image' prop`)})),(e,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("li",{class:"mdc-image-list__item",onClick:o[0]||(o[0]=function(){return(0,n.unref)(i)&&(0,n.unref)(i)(...arguments)})},[e.$parent.isMasonry?(0,n.renderSlot)(e.$slots,"image",{key:0,imageClass:_n.cssClasses.image},(()=>[(0,n.createElementVNode)("img",{class:(0,n.normalizeClass)(_n.cssClasses.image),src:t.image},null,10,Vn)])):((0,n.openBlock)(),(0,n.createElementBlock)("div",jn,[(0,n.renderSlot)(e.$slots,"image",{imageClass:_n.cssClasses.image},(()=>[t.bgImage?((0,n.openBlock)(),(0,n.createElementBlock)("div",{key:0,class:(0,n.normalizeClass)(_n.cssClasses.image),style:(0,n.normalizeStyle)(c.value)},null,6)):((0,n.openBlock)(),(0,n.createElementBlock)("img",{key:1,class:(0,n.normalizeClass)(_n.cssClasses.image),src:t.image},null,10,Un))]))])),(0,n.renderSlot)(e.$slots,"default")]))}});var Mn=An;const Ln={class:"mdc-image-list__supporting"},Pn={class:"mdc-image-list__label"};var Rn={name:"UiImageText"};var Fn=(0,at.Z)(Rn,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("div",Ln,[(0,n.createElementVNode)("span",Pn,[(0,n.renderSlot)(t.$slots,"default")]),(0,n.renderSlot)(t.$slots,"action")])}]]);const Hn={name:"UiCard",customOptions:{}};var Gn=Object.assign(Hn,{props:{outlined:{type:Boolean,default:!1}},setup(t){const e=t,o=(0,n.computed)((()=>({"mdc-card":!0,"mdc-theme--on-surface":!0,"mdc-card--outlined":e.outlined})));return(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{class:(0,n.normalizeClass)(o.value)},[(0,n.renderSlot)(t.$slots,"default")],2))}});const Zn=(0,n.createElementVNode)("div",{class:"mdc-card__ripple"},null,-1),Wn={name:"UiCardContent",customOptions:{UI_GLOBAL:a.Z}};var Kn=Object.assign(Wn,{emits:[a.Z.EVENTS.CLICK],setup(t,e){let{emit:o}=e;const d=(0,n.ref)(null),{handleClick:l}=(0,a.O)({emit:o});return(0,n.onMounted)((()=>h(d.value))),(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{ref_key:"cardContent",ref:d,class:"mdc-card__primary-action",tabindex:"0",onClick:e[0]||(e[0]=function(){return(0,n.unref)(l)&&(0,n.unref)(l)(...arguments)})},[(0,n.renderSlot)(t.$slots,"default"),Zn],512))}});var Yn=Kn;const Jn={name:"UiCardMedia",customOptions:{}};var Xn=Object.assign(Jn,{props:{square:{type:Boolean,default:!1},rectangle:{type:Boolean,default:!1}},setup(t){const e=t,o=(0,n.computed)((()=>({"mdc-card__media":!0,"mdc-card__media--square":e.square,"mdc-card__media--16-9":e.rectangle})));return(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{class:(0,n.normalizeClass)(o.value)},[(0,n.renderSlot)(t.$slots,"default")],2))}});const Qn={class:"mdc-card__media-content"};var ta={name:"UiCardMediaContent"};var ea=(0,at.Z)(ta,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("div",Qn,[(0,n.renderSlot)(t.$slots,"default")])}]]);const oa={class:"mdc-card__text"};var da={name:"UiCardText"};var na=(0,at.Z)(da,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("div",oa,[(0,n.renderSlot)(t.$slots,"default")])}]]);const aa={name:"UiCardActions",customOptions:{}};var la=Object.assign(aa,{props:{fullBleed:{type:Boolean,default:!1}},setup(t){const e=t,o=(0,n.computed)((()=>({"mdc-card__actions":!0,"mdc-card__actions--full-bleed":e.fullBleed})));return(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{class:(0,n.normalizeClass)(o.value)},[(0,n.renderSlot)(t.$slots,"default")],2))}});const ia={class:"mdc-card__action-buttons"};var ca={name:"UiCardButtons"};var ra=(0,at.Z)(ca,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("div",ia,[(0,n.renderSlot)(t.$slots,"default")])}]]);const sa={class:"mdc-card__action-icons"};var ua={name:"UiCardIcons"};var pa=(0,at.Z)(ua,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("div",sa,[(0,n.renderSlot)(t.$slots,"default")])}]]);var ma=o(37471).Z;const ha=["success","info","warn","warning","error","help"],ga={defaults:{success:"check_circle",info:"error",error:"cancel",help:"help"},outlined:{success:"check_circle_outline",info:"error_outline",error:"highlight_off",help:"help_outline"}};function ba(t){const e=(0,n.computed)((()=>{let e=!1;if(ha.includes(t.state))switch(t.state){case"success":e="success";break;case"info":case"help":e="info";break;case"warn":case"warning":e="warning";break;case"error":e="error"}return e})),o=(0,n.computed)((()=>{let o="";return e.value&&(o=`md-${e.value}-icon`,t.stateOutlined&&(o+="--outlined")),o})),d=(0,n.computed)((()=>{let e=!1;if(ha.includes(t.state)){const o=t.stateOutlined?"outlined":"defaults";e=["info","warn","warning"].includes(t.state)?ga[o].info:ga[o][t.state]}return e}));return{stateType:e,stateClassName:o,materialIcon:d}}const fa={key:0,class:"mdc-badge__sup"},va={key:0},ya={name:"UiBadge",customOptions:{UI_GLOBAL:a.Z}};var ka=Object.assign(ya,{props:{count:{type:Number,default:0},overlap:{type:Boolean,default:!1},maxCount:{type:Number,default:99},dot:{type:Boolean,default:!1},state:{type:String,default:""}},emits:[a.Z.EVENTS.CLICK],setup(t,e){let{emit:o}=e;const d=t,{handleClick:l}=(0,a.O)({emit:o}),{stateType:i}=ba(d),c=(0,n.computed)((()=>({"mdc-badge":!0,"mdc-badge--overlap":d.overlap}))),r=(0,n.computed)((()=>d.count>d.maxCount?`${d.maxCount}+`:d.count)),s=(0,n.computed)((()=>[{"mdc-badge__sup":!0,"mdc-badge__sup--dot":d.dot},i.value?`mdc-badge__sup--${i.value}`:""]));return(e,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{class:(0,n.normalizeClass)(c.value),onClick:o[0]||(o[0]=function(){return(0,n.unref)(l)&&(0,n.unref)(l)(...arguments)})},[(0,n.renderSlot)(e.$slots,"default"),t.count?((0,n.openBlock)(),(0,n.createElementBlock)("sup",fa,(0,n.toDisplayString)(r.value),1)):((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[t.overlap&&!t.dot?((0,n.openBlock)(),(0,n.createElementBlock)("sup",va)):((0,n.openBlock)(),(0,n.createElementBlock)("sup",{key:1,class:(0,n.normalizeClass)(s.value)},[(0,n.renderSlot)(e.$slots,"badge")],2))],64))],2))}});var wa=ka;const xa=["aria-expanded"],Ta={class:"mdc-collapse__title"},Ca={class:"mdc-collapse__content"},qa={cssClasses:{icon:"mdc-collapse__icon"},EVENTS:{CHANGE:"update:modelValue"}},Sa={name:"UiCollapse",customOptions:{UI_GLOBAL:a.Z,UI_COLLAPSE:qa}};var Ia=Object.assign(Sa,{props:{modelValue:{type:Boolean,default:!1},withIcon:{type:Boolean,default:!1},iconEndAligned:{type:Boolean,default:!1},ripple:{type:[Boolean,Number],default:!1}},emits:[a.Z.EVENTS.CLICK,qa.EVENTS.CHANGE],setup(t,e){let{emit:o}=e;const d=t,l=(0,n.ref)(d.modelValue),{handleClick:i}=(0,a.O)({emit:o}),c=(0,n.computed)((()=>({"mdc-collapse":!0,"mdc-collapse--expanded":l.value,"mdc-collapse--with-icon":d.withIcon,"mdc-collapse--icon-end-aligned":d.iconEndAligned})));function r(){l.value=!l.value,o(qa.EVENTS.CHANGE,l.value)}return(0,n.watch)((()=>d.modelValue),(t=>l.value=t)),(e,o)=>{const d=(0,n.resolveDirective)("ripple");return(0,n.openBlock)(),(0,n.createElementBlock)("div",{class:(0,n.normalizeClass)(c.value),"aria-expanded":l.value,onClick:o[0]||(o[0]=function(){return(0,n.unref)(i)&&(0,n.unref)(i)(...arguments)})},[(0,n.withDirectives)(((0,n.openBlock)(),(0,n.createElementBlock)("div",{class:"mdc-collapse__header",onClick:r},[l.value?(0,n.renderSlot)(e.$slots,"expand-more-icon",{key:0,iconClass:qa.cssClasses.icon},(()=>[t.withIcon?((0,n.openBlock)(),(0,n.createElementBlock)("i",{key:0,class:(0,n.normalizeClass)((0,n.unref)(a.Z).getMaterialIconClass(qa.cssClasses.icon)),"aria-hidden":"true"}," expand_more ",2)):(0,n.createCommentVNode)("",!0)])):(0,n.renderSlot)(e.$slots,"expand-less-icon",{key:1,iconClass:qa.cssClasses.icon},(()=>[t.withIcon?((0,n.openBlock)(),(0,n.createElementBlock)("i",{key:0,class:(0,n.normalizeClass)((0,n.unref)(a.Z).getMaterialIconClass(qa.cssClasses.icon)),"aria-hidden":"true"}," chevron_right ",2)):(0,n.createCommentVNode)("",!0)])),(0,n.createElementVNode)("div",Ta,[(0,n.renderSlot)(e.$slots,"toggle")])])),[[d,t.ripple]]),(0,n.withDirectives)((0,n.createElementVNode)("div",Ca,[(0,n.renderSlot)(e.$slots,"default")],512),[[n.vShow,l.value]])],10,xa)}}});var $a=Ia;const Na=["textContent"],Ea={class:"mdc-alert__content"},Ba={name:"UiAlert",customOptions:{UI_GLOBAL:a.Z}};var Da=Object.assign(Ba,{props:{state:{type:String,default:""},stateOutlined:{type:Boolean,default:!1},closable:{type:Boolean,default:!1}},setup(t){const e=t,o=(0,n.reactive)({closed:!1,destroyed:!1}),{closed:d,destroyed:l}=(0,n.toRefs)(o),{stateType:i,stateClassName:c,materialIcon:r}=ba(e),s=(0,n.computed)((()=>["mdc-alert",`mdc-alert--${i.value}`,{"mdc-alert--closed":o.closed}]));function u(){o.closed=!0,setTimeout((()=>{o.destroyed=!0}),200)}return(e,o)=>(0,n.unref)(l)?(0,n.createCommentVNode)("",!0):((0,n.openBlock)(),(0,n.createElementBlock)("div",{key:0,class:(0,n.normalizeClass)(s.value)},[(0,n.renderSlot)(e.$slots,"icon",{},(()=>[(0,n.unref)(r)?((0,n.openBlock)(),(0,n.createElementBlock)("i",{key:0,class:(0,n.normalizeClass)((0,n.unref)(a.Z).getMaterialIconClass((0,n.unref)(c),"mdc-alert__icon")),textContent:(0,n.toDisplayString)((0,n.unref)(r))},null,10,Na)):(0,n.createCommentVNode)("",!0)])),(0,n.createElementVNode)("div",Ea,[(0,n.renderSlot)(e.$slots,"default")]),t.closable?((0,n.openBlock)(),(0,n.createElementBlock)("i",{key:0,class:(0,n.normalizeClass)((0,n.unref)(a.Z).getMaterialIconClass("mdc-alert__close-button")),onClick:u}," clear ",2)):(0,n.createCommentVNode)("",!0)],2))}});var Va=Da;var ja=o(97557).Z,Ua=o(1065);const Oa={class:"mdc-dialog__title"},_a={name:"UiDialogTitle",customOptions:{}};var za=Object.assign(_a,{props:{closable:{type:Boolean,default:!1}},setup(t){const e=t,o=(0,n.getCurrentInstance)().parent,d=(0,n.computed)((()=>({"mdc-dialog__header":!0,"mdc-dialog__title--closable":e.closable}))),a=(0,n.computed)((()=>o.props.fullscreen||e.closable));return(t,e)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{class:(0,n.normalizeClass)(d.value)},[(0,n.createElementVNode)("h2",Oa,[(0,n.renderSlot)(t.$slots,"default")]),a.value?((0,n.openBlock)(),(0,n.createBlock)(Ua.Z,{key:0,class:"mdc-dialog__close","data-mdc-dialog-action":"close"},{default:(0,n.withCtx)((()=>[(0,n.createTextVNode)(" close ")])),_:1})):(0,n.createCommentVNode)("",!0)],2))}});var Aa=o(53696),Ma={name:Aa.g.contentComponentName,data(){return{UI_DIALOG:Aa.g}}};var La=(0,at.Z)(Ma,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("div",{class:(0,n.normalizeClass)(a.UI_DIALOG.cssClasses.content)},[(0,n.renderSlot)(t.$slots,"default")],2)}]]);const Pa={class:"mdc-dialog__actions"},Ra={cssClasses:{button:"mdc-dialog__button"}},Fa={name:"UiDialogActions",customOptions:{UI_DIALOG_ACTION:Ra}};var Ha=Object.assign(Fa,{props:{acceptText:{type:String,default:"OK"},cancelText:{type:String,default:"Cancel"}},setup(t){const e=(0,n.getCurrentInstance)().parent,o=(0,n.computed)((()=>e.props.closable));return(e,d)=>((0,n.openBlock)(),(0,n.createElementBlock)("footer",Pa,[(0,n.renderSlot)(e.$slots,"default",{buttonClass:Ra.cssClasses.button},(()=>[(0,n.createVNode)(Le.Z,{class:(0,n.normalizeClass)(Ra.cssClasses.button),"data-mdc-dialog-action":o.value?"close":null,onClick:e.$parent.handleCancel},{default:(0,n.withCtx)((()=>[(0,n.createTextVNode)((0,n.toDisplayString)(t.cancelText),1)])),_:1},8,["class","data-mdc-dialog-action","onClick"]),(0,n.createVNode)(Le.Z,{class:(0,n.normalizeClass)(Ra.cssClasses.button),"data-mdc-dialog-action":o.value?"accept":null,"data-mdc-dialog-button-default":"",onClick:e.$parent.handleAccept},{default:(0,n.withCtx)((()=>[(0,n.createTextVNode)((0,n.toDisplayString)(t.acceptText),1)])),_:1},8,["class","data-mdc-dialog-action","onClick"])]))]))}});var Ga=o(66230).Z;var Za=o(94819).Z,Wa=o(90734),Ka=(o(24237),o(52714),o(31465)),Ya=o(50545),Ja=o(85880);const Xa="UiProgress",Qa={name:Xa,customOptions:{name:Xa,UI_PROGRESS:Ja.Z}};var tl=Object.assign(Qa,{props:{...Ya.O,buffer:{type:Number,default:0}},setup(t){const e=t,o=(0,n.ref)(null),d=(0,n.reactive)({$linearProgress:null}),a=(0,n.computed)((()=>({"mdc-linear-progress--indeterminate":e.active,"mdc-linear-progress--closed":e.closed})));function l(t){d.$linearProgress&&t>=Ja.Z.VALUE.MIN&&t<=Ja.Z.VALUE.MAX?d.$linearProgress.buffer=t:console.warn(`[${Xa}]: The 'buffer' prop value should be between [0, 1]`)}return(0,n.watch)((()=>e.buffer),(t=>l(t))),(0,n.onMounted)((()=>{const t=o.value.mdcLinearProgress;d.$linearProgress=new Wa.c(t);const{setProgress:n}=(0,Ya.S)(d.$linearProgress,e);n(e.progress),t.dataset.buffer&&l(e.buffer)})),(e,d)=>((0,n.openBlock)(),(0,n.createBlock)(Ka.Z,{ref_key:"linearProgress",ref:o,class:(0,n.normalizeClass)(a.value),"aria-label":e.label,"aria-valuemin":"0","aria-valuemax":"1","data-buffer":!!t.buffer},null,8,["class","aria-label","data-buffer"]))}});var el=tl;var ol=o(31041).Z;const dl={class:"mdc-tooltip-wrapper--rich"};var nl={name:"UiTooltipAnchor"};var al=(0,at.Z)(nl,[["render",function(t,e,o,d,a,l){return(0,n.openBlock)(),(0,n.createElementBlock)("div",dl,[(0,n.renderSlot)(t.$slots,"default")])}]]);var ll=o(97324).Z;var il=function(){if("function"===typeof window.CustomEvent)return!1;window.CustomEvent=function(t,e){e=e||{bubbles:!1,cancelable:!1,detail:null};const o=document.createEvent("CustomEvent");return o.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),o}};var cl=function(t,e,o){o=o||window;let d=!1;o.addEventListener(t,(function(){d||(d=!0,requestAnimationFrame((function(){o.dispatchEvent(new CustomEvent(e)),d=!1})))}))};var rl=function(){il(),cl("resize","balmResize"),cl("scroll","balmScroll")};const sl=new Map,ul=new Map;function pl(t){sl.has(t)&&sl.delete(t)}const ml={on:function(t,e){sl.set(t,e)},once:function(t,e){ul.set(t,e)},off:function(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];t?Array.isArray(t)?t.forEach((e=>pl(t))):pl(t):sl.clear()},emit:function(t){for(var e=arguments.length,o=new Array(e>1?e-1:0),d=1;d{};let bl=!1;function fl(t,e){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;const d=t.shift(),n=o?o[d]:this[d];t.length?fl.call(this,t,e,n):o?o[d]=e:this[d]=e}function vl(t,e,o){"function"===(0,f.Z)(new Function)?new Function("value",`this.${e} = value;`).call(t,o):fl.call(t,e.split("."),o)}function yl(t,e){const o=t.split(".")[0];if(o){const{setupState:d,data:n}=this;if(d.hasOwnProperty(o))vl(d,t,e);else{if(!n.hasOwnProperty(o))throw new Error("[$event]: Only support 'setup' or 'data' state.");vl(n,t,e)}}}function kl(t){let e,o=(0,f.Z)(t);return e="function"===o||"generatorfunction"===o?t():t,e}class wl{constructor(){const t=(0,n.getCurrentInstance)();this.instance=t}onChange(t,e){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:gl;return yl.call(this.instance,t,e),kl(o)}onOpen(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:gl;return yl.call(this.instance,t,!0),kl(e)}onClose(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:gl;return yl.call(this.instance,t,!1),kl(e)}onShow(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:gl;return yl.call(this.instance,t,!0),kl(e)}onHide(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:gl;return yl.call(this.instance,t,!1),kl(e)}}const xl=()=>new wl,Tl=()=>hl;var Cl={install:function(t){t.mixin({mounted(){bl||(bl=!0,rl())}}),t.config.globalProperties.$bus=hl,t.provide("bus",hl),t.config.globalProperties.$throttle=cl,t.provide("throttle",cl)}};var ql="undefined"===typeof window?n.createSSRApp:n.createApp;function Sl(t){const e=document.createElement("div");return e.id=t,document.body.appendChild(e),e}let Il={};function $l(t,e){Sl(t);const o=t.replace(/^\S/,(t=>t.toUpperCase()));return ql({name:`BalmUI${o}`,setup:()=>e,render:()=>""}).mount(`#${t}`).$.setupState}const Nl={install:function(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e)if("object"===(0,f.Z)(e)){const o=(e.name||"store").toLowerCase();Il=$l(o,e),t.config.globalProperties[`$${o}`]=Il,t.provide(`$${o}`,Il)}else{if(!Array.isArray(e))throw new Error("[$store]: The '$store' of BalmUI must be an object or array");for(let o=0,d=e.length;o0&&void 0!==arguments[0]?arguments[0]:"";return t?Il[t]:Il};var Bl=Nl;const Dl=["margin","gutter","column-width"],Vl=["desktop","tablet","phone"];const jl=new class{set(t,e,o){if(!Dl.includes(t))throw new Error("[$grid]: Please set a grid property: "+JSON.stringify(Dl));if(!Vl.includes(e))throw new Error("[$grid]: Please set a device type: "+JSON.stringify(Vl));document.documentElement.style.setProperty(`--mdc-layout-grid-${t}-${e}`,o)}};var Ul={install:function(t){t.config.globalProperties.$setGrid=()=>console.warn("[$grid]","The '$setGrid' has been deprecated. Use the '$grid.set' instead"),t.config.globalProperties.$grid=jl,t.provide("grid",jl)}};function Ol(t){return"dark"===function(t){var e,o,d;return t.match(/^rgb/)?(e=(t=t.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+(?:\.\d+)?))?\)$/))[1],o=t[2],d=t[3]):(e=(t=+("0x"+t.slice(1).replace(t.length<5&&/./g,"$&$&")))>>16,o=t>>8&255,d=255&t),Math.sqrt(e*e*.299+o*o*.587+d*d*.114)>127.5?"light":"dark"}(t)?"light":"dark"}const _l=["primary","secondary","background","surface","error","on-primary","on-secondary","on-surface","on-error"],zl=[..._l,"primary-bg","secondary-bg"],Al=["primary","secondary","hint","disabled","icon"],Ml=["background","light","dark"],Ll="Please choose a theme style: "+JSON.stringify(_l),Pl="Please choose a theme style: "+JSON.stringify(zl),Rl="Please choose a text style: "+JSON.stringify(Al),Fl="Please choose a theme tone: "+JSON.stringify(Ml),Hl=new Map,Gl=new Map;class Zl{get themeColors(){return Hl}get textColors(){return Gl}getTheme(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o="";if(!zl.includes(t))throw new Error(`[$theme]: Theme ${e?"Class":"Color"}]: ${Pl}`);return o=e?`mdc-theme--${t}`:Hl.get(t),o}setTheme(t,e){document.documentElement.style.setProperty(`--mdc-theme-${t}`,e),Hl.set(t,e)}themeText(t,e,o){let d="";if(!Al.includes(t))throw new Error(`[$theme]: ${Rl}`);if(!Ml.includes(e))throw new Error(`[$theme]: ${Fl}`);return d=o(),d}getText(t,e){let o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return this.themeText(t,e,(()=>o?`mdc-theme--text-${t}-on-${e}`:Gl.get(`${t}-on-${e}`)))}setText(t,e,o){this.themeText(t,e,(()=>{document.documentElement.style.setProperty(`--mdc-theme-text-${t}-on-${e}`,o),Gl.set(`${t}-on-${e}`,o)}))}}const Wl=new class extends Zl{get primary(){return Hl.get("primary")}set primary(t){this.setTheme("primary",t),this.setTheme("on-primary","dark"===Ol(t)?"#000":"#fff")}get secondary(){return Hl.get("secondary")}set secondary(t){this.setTheme("secondary",t),this.setTheme("on-secondary","dark"===Ol(t)?"#000":"#fff")}get background(){return Hl.get("background")}set background(t){this.setTheme("background",t)}get surface(){return Hl.get("surface")}set surface(t){this.setTheme("surface",t),this.setTheme("on-surface","dark"===Ol(t)?"#000":"#fff")}get error(){return Hl.get("error")}set error(t){this.setTheme("error",t),this.setTheme("on-error","dark"===Ol(t)?"#000":"#fff")}get onPrimary(){return Hl.get("on-primary")}set onPrimary(t){this.setTheme("on-primary",t)}get onSecondary(){return Hl.get("on-secondary")}set onSecondary(t){this.setTheme("on-secondary",t)}get onSurface(){return Hl.get("on-surface")}set onSurface(t){this.setTheme("on-surface",t)}get onError(){return Hl.get("on-error")}set onError(t){this.setTheme("on-error",t)}set colors(t){const e=Object.keys(t);if(!e.every((t=>_l.includes(t))))throw new Error(`[$theme]: ${Ll}`);e.forEach((e=>this.setTheme(e,t[e]))),["primary","secondary","surface","error"].forEach((o=>{e.includes(o)&&!e.includes(`on-${o}`)&&this.setTheme(`on-${o}`,"dark"===Ol(t[o])?"#000":"#fff")}))}getThemeColor(t){return this.getTheme(t)}getThemeClass(t){let e="";return e=Array.isArray(t)?t.map((t=>this.getTheme(t,!0))):this.getTheme(t,!0),e}getTextColor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"background";return this.getText(t,e)}getTextClass(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"background";return this.getText(t,e,!0)}setTextColor(t,e){this.setText(t,"background",e)}getTextColorOnLight(t){return this.getTextColor(t,"light")}getTextClassOnLight(t){return this.getTextClass(t,"light")}setTextColorOnLight(t,e){this.setText(t,"light",e)}getTextColorOnDark(t){return this.getTextColor(t,"dark")}getTextClassOnDark(t){return this.getTextClass(t,"dark")}setTextColorOnDark(t,e){this.setText(t,"dark",e)}};let Kl=!1;const Yl={install:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t.mixin({mounted(){Kl||(Kl=!0,Wl.colors=e)}}),t.config.globalProperties.$theme=Wl,t.provide("theme",Wl)}},Jl=()=>Wl;var Xl=Yl;const Ql="mdc-typography",ti=["headline1","headline2","headline3","headline4","headline5","headline6","subtitle1","subtitle2","body1","body2","caption","button","overline"];let ei;function oi(t){let e="";if(!ei.includes(t))throw new Error("[$typography]: Please set a valid typographic style:\n"+JSON.stringify(ei));return e=`${Ql}--${t}`,e}const di={install:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];ei=Array.isArray(e)?ti.concat(e):ti,t.mixin({mounted(){const t=document.querySelector("body").classList;t.contains(Ql)||t.add(Ql)}}),t.config.globalProperties.$tt=oi,t.provide("tt",oi)}};var ni=di;const ai={class:"mdc-dialog__container"},li={class:"mdc-dialog__surface"},ii={key:0,class:"mdc-dialog__title"},ci=["innerHTML"],ri={class:"mdc-alert-dialog__message"},si={class:"mdc-dialog__actions"},ui=(0,n.createElementVNode)("div",{class:"mdc-dialog__scrim"},null,-1),pi={name:"MdcDialog",customOptions:{UI_GLOBAL:a.Z,UI_DIALOG:Aa.g}};var mi=Object.assign(pi,{props:{open:{type:Boolean,default:!1},options:{type:Object,default:()=>({})}},setup(t){const e=t,o=(0,n.reactive)({opening:!0,opened:!1,state:"",stateOutlined:!1}),{stateClassName:d,materialIcon:l}=ba(o),i=(0,n.computed)((()=>["mdc-dialog",e.options.className,{"mdc-dialog--opening":o.opening,"mdc-dialog--open":o.opened}]));return(0,n.watch)((()=>e.open),(t=>{t?setTimeout((()=>{o.opened=!0,setTimeout((()=>{o.opening=!1}),150)}),150):(o.opening=!0,o.opened=!1)})),(0,n.onBeforeMount)((()=>{e.options.state&&(o.state=e.options.state,o.stateOutlined=e.options.stateOutlined)})),(e,o)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{class:(0,n.normalizeClass)(i.value)},[(0,n.createElementVNode)("div",ai,[(0,n.createElementVNode)("div",li,[t.options.title?((0,n.openBlock)(),(0,n.createElementBlock)("h2",ii,(0,n.toDisplayString)(t.options.title),1)):(0,n.createCommentVNode)("",!0),t.options.raw?((0,n.openBlock)(),(0,n.createElementBlock)("div",{key:1,class:(0,n.normalizeClass)((0,n.unref)(Aa.g).cssClasses.content),innerHTML:t.options.message},null,10,ci)):((0,n.openBlock)(),(0,n.createElementBlock)("div",{key:2,class:(0,n.normalizeClass)((0,n.unref)(Aa.g).cssClasses.content)},[(0,n.unref)(l)?((0,n.openBlock)(),(0,n.createElementBlock)("i",{key:0,class:(0,n.normalizeClass)((0,n.unref)(a.Z).getMaterialIconClass([(0,n.unref)(d),"mdc-alert-dialog__icon"]))},(0,n.toDisplayString)((0,n.unref)(l)),3)):(0,n.createCommentVNode)("",!0),(0,n.createElementVNode)("span",ri,(0,n.toDisplayString)(t.options.message),1)],2)),(0,n.createElementVNode)("footer",si,[(0,n.renderSlot)(e.$slots,"default")])])]),ui],2))}});var hi=mi;function gi(t,e){let o=Object.assign({},t);return"string"===(0,f.Z)(e)?o.message=`${e}`:"object"===(0,f.Z)(e)&&(o=Object.assign({},o,e)),o}function bi(t){return document.getElementById(t)||Sl(t)}function fi(t){!function(t){document.body.removeChild(t)}(t)}const vi="balmui-alert-dialog";function yi(t){let{app:e,el:o,constants:d,options:a,done:l,callback:i}=t;const c=(0,n.reactive)({open:!1,options:a});return(0,n.onMounted)((()=>(0,n.nextTick)((()=>c.open=!0)))),(0,n.onBeforeUnmount)((()=>fi(o))),{...(0,n.toRefs)(c),handleClick:function(t){c.open=!1,e.unmount(`#${d.id}`),"function"===typeof c.options.callback?c.options.callback(t):d.id===vi?l():i(t)}}}const ki={id:vi},wi={className:"",title:"",state:"",stateOutlined:!1,message:"",raw:!1,buttonText:"OK",callback:!1};let xi,Ti=wi;const Ci='\n \n';function qi(){const t=gi(Ti,arguments.length>0&&void 0!==arguments[0]?arguments[0]:{});return new Promise((e=>{(function(t,e){const o=bi(ki.id);return xi=ql({name:"AlertDialog",components:{MdcDialog:hi},setup(){return yi({app:xi,el:o,constants:ki,options:t,done:e})},template:Ci}),xi})(t,e).mount(`#${ki.id}`)}))}const Si={install:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Ti=Object.assign({},wi,e),t.config.globalProperties.$alert=qi,t.provide("alert",qi)}},Ii=()=>qi;var $i=Si;const Ni={id:"balmui-confirm-dialog"},Ei={className:"",title:"",state:"",stateOutlined:!1,message:"",raw:!1,acceptText:"OK",cancelText:"Cancel",callback:!1};let Bi,Di=Ei;const Vi='\n \n \n';function ji(){const t=gi(Di,arguments.length>0&&void 0!==arguments[0]?arguments[0]:{});return new Promise((e=>{(function(t,e){const o=bi(Ni.id);return Bi=ql({name:"ConfirmDialog",components:{MdcDialog:hi},setup(){return yi({app:Bi,el:o,constants:Ni,options:t,callback:e})},template:Vi}),Bi})(t,e).mount(`#${Ni.id}`)}))}const Ui={install:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Di=Object.assign({},Ei,e),t.config.globalProperties.$confirm=ji,t.provide("confirm",ji)}};var Oi=Ui;const _i={id:"balmui-toast",timeoutMs:{MIN:2e3,MAX:3500,DEFAULTS:2750},position:{TOP:"top",BOTTOM:"bottom",CENTER:"center"}},zi={className:"",timeoutMs:_i.timeoutMs.DEFAULTS,message:"",position:_i.position.BOTTOM};let Ai,Mi,Li,Pi=zi;const Ri='
\n
\n
\n
\n
';function Fi(t){return bi(_i.id),ql({name:"Toast",expose:["render"],setup(){const e=(0,n.reactive)({open:!1,opening:!0,opened:!1,options:t}),o=(0,n.computed)((()=>["top","center"].includes(e.options.position)?`mdc-toast--${e.options.position}`:"")),d=(0,n.computed)((()=>["mdc-snackbar","mdc-toast",o.value,e.options.className,{"mdc-snackbar--opening":e.opening,"mdc-snackbar--open":e.opened}])),a=(0,n.computed)((()=>e.options.message));function l(){e.open=!0,Mi=setTimeout((()=>{e.open=!1}),e.options.timeoutMs)}function i(t){if(!(t.timeoutMs<=_i.timeoutMs.MAX&&t.timeoutMs>=_i.timeoutMs.MIN))throw new Error(`[$toast]: The timeoutMs of the toast must be between ${_i.timeoutMs.MIN} and ${_i.timeoutMs.MAX}`);e.options=t,l()}return(0,n.watch)((()=>e.open),(t=>{t?setTimeout((()=>{e.opened=!0,setTimeout((()=>{e.opening=!1}),150)}),150):(e.opening=!0,e.opened=!1)})),(0,n.onMounted)((()=>i(t))),{className:d,message:a,render:i}},template:Ri})}function Hi(){const t=gi(Pi,arguments.length>0&&void 0!==arguments[0]?arguments[0]:{});Ai?(clearTimeout(Mi),clearTimeout(Li),Ai.render(t)):Ai=Fi(t).mount(`#${_i.id}`)}const Gi={install:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Pi=Object.assign({},zi,e),t.config.globalProperties.$toast=Hi,t.provide("toast",Hi)}},Zi=()=>Hi;var Wi=Gi;const Ki={required:{validate(t){return t&&t.length>0},message:"%s is required"}};let Yi={};function Ji(t,e){console.warn("[$validator]",`The '${t}' has been deprecated. Use the '${e}' instead`)}class Xi{constructor(){const t=(0,n.getCurrentInstance)();this.instance=t,this.validations=[],this.customValidations=[]}validate(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o={valid:!0,validFields:[],invalidFields:[],messages:[],message:"",validMsg:{}},d=[];if(this.instance){const{setupState:t,data:e}=this.instance;d=t.validations||e.validations||[]}if(this.validations=this.customValidations.length?this.customValidations:d,!Array.isArray(this.validations))throw new Error("[$validator]: validations must be an array in 10.7.0");for(let n=0,a=this.validations.length;nt.trim()));let a=!0;for(let l=0,i=n.length;l{o.validMsg[t]=o.messages[e]}))),o.validFields.forEach((t=>{o.validMsg[t]=""})),o}resetValidations(){Ji("resetValidations","clear")}setValidations(){Ji("setValidations","set")}clear(){this.customValidations=[]}get(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return t?this.customValidations.find((e=>{let{key:o}=e;return o===t})):this.customValidations}set(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Array.isArray(t))this.customValidations=t;else{const o=this.customValidations.findIndex((e=>{let{key:o}=e;return o===t}));~o?this.customValidations[o]=Object.assign({},e):this.customValidations=[Object.assign({key:t},e)]}}}const Qi={install:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Yi=Object.assign({},Ki,e);const o=new Xi;t.config.globalProperties.$validator=o,t.provide("validator",o)}},tc=()=>new Xi;var ec=Qi;const oc={cssClasses:{base:"mdc-button",outlined:"mdc-button--outlined",raised:"mdc-button--raised",unelevated:"mdc-button--unelevated"}},dc=(t,e)=>{let{modifiers:o}=e;"A"===t.tagName?(((t,e)=>{t.classList.add(oc.cssClasses.base);for(const o of Object.keys(e))if(oc.cssClasses[o]){t.classList.add(oc.cssClasses[o]);break}})(t,o),(t=>{const e=t.innerHTML;t.innerHTML="";const o=document.createElement("div");o.className="mdc-button__ripple";const d=document.createElement("div");d.className="mdc-button__label",d.innerHTML=e,t.appendChild(o),t.appendChild(d)})(t),(t=>{new p.F(t)})(t)):console.warn("[v-button]","You need one element for link button")};var nc={name:"button",mounted(t,e){dc(t,e)}};const ac={base:"mdc-ripple-surface",primary:"mdc-ripple-surface--primary",secondary:"mdc-ripple-surface--secondary"},lc=(t,e,o)=>{let{value:d}=o;if(!1!==d){let o=[ac.base];switch(d){case 1:case"primary":o.push(ac.primary);break;case 2:case"secondary":o.push(ac.secondary)}e.classList[t](...o)}},ic={name:"ripple",beforeMount(t,e){lc("add",t,e)},mounted(t,e){((t,e)=>{let{value:o,arg:d,modifiers:n}=e;if(!1!==o&&"cssOnly"!==d){const e=new p.F(t);n.unbounded&&(e.unbounded=!0)}})(t,e)},beforeUnmount(t,e){lc("remove",t,e)}};var cc=ic;const rc="mdc-shape--rounded",sc="mdc-shape--cut",uc={small:"mdc-shape--small",medium:"mdc-shape--medium",large:"mdc-shape--large"},pc=(t,e)=>{let{value:o,modifiers:d}=e;if(d.cut){let e=o.split(" ").map((t=>t)),d=`0% ${e[0]}, ${e[0]} 0%`,n=`calc(100% - ${e[1]}) 0, 100% ${e[1]}`,a=`100% calc(100% - ${e[2]}), calc(100% - ${e[2]}) 100%`,l=`${e[3]} 100%, 0px calc(100% - ${e[3]})`;t.style.clipPath=`polygon(${d}, ${n}, ${a}, ${l})`}else t.style.borderRadius=o},mc=(t,e,o)=>{let{value:d,modifiers:n}=o;if("update"===t)d&&pc(e,{value:d,modifiers:n});else if(d)pc(e,{value:d,modifiers:n});else{let o=n.cut?[sc]:[rc];n.small?o.push(uc.small):n.large?o.push(uc.large):o.push(uc.medium),e.classList[t](...o)}};var hc={name:"shape",beforeMount(t,e){mc("add",t,e)},updated(t,e){mc("update",t,e)},beforeUnmount(t,e){mc("remove",t,e)}};const gc={MIN:0,MAX:24},bc={transition:"mdc-elevation-transition",overlay:"mdc-elevation-overlay"},fc=t=>{let e="";return t>=gc.MIN&&t<=gc.MAX?e=`mdc-elevation--z${t}`:console.warn("[v-shadow]","The elevation values are mapped out in a 'z-space' and range from 0 to 24"),e},vc=(t,e,o)=>{let{value:d,modifiers:n}=o,a=[];if(n.transition)if(Array.isArray(d)&&2===d.length){let o=fc(d[0]),n=fc(d[1]);a.push(o),a.push(bc.transition),e[`${t}EventListener`]("mouseenter",(()=>{e.classList.add(n)})),e[`${t}EventListener`]("mouseleave",(()=>{e.classList.remove(n)}))}else console.warn("[v-shadow]","Invalid elevation value");else a.push(fc(d));if(e.classList[t](...a),n.overlay){const t=document.createElement("div");t.className=bc.overlay,e.insertBefore(t,e.firstChild)}};var yc={name:"shadow",beforeMount(t,e){vc("add",t,e)},beforeUnmount(t,e){vc("remove",t,e)}};const kc={components:{button:"mdc-button",checkbox:"mdc-checkbox",chip:"mdc-chip",radio:"mdc-radio",miniFab:"mdc-fab--mini"},cssClasses:{wrapper:"mdc-touch-target-wrapper",button:{outer:"mdc-button--touch",inner:"mdc-button__touch"},checkbox:{outer:"mdc-checkbox--touch"},chip:{outer:"mdc-chip--touch",inner:"mdc-chip__touch"},radio:{outer:"mdc-radio--touch"},miniFab:{outer:"mdc-fab--touch",inner:"mdc-fab__touch"},segmentedButton:{outer:"mdc-segmented-button--touch",inner:"mdc-segmented-button__touch"}}},wc=t=>{let e=(t=>{let e=!1;const o=Object.keys(kc.components);for(let d=0,n=o.length;d1&&void 0!==arguments[1]?arguments[1]:0;e?t.classList.remove(Tc.hide):t.classList.add(Tc.hide),t.textContent=e>Cc?`${Cc}+`:e};var Sc={name:"badge",mounted(t,e){((t,e)=>{let{value:o,modifiers:d}=e;if(t.parentNode&&!t.parentNode.classList.contains(Tc.outer)){const e=document.createElement("div");e.className=Tc.outer;const n=document.createElement("sup");n.className=Tc.inner,d.overlap&&e.classList.add(Tc.overlap),d.dot?n.classList.add(Tc.dot):qc(n,o),t.parentNode.insertBefore(e,t),t.parentNode.removeChild(t),e.appendChild(t),e.appendChild(n)}})(t,e)},updated(t,e){((t,e)=>{let{value:o,modifiers:d}=e;if(!d.dot){const e=t.nextElementSibling;qc(e,o)}})(t,e)}},Ic=o(41047);let $c={globalAnchor:{el:null,id:"mdc-tooltip-anchor",className:"mdc-tooltip-wrapper--rich"},attrs:{ariaId:"aria-describedby"}};const Nc=()=>{$c.globalAnchor.el||(document.body.appendChild((()=>{const t=document.createElement("div");return t.id=$c.globalAnchor.id,t.className=$c.globalAnchor.className,t})()),$c.globalAnchor.el=document.getElementById($c.globalAnchor.id))},Ec={name:"tooltip",mounted(t,e){((t,e)=>{let{value:o}=e;Nc();const d=t.getAttribute($c.attrs.ariaId);if(d){let t=((t,e)=>``)(d,o),e=document.createRange().createContextualFragment(t);$c.globalAnchor.el.appendChild(e),new Ic.US(document.getElementById(d))}else console.warn("[v-tooltip]",`The '${$c.attrs.ariaId}' attribute is required for plain tooltip`)})(t,e)},beforeUnmount(t){(t=>{const e=t.getAttribute($c.attrs.ariaId),o=document.getElementById(e);$c.globalAnchor.el.removeChild(o)})(t)}};var Bc=Ec;const Dc={name:"debounce",mounted(t,e){let{value:o}=e;if("object"!==(0,f.Z)(o))throw new Error("[v-debounce]: The 'value' must be an object ({ callback: Function, delay?: number })");{const{callback:e,delay:d}=o;let n;"function"!==(0,f.Z)(e)&&console.warn("[v-debounce]: The 'callback' must be a function"),t.addEventListener("click",(()=>{n&&clearTimeout(n),n=setTimeout((()=>{e()}),d||250)}))}}};var Vc=Dc;f.Z;var jc=o(9996);const Uc=[void 0,null,!1,0,"","0"],Oc=function(t,e){let o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t===e)return!0;if("function"===typeof t&&"function"===typeof e)return t.toString()===e.toString();if(t instanceof Date&&e instanceof Date)return t.getTime()===e.getTime();const d=!o||Oc(Object.getPrototypeOf(t),Object.getPrototypeOf(e),!0),n=Object.getOwnPropertyNames(t),a=Object.getOwnPropertyNames(e);return n.length===a.length&&d&&n.every((o=>Oc(t[o],e[o])))};var _c={merge:o.n(jc)(),isEmpty:t=>{let e=!1;switch((0,f.Z)(t)){case"array":e=!t.length;break;case"map":case"set":e=!t.size;break;case"object":e=!Object.keys(t).length;break;default:let o=Uc.length;for(;o--;)if(t===Uc[o]){e=!0;break}}return e},jsonEqual:(t,e)=>JSON.stringify(t)===JSON.stringify(e),isDeepEqual:Oc,toCamelCase:t=>(t=t.replace(/[-_\s]+(.)?/g,((t,e)=>e?e.toUpperCase():""))).substr(0,1).toLowerCase()+t.substr(1),toCapitalize:t=>t.toLowerCase().replace(/^\w/,(t=>t.toUpperCase()))};var zc=()=>{const t=window.navigator.userAgent,e=/\b(MSIE |Trident.*?rv:)(\d+)/.exec(t);if(e)return parseInt(e[2],10);const o=t.indexOf("Edge/");return o>0&&parseInt(t.substring(o+5,t.indexOf(".",o)),10)};const Ac={UiAlert:Va,UiAutocomplete:Ro,UiBadge:wa,UiBanner:Za,UiButton:$,UiCard:Gn,UiCardActions:la,UiCardButtons:ra,UiCardContent:Yn,UiCardMedia:Xn,UiCardMediaContent:ea,UiCardText:na,UiCardIcons:pa,UiCheckbox:qd,UiChip:zd.default,UiChips:_d,UiCollapse:$a,UiDatepicker:td,UiDialog:ja,UiDialogActions:Ha,UiDialogContent:La,UiDialogTitle:za,UiDivider:kt,UiDrawer:wt,UiDrawerHeader:Ct,UiDrawerTitle:It,UiDrawerSubtitle:Et,UiDrawerContent:Vt,UiDrawerAppContent:Ot,UiFab:_,UiFile:Gd,UiForm:co,UiFormField:go,UiGrid:st,UiGridCell:gt,UiIcon:u,UiIconButton:Q,UiImageItem:Mn,UiImageList:Dn,UiImageText:Fn,UiItem:mn,UiItemTextContent:gn,UiItemText1:fn,UiItemText2:yn,UiItemFirstContent:wn,UiItemLastContent:Tn,UiItemDivider:Ve,UiList:rn,UiListDivider:qn,UiListGroup:In,UiListGroupSubheader:Nn,UiMenuAnchor:ge,UiMenu:ze,UiMenuitem:Ne,UiMenuitemIcon:ke,UiMenuitemText:xe,UiMenuitemDivider:Me,UiNav:tn,UiNavItem:nn,UiPagination:ao,UiPanels:ce,UiPanel:ue,UiProgress:el,UiRadio:Od,UiRangepicker:cd,UiSegmentedButtons:tt,UiSegmentedButton:et.default,UiSelect:rd,UiSelectHelper:md,UiSelectIcon:fd,UiSlider:Md,UiSnackbar:Ga,UiSpinner:ol,UiSwitch:Ad,UiTable:ma,UiTabs:de,UiTab:Xt,UiTabBar:_t,UiTabScroller:ne.default,UiTabIndicator:Lt,UiTextfield:bo,UiTextfieldHelper:xo,UiTextfieldIcon:Io,UiTooltipAnchor:al,UiTooltip:ll,UiTopAppBar:ot},Mc={$alert:$i,$confirm:Oi,$event:Cl,$grid:Ul,$store:Bl,$theme:Xl,$toast:Wi,$typography:ni,$validator:ec},Lc={vAccessibility:xc,vBadge:Sc,vButton:nc,vDebounce:Vc,vRipple:cc,vShadow:yc,vShape:hc,vTooltip:Bc},Pc={install:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,d.Z)(t,e,{Components:Ac,Plugins:Mc,Directives:Lc})}};var Rc=Pc},40100:function(t,e,o){"use strict";o.d(e,{Z:function(){return s}});var d=o(9996),n=o.n(d),a=o(66326);const l=t=>{let{componentProps:e,propName:o,props:d}=t,l=d[o];if("object"===(0,a.Z)(l)){const t=e[o].default;e[o].default=()=>n()(t,l)}else Array.isArray(l)?e[o].default=()=>l:e[o].default=l},i=t=>{let{componentMixins:e,propName:o,props:d}=t;if(e.length){let t=e.length;for(;t--;)if(e[t].props&&void 0!==e[t].props[o]){l({componentProps:e[t].props,propName:o,props:d});break}}};var c=(t,e)=>{for(const o of Object.keys(e))t.props?void 0===t.props[o]?i({componentMixins:t.mixins,propName:o,props:e}):l({componentProps:t.props,propName:o,props:e}):i({componentMixins:t.mixins,propName:o,props:e})};var r=(t,e)=>{for(const o of Object.keys(e))if(/^Ui[A-Z]{1}[A-Za-z]+$/.test(o)){const d=t[o],n=e[o];c(d,n)}};var s=(t,e,o)=>{let{Components:d,Plugins:n,Directives:a}=o;r(d,e);for(const l in d){const e=d[l];t.component(e.name,e)}for(const l in n){const o=n[l];e[l]?t.use(o,e[l]):t.use(o)}for(const l in a){const e=a[l];t.directive(e.name,e)}}},25474:function(t,e,o){"use strict";o(4147).i8},45286:function(t){"use strict";t.exports=JSON.parse('{"home":{"slogan":"Build beautiful products, faster for Vue.js","title":"BalmUI is a Google Material design system \u2013 backed by open-source code \u2013 that helps teams build high-quality digital experiences.","get-started":"Get started"},"menu":{"guide":"Guide","introduction":"Introduction","quick-start":"Quick Start","advanced":"Advanced Usage","ts":"TypeScript Support","upgrade":"Upgrade Guide","kill-ie":"Kill IE","styles":"Styles","color":"Color","elevation":"Elevation","icons":"Icons","shape":"Shape","typography":"Typography","actions":"Actions","button":"Common Buttons","fab":"Floating Action Buttons","icon-button":"Icon Buttons","segmented-button":"Segmented Buttons","communication":"Communication","alert":"Alert","badge":"Badge","progress":"Linear Progress","spinner":"Circular Progress","snackbar":"Snackbar","toast":"Toast","banner":"Banner","tooltip":"Tooltip","skeleton":"Skeleton","containment":"Containment","grid":"Layout Grid","bottom-sheet":"Bottom Sheet","side-sheet":"Side Sheet","card":"Card","dialog":"Dialog","alert-dialog":"Alert Dialog","confirm-dialog":"Confirm Dialog","divider":"Divider","list":"List","image-list":"Image List","form":"Form","table":"Data Table","tree":"Tree","collapse":"Collapse","navigation":"Navigation","navigation-bar":"Navigation Bar","drawer":"Drawer","navigation-rail":"Navigation Rail","tabs":"Tabs","top-app-bar":"Top App Bar","pagination":"Pagination","selection":"Selection","chips":"Chips","menu":"Menu","select":"Select","checkbox":"Checkbox","radio":"Radio","slider":"Slider","switch":"Switch","file":"File","datepicker":"Datepicker","rangepicker":"Rangepicker","text-inputs":"Text Inputs","textfield":"Text Field","autocomplete":"Autocomplete","editor":"Editor","misc":"Misc","event":"Event","validator":"Validator","debounce":"Debounce","ripple":"Ripple","anchor":"Anchor","copy":"Copy","longpress":"Long Press","store":"Store","utils":"Utils"},"page":{"usage":"Usage","default-usage":"Default Usage","individual-usage":"Individual Usage","demo":"Demo","apis":"APIs","sass":"Sass Variables","icons":"Icons","colors":"Colors","icon-list":"Material Icons","color-palette":"Material Color Palette"}}')},48702:function(t){"use strict";t.exports=JSON.parse('{"home":{"slogan":"\u66f4\u9ad8\u6548\u5730\u751f\u4ea7\u51fa\u7cbe\u7f8e\u7684\u4ea7\u54c1","title":"BalmUI \u662f\u57fa\u4e8e\u8c37\u6b4c Material Design \u7cfb\u7edf\u4e3a Vue.js \u91cf\u8eab\u5b9a\u5236\u7684 UI \u6846\u67b6\u3002","get-started":"\u8d77\u6b65"},"menu":{"guide":"\u6307\u5357","introduction":"\u4ecb\u7ecd","quick-start":"\u5feb\u901f\u4e0a\u624b","advanced":"\u8fdb\u9636\u7528\u6cd5","ts":"TypeScript \u652f\u6301","upgrade":"\u5347\u7ea7\u5411\u5bfc","kill-ie":"\u4e07\u6076\u7684 IE","styles":"\u6837\u5f0f\u98ce\u683c","color":"\u8272\u5f69","elevation":"\u5c42\u7ea7\u9634\u5f71","icons":"\u56fe\u6807","shape":"\u5f62\u72b6","typography":"\u6392\u7248","actions":"\u52a8\u4f5c","button":"\u666e\u901a\u6309\u94ae","fab":"\u6d6e\u52a8\u6309\u94ae","icon-button":"\u56fe\u6807\u6309\u94ae","segmented-button":"\u6309\u94ae\u7ec4","communication":"\u4ea4\u4e92\u53cd\u9988","alert":"\u8b66\u544a\u63d0\u793a","badge":"\u5fbd\u7ae0","progress":"\u8fdb\u5ea6\u6761","spinner":"\u52a0\u8f7d\u4e2d","snackbar":"\u5e95\u90e8\u6d88\u606f\u6846","toast":"\u77ed\u6d88\u606f\u63d0\u793a","banner":"\u6a2a\u5e45","tooltip":"\u6587\u5b57\u63d0\u793a","skeleton":"\u9aa8\u67b6\u5c4f","containment":"\u5bb9\u5668\u5e03\u5c40","grid":"\u6805\u683c","bottom-sheet":"\u5e95\u90e8\u52a8\u4f5c\u8868","side-sheet":"\u4fa7\u8fb9\u52a8\u4f5c\u8868","card":"\u5361\u7247","dialog":"\u5bf9\u8bdd\u6846","alert-dialog":"\u8b66\u544a\u6846","confirm-dialog":"\u786e\u8ba4\u6846","divider":"\u5206\u5272\u7ebf","list":"\u5217\u8868","image-list":"\u56fe\u7247\u5217\u8868","form":"\u8868\u5355","table":"\u6570\u636e\u8868","tree":"\u6811","collapse":"\u6298\u53e0\u9762\u677f","navigation":"\u5bfc\u822a","navigation-bar":"\u5e95\u90e8\u5bfc\u822a\u680f","drawer":"\u4fa7\u8fb9\u5bfc\u822a\u680f","navigation-rail":"\u4fa7\u8fb9\u5bfc\u822a\u680f","tabs":"\u6807\u7b7e\u9875","top-app-bar":"\u9876\u90e8\u5bfc\u822a\u680f","pagination":"\u5206\u9875","selection":"\u9009\u62e9\u63a7\u5236","chips":"\u9009\u9879\u5361","menu":"\u83dc\u5355","select":"\u9009\u62e9\u5668","checkbox":"\u590d\u9009\u6846","radio":"\u5355\u9009\u6309\u94ae","slider":"\u6ed1\u52a8\u6761","switch":"\u5f00\u5173","file":"\u6587\u4ef6\u4e0a\u4f20","datepicker":"\u65e5\u671f\u9009\u62e9\u5668","rangepicker":"\u65e5\u671f\u8303\u56f4\u9009\u62e9\u5668","text-inputs":"\u6587\u672c\u5f55\u5165","textfield":"\u6587\u672c\u6846","autocomplete":"\u81ea\u52a8\u5b8c\u6210","editor":"\u5bcc\u6587\u672c","misc":"\u5176\u4ed6","event":"UI \u5168\u5c40\u4e8b\u4ef6","validator":"\u9a8c\u8bc1\u5668","debounce":"\u9632\u6296","ripple":"\u6c34\u6ce2\u7eb9\u6548\u679c","anchor":"\u951a\u70b9","copy":"\u62f7\u8d1d","longpress":"\u957f\u6309","store":"\u72b6\u6001\u7ba1\u7406","utils":"\u5e38\u7528\u5de5\u5177\u5e93"},"page":{"usage":"\u7528\u6cd5","default-usage":"\u9ed8\u8ba4\u7528\u6cd5","individual-usage":"\u72ec\u7acb\u7528\u6cd5","demo":"\u4f8b\u5b50","apis":"APIs","sass":"Sass\u53d8\u91cf","icons":"\u56fe\u6807\u96c6","colors":"\u8c03\u8272\u677f","icon-list":"Material \u56fe\u6807\u96c6","color-palette":"Material \u8c03\u8272\u677f"}}')},4147:function(t){"use strict";t.exports={i8:"10.25.0"}}}]); \ No newline at end of file diff --git a/js/chunk/6282.6ae1cba9.js b/js/chunk/6282.6ae1cba9.js new file mode 100644 index 0000000..095227a --- /dev/null +++ b/js/chunk/6282.6ae1cba9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkbalm_ui=self.webpackChunkbalm_ui||[]).push([[6282,9029],{22782:function(e,t,a){a.d(t,{Z:function(){return c}});var l=a(73114);const d=["checked","disabled"],n=(0,l.createStaticVNode)('
',3),r={name:"MdcCheckbox",customOptions:{}};var c=Object.assign(r,{props:{checked:{type:[Boolean,null],default:null},indeterminate:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e,t){let{expose:a}=t;const r=e,c=(0,l.ref)(null),o=(0,l.ref)(null);return(0,l.onMounted)((()=>{r.indeterminate&&(o.value.indeterminate=r.indeterminate),r.disabled&&(o.value.disabled=r.disabled),(0,l.watch)((()=>r.indeterminate),(e=>o.value.indeterminate=e)),(0,l.watch)((()=>r.disabled),(e=>o.value.disabled=e))})),a({mdcCheckbox:c,reset:function(){o.value.indeterminate?o.value.indeterminate=!1:o.value.checked=!1}}),(t,a)=>((0,l.openBlock)(),(0,l.createElementBlock)("div",{ref_key:"mdcCheckbox",ref:c,class:"mdc-checkbox"},[(0,l.renderSlot)(t.$slots,"default",{},(()=>[(0,l.createElementVNode)("input",{ref_key:"checkbox",ref:o,type:"checkbox",class:"mdc-checkbox__native-control",checked:e.checked,disabled:e.disabled},null,8,d)])),n],512))}})},16253:function(e,t,a){a.r(t);const l=a(55415).Z;t.default=l},63095:function(e,t,a){a.r(t);const l=a(74794).Z;t.default=l},74794:function(e,t,a){a.d(t,{Z:function(){return l.Z}});var l=a(67381)},67381:function(e,t,a){var l=a(73114),d=a(76580),n=a(16253);const r={dataFormat:{label:"label",value:"value",children:"children",hasChildren:"hasChildren",isLeaf:"isLeaf",disabled:"disabled"},EVENTS:{CHANGE:"update:modelValue",SELECTED:"selected"}},c={name:"UiTree",customOptions:{UI_TREE:r}};t.Z=Object.assign(c,{props:{modelValue:{type:[String,Number,Array],default:""},filterParentNode:{type:Boolean,default:!1},data:{type:Array,default:()=>[]},dataFormat:{type:Object,default:()=>({})},maxLevel:{type:Number,default:0},multiple:{type:Boolean,default:!1},singleChecked:{type:Boolean,default:!1},loadData:{type:[Function,null],default:null},autoExpandParent:{type:Boolean,default:!1},defaultExpandedKeys:{type:Array,default:()=>[]},autoExpandSelected:{type:Boolean,default:!1},autoExpandAll:{type:Boolean,default:!1}},emits:[r.EVENTS.CHANGE,r.EVENTS.SELECTED],setup(e,t){let{expose:a,emit:c}=t;const o=e,s=(0,l.reactive)({$tree:null,nodeList:[],treeData:{dataFormat:Object.assign(r.dataFormat,o.dataFormat),maxLevel:o.maxLevel,nodeMap:new Map,selectedValue:o.modelValue,filterParentNode:o.filterParentNode,multiple:o.multiple,singleChecked:o.singleChecked,loadData:o.loadData,selectedEvent:{}}}),{nodeList:i,treeData:u}=(0,l.toRefs)(s),p=(0,l.computed)((()=>({"mdc-tree":!0,"mdc-tree--multiple":o.multiple})));function f(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o.data;s.nodeList=s.$tree.getData(e),s.nodeList.length&&(d.w.setExpanded(s.treeData,s.nodeList,{autoExpandParent:o.autoExpandParent,defaultExpandedKeys:o.defaultExpandedKeys,autoExpandAll:o.autoExpandAll}),d.w.setSelected(s.treeData,s.treeData.selectedValue,{nodeList:s.nodeList,autoExpandSelected:o.autoExpandSelected}))}function m(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];(0,l.nextTick)((()=>{t.length&&d.w.resetSelected(s.treeData,t),d.w.setSelected(s.treeData,e,{nodeList:s.nodeList,autoExpandSelected:o.autoExpandSelected}),s.treeData.selectedValue=e}))}(0,l.watch)((()=>o.modelValue),((e,t)=>{Array.isArray(e)?((e,t)=>{for(const a of new Set([...e,...t]))if(e.filter((e=>e===a)).length!==t.filter((e=>e===a)).length)return!1;return!0})(s.treeData.selectedValue,e)||m(e,t):s.treeData.selectedValue!==e&&m(e)})),(0,l.watch)((()=>o.data),(e=>f(e))),(0,l.watch)((()=>s.treeData.selectedValue),(e=>{c(r.EVENTS.CHANGE,e,s.treeData.selectedEvent),c(r.EVENTS.SELECTED,Array.isArray(e)?e.map((e=>h(e))):h(e))})),(0,l.onBeforeMount)((()=>{if(o.multiple&&!Array.isArray(s.treeData.selectedValue))throw new Error("[UiTree]: The 'modelValue' prop must be an array in the multiple tree")})),(0,l.onMounted)((()=>{s.$tree=new d.w(s.treeData),f()}));const h=e=>s.treeData.nodeMap.get(e);return a({updateNode:function(e,t,a){switch(e){case"create":d.w.createNode(s.treeData,t,a);break;case"delete":d.w.deleteNode(s.treeData,t,a);break;default:d.w.updateNode(s.treeData,t,a)}},getNode:h}),(e,t)=>((0,l.openBlock)(),(0,l.createElementBlock)("div",{class:(0,l.normalizeClass)(p.value)},[(0,l.renderSlot)(e.$slots,"default"),(0,l.createVNode)(n.default,{children:(0,l.unref)(i),"tree-data":(0,l.unref)(u)},(0,l.createSlots)({_:2},[(0,l.renderList)(e.$slots,((t,a)=>({name:a,fn:(0,l.withCtx)((t=>[(0,l.renderSlot)(e.$slots,a,(0,l.normalizeProps)((0,l.guardReactiveProps)(t)))]))})))]),1032,["children","tree-data"])],2))}})},5522:function(e,t,a){a.d(t,{O:function(){return d}});const l={cssClasses:{icon:"material-icons"},EVENTS:{CLICK:"click"},getMaterialIconClass:function(){for(var e=arguments.length,t=new Array(e),a=0;a
',3),r={name:"MdcCheckbox",customOptions:{}};var c=Object.assign(r,{props:{checked:{type:[Boolean,null],default:null},indeterminate:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e,t){let{expose:a}=t;const r=e,c=(0,l.ref)(null),o=(0,l.ref)(null);return(0,l.onMounted)((()=>{r.indeterminate&&(o.value.indeterminate=r.indeterminate),r.disabled&&(o.value.disabled=r.disabled),(0,l.watch)((()=>r.indeterminate),(e=>o.value.indeterminate=e)),(0,l.watch)((()=>r.disabled),(e=>o.value.disabled=e))})),a({mdcCheckbox:c,reset:function(){o.value.indeterminate?o.value.indeterminate=!1:o.value.checked=!1}}),(t,a)=>((0,l.openBlock)(),(0,l.createElementBlock)("div",{ref_key:"mdcCheckbox",ref:c,class:"mdc-checkbox"},[(0,l.renderSlot)(t.$slots,"default",{},(()=>[(0,l.createElementVNode)("input",{ref_key:"checkbox",ref:o,type:"checkbox",class:"mdc-checkbox__native-control",checked:e.checked,disabled:e.disabled},null,8,d)])),n],512))}})},16253:function(e,t,a){a.r(t);const l=a(55415).Z;t.default=l},63095:function(e,t,a){a.r(t);const l=a(74794).Z;t.default=l},74794:function(e,t,a){a.d(t,{Z:function(){return l.Z}});var l=a(67381)},67381:function(e,t,a){var l=a(73114),d=a(76580),n=a(16253);const r={dataFormat:{label:"label",value:"value",children:"children",hasChildren:"hasChildren",isLeaf:"isLeaf",disabled:"disabled"},EVENTS:{CHANGE:"update:modelValue",SELECTED:"selected"}},c={name:"UiTree",customOptions:{UI_TREE:r}};t.Z=Object.assign(c,{props:{modelValue:{type:[String,Array],default:""},filterParentNode:{type:Boolean,default:!1},data:{type:Array,default:()=>[]},dataFormat:{type:Object,default:()=>({})},maxLevel:{type:Number,default:0},multiple:{type:Boolean,default:!1},singleChecked:{type:Boolean,default:!1},loadData:{type:[Function,null],default:null},autoExpandParent:{type:Boolean,default:!1},defaultExpandedKeys:{type:Array,default:()=>[]},autoExpandSelected:{type:Boolean,default:!1},autoExpandAll:{type:Boolean,default:!1}},emits:[r.EVENTS.CHANGE,r.EVENTS.SELECTED],setup(e,t){let{expose:a,emit:c}=t;const o=e,s=(0,l.reactive)({$tree:null,nodeList:[],treeData:{dataFormat:Object.assign(r.dataFormat,o.dataFormat),maxLevel:o.maxLevel,nodeMap:new Map,selectedValue:o.modelValue,filterParentNode:o.filterParentNode,multiple:o.multiple,singleChecked:o.singleChecked,loadData:o.loadData,selectedEvent:{}}}),{nodeList:i,treeData:u}=(0,l.toRefs)(s),p=(0,l.computed)((()=>({"mdc-tree":!0,"mdc-tree--multiple":o.multiple})));function f(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o.data;s.nodeList=s.$tree.getData(e),s.nodeList.length&&(d.w.setExpanded(s.treeData,s.nodeList,{autoExpandParent:o.autoExpandParent,defaultExpandedKeys:o.defaultExpandedKeys,autoExpandAll:o.autoExpandAll}),d.w.setSelected(s.treeData,s.treeData.selectedValue,{nodeList:s.nodeList,autoExpandSelected:o.autoExpandSelected}))}function m(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];(0,l.nextTick)((()=>{t.length&&d.w.resetSelected(s.treeData,t),d.w.setSelected(s.treeData,e,{nodeList:s.nodeList,autoExpandSelected:o.autoExpandSelected}),s.treeData.selectedValue=e}))}(0,l.watch)((()=>o.modelValue),((e,t)=>{Array.isArray(e)?((e,t)=>{for(const a of new Set([...e,...t]))if(e.filter((e=>e===a)).length!==t.filter((e=>e===a)).length)return!1;return!0})(s.treeData.selectedValue,e)||m(e,t):s.treeData.selectedValue!==e&&m(e)})),(0,l.watch)((()=>o.data),(e=>f(e))),(0,l.watch)((()=>s.treeData.selectedValue),(e=>{c(r.EVENTS.CHANGE,e,s.treeData.selectedEvent),c(r.EVENTS.SELECTED,Array.isArray(e)?e.map((e=>h(e))):h(e))})),(0,l.onBeforeMount)((()=>{if(o.multiple&&!Array.isArray(s.treeData.selectedValue))throw new Error("[UiTree]: The 'modelValue' prop must be an array in the multiple tree")})),(0,l.onMounted)((()=>{s.$tree=new d.w(s.treeData),f()}));const h=e=>s.treeData.nodeMap.get(e);return a({updateNode:function(e,t,a){switch(e){case"create":d.w.createNode(s.treeData,t,a);break;case"delete":d.w.deleteNode(s.treeData,t,a);break;default:d.w.updateNode(s.treeData,t,a)}},getNode:h}),(e,t)=>((0,l.openBlock)(),(0,l.createElementBlock)("div",{class:(0,l.normalizeClass)(p.value)},[(0,l.renderSlot)(e.$slots,"default"),(0,l.createVNode)(n.default,{children:(0,l.unref)(i),"tree-data":(0,l.unref)(u)},(0,l.createSlots)({_:2},[(0,l.renderList)(e.$slots,((t,a)=>({name:a,fn:(0,l.withCtx)((t=>[(0,l.renderSlot)(e.$slots,a,(0,l.normalizeProps)((0,l.guardReactiveProps)(t)))]))})))]),1032,["children","tree-data"])],2))}})},5522:function(e,t,a){a.d(t,{O:function(){return d}});const l={cssClasses:{icon:"material-icons"},EVENTS:{CLICK:"click"},getMaterialIconClass:function(){for(var e=arguments.length,t=new Array(e),a=0;a=0)){if(u.push(i),n[r])return n[r];t.o(t.S,r)||(t.S[r]={});var o=t.S[r],f="balm-ui",c=[];if("default"===r)!function(n,e,t,r){var u=o[n]=o[n]||{},i=u[e];(!i||!i.loaded&&(!r!=!i.eager?r:f>i.from))&&(u[e]={get:t,from:f,eager:!!r})}("vue","3.3.4",(function(){return t.e(5166).then((function(){return function(){return t(5166)}}))}));return c.length?n[r]=Promise.all(c).then((function(){return n[r]=1})):n[r]=1}}}(),t.p="https://material.balmjs.com/",function(){var n=function(n){var e=function(n){return n.split(".").map((function(n){return+n==n?+n:n}))},t=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(n),r=t[1]?e(t[1]):[];return t[2]&&(r.length++,r.push.apply(r,e(t[2]))),t[3]&&(r.push([]),r.push.apply(r,e(t[3]))),r},e=function(e,t){e=n(e),t=n(t);for(var r=0;;){if(r>=e.length)return r=t.length)return"u"==i;var o=t[r],f=(typeof o)[0];if(i!=f)return"o"==i&&"n"==f||"s"==f||"u"==i;if("o"!=i&&"u"!=i&&u!=o)return u=t.length||"o"==(l=(typeof(a=t[o]))[0]))return!c||("u"==s?f>u&&!i:""==s!=i);if("u"==l){if(!c||"u"!=s)return!1}else if(c)if(s==l)if(f<=u){if(a!=e[f])return!1}else{if(i?a>e[f]:a=0)){if(u.push(i),n[r])return n[r];t.o(t.S,r)||(t.S[r]={});var o=t.S[r],f="balm-ui",c=[];if("default"===r)!function(n,e,t,r){var u=o[n]=o[n]||{},i=u[e];(!i||!i.loaded&&(!r!=!i.eager?r:f>i.from))&&(u[e]={get:t,from:f,eager:!!r})}("vue","3.3.4",(function(){return t.e(5166).then((function(){return function(){return t(5166)}}))}));return c.length?n[r]=Promise.all(c).then((function(){return n[r]=1})):n[r]=1}}}(),t.p="https://material.balmjs.com/",function(){var n=function(n){var e=function(n){return n.split(".").map((function(n){return+n==n?+n:n}))},t=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(n),r=t[1]?e(t[1]):[];return t[2]&&(r.length++,r.push.apply(r,e(t[2]))),t[3]&&(r.push([]),r.push.apply(r,e(t[3]))),r},e=function(e,t){e=n(e),t=n(t);for(var r=0;;){if(r>=e.length)return r=t.length)return"u"==i;var o=t[r],f=(typeof o)[0];if(i!=f)return"o"==i&&"n"==f||"s"==f||"u"==i;if("o"!=i&&"u"!=i&&u!=o)return u=t.length||"o"==(l=(typeof(a=t[o]))[0]))return!c||("u"==s?f>u&&!i:""==s!=i);if("u"==l){if(!c||"u"!=s)return!1}else if(c)if(s==l)if(f<=u){if(a!=e[f])return!1}else{if(i?a>e[f]:a