@blukavantui/community 0.0.0-stage → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.txt +103 -0
- package/README.md +171 -2
- package/THIRD_PARTY_NOTICES.txt +58 -0
- package/assets/fonts/dm-sans-LICENSE.txt +93 -0
- package/assets/fonts/dm-sans-latin-ext-wght-italic.woff2 +0 -0
- package/assets/fonts/dm-sans-latin-ext-wght-normal.woff2 +0 -0
- package/assets/fonts/dm-sans-latin-wght-italic.woff2 +0 -0
- package/assets/fonts/dm-sans-latin-wght-normal.woff2 +0 -0
- package/assets/fonts/ibm-plex-mono-LICENSE.txt +93 -0
- package/assets/fonts/ibm-plex-mono-latin-100-italic.woff2 +0 -0
- package/assets/fonts/ibm-plex-mono-latin-100-normal.woff2 +0 -0
- package/assets/fonts/ibm-plex-mono-latin-200-italic.woff2 +0 -0
- package/assets/fonts/ibm-plex-mono-latin-200-normal.woff2 +0 -0
- package/assets/fonts/ibm-plex-mono-latin-300-italic.woff2 +0 -0
- package/assets/fonts/ibm-plex-mono-latin-300-normal.woff2 +0 -0
- package/assets/fonts/ibm-plex-mono-latin-400-italic.woff2 +0 -0
- package/assets/fonts/ibm-plex-mono-latin-400-normal.woff2 +0 -0
- package/assets/fonts/ibm-plex-mono-latin-500-italic.woff2 +0 -0
- package/assets/fonts/ibm-plex-mono-latin-500-normal.woff2 +0 -0
- package/assets/fonts/ibm-plex-mono-latin-600-italic.woff2 +0 -0
- package/assets/fonts/ibm-plex-mono-latin-600-normal.woff2 +0 -0
- package/assets/fonts/ibm-plex-mono-latin-700-italic.woff2 +0 -0
- package/assets/fonts/ibm-plex-mono-latin-700-normal.woff2 +0 -0
- package/assets/fonts/ibm-plex-mono-latin-ext-100-italic.woff2 +0 -0
- package/assets/fonts/ibm-plex-mono-latin-ext-100-normal.woff2 +0 -0
- package/assets/fonts/ibm-plex-mono-latin-ext-200-italic.woff2 +0 -0
- package/assets/fonts/ibm-plex-mono-latin-ext-200-normal.woff2 +0 -0
- package/assets/fonts/ibm-plex-mono-latin-ext-300-italic.woff2 +0 -0
- package/assets/fonts/ibm-plex-mono-latin-ext-300-normal.woff2 +0 -0
- package/assets/fonts/ibm-plex-mono-latin-ext-400-italic.woff2 +0 -0
- package/assets/fonts/ibm-plex-mono-latin-ext-400-normal.woff2 +0 -0
- package/assets/fonts/ibm-plex-mono-latin-ext-500-italic.woff2 +0 -0
- package/assets/fonts/ibm-plex-mono-latin-ext-500-normal.woff2 +0 -0
- package/assets/fonts/ibm-plex-mono-latin-ext-600-italic.woff2 +0 -0
- package/assets/fonts/ibm-plex-mono-latin-ext-600-normal.woff2 +0 -0
- package/assets/fonts/ibm-plex-mono-latin-ext-700-italic.woff2 +0 -0
- package/assets/fonts/ibm-plex-mono-latin-ext-700-normal.woff2 +0 -0
- package/assets/fonts/inter-LICENSE.txt +93 -0
- package/assets/fonts/inter-latin-ext-wght-italic.woff2 +0 -0
- package/assets/fonts/inter-latin-ext-wght-normal.woff2 +0 -0
- package/assets/fonts/inter-latin-wght-italic.woff2 +0 -0
- package/assets/fonts/inter-latin-wght-normal.woff2 +0 -0
- package/assets/fonts/jetbrains-mono-LICENSE.txt +93 -0
- package/assets/fonts/jetbrains-mono-latin-ext-wght-italic.woff2 +0 -0
- package/assets/fonts/jetbrains-mono-latin-ext-wght-normal.woff2 +0 -0
- package/assets/fonts/jetbrains-mono-latin-wght-italic.woff2 +0 -0
- package/assets/fonts/jetbrains-mono-latin-wght-normal.woff2 +0 -0
- package/assets/fonts/lora-LICENSE.txt +93 -0
- package/assets/fonts/lora-latin-ext-wght-italic.woff2 +0 -0
- package/assets/fonts/lora-latin-ext-wght-normal.woff2 +0 -0
- package/assets/fonts/lora-latin-wght-italic.woff2 +0 -0
- package/assets/fonts/lora-latin-wght-normal.woff2 +0 -0
- package/assets/fonts/manifest.json +618 -0
- package/assets/fonts/manrope-LICENSE.txt +93 -0
- package/assets/fonts/manrope-latin-ext-wght-normal.woff2 +0 -0
- package/assets/fonts/manrope-latin-wght-normal.woff2 +0 -0
- package/assets/fonts/merriweather-LICENSE.txt +93 -0
- package/assets/fonts/merriweather-latin-ext-wght-italic.woff2 +0 -0
- package/assets/fonts/merriweather-latin-ext-wght-normal.woff2 +0 -0
- package/assets/fonts/merriweather-latin-wght-italic.woff2 +0 -0
- package/assets/fonts/merriweather-latin-wght-normal.woff2 +0 -0
- package/assets/fonts/montserrat-LICENSE.txt +93 -0
- package/assets/fonts/montserrat-latin-ext-wght-italic.woff2 +0 -0
- package/assets/fonts/montserrat-latin-ext-wght-normal.woff2 +0 -0
- package/assets/fonts/montserrat-latin-wght-italic.woff2 +0 -0
- package/assets/fonts/montserrat-latin-wght-normal.woff2 +0 -0
- package/assets/fonts/playfair-display-LICENSE.txt +93 -0
- package/assets/fonts/playfair-display-latin-ext-wght-italic.woff2 +0 -0
- package/assets/fonts/playfair-display-latin-ext-wght-normal.woff2 +0 -0
- package/assets/fonts/playfair-display-latin-wght-italic.woff2 +0 -0
- package/assets/fonts/playfair-display-latin-wght-normal.woff2 +0 -0
- package/assets/fonts/roboto-LICENSE.txt +93 -0
- package/assets/fonts/roboto-latin-ext-wght-italic.woff2 +0 -0
- package/assets/fonts/roboto-latin-ext-wght-normal.woff2 +0 -0
- package/assets/fonts/roboto-latin-wght-italic.woff2 +0 -0
- package/assets/fonts/roboto-latin-wght-normal.woff2 +0 -0
- package/assets/fonts/source-sans-3-LICENSE.txt +93 -0
- package/assets/fonts/source-sans-3-latin-ext-wght-italic.woff2 +0 -0
- package/assets/fonts/source-sans-3-latin-ext-wght-normal.woff2 +0 -0
- package/assets/fonts/source-sans-3-latin-wght-italic.woff2 +0 -0
- package/assets/fonts/source-sans-3-latin-wght-normal.woff2 +0 -0
- package/dist/advanced-types.d.ts +114 -0
- package/dist/app-layout.css +115 -0
- package/dist/app-layout.d.ts +2 -0
- package/dist/app-layout.js +1 -0
- package/dist/badge.css +131 -0
- package/dist/badge.d.ts +2 -0
- package/dist/badge.js +1 -0
- package/dist/bluui-community-grid.js +72 -0
- package/dist/bluui-community.js +1 -0
- package/dist/breadcrumbs.css +77 -0
- package/dist/breadcrumbs.d.ts +2 -0
- package/dist/breadcrumbs.js +1 -0
- package/dist/build-audit.json +388 -0
- package/dist/button.css +625 -0
- package/dist/button.d.ts +2 -0
- package/dist/button.js +1 -0
- package/dist/card.css +119 -0
- package/dist/card.d.ts +2 -0
- package/dist/card.js +1 -0
- package/dist/cascader.css +152 -0
- package/dist/cascader.d.ts +2 -0
- package/dist/cascader.js +1 -0
- package/dist/chat-widget.css +121 -0
- package/dist/chat-widget.d.ts +2 -0
- package/dist/chat-widget.js +1 -0
- package/dist/chat.css +66 -0
- package/dist/chat.d.ts +2 -0
- package/dist/chat.js +1 -0
- package/dist/chip-group.css +44 -0
- package/dist/chip-group.d.ts +2 -0
- package/dist/chip-group.js +1 -0
- package/dist/chip.css +191 -0
- package/dist/chip.d.ts +2 -0
- package/dist/chip.js +1 -0
- package/dist/chunk-2HFI6CC6.js +0 -0
- package/dist/chunk-2MQNFEGJ.js +1 -0
- package/dist/chunk-2TCNAQC6.js +1 -0
- package/dist/chunk-3LWXPCWY.js +1 -0
- package/dist/chunk-3ZS5YITP.js +1 -0
- package/dist/chunk-4RM3B4L7.js +1 -0
- package/dist/chunk-4USJBOSC.js +1 -0
- package/dist/chunk-5TEIXA4R.js +1 -0
- package/dist/chunk-64LOE3FU.js +1 -0
- package/dist/chunk-6EHKOVZK.js +1 -0
- package/dist/chunk-6EJIIQNF.js +1 -0
- package/dist/chunk-6XOMFIPU.js +1 -0
- package/dist/chunk-75BQYII5.js +1 -0
- package/dist/chunk-7HXX66DB.js +3 -0
- package/dist/chunk-7KMRDQZG.js +0 -0
- package/dist/chunk-AICXIQKD.js +1 -0
- package/dist/chunk-BLDXIO7P.js +1 -0
- package/dist/chunk-C3CLLZH2.js +1 -0
- package/dist/chunk-CTLZIWMX.js +1 -0
- package/dist/chunk-CZXYS6CY.js +1 -0
- package/dist/chunk-GEG3TNB4.js +1 -0
- package/dist/chunk-GK3INPAZ.js +1 -0
- package/dist/chunk-H5IEGCAK.js +72 -0
- package/dist/chunk-H7ETPJVW.js +1 -0
- package/dist/chunk-IHKCC6WJ.js +1 -0
- package/dist/chunk-IIKSMXQE.js +1 -0
- package/dist/chunk-J7BV4KHG.js +1 -0
- package/dist/chunk-K2P2BHV5.js +1 -0
- package/dist/chunk-KBOMPMSI.js +1 -0
- package/dist/chunk-KR3UUTB2.js +1 -0
- package/dist/chunk-LGJVLEAH.js +1 -0
- package/dist/chunk-LJ4O6YTN.js +1 -0
- package/dist/chunk-MBC4UVTS.js +1 -0
- package/dist/chunk-MCVO25PZ.js +1 -0
- package/dist/chunk-MEEQNPGM.js +1 -0
- package/dist/chunk-MHHJZYXW.js +1 -0
- package/dist/chunk-MSMNEIWA.js +0 -0
- package/dist/chunk-MZBB5ROJ.js +1 -0
- package/dist/chunk-NB5PGEDY.js +1 -0
- package/dist/chunk-NTFHNL7T.js +1 -0
- package/dist/chunk-O3MRWAI5.js +1 -0
- package/dist/chunk-RGTLYBOY.js +3 -0
- package/dist/chunk-RZ5YSY7Y.js +0 -0
- package/dist/chunk-SDMH2EVD.js +1 -0
- package/dist/chunk-SEJUHKS5.js +1 -0
- package/dist/chunk-SIU7DSOA.js +1 -0
- package/dist/chunk-T45UAWNI.js +3 -0
- package/dist/chunk-TIXCZTJ7.js +0 -0
- package/dist/chunk-U4ZP73V4.js +1 -0
- package/dist/chunk-U73BNLZ3.js +1 -0
- package/dist/chunk-UEOCR2C3.js +2 -0
- package/dist/chunk-UUZ4HU7L.js +0 -0
- package/dist/chunk-VBRSAI3K.js +1 -0
- package/dist/chunk-W27NAI62.js +1 -0
- package/dist/chunk-W4SW4RWX.js +1 -0
- package/dist/chunk-WHA6UO5X.js +1 -0
- package/dist/chunk-XDYBNO4P.js +1 -0
- package/dist/chunk-XIOI5PKM.js +1 -0
- package/dist/chunk-Y4TCT2K6.js +1 -0
- package/dist/chunk-Y4WEMSE4.js +0 -0
- package/dist/collection-layout.css +30 -0
- package/dist/collection-layout.d.ts +2 -0
- package/dist/collection-layout.js +1 -0
- package/dist/colors.d.ts +2 -0
- package/dist/command-palette.css +35 -0
- package/dist/command-palette.d.ts +2 -0
- package/dist/command-palette.js +1 -0
- package/dist/component-factories/app-layout.d.ts +2 -0
- package/dist/component-factories/breadcrumbs.d.ts +2 -0
- package/dist/component-factories/cascader.d.ts +2 -0
- package/dist/component-factories/chat-widget.d.ts +2 -0
- package/dist/component-factories/chat.d.ts +2 -0
- package/dist/component-factories/collection-layout.d.ts +2 -0
- package/dist/component-factories/command-palette.d.ts +2 -0
- package/dist/component-factories/content-carousel.d.ts +2 -0
- package/dist/component-factories/dashboard-canvas.d.ts +3 -0
- package/dist/component-factories/dashboard-panel.d.ts +3 -0
- package/dist/component-factories/date-picker.d.ts +2 -0
- package/dist/component-factories/date-range-picker.d.ts +2 -0
- package/dist/component-factories/date-time-picker.d.ts +2 -0
- package/dist/component-factories/descriptions.d.ts +2 -0
- package/dist/component-factories/drawer.d.ts +2 -0
- package/dist/component-factories/float-button.d.ts +2 -0
- package/dist/component-factories/font-provider.d.ts +2 -0
- package/dist/component-factories/hero-section.d.ts +2 -0
- package/dist/component-factories/image-compare.d.ts +2 -0
- package/dist/component-factories/logo-cloud.d.ts +2 -0
- package/dist/component-factories/media-card.d.ts +2 -0
- package/dist/component-factories/media-image.d.ts +2 -0
- package/dist/component-factories/modal.d.ts +2 -0
- package/dist/component-factories/notification-center.d.ts +3 -0
- package/dist/component-factories/notification.d.ts +5 -0
- package/dist/component-factories/page-header.d.ts +2 -0
- package/dist/component-factories/page-layout.d.ts +2 -0
- package/dist/component-factories/pagination.d.ts +2 -0
- package/dist/component-factories/profile-card.d.ts +2 -0
- package/dist/component-factories/qr-code.d.ts +2 -0
- package/dist/component-factories/quote-card.d.ts +2 -0
- package/dist/component-factories/shape-mask.d.ts +2 -0
- package/dist/component-factories/sidebar.d.ts +2 -0
- package/dist/component-factories/sparkline.d.ts +2 -0
- package/dist/component-factories/split-section.d.ts +2 -0
- package/dist/component-factories/splitter.d.ts +2 -0
- package/dist/component-factories/statistic.d.ts +2 -0
- package/dist/component-factories/text-highlight.d.ts +2 -0
- package/dist/component-factories/time-picker.d.ts +2 -0
- package/dist/component-factories/timeline.d.ts +2 -0
- package/dist/component-factories/tour.d.ts +2 -0
- package/dist/component-factories/transfer-list.d.ts +2 -0
- package/dist/component-factories/tree-select.d.ts +2 -0
- package/dist/component-factories/tree-view.d.ts +2 -0
- package/dist/component-factories/upload-manager.d.ts +2 -0
- package/dist/component-factories/video-lightbox.d.ts +2 -0
- package/dist/component-factories/video-player.d.ts +2 -0
- package/dist/component-runtime.d.ts +2 -0
- package/dist/content-carousel.css +34 -0
- package/dist/content-carousel.d.ts +2 -0
- package/dist/content-carousel.js +1 -0
- package/dist/content.css +2085 -0
- package/dist/content.d.ts +13 -0
- package/dist/content.js +1 -0
- package/dist/core.css +1070 -0
- package/dist/core.d.ts +6 -0
- package/dist/core.js +1 -0
- package/dist/dashboard-canvas.css +49 -0
- package/dist/dashboard-canvas.d.ts +2 -0
- package/dist/dashboard-canvas.js +1 -0
- package/dist/dashboard-panel.css +2 -0
- package/dist/dashboard-panel.d.ts +2 -0
- package/dist/dashboard-panel.js +1 -0
- package/dist/data.css +813 -0
- package/dist/data.d.ts +9 -0
- package/dist/data.js +1 -0
- package/dist/date-picker.css +78 -0
- package/dist/date-picker.d.ts +2 -0
- package/dist/date-picker.js +1 -0
- package/dist/date-range-picker.css +78 -0
- package/dist/date-range-picker.d.ts +2 -0
- package/dist/date-range-picker.js +1 -0
- package/dist/date-time-picker.css +78 -0
- package/dist/date-time-picker.d.ts +2 -0
- package/dist/date-time-picker.js +1 -0
- package/dist/descriptions.css +113 -0
- package/dist/descriptions.d.ts +2 -0
- package/dist/descriptions.js +1 -0
- package/dist/dom.d.ts +7 -0
- package/dist/drawer.css +215 -0
- package/dist/drawer.d.ts +2 -0
- package/dist/drawer.js +1 -0
- package/dist/empty-state.css +110 -0
- package/dist/empty-state.d.ts +2 -0
- package/dist/empty-state.js +1 -0
- package/dist/essentials.css +1295 -0
- package/dist/essentials.d.ts +11 -0
- package/dist/essentials.js +1 -0
- package/dist/feedback.css +1136 -0
- package/dist/feedback.d.ts +10 -0
- package/dist/feedback.js +1 -0
- package/dist/float-button.css +28 -0
- package/dist/float-button.d.ts +2 -0
- package/dist/float-button.js +1 -0
- package/dist/font-provider.css +5 -0
- package/dist/font-provider.d.ts +2 -0
- package/dist/font-provider.js +1 -0
- package/dist/fonts/dm-sans-LICENSE.txt +93 -0
- package/dist/fonts/dm-sans-latin-ext-wght-italic.woff2 +0 -0
- package/dist/fonts/dm-sans-latin-ext-wght-normal.woff2 +0 -0
- package/dist/fonts/dm-sans-latin-wght-italic.woff2 +0 -0
- package/dist/fonts/dm-sans-latin-wght-normal.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-LICENSE.txt +93 -0
- package/dist/fonts/ibm-plex-mono-latin-100-italic.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-100-normal.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-200-italic.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-200-normal.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-300-italic.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-300-normal.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-400-italic.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-400-normal.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-500-italic.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-500-normal.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-600-italic.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-600-normal.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-700-italic.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-700-normal.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-ext-100-italic.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-ext-100-normal.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-ext-200-italic.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-ext-200-normal.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-ext-300-italic.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-ext-300-normal.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-ext-400-italic.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-ext-400-normal.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-ext-500-italic.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-ext-500-normal.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-ext-600-italic.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-ext-600-normal.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-ext-700-italic.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-ext-700-normal.woff2 +0 -0
- package/dist/fonts/inter-LICENSE.txt +93 -0
- package/dist/fonts/inter-latin-ext-wght-italic.woff2 +0 -0
- package/dist/fonts/inter-latin-ext-wght-normal.woff2 +0 -0
- package/dist/fonts/inter-latin-wght-italic.woff2 +0 -0
- package/dist/fonts/inter-latin-wght-normal.woff2 +0 -0
- package/dist/fonts/jetbrains-mono-LICENSE.txt +93 -0
- package/dist/fonts/jetbrains-mono-latin-ext-wght-italic.woff2 +0 -0
- package/dist/fonts/jetbrains-mono-latin-ext-wght-normal.woff2 +0 -0
- package/dist/fonts/jetbrains-mono-latin-wght-italic.woff2 +0 -0
- package/dist/fonts/jetbrains-mono-latin-wght-normal.woff2 +0 -0
- package/dist/fonts/lora-LICENSE.txt +93 -0
- package/dist/fonts/lora-latin-ext-wght-italic.woff2 +0 -0
- package/dist/fonts/lora-latin-ext-wght-normal.woff2 +0 -0
- package/dist/fonts/lora-latin-wght-italic.woff2 +0 -0
- package/dist/fonts/lora-latin-wght-normal.woff2 +0 -0
- package/dist/fonts/manifest.json +618 -0
- package/dist/fonts/manrope-LICENSE.txt +93 -0
- package/dist/fonts/manrope-latin-ext-wght-normal.woff2 +0 -0
- package/dist/fonts/manrope-latin-wght-normal.woff2 +0 -0
- package/dist/fonts/merriweather-LICENSE.txt +93 -0
- package/dist/fonts/merriweather-latin-ext-wght-italic.woff2 +0 -0
- package/dist/fonts/merriweather-latin-ext-wght-normal.woff2 +0 -0
- package/dist/fonts/merriweather-latin-wght-italic.woff2 +0 -0
- package/dist/fonts/merriweather-latin-wght-normal.woff2 +0 -0
- package/dist/fonts/montserrat-LICENSE.txt +93 -0
- package/dist/fonts/montserrat-latin-ext-wght-italic.woff2 +0 -0
- package/dist/fonts/montserrat-latin-ext-wght-normal.woff2 +0 -0
- package/dist/fonts/montserrat-latin-wght-italic.woff2 +0 -0
- package/dist/fonts/montserrat-latin-wght-normal.woff2 +0 -0
- package/dist/fonts/playfair-display-LICENSE.txt +93 -0
- package/dist/fonts/playfair-display-latin-ext-wght-italic.woff2 +0 -0
- package/dist/fonts/playfair-display-latin-ext-wght-normal.woff2 +0 -0
- package/dist/fonts/playfair-display-latin-wght-italic.woff2 +0 -0
- package/dist/fonts/playfair-display-latin-wght-normal.woff2 +0 -0
- package/dist/fonts/roboto-LICENSE.txt +93 -0
- package/dist/fonts/roboto-latin-ext-wght-italic.woff2 +0 -0
- package/dist/fonts/roboto-latin-ext-wght-normal.woff2 +0 -0
- package/dist/fonts/roboto-latin-wght-italic.woff2 +0 -0
- package/dist/fonts/roboto-latin-wght-normal.woff2 +0 -0
- package/dist/fonts/source-sans-3-LICENSE.txt +93 -0
- package/dist/fonts/source-sans-3-latin-ext-wght-italic.woff2 +0 -0
- package/dist/fonts/source-sans-3-latin-ext-wght-normal.woff2 +0 -0
- package/dist/fonts/source-sans-3-latin-wght-italic.woff2 +0 -0
- package/dist/fonts/source-sans-3-latin-wght-normal.woff2 +0 -0
- package/dist/grid-basic.css +12 -0
- package/dist/grid-basic.d.ts +10 -0
- package/dist/grid-basic.js +1 -0
- package/dist/grid-spec.d.ts +37 -0
- package/dist/grid.css +12 -0
- package/dist/grid.d.ts +1 -0
- package/dist/grid.js +1 -0
- package/dist/hero-section.css +41 -0
- package/dist/hero-section.d.ts +2 -0
- package/dist/hero-section.js +1 -0
- package/dist/image-compare.css +35 -0
- package/dist/image-compare.d.ts +2 -0
- package/dist/image-compare.js +1 -0
- package/dist/index.d.ts +56 -0
- package/dist/index.js +1 -0
- package/dist/inputs.css +1524 -0
- package/dist/inputs.d.ts +8 -0
- package/dist/inputs.js +1 -0
- package/dist/layout.css +844 -0
- package/dist/layout.d.ts +8 -0
- package/dist/layout.js +1 -0
- package/dist/logo-cloud.css +33 -0
- package/dist/logo-cloud.d.ts +2 -0
- package/dist/logo-cloud.js +1 -0
- package/dist/marketing-template-layout.css +30 -0
- package/dist/media-card.css +41 -0
- package/dist/media-card.d.ts +2 -0
- package/dist/media-card.js +1 -0
- package/dist/media-image.css +531 -0
- package/dist/media-image.d.ts +2 -0
- package/dist/media-image.js +1 -0
- package/dist/modal.css +210 -0
- package/dist/modal.d.ts +2 -0
- package/dist/modal.js +1 -0
- package/dist/native/app-layout.js +1 -0
- package/dist/native/cascader.js +1 -0
- package/dist/native/chat-widget.js +3 -0
- package/dist/native/chat.js +3 -0
- package/dist/native/collection-layout.js +1 -0
- package/dist/native/command-palette.js +1 -0
- package/dist/native/content-carousel.js +1 -0
- package/dist/native/dashboard-canvas.js +1 -0
- package/dist/native/date-picker.js +1 -0
- package/dist/native/date-range-picker.js +1 -0
- package/dist/native/date-time-picker.js +1 -0
- package/dist/native/descriptions.js +1 -0
- package/dist/native/drawer.js +1 -0
- package/dist/native/float-button.js +1 -0
- package/dist/native/font-provider.js +1 -0
- package/dist/native/hero-section.js +1 -0
- package/dist/native/image-compare.js +1 -0
- package/dist/native/logo-cloud.js +1 -0
- package/dist/native/media-card.js +1 -0
- package/dist/native/media-image.js +1 -0
- package/dist/native/modal.js +1 -0
- package/dist/native/notification-center.js +1 -0
- package/dist/native/notification.js +2 -0
- package/dist/native/page-layout.js +1 -0
- package/dist/native/pagination.js +1 -0
- package/dist/native/profile-card.js +1 -0
- package/dist/native/qr-code.js +3 -0
- package/dist/native/quote-card.js +1 -0
- package/dist/native/shape-mask.js +1 -0
- package/dist/native/sparkline.js +1 -0
- package/dist/native/split-section.js +1 -0
- package/dist/native/splitter.js +1 -0
- package/dist/native/statistic.js +1 -0
- package/dist/native/text-highlight.js +1 -0
- package/dist/native/time-picker.js +1 -0
- package/dist/native/timeline.js +1 -0
- package/dist/native/tour.js +1 -0
- package/dist/native/transfer-list.js +1 -0
- package/dist/native/tree-select.js +1 -0
- package/dist/native/tree-view.js +1 -0
- package/dist/native/upload-manager.js +1 -0
- package/dist/native/video-lightbox.js +1 -0
- package/dist/native/video-player.js +1 -0
- package/dist/native-base.d.ts +1 -0
- package/dist/native-components/app-layout.d.ts +1 -0
- package/dist/native-components/cascader.d.ts +1 -0
- package/dist/native-components/chat-widget.d.ts +1 -0
- package/dist/native-components/chat.d.ts +1 -0
- package/dist/native-components/collection-layout.d.ts +1 -0
- package/dist/native-components/command-palette.d.ts +1 -0
- package/dist/native-components/content-carousel.d.ts +1 -0
- package/dist/native-components/dashboard-canvas.d.ts +1 -0
- package/dist/native-components/date-picker.d.ts +1 -0
- package/dist/native-components/date-range-picker.d.ts +1 -0
- package/dist/native-components/date-time-picker.d.ts +1 -0
- package/dist/native-components/descriptions.d.ts +1 -0
- package/dist/native-components/drawer.d.ts +1 -0
- package/dist/native-components/float-button.d.ts +1 -0
- package/dist/native-components/font-provider.d.ts +1 -0
- package/dist/native-components/hero-section.d.ts +1 -0
- package/dist/native-components/image-compare.d.ts +1 -0
- package/dist/native-components/logo-cloud.d.ts +1 -0
- package/dist/native-components/media-card.d.ts +1 -0
- package/dist/native-components/media-image.d.ts +1 -0
- package/dist/native-components/modal.d.ts +1 -0
- package/dist/native-components/notification-center.d.ts +1 -0
- package/dist/native-components/notification.d.ts +1 -0
- package/dist/native-components/page-layout.d.ts +1 -0
- package/dist/native-components/pagination.d.ts +1 -0
- package/dist/native-components/profile-card.d.ts +1 -0
- package/dist/native-components/qr-code.d.ts +1 -0
- package/dist/native-components/quote-card.d.ts +1 -0
- package/dist/native-components/shape-mask.d.ts +1 -0
- package/dist/native-components/sparkline.d.ts +1 -0
- package/dist/native-components/split-section.d.ts +1 -0
- package/dist/native-components/splitter.d.ts +1 -0
- package/dist/native-components/statistic.d.ts +1 -0
- package/dist/native-components/text-highlight.d.ts +1 -0
- package/dist/native-components/time-picker.d.ts +1 -0
- package/dist/native-components/timeline.d.ts +1 -0
- package/dist/native-components/tour.d.ts +1 -0
- package/dist/native-components/transfer-list.d.ts +1 -0
- package/dist/native-components/tree-select.d.ts +1 -0
- package/dist/native-components/tree-view.d.ts +1 -0
- package/dist/native-components/upload-manager.d.ts +1 -0
- package/dist/native-components/video-lightbox.d.ts +1 -0
- package/dist/native-components/video-player.d.ts +1 -0
- package/dist/native-grid.d.ts +1 -0
- package/dist/native.d.ts +1 -0
- package/dist/notification-center.css +49 -0
- package/dist/notification-center.d.ts +2 -0
- package/dist/notification-center.js +1 -0
- package/dist/notification.css +155 -0
- package/dist/notification.d.ts +2 -0
- package/dist/notification.js +1 -0
- package/dist/page-header.css +184 -0
- package/dist/page-header.d.ts +2 -0
- package/dist/page-header.js +1 -0
- package/dist/page-layout.css +117 -0
- package/dist/page-layout.d.ts +2 -0
- package/dist/page-layout.js +1 -0
- package/dist/pagination.css +127 -0
- package/dist/pagination.d.ts +2 -0
- package/dist/pagination.js +1 -0
- package/dist/primitives.d.ts +1 -0
- package/dist/profile-card.css +484 -0
- package/dist/profile-card.d.ts +2 -0
- package/dist/profile-card.js +1 -0
- package/dist/qr-code.css +125 -0
- package/dist/qr-code.d.ts +2 -0
- package/dist/qr-code.js +1 -0
- package/dist/quote-card.css +30 -0
- package/dist/quote-card.d.ts +2 -0
- package/dist/quote-card.js +1 -0
- package/dist/shape-mask.css +10 -0
- package/dist/shape-mask.d.ts +2 -0
- package/dist/shape-mask.js +1 -0
- package/dist/sidebar.css +183 -0
- package/dist/sidebar.d.ts +2 -0
- package/dist/sidebar.js +1 -0
- package/dist/sizes.json +1012 -0
- package/dist/skeleton.css +69 -0
- package/dist/skeleton.d.ts +2 -0
- package/dist/skeleton.js +1 -0
- package/dist/sparkline.css +38 -0
- package/dist/sparkline.d.ts +2 -0
- package/dist/sparkline.js +1 -0
- package/dist/split-section.css +34 -0
- package/dist/split-section.d.ts +2 -0
- package/dist/split-section.js +1 -0
- package/dist/splitter.css +32 -0
- package/dist/splitter.d.ts +2 -0
- package/dist/splitter.js +1 -0
- package/dist/statistic.css +107 -0
- package/dist/statistic.d.ts +2 -0
- package/dist/statistic.js +1 -0
- package/dist/styles.css +8882 -0
- package/dist/text-highlight.css +49 -0
- package/dist/text-highlight.d.ts +2 -0
- package/dist/text-highlight.js +1 -0
- package/dist/theme-runtime.d.ts +1 -0
- package/dist/theme.css +1391 -0
- package/dist/theme.d.ts +10 -0
- package/dist/theme.js +1 -0
- package/dist/time-picker.css +78 -0
- package/dist/time-picker.d.ts +2 -0
- package/dist/time-picker.js +1 -0
- package/dist/timeline.css +126 -0
- package/dist/timeline.d.ts +2 -0
- package/dist/timeline.js +1 -0
- package/dist/tour.css +138 -0
- package/dist/tour.d.ts +2 -0
- package/dist/tour.js +1 -0
- package/dist/transfer-list.css +878 -0
- package/dist/transfer-list.d.ts +2 -0
- package/dist/transfer-list.js +1 -0
- package/dist/tree-select.css +135 -0
- package/dist/tree-select.d.ts +2 -0
- package/dist/tree-select.js +1 -0
- package/dist/tree-view.css +118 -0
- package/dist/tree-view.d.ts +2 -0
- package/dist/tree-view.js +1 -0
- package/dist/types.d.ts +1284 -0
- package/dist/upload-manager.css +40 -0
- package/dist/upload-manager.d.ts +2 -0
- package/dist/upload-manager.js +1 -0
- package/dist/video-lightbox.css +639 -0
- package/dist/video-lightbox.d.ts +2 -0
- package/dist/video-lightbox.js +1 -0
- package/dist/video-player.css +92 -0
- package/dist/video-player.d.ts +2 -0
- package/dist/video-player.js +1 -0
- package/docs/PUBLISHING.md +25 -0
- package/edition.json +245 -0
- package/npm-shrinkwrap.json +554 -0
- package/package.json +391 -4
- package/scripts/build.mjs +34 -0
- package/scripts/verify-package.mjs +136 -0
- package/src/advanced-types.ts +89 -0
- package/src/app-layout.ts +2 -0
- package/src/badge.ts +2 -0
- package/src/breadcrumbs.ts +2 -0
- package/src/button.ts +2 -0
- package/src/card.ts +2 -0
- package/src/cascader.ts +2 -0
- package/src/chat-widget.ts +2 -0
- package/src/chat.ts +2 -0
- package/src/chip-group.ts +2 -0
- package/src/chip.ts +2 -0
- package/src/collection-layout.ts +2 -0
- package/src/colors.ts +3 -0
- package/src/command-palette.ts +2 -0
- package/src/component-factories/app-layout.ts +8 -0
- package/src/component-factories/breadcrumbs.ts +45 -0
- package/src/component-factories/cascader.ts +11 -0
- package/src/component-factories/chat-widget.ts +12 -0
- package/src/component-factories/chat.ts +10 -0
- package/src/component-factories/collection-layout.ts +5 -0
- package/src/component-factories/command-palette.ts +79 -0
- package/src/component-factories/content-carousel.ts +5 -0
- package/src/component-factories/dashboard-canvas.ts +11 -0
- package/src/component-factories/dashboard-panel.ts +9 -0
- package/src/component-factories/date-picker.ts +6 -0
- package/src/component-factories/date-range-picker.ts +6 -0
- package/src/component-factories/date-time-picker.ts +6 -0
- package/src/component-factories/descriptions.ts +11 -0
- package/src/component-factories/drawer.ts +12 -0
- package/src/component-factories/float-button.ts +7 -0
- package/src/component-factories/font-provider.ts +6 -0
- package/src/component-factories/hero-section.ts +5 -0
- package/src/component-factories/image-compare.ts +5 -0
- package/src/component-factories/logo-cloud.ts +5 -0
- package/src/component-factories/media-card.ts +5 -0
- package/src/component-factories/media-image.ts +5 -0
- package/src/component-factories/modal.ts +12 -0
- package/src/component-factories/notification-center.ts +13 -0
- package/src/component-factories/notification.ts +16 -0
- package/src/component-factories/page-header.ts +73 -0
- package/src/component-factories/page-layout.ts +8 -0
- package/src/component-factories/pagination.ts +11 -0
- package/src/component-factories/profile-card.ts +5 -0
- package/src/component-factories/qr-code.ts +11 -0
- package/src/component-factories/quote-card.ts +5 -0
- package/src/component-factories/shape-mask.ts +6 -0
- package/src/component-factories/sidebar.ts +98 -0
- package/src/component-factories/sparkline.ts +8 -0
- package/src/component-factories/split-section.ts +5 -0
- package/src/component-factories/splitter.ts +105 -0
- package/src/component-factories/statistic.ts +10 -0
- package/src/component-factories/text-highlight.ts +5 -0
- package/src/component-factories/time-picker.ts +6 -0
- package/src/component-factories/timeline.ts +11 -0
- package/src/component-factories/tour.ts +13 -0
- package/src/component-factories/transfer-list.ts +159 -0
- package/src/component-factories/tree-select.ts +83 -0
- package/src/component-factories/tree-view.ts +115 -0
- package/src/component-factories/upload-manager.ts +76 -0
- package/src/component-factories/video-lightbox.ts +5 -0
- package/src/component-factories/video-player.ts +5 -0
- package/src/component-runtime.ts +20 -0
- package/src/content-carousel.ts +2 -0
- package/src/content.ts +13 -0
- package/src/core.ts +6 -0
- package/src/dashboard-canvas.ts +2 -0
- package/src/dashboard-panel.ts +2 -0
- package/src/data.ts +9 -0
- package/src/date-picker.ts +2 -0
- package/src/date-range-picker.ts +2 -0
- package/src/date-time-picker.ts +2 -0
- package/src/descriptions.ts +2 -0
- package/src/dom.ts +65 -0
- package/src/drawer.ts +2 -0
- package/src/empty-state.ts +2 -0
- package/src/essentials.ts +180 -0
- package/src/feedback.ts +10 -0
- package/src/float-button.ts +2 -0
- package/src/font-provider.ts +2 -0
- package/src/grid-basic.ts +46 -0
- package/src/grid-spec.ts +93 -0
- package/src/grid.ts +1 -0
- package/src/hero-section.ts +2 -0
- package/src/image-compare.ts +2 -0
- package/src/index.ts +56 -0
- package/src/inputs.ts +8 -0
- package/src/layout.ts +8 -0
- package/src/logo-cloud.ts +2 -0
- package/src/media-card.ts +2 -0
- package/src/media-image.ts +2 -0
- package/src/modal.ts +2 -0
- package/src/native-base.ts +20 -0
- package/src/native-components/app-layout.ts +2 -0
- package/src/native-components/cascader.ts +2 -0
- package/src/native-components/chat-widget.ts +2 -0
- package/src/native-components/chat.ts +2 -0
- package/src/native-components/collection-layout.ts +2 -0
- package/src/native-components/command-palette.ts +2 -0
- package/src/native-components/content-carousel.ts +2 -0
- package/src/native-components/dashboard-canvas.ts +2 -0
- package/src/native-components/date-picker.ts +2 -0
- package/src/native-components/date-range-picker.ts +2 -0
- package/src/native-components/date-time-picker.ts +2 -0
- package/src/native-components/descriptions.ts +2 -0
- package/src/native-components/drawer.ts +2 -0
- package/src/native-components/float-button.ts +2 -0
- package/src/native-components/font-provider.ts +2 -0
- package/src/native-components/hero-section.ts +2 -0
- package/src/native-components/image-compare.ts +2 -0
- package/src/native-components/logo-cloud.ts +2 -0
- package/src/native-components/media-card.ts +2 -0
- package/src/native-components/media-image.ts +2 -0
- package/src/native-components/modal.ts +2 -0
- package/src/native-components/notification-center.ts +2 -0
- package/src/native-components/notification.ts +2 -0
- package/src/native-components/page-layout.ts +2 -0
- package/src/native-components/pagination.ts +2 -0
- package/src/native-components/profile-card.ts +2 -0
- package/src/native-components/qr-code.ts +2 -0
- package/src/native-components/quote-card.ts +2 -0
- package/src/native-components/shape-mask.ts +2 -0
- package/src/native-components/sparkline.ts +2 -0
- package/src/native-components/split-section.ts +2 -0
- package/src/native-components/splitter.ts +2 -0
- package/src/native-components/statistic.ts +2 -0
- package/src/native-components/text-highlight.ts +2 -0
- package/src/native-components/time-picker.ts +2 -0
- package/src/native-components/timeline.ts +2 -0
- package/src/native-components/tour.ts +2 -0
- package/src/native-components/transfer-list.ts +2 -0
- package/src/native-components/tree-select.ts +2 -0
- package/src/native-components/tree-view.ts +2 -0
- package/src/native-components/upload-manager.ts +2 -0
- package/src/native-components/video-lightbox.ts +2 -0
- package/src/native-components/video-player.ts +2 -0
- package/src/native-grid.ts +3 -0
- package/src/native.ts +3 -0
- package/src/notification-center.ts +2 -0
- package/src/notification.ts +2 -0
- package/src/page-header.ts +2 -0
- package/src/page-layout.ts +2 -0
- package/src/pagination.ts +2 -0
- package/src/primitives.ts +1 -0
- package/src/profile-card.ts +2 -0
- package/src/qr-code.ts +2 -0
- package/src/quote-card.ts +2 -0
- package/src/runtime/app-layout.d.ts +1 -0
- package/src/runtime/app-layout.js +168 -0
- package/src/runtime/cascader.d.ts +1 -0
- package/src/runtime/cascader.js +381 -0
- package/src/runtime/chat-widget.d.ts +1 -0
- package/src/runtime/chat-widget.js +630 -0
- package/src/runtime/chat.d.ts +1 -0
- package/src/runtime/chat.js +461 -0
- package/src/runtime/collection-layout.d.ts +1 -0
- package/src/runtime/collection-layout.js +269 -0
- package/src/runtime/command-palette.d.ts +1 -0
- package/src/runtime/command-palette.js +302 -0
- package/src/runtime/content-carousel.d.ts +1 -0
- package/src/runtime/content-carousel.js +282 -0
- package/src/runtime/dashboard-canvas.d.ts +1 -0
- package/src/runtime/dashboard-canvas.js +493 -0
- package/src/runtime/date-picker.d.ts +1 -0
- package/src/runtime/date-picker.js +817 -0
- package/src/runtime/date-range-picker.d.ts +1 -0
- package/src/runtime/date-range-picker.js +817 -0
- package/src/runtime/date-time-picker.d.ts +1 -0
- package/src/runtime/date-time-picker.js +817 -0
- package/src/runtime/descriptions.d.ts +1 -0
- package/src/runtime/descriptions.js +220 -0
- package/src/runtime/drawer.d.ts +1 -0
- package/src/runtime/drawer.js +287 -0
- package/src/runtime/empty-state.d.ts +1 -0
- package/src/runtime/empty-state.js +178 -0
- package/src/runtime/float-button.d.ts +1 -0
- package/src/runtime/float-button.js +171 -0
- package/src/runtime/font-provider.d.ts +1 -0
- package/src/runtime/font-provider.js +694 -0
- package/src/runtime/hero-section.d.ts +1 -0
- package/src/runtime/hero-section.js +186 -0
- package/src/runtime/image-compare.d.ts +1 -0
- package/src/runtime/image-compare.js +242 -0
- package/src/runtime/kernel.js +8 -0
- package/src/runtime/logo-cloud.d.ts +1 -0
- package/src/runtime/logo-cloud.js +163 -0
- package/src/runtime/media-card.d.ts +1 -0
- package/src/runtime/media-card.js +189 -0
- package/src/runtime/media-image.d.ts +1 -0
- package/src/runtime/media-image.js +480 -0
- package/src/runtime/modal.d.ts +1 -0
- package/src/runtime/modal.js +287 -0
- package/src/runtime/notification-center.d.ts +1 -0
- package/src/runtime/notification-center.js +417 -0
- package/src/runtime/notification.d.ts +1 -0
- package/src/runtime/notification.js +347 -0
- package/src/runtime/page-layout.d.ts +1 -0
- package/src/runtime/page-layout.js +105 -0
- package/src/runtime/pagination.d.ts +1 -0
- package/src/runtime/pagination.js +274 -0
- package/src/runtime/profile-card.d.ts +1 -0
- package/src/runtime/profile-card.js +512 -0
- package/src/runtime/qr-code.d.ts +1 -0
- package/src/runtime/qr-code.js +1942 -0
- package/src/runtime/quote-card.d.ts +1 -0
- package/src/runtime/quote-card.js +153 -0
- package/src/runtime/shape-mask.d.ts +1 -0
- package/src/runtime/shape-mask.js +211 -0
- package/src/runtime/sparkline.d.ts +1 -0
- package/src/runtime/sparkline.js +197 -0
- package/src/runtime/split-section.d.ts +1 -0
- package/src/runtime/split-section.js +148 -0
- package/src/runtime/splitter.d.ts +1 -0
- package/src/runtime/splitter.js +278 -0
- package/src/runtime/statistic.d.ts +1 -0
- package/src/runtime/statistic.js +204 -0
- package/src/runtime/text-highlight.d.ts +1 -0
- package/src/runtime/text-highlight.js +194 -0
- package/src/runtime/time-picker.d.ts +1 -0
- package/src/runtime/time-picker.js +817 -0
- package/src/runtime/timeline.d.ts +1 -0
- package/src/runtime/timeline.js +213 -0
- package/src/runtime/tour.d.ts +1 -0
- package/src/runtime/tour.js +412 -0
- package/src/runtime/transfer.d.ts +1 -0
- package/src/runtime/transfer.js +88 -0
- package/src/runtime/tree-select.d.ts +1 -0
- package/src/runtime/tree-select.js +420 -0
- package/src/runtime/tree.d.ts +1 -0
- package/src/runtime/tree.js +302 -0
- package/src/runtime/upload-manager.d.ts +1 -0
- package/src/runtime/upload-manager.js +408 -0
- package/src/runtime/video-lightbox.d.ts +1 -0
- package/src/runtime/video-lightbox.js +1117 -0
- package/src/runtime/video-player.d.ts +1 -0
- package/src/runtime/video-player.js +770 -0
- package/src/shape-mask.ts +2 -0
- package/src/sidebar.ts +2 -0
- package/src/skeleton.ts +2 -0
- package/src/sparkline.ts +2 -0
- package/src/split-section.ts +2 -0
- package/src/splitter.ts +2 -0
- package/src/statistic.ts +2 -0
- package/src/text-highlight.ts +2 -0
- package/src/theme-runtime.ts +70 -0
- package/src/theme.ts +32 -0
- package/src/time-picker.ts +2 -0
- package/src/timeline.ts +2 -0
- package/src/tour.ts +2 -0
- package/src/transfer-list.ts +2 -0
- package/src/tree-select.ts +2 -0
- package/src/tree-view.ts +2 -0
- package/src/types.ts +1299 -0
- package/src/upload-manager.ts +2 -0
- package/src/video-lightbox.ts +2 -0
- package/src/video-player.ts +2 -0
- package/styles/app-layout.css +115 -0
- package/styles/badge.css +131 -0
- package/styles/breadcrumbs.css +77 -0
- package/styles/button.css +625 -0
- package/styles/card.css +119 -0
- package/styles/cascader.css +152 -0
- package/styles/chat-widget.css +121 -0
- package/styles/chat.css +66 -0
- package/styles/chip-group.css +44 -0
- package/styles/chip.css +191 -0
- package/styles/collection-layout.css +30 -0
- package/styles/command-palette.css +35 -0
- package/styles/content-carousel.css +34 -0
- package/styles/dashboard-canvas.css +49 -0
- package/styles/dashboard-panel.css +2 -0
- package/styles/date-picker.css +78 -0
- package/styles/date-range-picker.css +78 -0
- package/styles/date-time-picker.css +78 -0
- package/styles/descriptions.css +113 -0
- package/styles/drawer.css +215 -0
- package/styles/empty-state.css +110 -0
- package/styles/float-button.css +28 -0
- package/styles/font-provider.css +5 -0
- package/styles/grid-basic.css +12 -0
- package/styles/hero-section.css +41 -0
- package/styles/image-compare.css +35 -0
- package/styles/logo-cloud.css +33 -0
- package/styles/marketing-template-layout.css +30 -0
- package/styles/media-card.css +41 -0
- package/styles/media-image.css +531 -0
- package/styles/modal.css +210 -0
- package/styles/notification-center.css +49 -0
- package/styles/notification.css +155 -0
- package/styles/page-header.css +184 -0
- package/styles/page-layout.css +117 -0
- package/styles/pagination.css +127 -0
- package/styles/profile-card.css +484 -0
- package/styles/qr-code.css +125 -0
- package/styles/quote-card.css +30 -0
- package/styles/shape-mask.css +10 -0
- package/styles/sidebar.css +183 -0
- package/styles/skeleton.css +69 -0
- package/styles/sparkline.css +38 -0
- package/styles/split-section.css +34 -0
- package/styles/splitter.css +32 -0
- package/styles/statistic.css +107 -0
- package/styles/text-highlight.css +49 -0
- package/styles/theme.css +1391 -0
- package/styles/time-picker.css +78 -0
- package/styles/timeline.css +126 -0
- package/styles/tour.css +138 -0
- package/styles/transfer-list.css +878 -0
- package/styles/tree-select.css +135 -0
- package/styles/tree-view.css +118 -0
- package/styles/upload-manager.css +40 -0
- package/styles/video-lightbox.css +639 -0
- package/styles/video-player.css +92 -0
- package/test/contracts.test.mjs +8 -0
- package/test/isolation.test.mjs +36 -0
- package/tsconfig.json +20 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
// ../blu-grid/docs/scripts/modules/tree-transfer.js
|
|
2
|
+
import { global, runtime, state, register } from "./kernel.js";
|
|
3
|
+
function array(json, name) {
|
|
4
|
+
var value = JSON.parse(json || "[]");
|
|
5
|
+
if (!Array.isArray(value)) throw new Error(name + " must be a JSON array.");
|
|
6
|
+
return value;
|
|
7
|
+
}
|
|
8
|
+
function items(json, tree) {
|
|
9
|
+
var list = array(json, "Items"), map = /* @__PURE__ */ new Map();
|
|
10
|
+
list.forEach(function(item) {
|
|
11
|
+
if (!item || typeof item.Key !== "string" || !item.Key.trim()) throw new Error("Every item needs a nonempty Text Key.");
|
|
12
|
+
if (map.has(item.Key)) throw new Error("Duplicate Key: " + item.Key);
|
|
13
|
+
if (typeof item.Label !== "string" || !item.Label.trim()) throw new Error("Every item needs a Label.");
|
|
14
|
+
if (item.IsDisabled !== void 0 && typeof item.IsDisabled !== "boolean") throw new Error("IsDisabled must be Boolean.");
|
|
15
|
+
if (tree && item.ParentKey !== void 0 && typeof item.ParentKey !== "string") throw new Error("ParentKey must be Text.");
|
|
16
|
+
if (!tree && item.Description !== void 0 && typeof item.Description !== "string") throw new Error("Description must be Text.");
|
|
17
|
+
map.set(item.Key, Object.assign({}, item, { ParentKey: item.ParentKey || "", IsDisabled: item.IsDisabled === true, children: [] }));
|
|
18
|
+
});
|
|
19
|
+
var ordered = list.map(function(item) {
|
|
20
|
+
return map.get(item.Key);
|
|
21
|
+
});
|
|
22
|
+
if (tree) {
|
|
23
|
+
ordered.forEach(function(item) {
|
|
24
|
+
if (item.ParentKey && !map.has(item.ParentKey)) throw new Error("Missing parent for " + item.Key);
|
|
25
|
+
if (item.ParentKey) map.get(item.ParentKey).children.push(item);
|
|
26
|
+
});
|
|
27
|
+
var done = /* @__PURE__ */ new Set();
|
|
28
|
+
ordered.forEach(function(item) {
|
|
29
|
+
var path = /* @__PURE__ */ new Set(), current = item;
|
|
30
|
+
while (current && !done.has(current.Key)) {
|
|
31
|
+
if (path.has(current.Key)) throw new Error("Tree contains a parent cycle.");
|
|
32
|
+
path.add(current.Key);
|
|
33
|
+
current = map.get(current.ParentKey);
|
|
34
|
+
}
|
|
35
|
+
path.forEach(function(key) {
|
|
36
|
+
done.add(key);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
return { list: ordered, map, roots: ordered.filter(function(item) {
|
|
41
|
+
return !item.ParentKey;
|
|
42
|
+
}) };
|
|
43
|
+
}
|
|
44
|
+
function keys(json, model) {
|
|
45
|
+
var result = /* @__PURE__ */ new Set();
|
|
46
|
+
array(json, "Keys").forEach(function(key) {
|
|
47
|
+
if (typeof key !== "string" || !model.map.has(key)) throw new Error("Unknown or invalid key: " + String(key));
|
|
48
|
+
result.add(key);
|
|
49
|
+
});
|
|
50
|
+
return result;
|
|
51
|
+
}
|
|
52
|
+
function selectedJson(model, selection) {
|
|
53
|
+
return JSON.stringify(model.list.filter(function(item) {
|
|
54
|
+
return selection.has(item.Key);
|
|
55
|
+
}).map(function(item) {
|
|
56
|
+
return item.Key;
|
|
57
|
+
}));
|
|
58
|
+
}
|
|
59
|
+
function project(itemsJson, selectedKeysJson, availableSearch, selectedSearch) {
|
|
60
|
+
var model = items(itemsJson, false), selection = keys(selectedKeysJson, model);
|
|
61
|
+
function rows(chosen, query) {
|
|
62
|
+
query = String(query || "").trim().toLocaleLowerCase();
|
|
63
|
+
return model.list.filter(function(item) {
|
|
64
|
+
return selection.has(item.Key) === chosen && (item.Label + " " + (item.Description || "")).toLocaleLowerCase().indexOf(query) !== -1;
|
|
65
|
+
}).map(function(item) {
|
|
66
|
+
return { Key: item.Key, Label: item.Label, Description: item.Description || "", IsDisabled: item.IsDisabled, IsMarked: false };
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
return { AvailableRowsJson: JSON.stringify(rows(false, availableSearch)), SelectedRowsJson: JSON.stringify(rows(true, selectedSearch)), AvailableCount: model.list.length - selection.size, SelectedCount: selection.size };
|
|
70
|
+
}
|
|
71
|
+
function move(itemsJson, selectedKeysJson, rowsJson, add) {
|
|
72
|
+
var model = items(itemsJson, false), selection = keys(selectedKeysJson, model);
|
|
73
|
+
array(rowsJson, "Rows").forEach(function(row) {
|
|
74
|
+
var item = row && model.map.get(row.Key);
|
|
75
|
+
if (!item) throw new Error("A marked row no longer exists. Refresh the list.");
|
|
76
|
+
if (row.IsMarked === true && !item.IsDisabled) {
|
|
77
|
+
if (add) selection.add(item.Key);
|
|
78
|
+
else selection.delete(item.Key);
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
return selectedJson(model, selection);
|
|
82
|
+
}
|
|
83
|
+
function installTransfer() {
|
|
84
|
+
return register("Transfer", () => Object.freeze({ project, move }));
|
|
85
|
+
}
|
|
86
|
+
export {
|
|
87
|
+
installTransfer
|
|
88
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function installTreeSelect(): any;
|
|
@@ -0,0 +1,420 @@
|
|
|
1
|
+
// ../blu-grid/docs/scripts/modules/interactive.js
|
|
2
|
+
import { global, runtime, state, register } from "./kernel.js";
|
|
3
|
+
var shared = /* @__PURE__ */ state("interactive", () => ({ instances: /* @__PURE__ */ new Map(), nextId: 0 }));
|
|
4
|
+
function el(tag, cls, text) {
|
|
5
|
+
var x = document.createElement(tag);
|
|
6
|
+
if (cls) x.className = cls;
|
|
7
|
+
if (text !== void 0) x.textContent = text;
|
|
8
|
+
return x;
|
|
9
|
+
}
|
|
10
|
+
function attr(x, name, value) {
|
|
11
|
+
x.setAttribute(name, String(value));
|
|
12
|
+
return x;
|
|
13
|
+
}
|
|
14
|
+
function clear(x) {
|
|
15
|
+
while (x.firstChild) x.removeChild(x.firstChild);
|
|
16
|
+
}
|
|
17
|
+
function button(text, fn, cls, disabled) {
|
|
18
|
+
var b = el("button", "blu-control " + (cls || ""), text);
|
|
19
|
+
b.type = "button";
|
|
20
|
+
b.disabled = !!disabled;
|
|
21
|
+
b.addEventListener("click", fn);
|
|
22
|
+
return b;
|
|
23
|
+
}
|
|
24
|
+
function input(type, value, label, fn) {
|
|
25
|
+
var x = el("input", "blu-input");
|
|
26
|
+
x.type = type;
|
|
27
|
+
x.value = value === void 0 ? "" : String(value);
|
|
28
|
+
attr(x, "aria-label", label);
|
|
29
|
+
if (fn) x.addEventListener("change", function() {
|
|
30
|
+
fn(x.value);
|
|
31
|
+
});
|
|
32
|
+
return x;
|
|
33
|
+
}
|
|
34
|
+
function array(s, label) {
|
|
35
|
+
var x = typeof s === "string" ? JSON.parse(s || "[]") : s;
|
|
36
|
+
if (!Array.isArray(x)) throw new Error(label + " must be a JSON array.");
|
|
37
|
+
return x;
|
|
38
|
+
}
|
|
39
|
+
function unique(list, label) {
|
|
40
|
+
var map = /* @__PURE__ */ new Map();
|
|
41
|
+
if (list.length > 2e3) throw new Error(label + " supports up to 2,000 local items.");
|
|
42
|
+
list.forEach(function(x) {
|
|
43
|
+
if (!x || typeof x.Key !== "string" || !x.Key.trim() || typeof x.Label !== "string" || !x.Label.trim()) throw new Error(label + ": every item needs a Key and Label.");
|
|
44
|
+
if (map.has(x.Key)) throw new Error("Duplicate key: " + x.Key);
|
|
45
|
+
map.set(x.Key, x);
|
|
46
|
+
});
|
|
47
|
+
return map;
|
|
48
|
+
}
|
|
49
|
+
function emit(s, name) {
|
|
50
|
+
if (s.disposed || !s.events[name]) return;
|
|
51
|
+
var args = Array.prototype.slice.call(arguments, 2);
|
|
52
|
+
try {
|
|
53
|
+
Promise.resolve(s.events[name].apply(null, args)).catch(function(e) {
|
|
54
|
+
if (name !== "Error") emit(s, "Error", e.message || String(e));
|
|
55
|
+
});
|
|
56
|
+
} catch (e) {
|
|
57
|
+
if (name !== "Error") emit(s, "Error", e.message || String(e));
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
function error(s, message) {
|
|
61
|
+
s.error.textContent = message;
|
|
62
|
+
s.error.hidden = !message;
|
|
63
|
+
if (message) emit(s, "Error", message);
|
|
64
|
+
}
|
|
65
|
+
function shell(s, cls) {
|
|
66
|
+
s.root = el("div", cls);
|
|
67
|
+
s.error = attr(el("div", "blu-component-error"), "role", "alert");
|
|
68
|
+
s.error.hidden = true;
|
|
69
|
+
clear(s.host);
|
|
70
|
+
s.host.appendChild(s.root);
|
|
71
|
+
s.host.appendChild(s.error);
|
|
72
|
+
}
|
|
73
|
+
function listen(s, target, name, fn, capture) {
|
|
74
|
+
target.addEventListener(name, fn, capture);
|
|
75
|
+
s.cleanup.push(function() {
|
|
76
|
+
target.removeEventListener(name, fn, capture);
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
function keys(raw, map) {
|
|
80
|
+
var seen = /* @__PURE__ */ new Set();
|
|
81
|
+
array(raw, "SelectedKeysJson").forEach(function(k) {
|
|
82
|
+
if (typeof k !== "string" || !map.has(k)) throw new Error("Unknown selected key: " + k);
|
|
83
|
+
seen.add(k);
|
|
84
|
+
});
|
|
85
|
+
return seen;
|
|
86
|
+
}
|
|
87
|
+
function serializeKeys(s) {
|
|
88
|
+
return JSON.stringify(s.items.filter(function(x) {
|
|
89
|
+
return s.selected.has(x.Key);
|
|
90
|
+
}).map(function(x) {
|
|
91
|
+
return x.Key;
|
|
92
|
+
}));
|
|
93
|
+
}
|
|
94
|
+
function begin(hostId, kind, options, events, ownerKey) {
|
|
95
|
+
var mapKey = ownerKey || hostId;
|
|
96
|
+
var host = document.getElementById(hostId);
|
|
97
|
+
if (!host) throw new Error(kind + " host was not found.");
|
|
98
|
+
var old = shared.instances.get(mapKey);
|
|
99
|
+
if (old && (old.kind !== kind || old.host !== host)) destroy(mapKey);
|
|
100
|
+
var s = shared.instances.get(mapKey);
|
|
101
|
+
if (!s) {
|
|
102
|
+
s = { host, id: hostId, key: mapKey, uid: "blu-interactive-" + ++shared.nextId, kind, cleanup: [], options: {}, events: events || {}, disposed: false };
|
|
103
|
+
shared.instances.set(mapKey, s);
|
|
104
|
+
}
|
|
105
|
+
host._bluOwnerKey = mapKey;
|
|
106
|
+
s.events = events || s.events;
|
|
107
|
+
return s;
|
|
108
|
+
}
|
|
109
|
+
function destroy(hostId) {
|
|
110
|
+
var s = shared.instances.get(hostId);
|
|
111
|
+
if (!s) return;
|
|
112
|
+
s.disposed = true;
|
|
113
|
+
if (s.dispose) s.dispose();
|
|
114
|
+
s.cleanup.forEach(function(f) {
|
|
115
|
+
f();
|
|
116
|
+
});
|
|
117
|
+
if (s.host._bluOwnerKey === s.key) {
|
|
118
|
+
clear(s.host);
|
|
119
|
+
delete s.host._bluOwnerKey;
|
|
120
|
+
}
|
|
121
|
+
shared.instances.delete(hostId);
|
|
122
|
+
}
|
|
123
|
+
function api(kind, update) {
|
|
124
|
+
return Object.freeze({ sync: function(id, options, events, ownerKey) {
|
|
125
|
+
var mapKey = ownerKey || id;
|
|
126
|
+
var s = begin(id, kind, options, events, ownerKey);
|
|
127
|
+
try {
|
|
128
|
+
update(s, options);
|
|
129
|
+
return "";
|
|
130
|
+
} catch (e) {
|
|
131
|
+
destroy(mapKey);
|
|
132
|
+
s = begin(id, kind, options, events, ownerKey);
|
|
133
|
+
shell(s, "blu-interactive");
|
|
134
|
+
error(s, e.message);
|
|
135
|
+
return e.message;
|
|
136
|
+
}
|
|
137
|
+
}, destroy: function(key) {
|
|
138
|
+
var s = shared.instances.get(key);
|
|
139
|
+
if (s && s.kind === kind) destroy(key);
|
|
140
|
+
} });
|
|
141
|
+
}
|
|
142
|
+
function treeModel(items) {
|
|
143
|
+
var map = unique(items, "Nodes"), children = /* @__PURE__ */ new Map(), done = /* @__PURE__ */ new Set();
|
|
144
|
+
items.forEach(function(n2) {
|
|
145
|
+
var parent = n2.ParentKey || "";
|
|
146
|
+
if (parent && !map.has(parent)) throw new Error("Missing parent: " + parent);
|
|
147
|
+
if (!children.has(parent)) children.set(parent, []);
|
|
148
|
+
children.get(parent).push(n2);
|
|
149
|
+
});
|
|
150
|
+
items.forEach(function(n2) {
|
|
151
|
+
var path = /* @__PURE__ */ new Set(), cur = n2;
|
|
152
|
+
while (cur && !done.has(cur.Key)) {
|
|
153
|
+
if (path.has(cur.Key)) throw new Error("Tree contains a cycle.");
|
|
154
|
+
path.add(cur.Key);
|
|
155
|
+
cur = map.get(cur.ParentKey);
|
|
156
|
+
}
|
|
157
|
+
path.forEach(function(key) {
|
|
158
|
+
done.add(key);
|
|
159
|
+
});
|
|
160
|
+
});
|
|
161
|
+
var order = (children.get("") || []).slice(), totals = /* @__PURE__ */ new Map();
|
|
162
|
+
for (var i = 0; i < order.length; i++) (children.get(order[i].Key) || []).forEach(function(n2) {
|
|
163
|
+
order.push(n2);
|
|
164
|
+
});
|
|
165
|
+
for (var j = order.length - 1; j >= 0; j--) {
|
|
166
|
+
var n = order[j], kids = children.get(n.Key) || [];
|
|
167
|
+
totals.set(n.Key, n.IsDisabled ? 0 : kids.length ? kids.reduce(function(sum, child) {
|
|
168
|
+
return sum + totals.get(child.Key);
|
|
169
|
+
}, 0) : 1);
|
|
170
|
+
}
|
|
171
|
+
return { map, children, order, totals };
|
|
172
|
+
}
|
|
173
|
+
function treeLeaves(s, key) {
|
|
174
|
+
var result = [], queue = [s.map.get(key)];
|
|
175
|
+
for (var i = 0; i < queue.length; i++) {
|
|
176
|
+
var x = queue[i];
|
|
177
|
+
if (x.IsDisabled) continue;
|
|
178
|
+
var kids = s.children.get(x.Key) || [];
|
|
179
|
+
if (kids.length) kids.forEach(function(n) {
|
|
180
|
+
queue.push(n);
|
|
181
|
+
});
|
|
182
|
+
else result.push(x.Key);
|
|
183
|
+
}
|
|
184
|
+
return result;
|
|
185
|
+
}
|
|
186
|
+
function treeCheckedCounts(s) {
|
|
187
|
+
var counts = /* @__PURE__ */ new Map();
|
|
188
|
+
for (var i = s.model.order.length - 1; i >= 0; i--) {
|
|
189
|
+
var n = s.model.order[i], kids = s.children.get(n.Key) || [];
|
|
190
|
+
counts.set(n.Key, n.IsDisabled ? 0 : kids.length ? kids.reduce(function(sum, child) {
|
|
191
|
+
return sum + counts.get(child.Key);
|
|
192
|
+
}, 0) : s.selected.has(n.Key) ? 1 : 0);
|
|
193
|
+
}
|
|
194
|
+
return counts;
|
|
195
|
+
}
|
|
196
|
+
function treeSelection(s, item) {
|
|
197
|
+
if (s.options.IsDisabled || item.IsDisabled) return;
|
|
198
|
+
if (s.options.IsMultiple) {
|
|
199
|
+
var leaves = treeLeaves(s, item.Key), remove = leaves.length && leaves.every(function(k) {
|
|
200
|
+
return s.selected.has(k);
|
|
201
|
+
});
|
|
202
|
+
leaves.forEach(function(k) {
|
|
203
|
+
if (remove) s.selected.delete(k);
|
|
204
|
+
else s.selected.add(k);
|
|
205
|
+
});
|
|
206
|
+
} else {
|
|
207
|
+
if (s.options.LeavesOnly && (s.children.get(item.Key) || []).length) {
|
|
208
|
+
s.expanded.has(item.Key) ? s.expanded.delete(item.Key) : s.expanded.add(item.Key);
|
|
209
|
+
renderTreeOptions(s, item.Key);
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
s.selected = /* @__PURE__ */ new Set([item.Key]);
|
|
213
|
+
}
|
|
214
|
+
s.lastSelection = serializeKeys(s);
|
|
215
|
+
emit(s, "SelectionChanged", s.lastSelection);
|
|
216
|
+
renderTreeTrigger(s);
|
|
217
|
+
renderTreeOptions(s, item.Key);
|
|
218
|
+
if (!s.options.IsMultiple) treeOpen(s, false);
|
|
219
|
+
}
|
|
220
|
+
function treeOpen(s, open) {
|
|
221
|
+
if (s.options.IsDisabled) open = false;
|
|
222
|
+
s.open = open;
|
|
223
|
+
s.popup.hidden = !open;
|
|
224
|
+
attr(s.trigger, "aria-expanded", open);
|
|
225
|
+
if (open) {
|
|
226
|
+
s.search.focus();
|
|
227
|
+
renderTreeOptions(s);
|
|
228
|
+
} else if (s.popup.contains(document.activeElement)) s.trigger.focus();
|
|
229
|
+
}
|
|
230
|
+
function renderTreeTrigger(s) {
|
|
231
|
+
clear(s.tokens);
|
|
232
|
+
s.trigger.textContent = s.selected.size ? s.selected.size + (s.options.IsMultiple ? " selected" : ": " + s.map.get(Array.from(s.selected)[0]).Label) : s.options.Placeholder || "Select items\u2026";
|
|
233
|
+
attr(s.trigger, "aria-label", (s.options.AccessibleLabel || "Select items") + ": " + s.trigger.textContent);
|
|
234
|
+
s.trigger.disabled = !!s.options.IsDisabled;
|
|
235
|
+
s.items.filter(function(x) {
|
|
236
|
+
return s.selected.has(x.Key);
|
|
237
|
+
}).forEach(function(x) {
|
|
238
|
+
var token = el("span", "blu-tree-select__token", x.Label);
|
|
239
|
+
var remove = button("\xD7", function() {
|
|
240
|
+
s.selected.delete(x.Key);
|
|
241
|
+
s.lastSelection = serializeKeys(s);
|
|
242
|
+
emit(s, "SelectionChanged", s.lastSelection);
|
|
243
|
+
renderTreeTrigger(s);
|
|
244
|
+
renderTreeOptions(s);
|
|
245
|
+
s.trigger.focus();
|
|
246
|
+
}, "blu-control--icon", s.options.IsDisabled || x.IsDisabled);
|
|
247
|
+
attr(remove, "aria-label", "Remove " + x.Label);
|
|
248
|
+
token.appendChild(remove);
|
|
249
|
+
s.tokens.appendChild(token);
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
function renderTreeOptions(s, focusKey) {
|
|
253
|
+
clear(s.tree);
|
|
254
|
+
var query = s.search.value.trim().toLocaleLowerCase(), visible = /* @__PURE__ */ new Set(), rows = [], checked = s.options.IsMultiple ? treeCheckedCounts(s) : null;
|
|
255
|
+
if (query) s.items.forEach(function(n) {
|
|
256
|
+
if (n.Label.toLocaleLowerCase().indexOf(query) >= 0) {
|
|
257
|
+
var cur = n;
|
|
258
|
+
while (cur && !visible.has(cur.Key)) {
|
|
259
|
+
visible.add(cur.Key);
|
|
260
|
+
cur = s.map.get(cur.ParentKey);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
});
|
|
264
|
+
function group(parent, target) {
|
|
265
|
+
(s.children.get(parent) || []).forEach(function(n) {
|
|
266
|
+
if (query && !visible.has(n.Key)) return;
|
|
267
|
+
var kids = s.children.get(n.Key) || [], open = query ? true : s.expanded.has(n.Key), li = el("li", "blu-tree-select__item"), row = el("div", "blu-tree-select__row");
|
|
268
|
+
attr(li, "role", "treeitem");
|
|
269
|
+
attr(li, "aria-label", n.Label);
|
|
270
|
+
attr(li, "aria-disabled", !!n.IsDisabled);
|
|
271
|
+
li.dataset.key = n.Key;
|
|
272
|
+
li.tabIndex = -1;
|
|
273
|
+
var total = s.model.totals.get(n.Key), chosen = checked ? checked.get(n.Key) : s.selected.has(n.Key) ? 1 : 0;
|
|
274
|
+
attr(li, s.options.IsMultiple ? "aria-checked" : "aria-selected", s.options.IsMultiple && chosen > 0 && chosen < total ? "mixed" : chosen > 0);
|
|
275
|
+
if (kids.length) attr(li, "aria-expanded", open);
|
|
276
|
+
row.appendChild(el("span", "blu-tree-select__chevron", kids.length ? open ? "\u25BE" : "\u25B8" : ""));
|
|
277
|
+
row.firstChild.dataset.expand = "1";
|
|
278
|
+
if (s.options.IsMultiple) row.appendChild(attr(el("span", "blu-tree-select__check", chosen ? chosen === total ? "\u2713" : "\u2212" : ""), "aria-hidden", "true"));
|
|
279
|
+
row.appendChild(el("span", "", n.Label));
|
|
280
|
+
li.appendChild(row);
|
|
281
|
+
target.appendChild(li);
|
|
282
|
+
rows.push(li);
|
|
283
|
+
if (kids.length && open) {
|
|
284
|
+
var ul = attr(el("ul", "blu-tree-select__branch"), "role", "group");
|
|
285
|
+
li.appendChild(ul);
|
|
286
|
+
group(n.Key, ul);
|
|
287
|
+
}
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
group("", s.tree);
|
|
291
|
+
s.rows = rows;
|
|
292
|
+
if (!rows.length) s.tree.appendChild(el("li", "blu-interactive__empty", s.items.length ? "No matching items." : "No items."));
|
|
293
|
+
var focus = rows.find(function(x) {
|
|
294
|
+
return x.dataset.key === focusKey;
|
|
295
|
+
}) || rows[0];
|
|
296
|
+
if (focus) {
|
|
297
|
+
focus.tabIndex = 0;
|
|
298
|
+
if (focusKey) focus.focus();
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
function updateTreeSelect(s, o) {
|
|
302
|
+
var nodesKey = typeof o.NodesJson === "string" ? o.NodesJson : JSON.stringify(o.NodesJson);
|
|
303
|
+
var sameNodes = s.model && s.nodesKey === nodesKey;
|
|
304
|
+
var same = s.ready && sameNodes && s.lastSelection === o.SelectedKeysJson && s.options.IsMultiple === o.IsMultiple && s.options.LeavesOnly === o.LeavesOnly && s.options.IsDisabled === o.IsDisabled && s.options.Placeholder === o.Placeholder && s.options.AccessibleLabel === o.AccessibleLabel;
|
|
305
|
+
if (same) return;
|
|
306
|
+
var items = sameNodes ? s.items : array(o.NodesJson, "Nodes"), model = sameNodes ? s.model : treeModel(items), selected = keys(o.SelectedKeysJson, model.map);
|
|
307
|
+
if (!o.IsMultiple && selected.size > 1) throw new Error("Single selection accepts at most one selected key.");
|
|
308
|
+
if (o.IsMultiple) selected.forEach(function(k) {
|
|
309
|
+
if ((model.children.get(k) || []).length) throw new Error("Multiple selection expects leaf keys, not parent keys.");
|
|
310
|
+
});
|
|
311
|
+
s.options = o;
|
|
312
|
+
s.items = items;
|
|
313
|
+
s.model = model;
|
|
314
|
+
s.nodesKey = nodesKey;
|
|
315
|
+
s.map = model.map;
|
|
316
|
+
s.children = model.children;
|
|
317
|
+
s.selected = selected;
|
|
318
|
+
s.lastSelection = serializeKeys(s);
|
|
319
|
+
if (!s.ready) {
|
|
320
|
+
shell(s, "blu-tree-select");
|
|
321
|
+
s.expanded = /* @__PURE__ */ new Set();
|
|
322
|
+
s.open = false;
|
|
323
|
+
s.trigger = button("", function() {
|
|
324
|
+
treeOpen(s, !s.open);
|
|
325
|
+
}, "blu-tree-select__trigger");
|
|
326
|
+
attr(s.trigger, "aria-haspopup", "tree");
|
|
327
|
+
attr(s.trigger, "aria-expanded", "false");
|
|
328
|
+
attr(s.trigger, "aria-controls", s.uid + "-tree");
|
|
329
|
+
s.root.appendChild(s.trigger);
|
|
330
|
+
s.tokens = el("div", "blu-tree-select__tokens");
|
|
331
|
+
s.root.appendChild(s.tokens);
|
|
332
|
+
s.popup = el("div", "blu-tree-select__popup");
|
|
333
|
+
s.popup.hidden = true;
|
|
334
|
+
s.search = input("search", "", "Search tree items");
|
|
335
|
+
s.search.placeholder = "Search items\u2026";
|
|
336
|
+
s.popup.appendChild(s.search);
|
|
337
|
+
s.tree = attr(el("ul", "blu-tree-select__tree"), "role", "tree");
|
|
338
|
+
s.tree.id = s.uid + "-tree";
|
|
339
|
+
s.popup.appendChild(s.tree);
|
|
340
|
+
s.root.appendChild(s.popup);
|
|
341
|
+
listen(s, s.search, "input", function() {
|
|
342
|
+
renderTreeOptions(s);
|
|
343
|
+
});
|
|
344
|
+
listen(s, document, "pointerdown", function(e) {
|
|
345
|
+
if (s.open && !s.root.contains(e.target)) treeOpen(s, false);
|
|
346
|
+
});
|
|
347
|
+
listen(s, s.root, "focusout", function(e) {
|
|
348
|
+
if (s.open && e.relatedTarget && !s.root.contains(e.relatedTarget)) treeOpen(s, false);
|
|
349
|
+
});
|
|
350
|
+
listen(s, s.root, "keydown", function(e) {
|
|
351
|
+
if (e.key === "Escape" && s.open) {
|
|
352
|
+
e.stopPropagation();
|
|
353
|
+
e.preventDefault();
|
|
354
|
+
treeOpen(s, false);
|
|
355
|
+
}
|
|
356
|
+
if (e.target === s.search && e.key === "ArrowDown" && s.rows[0]) {
|
|
357
|
+
e.preventDefault();
|
|
358
|
+
s.rows[0].focus();
|
|
359
|
+
}
|
|
360
|
+
if (e.target === s.trigger && e.key === "ArrowDown") {
|
|
361
|
+
e.preventDefault();
|
|
362
|
+
treeOpen(s, true);
|
|
363
|
+
}
|
|
364
|
+
});
|
|
365
|
+
listen(s, s.tree, "click", function(e) {
|
|
366
|
+
var row = e.target.closest(".blu-tree-select__row");
|
|
367
|
+
if (!row) return;
|
|
368
|
+
var li = row.parentNode, item = s.map.get(li.dataset.key);
|
|
369
|
+
if (e.target.dataset.expand && (s.children.get(item.Key) || []).length) {
|
|
370
|
+
s.expanded.has(item.Key) ? s.expanded.delete(item.Key) : s.expanded.add(item.Key);
|
|
371
|
+
renderTreeOptions(s, item.Key);
|
|
372
|
+
} else treeSelection(s, item);
|
|
373
|
+
});
|
|
374
|
+
listen(s, s.tree, "keydown", function(e) {
|
|
375
|
+
var li = e.target.closest('[role="treeitem"]');
|
|
376
|
+
if (!li) return;
|
|
377
|
+
var key = li.dataset.key, item = s.map.get(key), index = s.rows.indexOf(li), next;
|
|
378
|
+
if (e.key === "ArrowDown") next = s.rows[Math.min(index + 1, s.rows.length - 1)];
|
|
379
|
+
else if (e.key === "ArrowUp") next = s.rows[Math.max(0, index - 1)];
|
|
380
|
+
else if (e.key === "Home") next = s.rows[0];
|
|
381
|
+
else if (e.key === "End") next = s.rows[s.rows.length - 1];
|
|
382
|
+
else if (e.key === "Enter" || e.key === " ") treeSelection(s, item);
|
|
383
|
+
else if (e.key === "ArrowRight") {
|
|
384
|
+
if (!s.expanded.has(key)) {
|
|
385
|
+
s.expanded.add(key);
|
|
386
|
+
renderTreeOptions(s, key);
|
|
387
|
+
} else next = s.rows[index + 1];
|
|
388
|
+
} else if (e.key === "ArrowLeft") {
|
|
389
|
+
if (s.expanded.has(key)) {
|
|
390
|
+
s.expanded.delete(key);
|
|
391
|
+
renderTreeOptions(s, key);
|
|
392
|
+
} else next = s.rows.find(function(r) {
|
|
393
|
+
return r.dataset.key === item.ParentKey;
|
|
394
|
+
});
|
|
395
|
+
} else return;
|
|
396
|
+
e.preventDefault();
|
|
397
|
+
e.stopPropagation();
|
|
398
|
+
if (next) {
|
|
399
|
+
s.rows.forEach(function(r) {
|
|
400
|
+
r.tabIndex = -1;
|
|
401
|
+
});
|
|
402
|
+
next.tabIndex = 0;
|
|
403
|
+
next.focus();
|
|
404
|
+
}
|
|
405
|
+
});
|
|
406
|
+
s.ready = true;
|
|
407
|
+
}
|
|
408
|
+
attr(s.tree, "aria-label", o.AccessibleLabel || "Select items");
|
|
409
|
+
attr(s.tree, "aria-multiselectable", !!o.IsMultiple);
|
|
410
|
+
if (o.IsDisabled) treeOpen(s, false);
|
|
411
|
+
renderTreeTrigger(s);
|
|
412
|
+
renderTreeOptions(s);
|
|
413
|
+
error(s, "");
|
|
414
|
+
}
|
|
415
|
+
function installTreeSelect() {
|
|
416
|
+
return register("TreeSelect", () => api("TreeSelect", updateTreeSelect));
|
|
417
|
+
}
|
|
418
|
+
export {
|
|
419
|
+
installTreeSelect
|
|
420
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function installTree(): any;
|