@tessera-ui/core 0.4.0
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 +21 -0
- package/README.md +225 -0
- package/dist/cjs/aria-CeYIvz3U.js +94 -0
- package/dist/cjs/aria-CeYIvz3U.js.map +1 -0
- package/dist/cjs/index-Bel_x2OU.js +2401 -0
- package/dist/cjs/index-Bel_x2OU.js.map +1 -0
- package/dist/cjs/index.cjs.js +155 -0
- package/dist/cjs/index.cjs.js.map +1 -0
- package/dist/cjs/loader.cjs.js +15 -0
- package/dist/cjs/loader.cjs.js.map +1 -0
- package/dist/cjs/lucide-B1gCqJ3G.js +28324 -0
- package/dist/cjs/lucide-B1gCqJ3G.js.map +1 -0
- package/dist/cjs/tessera-ui.cjs.js +27 -0
- package/dist/cjs/tessera-ui.cjs.js.map +1 -0
- package/dist/cjs/ts-accordion-item.cjs.entry.js +65 -0
- package/dist/cjs/ts-accordion-item.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-accordion.cjs.entry.js +36 -0
- package/dist/cjs/ts-accordion.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-alert.cjs.entry.js +60 -0
- package/dist/cjs/ts-alert.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-avatar.cjs.entry.js +54 -0
- package/dist/cjs/ts-avatar.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-badge.cjs.entry.js +38 -0
- package/dist/cjs/ts-badge.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-banner.cjs.entry.js +67 -0
- package/dist/cjs/ts-banner.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-breadcrumb-item.cjs.entry.js +28 -0
- package/dist/cjs/ts-breadcrumb-item.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-breadcrumb.cjs.entry.js +35 -0
- package/dist/cjs/ts-breadcrumb.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-button.cjs.entry.js +88 -0
- package/dist/cjs/ts-button.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-card.cjs.entry.js +35 -0
- package/dist/cjs/ts-card.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-checkbox.cjs.entry.js +68 -0
- package/dist/cjs/ts-checkbox.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-chip.cjs.entry.js +76 -0
- package/dist/cjs/ts-chip.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-container.cjs.entry.js +28 -0
- package/dist/cjs/ts-container.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-date-picker.cjs.entry.js +229 -0
- package/dist/cjs/ts-date-picker.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-dialog.cjs.entry.js +109 -0
- package/dist/cjs/ts-dialog.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-divider.cjs.entry.js +33 -0
- package/dist/cjs/ts-divider.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-drawer.cjs.entry.js +113 -0
- package/dist/cjs/ts-drawer.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-empty-state.cjs.entry.js +32 -0
- package/dist/cjs/ts-empty-state.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-file-upload.cjs.entry.js +122 -0
- package/dist/cjs/ts-file-upload.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-grid.cjs.entry.js +37 -0
- package/dist/cjs/ts-grid.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-icon-CfbhgAgr.js +161 -0
- package/dist/cjs/ts-icon-CfbhgAgr.js.map +1 -0
- package/dist/cjs/ts-icon.cjs.entry.js +11 -0
- package/dist/cjs/ts-icon.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-input.cjs.entry.js +130 -0
- package/dist/cjs/ts-input.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-menu-item.cjs.entry.js +65 -0
- package/dist/cjs/ts-menu-item.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-menu.cjs.entry.js +155 -0
- package/dist/cjs/ts-menu.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-modal.cjs.entry.js +122 -0
- package/dist/cjs/ts-modal.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-nav-item.cjs.entry.js +48 -0
- package/dist/cjs/ts-nav-item.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-nav.cjs.entry.js +29 -0
- package/dist/cjs/ts-nav.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-pagination.cjs.entry.js +88 -0
- package/dist/cjs/ts-pagination.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-popover.cjs.entry.js +133 -0
- package/dist/cjs/ts-popover.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-progress.cjs.entry.js +46 -0
- package/dist/cjs/ts-progress.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-radio.cjs.entry.js +60 -0
- package/dist/cjs/ts-radio.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-row.cjs.entry.js +53 -0
- package/dist/cjs/ts-row.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-select.cjs.entry.js +221 -0
- package/dist/cjs/ts-select.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-skeleton.cjs.entry.js +55 -0
- package/dist/cjs/ts-skeleton.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-slider.cjs.entry.js +132 -0
- package/dist/cjs/ts-slider.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-spacer.cjs.entry.js +28 -0
- package/dist/cjs/ts-spacer.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-spinner.cjs.entry.js +30 -0
- package/dist/cjs/ts-spinner.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-stack.cjs.entry.js +34 -0
- package/dist/cjs/ts-stack.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-step.cjs.entry.js +74 -0
- package/dist/cjs/ts-step.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-stepper.cjs.entry.js +67 -0
- package/dist/cjs/ts-stepper.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-switch-group.cjs.entry.js +109 -0
- package/dist/cjs/ts-switch-group.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-switch-option.cjs.entry.js +42 -0
- package/dist/cjs/ts-switch-option.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-tab-panel.cjs.entry.js +30 -0
- package/dist/cjs/ts-tab-panel.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-table.cjs.entry.js +39 -0
- package/dist/cjs/ts-table.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-tabs.cjs.entry.js +124 -0
- package/dist/cjs/ts-tabs.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-textarea.cjs.entry.js +117 -0
- package/dist/cjs/ts-textarea.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-toast.cjs.entry.js +107 -0
- package/dist/cjs/ts-toast.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-toggle.cjs.entry.js +58 -0
- package/dist/cjs/ts-toggle.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-toolbar.cjs.entry.js +29 -0
- package/dist/cjs/ts-toolbar.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-tooltip.cjs.entry.js +82 -0
- package/dist/cjs/ts-tooltip.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-tree-item.cjs.entry.js +94 -0
- package/dist/cjs/ts-tree-item.cjs.entry.js.map +1 -0
- package/dist/cjs/ts-tree.cjs.entry.js +81 -0
- package/dist/cjs/ts-tree.cjs.entry.js.map +1 -0
- package/dist/collection/collection-manifest.json +64 -0
- package/dist/collection/components/accordion/accordion-item.css +75 -0
- package/dist/collection/components/accordion/accordion-item.js +157 -0
- package/dist/collection/components/accordion/accordion-item.js.map +1 -0
- package/dist/collection/components/accordion/accordion-item.stories.js +4 -0
- package/dist/collection/components/accordion/accordion-item.stories.js.map +1 -0
- package/dist/collection/components/accordion/accordion.css +31 -0
- package/dist/collection/components/accordion/accordion.js +72 -0
- package/dist/collection/components/accordion/accordion.js.map +1 -0
- package/dist/collection/components/accordion/accordion.stories.js +90 -0
- package/dist/collection/components/accordion/accordion.stories.js.map +1 -0
- package/dist/collection/components/alert/alert.css +118 -0
- package/dist/collection/components/alert/alert.js +181 -0
- package/dist/collection/components/alert/alert.js.map +1 -0
- package/dist/collection/components/alert/alert.stories.js +128 -0
- package/dist/collection/components/alert/alert.stories.js.map +1 -0
- package/dist/collection/components/avatar/avatar.css +63 -0
- package/dist/collection/components/avatar/avatar.js +185 -0
- package/dist/collection/components/avatar/avatar.js.map +1 -0
- package/dist/collection/components/avatar/avatar.stories.js +138 -0
- package/dist/collection/components/avatar/avatar.stories.js.map +1 -0
- package/dist/collection/components/badge/badge.css +67 -0
- package/dist/collection/components/badge/badge.js +160 -0
- package/dist/collection/components/badge/badge.js.map +1 -0
- package/dist/collection/components/badge/badge.stories.js +193 -0
- package/dist/collection/components/badge/badge.stories.js.map +1 -0
- package/dist/collection/components/banner/banner.css +129 -0
- package/dist/collection/components/banner/banner.js +226 -0
- package/dist/collection/components/banner/banner.js.map +1 -0
- package/dist/collection/components/banner/banner.stories.js +92 -0
- package/dist/collection/components/banner/banner.stories.js.map +1 -0
- package/dist/collection/components/breadcrumb/breadcrumb-item.css +44 -0
- package/dist/collection/components/breadcrumb/breadcrumb-item.js +95 -0
- package/dist/collection/components/breadcrumb/breadcrumb-item.js.map +1 -0
- package/dist/collection/components/breadcrumb/breadcrumb-item.stories.js +4 -0
- package/dist/collection/components/breadcrumb/breadcrumb-item.stories.js.map +1 -0
- package/dist/collection/components/breadcrumb/breadcrumb.css +26 -0
- package/dist/collection/components/breadcrumb/breadcrumb.js +65 -0
- package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -0
- package/dist/collection/components/breadcrumb/breadcrumb.stories.js +88 -0
- package/dist/collection/components/breadcrumb/breadcrumb.stories.js.map +1 -0
- package/dist/collection/components/button/button.css +260 -0
- package/dist/collection/components/button/button.js +347 -0
- package/dist/collection/components/button/button.js.map +1 -0
- package/dist/collection/components/button/button.stories.js +219 -0
- package/dist/collection/components/button/button.stories.js.map +1 -0
- package/dist/collection/components/card/card.css +108 -0
- package/dist/collection/components/card/card.js +130 -0
- package/dist/collection/components/card/card.js.map +1 -0
- package/dist/collection/components/card/card.stories.js +221 -0
- package/dist/collection/components/card/card.stories.js.map +1 -0
- package/dist/collection/components/checkbox/checkbox.css +115 -0
- package/dist/collection/components/checkbox/checkbox.js +282 -0
- package/dist/collection/components/checkbox/checkbox.js.map +1 -0
- package/dist/collection/components/checkbox/checkbox.stories.js +90 -0
- package/dist/collection/components/checkbox/checkbox.stories.js.map +1 -0
- package/dist/collection/components/chip/chip.css +210 -0
- package/dist/collection/components/chip/chip.js +253 -0
- package/dist/collection/components/chip/chip.js.map +1 -0
- package/dist/collection/components/chip/chip.stories.js +139 -0
- package/dist/collection/components/chip/chip.stories.js.map +1 -0
- package/dist/collection/components/container/container.css +47 -0
- package/dist/collection/components/container/container.js +76 -0
- package/dist/collection/components/container/container.js.map +1 -0
- package/dist/collection/components/container/container.stories.js +138 -0
- package/dist/collection/components/container/container.stories.js.map +1 -0
- package/dist/collection/components/date-picker/date-picker.css +233 -0
- package/dist/collection/components/date-picker/date-picker.js +462 -0
- package/dist/collection/components/date-picker/date-picker.js.map +1 -0
- package/dist/collection/components/date-picker/date-picker.stories.js +119 -0
- package/dist/collection/components/date-picker/date-picker.stories.js.map +1 -0
- package/dist/collection/components/dialog/dialog.css +128 -0
- package/dist/collection/components/dialog/dialog.js +264 -0
- package/dist/collection/components/dialog/dialog.js.map +1 -0
- package/dist/collection/components/dialog/dialog.stories.js +147 -0
- package/dist/collection/components/dialog/dialog.stories.js.map +1 -0
- package/dist/collection/components/divider/divider.css +94 -0
- package/dist/collection/components/divider/divider.js +99 -0
- package/dist/collection/components/divider/divider.js.map +1 -0
- package/dist/collection/components/divider/divider.stories.js +94 -0
- package/dist/collection/components/divider/divider.stories.js.map +1 -0
- package/dist/collection/components/drawer/drawer.css +202 -0
- package/dist/collection/components/drawer/drawer.js +288 -0
- package/dist/collection/components/drawer/drawer.js.map +1 -0
- package/dist/collection/components/drawer/drawer.stories.js +143 -0
- package/dist/collection/components/drawer/drawer.stories.js.map +1 -0
- package/dist/collection/components/empty-state/empty-state.css +112 -0
- package/dist/collection/components/empty-state/empty-state.js +131 -0
- package/dist/collection/components/empty-state/empty-state.js.map +1 -0
- package/dist/collection/components/empty-state/empty-state.stories.js +113 -0
- package/dist/collection/components/empty-state/empty-state.stories.js.map +1 -0
- package/dist/collection/components/file-upload/file-upload.css +84 -0
- package/dist/collection/components/file-upload/file-upload.js +277 -0
- package/dist/collection/components/file-upload/file-upload.js.map +1 -0
- package/dist/collection/components/file-upload/file-upload.stories.js +107 -0
- package/dist/collection/components/file-upload/file-upload.stories.js.map +1 -0
- package/dist/collection/components/grid/grid.css +11 -0
- package/dist/collection/components/grid/grid.js +125 -0
- package/dist/collection/components/grid/grid.js.map +1 -0
- package/dist/collection/components/grid/grid.stories.js +134 -0
- package/dist/collection/components/grid/grid.stories.js.map +1 -0
- package/dist/collection/components/icon/icon-registry.js +39 -0
- package/dist/collection/components/icon/icon-registry.js.map +1 -0
- package/dist/collection/components/icon/icon.css +54 -0
- package/dist/collection/components/icon/icon.js +239 -0
- package/dist/collection/components/icon/icon.js.map +1 -0
- package/dist/collection/components/icon/icon.stories.js +119 -0
- package/dist/collection/components/icon/icon.stories.js.map +1 -0
- package/dist/collection/components/input/input.css +155 -0
- package/dist/collection/components/input/input.js +583 -0
- package/dist/collection/components/input/input.js.map +1 -0
- package/dist/collection/components/input/input.stories.js +151 -0
- package/dist/collection/components/input/input.stories.js.map +1 -0
- package/dist/collection/components/menu/menu-item.css +77 -0
- package/dist/collection/components/menu/menu-item.js +176 -0
- package/dist/collection/components/menu/menu-item.js.map +1 -0
- package/dist/collection/components/menu/menu-item.stories.js +4 -0
- package/dist/collection/components/menu/menu-item.stories.js.map +1 -0
- package/dist/collection/components/menu/menu.css +81 -0
- package/dist/collection/components/menu/menu.js +295 -0
- package/dist/collection/components/menu/menu.js.map +1 -0
- package/dist/collection/components/menu/menu.stories.js +126 -0
- package/dist/collection/components/menu/menu.stories.js.map +1 -0
- package/dist/collection/components/modal/modal.css +131 -0
- package/dist/collection/components/modal/modal.js +339 -0
- package/dist/collection/components/modal/modal.js.map +1 -0
- package/dist/collection/components/modal/modal.stories.js +233 -0
- package/dist/collection/components/modal/modal.stories.js.map +1 -0
- package/dist/collection/components/nav/nav-item.css +73 -0
- package/dist/collection/components/nav/nav-item.js +154 -0
- package/dist/collection/components/nav/nav-item.js.map +1 -0
- package/dist/collection/components/nav/nav-item.stories.js +4 -0
- package/dist/collection/components/nav/nav-item.stories.js.map +1 -0
- package/dist/collection/components/nav/nav.css +48 -0
- package/dist/collection/components/nav/nav.js +78 -0
- package/dist/collection/components/nav/nav.js.map +1 -0
- package/dist/collection/components/nav/nav.stories.js +106 -0
- package/dist/collection/components/nav/nav.stories.js.map +1 -0
- package/dist/collection/components/pagination/pagination.css +102 -0
- package/dist/collection/components/pagination/pagination.js +220 -0
- package/dist/collection/components/pagination/pagination.js.map +1 -0
- package/dist/collection/components/pagination/pagination.stories.js +92 -0
- package/dist/collection/components/pagination/pagination.stories.js.map +1 -0
- package/dist/collection/components/popover/popover.css +150 -0
- package/dist/collection/components/popover/popover.js +305 -0
- package/dist/collection/components/popover/popover.js.map +1 -0
- package/dist/collection/components/popover/popover.stories.js +112 -0
- package/dist/collection/components/popover/popover.stories.js.map +1 -0
- package/dist/collection/components/progress/progress.css +89 -0
- package/dist/collection/components/progress/progress.js +205 -0
- package/dist/collection/components/progress/progress.js.map +1 -0
- package/dist/collection/components/progress/progress.stories.js +132 -0
- package/dist/collection/components/progress/progress.stories.js.map +1 -0
- package/dist/collection/components/radio/radio.css +110 -0
- package/dist/collection/components/radio/radio.js +234 -0
- package/dist/collection/components/radio/radio.js.map +1 -0
- package/dist/collection/components/radio/radio.stories.js +77 -0
- package/dist/collection/components/radio/radio.stories.js.map +1 -0
- package/dist/collection/components/row/row.css +42 -0
- package/dist/collection/components/row/row.js +179 -0
- package/dist/collection/components/row/row.js.map +1 -0
- package/dist/collection/components/row/row.stories.js +172 -0
- package/dist/collection/components/row/row.stories.js.map +1 -0
- package/dist/collection/components/select/select.css +200 -0
- package/dist/collection/components/select/select.js +527 -0
- package/dist/collection/components/select/select.js.map +1 -0
- package/dist/collection/components/select/select.stories.js +138 -0
- package/dist/collection/components/select/select.stories.js.map +1 -0
- package/dist/collection/components/skeleton/skeleton.css +89 -0
- package/dist/collection/components/skeleton/skeleton.js +161 -0
- package/dist/collection/components/skeleton/skeleton.js.map +1 -0
- package/dist/collection/components/skeleton/skeleton.stories.js +140 -0
- package/dist/collection/components/skeleton/skeleton.stories.js.map +1 -0
- package/dist/collection/components/slider/slider.css +123 -0
- package/dist/collection/components/slider/slider.js +344 -0
- package/dist/collection/components/slider/slider.js.map +1 -0
- package/dist/collection/components/slider/slider.stories.js +100 -0
- package/dist/collection/components/slider/slider.stories.js.map +1 -0
- package/dist/collection/components/spacer/spacer.css +13 -0
- package/dist/collection/components/spacer/spacer.js +74 -0
- package/dist/collection/components/spacer/spacer.js.map +1 -0
- package/dist/collection/components/spacer/spacer.stories.js +90 -0
- package/dist/collection/components/spacer/spacer.stories.js.map +1 -0
- package/dist/collection/components/spinner/spinner.css +49 -0
- package/dist/collection/components/spinner/spinner.js +98 -0
- package/dist/collection/components/spinner/spinner.js.map +1 -0
- package/dist/collection/components/spinner/spinner.stories.js +88 -0
- package/dist/collection/components/spinner/spinner.stories.js.map +1 -0
- package/dist/collection/components/stack/stack.css +10 -0
- package/dist/collection/components/stack/stack.js +82 -0
- package/dist/collection/components/stack/stack.js.map +1 -0
- package/dist/collection/components/stack/stack.stories.js +121 -0
- package/dist/collection/components/stack/stack.stories.js.map +1 -0
- package/dist/collection/components/stepper/step.css +172 -0
- package/dist/collection/components/stepper/step.js +205 -0
- package/dist/collection/components/stepper/step.js.map +1 -0
- package/dist/collection/components/stepper/step.stories.js +4 -0
- package/dist/collection/components/stepper/step.stories.js.map +1 -0
- package/dist/collection/components/stepper/stepper.css +32 -0
- package/dist/collection/components/stepper/stepper.js +137 -0
- package/dist/collection/components/stepper/stepper.js.map +1 -0
- package/dist/collection/components/stepper/stepper.stories.js +130 -0
- package/dist/collection/components/stepper/stepper.stories.js.map +1 -0
- package/dist/collection/components/switch-group/switch-group.css +51 -0
- package/dist/collection/components/switch-group/switch-group.js +237 -0
- package/dist/collection/components/switch-group/switch-group.js.map +1 -0
- package/dist/collection/components/switch-group/switch-group.stories.js +132 -0
- package/dist/collection/components/switch-group/switch-group.stories.js.map +1 -0
- package/dist/collection/components/switch-group/switch-option.css +64 -0
- package/dist/collection/components/switch-group/switch-option.js +150 -0
- package/dist/collection/components/switch-group/switch-option.js.map +1 -0
- package/dist/collection/components/switch-group/switch-option.stories.js +4 -0
- package/dist/collection/components/switch-group/switch-option.stories.js.map +1 -0
- package/dist/collection/components/table/table.css +112 -0
- package/dist/collection/components/table/table.js +151 -0
- package/dist/collection/components/table/table.js.map +1 -0
- package/dist/collection/components/table/table.stories.js +147 -0
- package/dist/collection/components/table/table.stories.js.map +1 -0
- package/dist/collection/components/tabs/tab-panel.css +11 -0
- package/dist/collection/components/tabs/tab-panel.js +116 -0
- package/dist/collection/components/tabs/tab-panel.js.map +1 -0
- package/dist/collection/components/tabs/tab-panel.stories.js +4 -0
- package/dist/collection/components/tabs/tab-panel.stories.js.map +1 -0
- package/dist/collection/components/tabs/tabs.css +134 -0
- package/dist/collection/components/tabs/tabs.js +213 -0
- package/dist/collection/components/tabs/tabs.js.map +1 -0
- package/dist/collection/components/tabs/tabs.stories.js +187 -0
- package/dist/collection/components/tabs/tabs.stories.js.map +1 -0
- package/dist/collection/components/textarea/textarea.css +146 -0
- package/dist/collection/components/textarea/textarea.js +526 -0
- package/dist/collection/components/textarea/textarea.js.map +1 -0
- package/dist/collection/components/textarea/textarea.stories.js +130 -0
- package/dist/collection/components/textarea/textarea.stories.js.map +1 -0
- package/dist/collection/components/toast/toast.css +166 -0
- package/dist/collection/components/toast/toast.js +291 -0
- package/dist/collection/components/toast/toast.js.map +1 -0
- package/dist/collection/components/toast/toast.stories.js +91 -0
- package/dist/collection/components/toast/toast.stories.js.map +1 -0
- package/dist/collection/components/toggle/toggle.css +99 -0
- package/dist/collection/components/toggle/toggle.js +220 -0
- package/dist/collection/components/toggle/toggle.js.map +1 -0
- package/dist/collection/components/toggle/toggle.stories.js +145 -0
- package/dist/collection/components/toggle/toggle.stories.js.map +1 -0
- package/dist/collection/components/toolbar/toolbar.css +89 -0
- package/dist/collection/components/toolbar/toolbar.js +89 -0
- package/dist/collection/components/toolbar/toolbar.js.map +1 -0
- package/dist/collection/components/toolbar/toolbar.stories.js +131 -0
- package/dist/collection/components/toolbar/toolbar.stories.js.map +1 -0
- package/dist/collection/components/tooltip/tooltip.css +124 -0
- package/dist/collection/components/tooltip/tooltip.js +242 -0
- package/dist/collection/components/tooltip/tooltip.js.map +1 -0
- package/dist/collection/components/tooltip/tooltip.stories.js +186 -0
- package/dist/collection/components/tooltip/tooltip.stories.js.map +1 -0
- package/dist/collection/components/tree/tree-item.css +97 -0
- package/dist/collection/components/tree/tree-item.js +242 -0
- package/dist/collection/components/tree/tree-item.js.map +1 -0
- package/dist/collection/components/tree/tree-item.stories.js +4 -0
- package/dist/collection/components/tree/tree-item.stories.js.map +1 -0
- package/dist/collection/components/tree/tree.css +23 -0
- package/dist/collection/components/tree/tree.js +119 -0
- package/dist/collection/components/tree/tree.js.map +1 -0
- package/dist/collection/components/tree/tree.stories.js +121 -0
- package/dist/collection/components/tree/tree.stories.js.map +1 -0
- package/dist/collection/index.js +53 -0
- package/dist/collection/index.js.map +1 -0
- package/dist/collection/theme/tokens.js +109 -0
- package/dist/collection/theme/tokens.js.map +1 -0
- package/dist/collection/types/index.js +2 -0
- package/dist/collection/types/index.js.map +1 -0
- package/dist/collection/utils/aria.js +89 -0
- package/dist/collection/utils/aria.js.map +1 -0
- package/dist/collection/utils/dom.js +42 -0
- package/dist/collection/utils/dom.js.map +1 -0
- package/dist/collection/utils/events.js +20 -0
- package/dist/collection/utils/events.js.map +1 -0
- package/dist/components/index.d.ts +35 -0
- package/dist/components/index.js +2 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/p-6RDSLDuS.js +2 -0
- package/dist/components/p-6RDSLDuS.js.map +1 -0
- package/dist/components/p-B0ZXNFSa.js +2 -0
- package/dist/components/p-B0ZXNFSa.js.map +1 -0
- package/dist/components/p-BCgm2utU.js +2 -0
- package/dist/components/p-BCgm2utU.js.map +1 -0
- package/dist/components/p-BFN5hUo4.js +2 -0
- package/dist/components/p-BFN5hUo4.js.map +1 -0
- package/dist/components/p-BOxYojS-.js +9572 -0
- package/dist/components/p-BOxYojS-.js.map +1 -0
- package/dist/components/p-BP-fZfRb.js +2 -0
- package/dist/components/p-BP-fZfRb.js.map +1 -0
- package/dist/components/p-B_NL55YI.js +2 -0
- package/dist/components/p-B_NL55YI.js.map +1 -0
- package/dist/components/p-BcoU0ISN.js +2 -0
- package/dist/components/p-BcoU0ISN.js.map +1 -0
- package/dist/components/p-BdzH6wlc.js +2 -0
- package/dist/components/p-BdzH6wlc.js.map +1 -0
- package/dist/components/p-BeErYjKz.js +2 -0
- package/dist/components/p-BeErYjKz.js.map +1 -0
- package/dist/components/p-BjiDgszq.js +2 -0
- package/dist/components/p-BjiDgszq.js.map +1 -0
- package/dist/components/p-BjyTgfXe.js +2 -0
- package/dist/components/p-BjyTgfXe.js.map +1 -0
- package/dist/components/p-BlZHjan9.js +2 -0
- package/dist/components/p-BlZHjan9.js.map +1 -0
- package/dist/components/p-C7JaUlNB.js +2 -0
- package/dist/components/p-C7JaUlNB.js.map +1 -0
- package/dist/components/p-C8wd1644.js +2 -0
- package/dist/components/p-C8wd1644.js.map +1 -0
- package/dist/components/p-CEQXPxzU.js +2 -0
- package/dist/components/p-CEQXPxzU.js.map +1 -0
- package/dist/components/p-CGh7W07E.js +2 -0
- package/dist/components/p-CGh7W07E.js.map +1 -0
- package/dist/components/p-CHtE5caV.js +2 -0
- package/dist/components/p-CHtE5caV.js.map +1 -0
- package/dist/components/p-CSNeA_zh.js +2 -0
- package/dist/components/p-CSNeA_zh.js.map +1 -0
- package/dist/components/p-CbHlJvjF.js +2 -0
- package/dist/components/p-CbHlJvjF.js.map +1 -0
- package/dist/components/p-CkQOAizb.js +2 -0
- package/dist/components/p-CkQOAizb.js.map +1 -0
- package/dist/components/p-Cy_Ad-Jy.js +2 -0
- package/dist/components/p-Cy_Ad-Jy.js.map +1 -0
- package/dist/components/p-DD986daz.js +2 -0
- package/dist/components/p-DD986daz.js.map +1 -0
- package/dist/components/p-DFnNsZtI.js +2 -0
- package/dist/components/p-DFnNsZtI.js.map +1 -0
- package/dist/components/p-DMPxu5Po.js +2 -0
- package/dist/components/p-DMPxu5Po.js.map +1 -0
- package/dist/components/p-DMuI5d5r.js +2 -0
- package/dist/components/p-DMuI5d5r.js.map +1 -0
- package/dist/components/p-DPQ1o4MP.js +2 -0
- package/dist/components/p-DPQ1o4MP.js.map +1 -0
- package/dist/components/p-DTAVTqnc.js +2 -0
- package/dist/components/p-DTAVTqnc.js.map +1 -0
- package/dist/components/p-DhQ7X_TL.js +2 -0
- package/dist/components/p-DhQ7X_TL.js.map +1 -0
- package/dist/components/p-DkpyRqHf.js +2 -0
- package/dist/components/p-DkpyRqHf.js.map +1 -0
- package/dist/components/p-DlB-KfKY.js +2 -0
- package/dist/components/p-DlB-KfKY.js.map +1 -0
- package/dist/components/p-DooMF1E0.js +2 -0
- package/dist/components/p-DooMF1E0.js.map +1 -0
- package/dist/components/p-DwJ7Jt3k.js +2 -0
- package/dist/components/p-DwJ7Jt3k.js.map +1 -0
- package/dist/components/p-DwUH8YQW.js +2 -0
- package/dist/components/p-DwUH8YQW.js.map +1 -0
- package/dist/components/p-Fot2uNwg.js +2 -0
- package/dist/components/p-Fot2uNwg.js.map +1 -0
- package/dist/components/p-O8aQgWRZ.js +2 -0
- package/dist/components/p-O8aQgWRZ.js.map +1 -0
- package/dist/components/p-SopsdO_f.js +2 -0
- package/dist/components/p-SopsdO_f.js.map +1 -0
- package/dist/components/p-TFHAUMKT.js +2 -0
- package/dist/components/p-TFHAUMKT.js.map +1 -0
- package/dist/components/p-faVXXwqR.js +2 -0
- package/dist/components/p-faVXXwqR.js.map +1 -0
- package/dist/components/p-lpqZSiIf.js +2 -0
- package/dist/components/p-lpqZSiIf.js.map +1 -0
- package/dist/components/p-mfB_pP4L.js +2 -0
- package/dist/components/p-mfB_pP4L.js.map +1 -0
- package/dist/components/p-v-L32wKy.js +2 -0
- package/dist/components/p-v-L32wKy.js.map +1 -0
- package/dist/components/p-zveaarwa.js +2 -0
- package/dist/components/p-zveaarwa.js.map +1 -0
- package/dist/components/ts-accordion-item.d.ts +11 -0
- package/dist/components/ts-accordion-item.js +2 -0
- package/dist/components/ts-accordion-item.js.map +1 -0
- package/dist/components/ts-accordion.d.ts +11 -0
- package/dist/components/ts-accordion.js +2 -0
- package/dist/components/ts-accordion.js.map +1 -0
- package/dist/components/ts-alert.d.ts +11 -0
- package/dist/components/ts-alert.js +2 -0
- package/dist/components/ts-alert.js.map +1 -0
- package/dist/components/ts-avatar.d.ts +11 -0
- package/dist/components/ts-avatar.js +2 -0
- package/dist/components/ts-avatar.js.map +1 -0
- package/dist/components/ts-badge.d.ts +11 -0
- package/dist/components/ts-badge.js +2 -0
- package/dist/components/ts-badge.js.map +1 -0
- package/dist/components/ts-banner.d.ts +11 -0
- package/dist/components/ts-banner.js +2 -0
- package/dist/components/ts-banner.js.map +1 -0
- package/dist/components/ts-breadcrumb-item.d.ts +11 -0
- package/dist/components/ts-breadcrumb-item.js +2 -0
- package/dist/components/ts-breadcrumb-item.js.map +1 -0
- package/dist/components/ts-breadcrumb.d.ts +11 -0
- package/dist/components/ts-breadcrumb.js +2 -0
- package/dist/components/ts-breadcrumb.js.map +1 -0
- package/dist/components/ts-button.d.ts +11 -0
- package/dist/components/ts-button.js +2 -0
- package/dist/components/ts-button.js.map +1 -0
- package/dist/components/ts-card.d.ts +11 -0
- package/dist/components/ts-card.js +2 -0
- package/dist/components/ts-card.js.map +1 -0
- package/dist/components/ts-checkbox.d.ts +11 -0
- package/dist/components/ts-checkbox.js +2 -0
- package/dist/components/ts-checkbox.js.map +1 -0
- package/dist/components/ts-chip.d.ts +11 -0
- package/dist/components/ts-chip.js +2 -0
- package/dist/components/ts-chip.js.map +1 -0
- package/dist/components/ts-container.d.ts +11 -0
- package/dist/components/ts-container.js +2 -0
- package/dist/components/ts-container.js.map +1 -0
- package/dist/components/ts-date-picker.d.ts +11 -0
- package/dist/components/ts-date-picker.js +2 -0
- package/dist/components/ts-date-picker.js.map +1 -0
- package/dist/components/ts-dialog.d.ts +11 -0
- package/dist/components/ts-dialog.js +2 -0
- package/dist/components/ts-dialog.js.map +1 -0
- package/dist/components/ts-divider.d.ts +11 -0
- package/dist/components/ts-divider.js +2 -0
- package/dist/components/ts-divider.js.map +1 -0
- package/dist/components/ts-drawer.d.ts +11 -0
- package/dist/components/ts-drawer.js +2 -0
- package/dist/components/ts-drawer.js.map +1 -0
- package/dist/components/ts-empty-state.d.ts +11 -0
- package/dist/components/ts-empty-state.js +2 -0
- package/dist/components/ts-empty-state.js.map +1 -0
- package/dist/components/ts-file-upload.d.ts +11 -0
- package/dist/components/ts-file-upload.js +2 -0
- package/dist/components/ts-file-upload.js.map +1 -0
- package/dist/components/ts-grid.d.ts +11 -0
- package/dist/components/ts-grid.js +2 -0
- package/dist/components/ts-grid.js.map +1 -0
- package/dist/components/ts-icon.d.ts +11 -0
- package/dist/components/ts-icon.js +2 -0
- package/dist/components/ts-icon.js.map +1 -0
- package/dist/components/ts-input.d.ts +11 -0
- package/dist/components/ts-input.js +2 -0
- package/dist/components/ts-input.js.map +1 -0
- package/dist/components/ts-menu-item.d.ts +11 -0
- package/dist/components/ts-menu-item.js +2 -0
- package/dist/components/ts-menu-item.js.map +1 -0
- package/dist/components/ts-menu.d.ts +11 -0
- package/dist/components/ts-menu.js +2 -0
- package/dist/components/ts-menu.js.map +1 -0
- package/dist/components/ts-modal.d.ts +11 -0
- package/dist/components/ts-modal.js +2 -0
- package/dist/components/ts-modal.js.map +1 -0
- package/dist/components/ts-nav-item.d.ts +11 -0
- package/dist/components/ts-nav-item.js +2 -0
- package/dist/components/ts-nav-item.js.map +1 -0
- package/dist/components/ts-nav.d.ts +11 -0
- package/dist/components/ts-nav.js +2 -0
- package/dist/components/ts-nav.js.map +1 -0
- package/dist/components/ts-pagination.d.ts +11 -0
- package/dist/components/ts-pagination.js +2 -0
- package/dist/components/ts-pagination.js.map +1 -0
- package/dist/components/ts-popover.d.ts +11 -0
- package/dist/components/ts-popover.js +2 -0
- package/dist/components/ts-popover.js.map +1 -0
- package/dist/components/ts-progress.d.ts +11 -0
- package/dist/components/ts-progress.js +2 -0
- package/dist/components/ts-progress.js.map +1 -0
- package/dist/components/ts-radio.d.ts +11 -0
- package/dist/components/ts-radio.js +2 -0
- package/dist/components/ts-radio.js.map +1 -0
- package/dist/components/ts-row.d.ts +11 -0
- package/dist/components/ts-row.js +2 -0
- package/dist/components/ts-row.js.map +1 -0
- package/dist/components/ts-select.d.ts +11 -0
- package/dist/components/ts-select.js +2 -0
- package/dist/components/ts-select.js.map +1 -0
- package/dist/components/ts-skeleton.d.ts +11 -0
- package/dist/components/ts-skeleton.js +2 -0
- package/dist/components/ts-skeleton.js.map +1 -0
- package/dist/components/ts-slider.d.ts +11 -0
- package/dist/components/ts-slider.js +2 -0
- package/dist/components/ts-slider.js.map +1 -0
- package/dist/components/ts-spacer.d.ts +11 -0
- package/dist/components/ts-spacer.js +2 -0
- package/dist/components/ts-spacer.js.map +1 -0
- package/dist/components/ts-spinner.d.ts +11 -0
- package/dist/components/ts-spinner.js +2 -0
- package/dist/components/ts-spinner.js.map +1 -0
- package/dist/components/ts-stack.d.ts +11 -0
- package/dist/components/ts-stack.js +2 -0
- package/dist/components/ts-stack.js.map +1 -0
- package/dist/components/ts-step.d.ts +11 -0
- package/dist/components/ts-step.js +2 -0
- package/dist/components/ts-step.js.map +1 -0
- package/dist/components/ts-stepper.d.ts +11 -0
- package/dist/components/ts-stepper.js +2 -0
- package/dist/components/ts-stepper.js.map +1 -0
- package/dist/components/ts-switch-group.d.ts +11 -0
- package/dist/components/ts-switch-group.js +2 -0
- package/dist/components/ts-switch-group.js.map +1 -0
- package/dist/components/ts-switch-option.d.ts +11 -0
- package/dist/components/ts-switch-option.js +2 -0
- package/dist/components/ts-switch-option.js.map +1 -0
- package/dist/components/ts-tab-panel.d.ts +11 -0
- package/dist/components/ts-tab-panel.js +2 -0
- package/dist/components/ts-tab-panel.js.map +1 -0
- package/dist/components/ts-table.d.ts +11 -0
- package/dist/components/ts-table.js +2 -0
- package/dist/components/ts-table.js.map +1 -0
- package/dist/components/ts-tabs.d.ts +11 -0
- package/dist/components/ts-tabs.js +2 -0
- package/dist/components/ts-tabs.js.map +1 -0
- package/dist/components/ts-textarea.d.ts +11 -0
- package/dist/components/ts-textarea.js +2 -0
- package/dist/components/ts-textarea.js.map +1 -0
- package/dist/components/ts-toast.d.ts +11 -0
- package/dist/components/ts-toast.js +2 -0
- package/dist/components/ts-toast.js.map +1 -0
- package/dist/components/ts-toggle.d.ts +11 -0
- package/dist/components/ts-toggle.js +2 -0
- package/dist/components/ts-toggle.js.map +1 -0
- package/dist/components/ts-toolbar.d.ts +11 -0
- package/dist/components/ts-toolbar.js +2 -0
- package/dist/components/ts-toolbar.js.map +1 -0
- package/dist/components/ts-tooltip.d.ts +11 -0
- package/dist/components/ts-tooltip.js +2 -0
- package/dist/components/ts-tooltip.js.map +1 -0
- package/dist/components/ts-tree-item.d.ts +11 -0
- package/dist/components/ts-tree-item.js +2 -0
- package/dist/components/ts-tree-item.js.map +1 -0
- package/dist/components/ts-tree.d.ts +11 -0
- package/dist/components/ts-tree.js +2 -0
- package/dist/components/ts-tree.js.map +1 -0
- package/dist/components.d.ts +480 -0
- package/dist/components.json +12678 -0
- package/dist/esm/aria-lpqZSiIf.js +89 -0
- package/dist/esm/aria-lpqZSiIf.js.map +1 -0
- package/dist/esm/index-V8-ENixA.js +2373 -0
- package/dist/esm/index-V8-ENixA.js.map +1 -0
- package/dist/esm/index.js +102 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/loader.js +13 -0
- package/dist/esm/loader.js.map +1 -0
- package/dist/esm/lucide-BOxYojS-.js +26523 -0
- package/dist/esm/lucide-BOxYojS-.js.map +1 -0
- package/dist/esm/tessera-ui.js +23 -0
- package/dist/esm/tessera-ui.js.map +1 -0
- package/dist/esm/ts-accordion-item.entry.js +63 -0
- package/dist/esm/ts-accordion-item.entry.js.map +1 -0
- package/dist/esm/ts-accordion.entry.js +34 -0
- package/dist/esm/ts-accordion.entry.js.map +1 -0
- package/dist/esm/ts-alert.entry.js +58 -0
- package/dist/esm/ts-alert.entry.js.map +1 -0
- package/dist/esm/ts-avatar.entry.js +52 -0
- package/dist/esm/ts-avatar.entry.js.map +1 -0
- package/dist/esm/ts-badge.entry.js +36 -0
- package/dist/esm/ts-badge.entry.js.map +1 -0
- package/dist/esm/ts-banner.entry.js +65 -0
- package/dist/esm/ts-banner.entry.js.map +1 -0
- package/dist/esm/ts-breadcrumb-item.entry.js +26 -0
- package/dist/esm/ts-breadcrumb-item.entry.js.map +1 -0
- package/dist/esm/ts-breadcrumb.entry.js +33 -0
- package/dist/esm/ts-breadcrumb.entry.js.map +1 -0
- package/dist/esm/ts-button.entry.js +86 -0
- package/dist/esm/ts-button.entry.js.map +1 -0
- package/dist/esm/ts-card.entry.js +33 -0
- package/dist/esm/ts-card.entry.js.map +1 -0
- package/dist/esm/ts-checkbox.entry.js +66 -0
- package/dist/esm/ts-checkbox.entry.js.map +1 -0
- package/dist/esm/ts-chip.entry.js +74 -0
- package/dist/esm/ts-chip.entry.js.map +1 -0
- package/dist/esm/ts-container.entry.js +26 -0
- package/dist/esm/ts-container.entry.js.map +1 -0
- package/dist/esm/ts-date-picker.entry.js +227 -0
- package/dist/esm/ts-date-picker.entry.js.map +1 -0
- package/dist/esm/ts-dialog.entry.js +107 -0
- package/dist/esm/ts-dialog.entry.js.map +1 -0
- package/dist/esm/ts-divider.entry.js +31 -0
- package/dist/esm/ts-divider.entry.js.map +1 -0
- package/dist/esm/ts-drawer.entry.js +111 -0
- package/dist/esm/ts-drawer.entry.js.map +1 -0
- package/dist/esm/ts-empty-state.entry.js +30 -0
- package/dist/esm/ts-empty-state.entry.js.map +1 -0
- package/dist/esm/ts-file-upload.entry.js +120 -0
- package/dist/esm/ts-file-upload.entry.js.map +1 -0
- package/dist/esm/ts-grid.entry.js +35 -0
- package/dist/esm/ts-grid.entry.js.map +1 -0
- package/dist/esm/ts-icon-Jz9ioZag.js +155 -0
- package/dist/esm/ts-icon-Jz9ioZag.js.map +1 -0
- package/dist/esm/ts-icon.entry.js +5 -0
- package/dist/esm/ts-icon.entry.js.map +1 -0
- package/dist/esm/ts-input.entry.js +128 -0
- package/dist/esm/ts-input.entry.js.map +1 -0
- package/dist/esm/ts-menu-item.entry.js +63 -0
- package/dist/esm/ts-menu-item.entry.js.map +1 -0
- package/dist/esm/ts-menu.entry.js +153 -0
- package/dist/esm/ts-menu.entry.js.map +1 -0
- package/dist/esm/ts-modal.entry.js +120 -0
- package/dist/esm/ts-modal.entry.js.map +1 -0
- package/dist/esm/ts-nav-item.entry.js +46 -0
- package/dist/esm/ts-nav-item.entry.js.map +1 -0
- package/dist/esm/ts-nav.entry.js +27 -0
- package/dist/esm/ts-nav.entry.js.map +1 -0
- package/dist/esm/ts-pagination.entry.js +86 -0
- package/dist/esm/ts-pagination.entry.js.map +1 -0
- package/dist/esm/ts-popover.entry.js +131 -0
- package/dist/esm/ts-popover.entry.js.map +1 -0
- package/dist/esm/ts-progress.entry.js +44 -0
- package/dist/esm/ts-progress.entry.js.map +1 -0
- package/dist/esm/ts-radio.entry.js +58 -0
- package/dist/esm/ts-radio.entry.js.map +1 -0
- package/dist/esm/ts-row.entry.js +51 -0
- package/dist/esm/ts-row.entry.js.map +1 -0
- package/dist/esm/ts-select.entry.js +219 -0
- package/dist/esm/ts-select.entry.js.map +1 -0
- package/dist/esm/ts-skeleton.entry.js +53 -0
- package/dist/esm/ts-skeleton.entry.js.map +1 -0
- package/dist/esm/ts-slider.entry.js +130 -0
- package/dist/esm/ts-slider.entry.js.map +1 -0
- package/dist/esm/ts-spacer.entry.js +26 -0
- package/dist/esm/ts-spacer.entry.js.map +1 -0
- package/dist/esm/ts-spinner.entry.js +28 -0
- package/dist/esm/ts-spinner.entry.js.map +1 -0
- package/dist/esm/ts-stack.entry.js +32 -0
- package/dist/esm/ts-stack.entry.js.map +1 -0
- package/dist/esm/ts-step.entry.js +72 -0
- package/dist/esm/ts-step.entry.js.map +1 -0
- package/dist/esm/ts-stepper.entry.js +65 -0
- package/dist/esm/ts-stepper.entry.js.map +1 -0
- package/dist/esm/ts-switch-group.entry.js +107 -0
- package/dist/esm/ts-switch-group.entry.js.map +1 -0
- package/dist/esm/ts-switch-option.entry.js +40 -0
- package/dist/esm/ts-switch-option.entry.js.map +1 -0
- package/dist/esm/ts-tab-panel.entry.js +28 -0
- package/dist/esm/ts-tab-panel.entry.js.map +1 -0
- package/dist/esm/ts-table.entry.js +37 -0
- package/dist/esm/ts-table.entry.js.map +1 -0
- package/dist/esm/ts-tabs.entry.js +122 -0
- package/dist/esm/ts-tabs.entry.js.map +1 -0
- package/dist/esm/ts-textarea.entry.js +115 -0
- package/dist/esm/ts-textarea.entry.js.map +1 -0
- package/dist/esm/ts-toast.entry.js +105 -0
- package/dist/esm/ts-toast.entry.js.map +1 -0
- package/dist/esm/ts-toggle.entry.js +56 -0
- package/dist/esm/ts-toggle.entry.js.map +1 -0
- package/dist/esm/ts-toolbar.entry.js +27 -0
- package/dist/esm/ts-toolbar.entry.js.map +1 -0
- package/dist/esm/ts-tooltip.entry.js +80 -0
- package/dist/esm/ts-tooltip.entry.js.map +1 -0
- package/dist/esm/ts-tree-item.entry.js +92 -0
- package/dist/esm/ts-tree-item.entry.js.map +1 -0
- package/dist/esm/ts-tree.entry.js +79 -0
- package/dist/esm/ts-tree.entry.js.map +1 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -0
- package/dist/tessera-ui/index.esm.js +2 -0
- package/dist/tessera-ui/index.esm.js.map +1 -0
- package/dist/tessera-ui/p-0424cd55.entry.js +2 -0
- package/dist/tessera-ui/p-0424cd55.entry.js.map +1 -0
- package/dist/tessera-ui/p-04522bf9.entry.js +2 -0
- package/dist/tessera-ui/p-04522bf9.entry.js.map +1 -0
- package/dist/tessera-ui/p-04aa8b90.entry.js +2 -0
- package/dist/tessera-ui/p-04aa8b90.entry.js.map +1 -0
- package/dist/tessera-ui/p-080eaf89.entry.js +2 -0
- package/dist/tessera-ui/p-080eaf89.entry.js.map +1 -0
- package/dist/tessera-ui/p-0ec061e5.entry.js +2 -0
- package/dist/tessera-ui/p-0ec061e5.entry.js.map +1 -0
- package/dist/tessera-ui/p-122e43b7.entry.js +2 -0
- package/dist/tessera-ui/p-122e43b7.entry.js.map +1 -0
- package/dist/tessera-ui/p-16bb8ca8.entry.js +2 -0
- package/dist/tessera-ui/p-16bb8ca8.entry.js.map +1 -0
- package/dist/tessera-ui/p-16fc632b.entry.js +2 -0
- package/dist/tessera-ui/p-16fc632b.entry.js.map +1 -0
- package/dist/tessera-ui/p-1d73f6c9.entry.js +2 -0
- package/dist/tessera-ui/p-1d73f6c9.entry.js.map +1 -0
- package/dist/tessera-ui/p-24305379.entry.js +2 -0
- package/dist/tessera-ui/p-24305379.entry.js.map +1 -0
- package/dist/tessera-ui/p-25f77cc9.entry.js +2 -0
- package/dist/tessera-ui/p-25f77cc9.entry.js.map +1 -0
- package/dist/tessera-ui/p-35eb8496.entry.js +2 -0
- package/dist/tessera-ui/p-35eb8496.entry.js.map +1 -0
- package/dist/tessera-ui/p-3aec66b4.entry.js +2 -0
- package/dist/tessera-ui/p-3aec66b4.entry.js.map +1 -0
- package/dist/tessera-ui/p-4277460b.entry.js +2 -0
- package/dist/tessera-ui/p-4277460b.entry.js.map +1 -0
- package/dist/tessera-ui/p-441310f7.entry.js +2 -0
- package/dist/tessera-ui/p-441310f7.entry.js.map +1 -0
- package/dist/tessera-ui/p-491e1a75.entry.js +2 -0
- package/dist/tessera-ui/p-491e1a75.entry.js.map +1 -0
- package/dist/tessera-ui/p-50d092ce.entry.js +2 -0
- package/dist/tessera-ui/p-50d092ce.entry.js.map +1 -0
- package/dist/tessera-ui/p-50efadf3.entry.js +2 -0
- package/dist/tessera-ui/p-50efadf3.entry.js.map +1 -0
- package/dist/tessera-ui/p-53846d59.entry.js +2 -0
- package/dist/tessera-ui/p-53846d59.entry.js.map +1 -0
- package/dist/tessera-ui/p-56f2b070.entry.js +2 -0
- package/dist/tessera-ui/p-56f2b070.entry.js.map +1 -0
- package/dist/tessera-ui/p-6760f922.entry.js +2 -0
- package/dist/tessera-ui/p-6760f922.entry.js.map +1 -0
- package/dist/tessera-ui/p-69bb11ed.entry.js +2 -0
- package/dist/tessera-ui/p-69bb11ed.entry.js.map +1 -0
- package/dist/tessera-ui/p-6d35a60c.entry.js +2 -0
- package/dist/tessera-ui/p-6d35a60c.entry.js.map +1 -0
- package/dist/tessera-ui/p-6ec285ad.entry.js +2 -0
- package/dist/tessera-ui/p-6ec285ad.entry.js.map +1 -0
- package/dist/tessera-ui/p-708d4eb5.entry.js +2 -0
- package/dist/tessera-ui/p-708d4eb5.entry.js.map +1 -0
- package/dist/tessera-ui/p-79ff8ceb.entry.js +2 -0
- package/dist/tessera-ui/p-79ff8ceb.entry.js.map +1 -0
- package/dist/tessera-ui/p-7e531195.entry.js +2 -0
- package/dist/tessera-ui/p-7e531195.entry.js.map +1 -0
- package/dist/tessera-ui/p-7fa64f00.entry.js +2 -0
- package/dist/tessera-ui/p-7fa64f00.entry.js.map +1 -0
- package/dist/tessera-ui/p-829c4307.entry.js +2 -0
- package/dist/tessera-ui/p-829c4307.entry.js.map +1 -0
- package/dist/tessera-ui/p-91ccef3f.entry.js +2 -0
- package/dist/tessera-ui/p-91ccef3f.entry.js.map +1 -0
- package/dist/tessera-ui/p-9209e603.entry.js +2 -0
- package/dist/tessera-ui/p-9209e603.entry.js.map +1 -0
- package/dist/tessera-ui/p-97a9def7.entry.js +2 -0
- package/dist/tessera-ui/p-97a9def7.entry.js.map +1 -0
- package/dist/tessera-ui/p-9b41b538.entry.js +2 -0
- package/dist/tessera-ui/p-9b41b538.entry.js.map +1 -0
- package/dist/tessera-ui/p-9c0504fd.entry.js +2 -0
- package/dist/tessera-ui/p-9c0504fd.entry.js.map +1 -0
- package/dist/tessera-ui/p-BOxYojS-.js +9572 -0
- package/dist/tessera-ui/p-BOxYojS-.js.map +1 -0
- package/dist/tessera-ui/p-StBQmS8h.js +2 -0
- package/dist/tessera-ui/p-StBQmS8h.js.map +1 -0
- package/dist/tessera-ui/p-V8-ENixA.js +3 -0
- package/dist/tessera-ui/p-V8-ENixA.js.map +1 -0
- package/dist/tessera-ui/p-a120b5d6.entry.js +2 -0
- package/dist/tessera-ui/p-a120b5d6.entry.js.map +1 -0
- package/dist/tessera-ui/p-a55a5695.entry.js +2 -0
- package/dist/tessera-ui/p-a55a5695.entry.js.map +1 -0
- package/dist/tessera-ui/p-a83d903e.entry.js +2 -0
- package/dist/tessera-ui/p-a83d903e.entry.js.map +1 -0
- package/dist/tessera-ui/p-adc807dc.entry.js +2 -0
- package/dist/tessera-ui/p-adc807dc.entry.js.map +1 -0
- package/dist/tessera-ui/p-b09f202c.entry.js +2 -0
- package/dist/tessera-ui/p-b09f202c.entry.js.map +1 -0
- package/dist/tessera-ui/p-b1182592.entry.js +2 -0
- package/dist/tessera-ui/p-b1182592.entry.js.map +1 -0
- package/dist/tessera-ui/p-b3f60955.entry.js +2 -0
- package/dist/tessera-ui/p-b3f60955.entry.js.map +1 -0
- package/dist/tessera-ui/p-bb9ebbd8.entry.js +2 -0
- package/dist/tessera-ui/p-bb9ebbd8.entry.js.map +1 -0
- package/dist/tessera-ui/p-bce40715.entry.js +2 -0
- package/dist/tessera-ui/p-bce40715.entry.js.map +1 -0
- package/dist/tessera-ui/p-c35c7049.entry.js +2 -0
- package/dist/tessera-ui/p-c35c7049.entry.js.map +1 -0
- package/dist/tessera-ui/p-c59ecffa.entry.js +2 -0
- package/dist/tessera-ui/p-c59ecffa.entry.js.map +1 -0
- package/dist/tessera-ui/p-d318774a.entry.js +2 -0
- package/dist/tessera-ui/p-d318774a.entry.js.map +1 -0
- package/dist/tessera-ui/p-d5cbadd6.entry.js +2 -0
- package/dist/tessera-ui/p-d5cbadd6.entry.js.map +1 -0
- package/dist/tessera-ui/p-e1d2b141.entry.js +2 -0
- package/dist/tessera-ui/p-e1d2b141.entry.js.map +1 -0
- package/dist/tessera-ui/p-f0bf6408.entry.js +2 -0
- package/dist/tessera-ui/p-f0bf6408.entry.js.map +1 -0
- package/dist/tessera-ui/p-f639213a.entry.js +2 -0
- package/dist/tessera-ui/p-f639213a.entry.js.map +1 -0
- package/dist/tessera-ui/p-fd2376e0.entry.js +2 -0
- package/dist/tessera-ui/p-fd2376e0.entry.js.map +1 -0
- package/dist/tessera-ui/p-fef9a993.entry.js +2 -0
- package/dist/tessera-ui/p-fef9a993.entry.js.map +1 -0
- package/dist/tessera-ui/p-lpqZSiIf.js +2 -0
- package/dist/tessera-ui/p-lpqZSiIf.js.map +1 -0
- package/dist/tessera-ui/tessera-ui.css +1 -0
- package/dist/tessera-ui/tessera-ui.esm.js +2 -0
- package/dist/tessera-ui/tessera-ui.esm.js.map +1 -0
- package/dist/types/components/accordion/accordion-item.d.ts +28 -0
- package/dist/types/components/accordion/accordion-item.stories.d.ts +5 -0
- package/dist/types/components/accordion/accordion.d.ts +12 -0
- package/dist/types/components/accordion/accordion.stories.d.ts +21 -0
- package/dist/types/components/alert/alert.d.ts +30 -0
- package/dist/types/components/alert/alert.stories.d.ts +34 -0
- package/dist/types/components/avatar/avatar.d.ts +26 -0
- package/dist/types/components/avatar/avatar.stories.d.ts +51 -0
- package/dist/types/components/badge/badge.d.ts +19 -0
- package/dist/types/components/badge/badge.stories.d.ts +50 -0
- package/dist/types/components/banner/banner.d.ts +33 -0
- package/dist/types/components/banner/banner.stories.d.ts +40 -0
- package/dist/types/components/breadcrumb/breadcrumb-item.d.ts +15 -0
- package/dist/types/components/breadcrumb/breadcrumb-item.stories.d.ts +5 -0
- package/dist/types/components/breadcrumb/breadcrumb.d.ts +13 -0
- package/dist/types/components/breadcrumb/breadcrumb.stories.d.ts +20 -0
- package/dist/types/components/button/button.d.ts +45 -0
- package/dist/types/components/button/button.stories.d.ts +73 -0
- package/dist/types/components/card/card.d.ts +23 -0
- package/dist/types/components/card/card.stories.d.ts +46 -0
- package/dist/types/components/checkbox/checkbox.d.ts +36 -0
- package/dist/types/components/checkbox/checkbox.stories.d.ts +58 -0
- package/dist/types/components/chip/chip.d.ts +34 -0
- package/dist/types/components/chip/chip.stories.d.ts +54 -0
- package/dist/types/components/container/container.d.ts +12 -0
- package/dist/types/components/container/container.stories.d.ts +21 -0
- package/dist/types/components/date-picker/date-picker.d.ts +67 -0
- package/dist/types/components/date-picker/date-picker.stories.d.ts +62 -0
- package/dist/types/components/dialog/dialog.d.ts +44 -0
- package/dist/types/components/dialog/dialog.stories.d.ts +39 -0
- package/dist/types/components/divider/divider.d.ts +13 -0
- package/dist/types/components/divider/divider.stories.d.ts +33 -0
- package/dist/types/components/drawer/drawer.d.ts +46 -0
- package/dist/types/components/drawer/drawer.stories.d.ts +43 -0
- package/dist/types/components/empty-state/empty-state.d.ts +24 -0
- package/dist/types/components/empty-state/empty-state.stories.d.ts +37 -0
- package/dist/types/components/file-upload/file-upload.d.ts +38 -0
- package/dist/types/components/file-upload/file-upload.stories.d.ts +43 -0
- package/dist/types/components/grid/grid.d.ts +16 -0
- package/dist/types/components/grid/grid.stories.d.ts +30 -0
- package/dist/types/components/icon/icon-registry.d.ts +27 -0
- package/dist/types/components/icon/icon.d.ts +30 -0
- package/dist/types/components/icon/icon.stories.d.ts +42 -0
- package/dist/types/components/input/input.d.ts +72 -0
- package/dist/types/components/input/input.stories.d.ts +77 -0
- package/dist/types/components/menu/menu-item.d.ts +31 -0
- package/dist/types/components/menu/menu-item.stories.d.ts +5 -0
- package/dist/types/components/menu/menu.d.ts +38 -0
- package/dist/types/components/menu/menu.stories.d.ts +36 -0
- package/dist/types/components/modal/modal.d.ts +52 -0
- package/dist/types/components/modal/modal.stories.d.ts +47 -0
- package/dist/types/components/nav/nav-item.d.ts +23 -0
- package/dist/types/components/nav/nav-item.stories.d.ts +5 -0
- package/dist/types/components/nav/nav.d.ts +13 -0
- package/dist/types/components/nav/nav.stories.d.ts +27 -0
- package/dist/types/components/pagination/pagination.d.ts +28 -0
- package/dist/types/components/pagination/pagination.stories.d.ts +42 -0
- package/dist/types/components/popover/popover.d.ts +44 -0
- package/dist/types/components/popover/popover.stories.d.ts +38 -0
- package/dist/types/components/progress/progress.d.ts +26 -0
- package/dist/types/components/progress/progress.stories.d.ts +59 -0
- package/dist/types/components/radio/radio.d.ts +32 -0
- package/dist/types/components/radio/radio.stories.d.ts +48 -0
- package/dist/types/components/row/row.d.ts +18 -0
- package/dist/types/components/row/row.stories.d.ts +52 -0
- package/dist/types/components/select/select.d.ts +74 -0
- package/dist/types/components/select/select.stories.d.ts +73 -0
- package/dist/types/components/skeleton/skeleton.d.ts +17 -0
- package/dist/types/components/skeleton/skeleton.stories.d.ts +44 -0
- package/dist/types/components/slider/slider.d.ts +43 -0
- package/dist/types/components/slider/slider.stories.d.ts +62 -0
- package/dist/types/components/spacer/spacer.d.ts +10 -0
- package/dist/types/components/spacer/spacer.stories.d.ts +28 -0
- package/dist/types/components/spinner/spinner.d.ts +14 -0
- package/dist/types/components/spinner/spinner.stories.d.ts +33 -0
- package/dist/types/components/stack/stack.d.ts +12 -0
- package/dist/types/components/stack/stack.stories.d.ts +28 -0
- package/dist/types/components/stepper/step.d.ts +31 -0
- package/dist/types/components/stepper/step.stories.d.ts +5 -0
- package/dist/types/components/stepper/stepper.d.ts +18 -0
- package/dist/types/components/stepper/stepper.stories.d.ts +36 -0
- package/dist/types/components/switch-group/switch-group.d.ts +33 -0
- package/dist/types/components/switch-group/switch-group.stories.d.ts +37 -0
- package/dist/types/components/switch-group/switch-option.d.ts +24 -0
- package/dist/types/components/switch-group/switch-option.stories.d.ts +5 -0
- package/dist/types/components/table/table.d.ts +23 -0
- package/dist/types/components/table/table.stories.d.ts +45 -0
- package/dist/types/components/tabs/tab-panel.d.ts +17 -0
- package/dist/types/components/tabs/tab-panel.stories.d.ts +5 -0
- package/dist/types/components/tabs/tabs.d.ts +30 -0
- package/dist/types/components/tabs/tabs.stories.d.ts +34 -0
- package/dist/types/components/textarea/textarea.d.ts +62 -0
- package/dist/types/components/textarea/textarea.stories.d.ts +88 -0
- package/dist/types/components/toast/toast.d.ts +42 -0
- package/dist/types/components/toast/toast.stories.d.ts +48 -0
- package/dist/types/components/toggle/toggle.d.ts +31 -0
- package/dist/types/components/toggle/toggle.stories.d.ts +46 -0
- package/dist/types/components/toolbar/toolbar.d.ts +18 -0
- package/dist/types/components/toolbar/toolbar.stories.d.ts +28 -0
- package/dist/types/components/tooltip/tooltip.d.ts +36 -0
- package/dist/types/components/tooltip/tooltip.stories.d.ts +43 -0
- package/dist/types/components/tree/tree-item.d.ts +42 -0
- package/dist/types/components/tree/tree-item.stories.d.ts +5 -0
- package/dist/types/components/tree/tree.d.ts +13 -0
- package/dist/types/components/tree/tree.stories.d.ts +21 -0
- package/dist/types/components.d.ts +4191 -0
- package/dist/types/index.d.ts +53 -0
- package/dist/types/stencil-public-runtime.d.ts +1860 -0
- package/dist/types/theme/tokens.d.ts +29 -0
- package/dist/types/types/index.d.ts +36 -0
- package/dist/types/utils/aria.d.ts +23 -0
- package/dist/types/utils/dom.d.ts +19 -0
- package/dist/types/utils/events.d.ts +17 -0
- package/loader/cdn.js +1 -0
- package/loader/index.cjs.js +1 -0
- package/loader/index.d.ts +24 -0
- package/loader/index.es2017.js +1 -0
- package/loader/index.js +2 -0
- package/package.json +79 -0
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tessera UI — Design Token Definitions
|
|
3
|
+
*
|
|
4
|
+
* These are the source-of-truth token definitions.
|
|
5
|
+
* They feed into Style Dictionary to generate platform-specific outputs
|
|
6
|
+
* (CSS custom properties, iOS, Android, etc.)
|
|
7
|
+
*/
|
|
8
|
+
export const tokens = {
|
|
9
|
+
color: {
|
|
10
|
+
primary: {
|
|
11
|
+
'50': '#eef2ff',
|
|
12
|
+
'100': '#dbe4ff',
|
|
13
|
+
'200': '#bac8ff',
|
|
14
|
+
'300': '#91a7ff',
|
|
15
|
+
'400': '#748ffc',
|
|
16
|
+
'500': '#5c7cfa',
|
|
17
|
+
'600': '#4c6ef5',
|
|
18
|
+
'700': '#4263eb',
|
|
19
|
+
'800': '#3b5bdb',
|
|
20
|
+
'900': '#364fc7',
|
|
21
|
+
},
|
|
22
|
+
neutral: {
|
|
23
|
+
'0': '#ffffff',
|
|
24
|
+
'50': '#f8f9fa',
|
|
25
|
+
'100': '#f1f3f5',
|
|
26
|
+
'200': '#e9ecef',
|
|
27
|
+
'300': '#dee2e6',
|
|
28
|
+
'400': '#ced4da',
|
|
29
|
+
'500': '#adb5bd',
|
|
30
|
+
'600': '#868e96',
|
|
31
|
+
'700': '#495057',
|
|
32
|
+
'800': '#343a40',
|
|
33
|
+
'900': '#212529',
|
|
34
|
+
},
|
|
35
|
+
success: { '500': '#40c057', '600': '#2f9e44' },
|
|
36
|
+
warning: { '500': '#fab005', '600': '#f08c00' },
|
|
37
|
+
danger: { '500': '#fa5252', '600': '#e03131' },
|
|
38
|
+
info: { '500': '#339af0', '600': '#1c7ed6' },
|
|
39
|
+
},
|
|
40
|
+
spacing: {
|
|
41
|
+
'0': '0',
|
|
42
|
+
'1': '0.25rem',
|
|
43
|
+
'2': '0.5rem',
|
|
44
|
+
'3': '0.75rem',
|
|
45
|
+
'4': '1rem',
|
|
46
|
+
'5': '1.25rem',
|
|
47
|
+
'6': '1.5rem',
|
|
48
|
+
'8': '2rem',
|
|
49
|
+
'10': '2.5rem',
|
|
50
|
+
'12': '3rem',
|
|
51
|
+
'16': '4rem',
|
|
52
|
+
},
|
|
53
|
+
radius: {
|
|
54
|
+
none: '0',
|
|
55
|
+
sm: '0.25rem',
|
|
56
|
+
md: '0.5rem',
|
|
57
|
+
lg: '0.75rem',
|
|
58
|
+
xl: '1rem',
|
|
59
|
+
full: '9999px',
|
|
60
|
+
},
|
|
61
|
+
shadow: {
|
|
62
|
+
xs: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',
|
|
63
|
+
sm: '0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)',
|
|
64
|
+
md: '0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)',
|
|
65
|
+
lg: '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)',
|
|
66
|
+
xl: '0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1)',
|
|
67
|
+
},
|
|
68
|
+
font: {
|
|
69
|
+
family: {
|
|
70
|
+
base: "'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif",
|
|
71
|
+
mono: "'JetBrains Mono', 'Fira Code', 'Consolas', monospace",
|
|
72
|
+
},
|
|
73
|
+
size: {
|
|
74
|
+
xs: '0.75rem',
|
|
75
|
+
sm: '0.875rem',
|
|
76
|
+
md: '1rem',
|
|
77
|
+
lg: '1.125rem',
|
|
78
|
+
xl: '1.25rem',
|
|
79
|
+
'2xl': '1.5rem',
|
|
80
|
+
'3xl': '1.875rem',
|
|
81
|
+
},
|
|
82
|
+
weight: {
|
|
83
|
+
regular: 400,
|
|
84
|
+
medium: 500,
|
|
85
|
+
semi: 600,
|
|
86
|
+
bold: 700,
|
|
87
|
+
},
|
|
88
|
+
lineHeight: {
|
|
89
|
+
tight: 1.25,
|
|
90
|
+
normal: 1.5,
|
|
91
|
+
loose: 1.75,
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
transition: {
|
|
95
|
+
fast: '150ms cubic-bezier(0.4, 0, 0.2, 1)',
|
|
96
|
+
normal: '250ms cubic-bezier(0.4, 0, 0.2, 1)',
|
|
97
|
+
slow: '350ms cubic-bezier(0.4, 0, 0.2, 1)',
|
|
98
|
+
},
|
|
99
|
+
zIndex: {
|
|
100
|
+
dropdown: 1000,
|
|
101
|
+
sticky: 1020,
|
|
102
|
+
fixed: 1030,
|
|
103
|
+
overlay: 1040,
|
|
104
|
+
modal: 1050,
|
|
105
|
+
popover: 1060,
|
|
106
|
+
tooltip: 1070,
|
|
107
|
+
},
|
|
108
|
+
};
|
|
109
|
+
//# sourceMappingURL=tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/theme/tokens.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAwBH,MAAM,CAAC,MAAM,MAAM,GAAkB;IACnC,KAAK,EAAE;QACL,OAAO,EAAE;YACP,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;SACjB;QACD,OAAO,EAAE;YACP,GAAG,EAAE,SAAS;YACd,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;SACjB;QACD,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;QAC/C,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;QAC/C,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;QAC9C,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;KAC7C;IACD,OAAO,EAAE;QACP,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,SAAS;QACd,GAAG,EAAE,QAAQ;QACb,GAAG,EAAE,SAAS;QACd,GAAG,EAAE,MAAM;QACX,GAAG,EAAE,SAAS;QACd,GAAG,EAAE,QAAQ;QACb,GAAG,EAAE,MAAM;QACX,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;KACb;IACD,MAAM,EAAE;QACN,IAAI,EAAE,GAAG;QACT,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,QAAQ;QACZ,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,QAAQ;KACf;IACD,MAAM,EAAE;QACN,EAAE,EAAE,iCAAiC;QACrC,EAAE,EAAE,mEAAmE;QACvE,EAAE,EAAE,sEAAsE;QAC1E,EAAE,EAAE,wEAAwE;QAC5E,EAAE,EAAE,yEAAyE;KAC9E;IACD,IAAI,EAAE;QACJ,MAAM,EAAE;YACN,IAAI,EAAE,oEAAoE;YAC1E,IAAI,EAAE,sDAAsD;SAC7D;QACD,IAAI,EAAE;YACJ,EAAE,EAAE,SAAS;YACb,EAAE,EAAE,UAAU;YACd,EAAE,EAAE,MAAM;YACV,EAAE,EAAE,UAAU;YACd,EAAE,EAAE,SAAS;YACb,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,UAAU;SAClB;QACD,MAAM,EAAE;YACN,OAAO,EAAE,GAAG;YACZ,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,GAAG;YACT,IAAI,EAAE,GAAG;SACV;QACD,UAAU,EAAE;YACV,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,IAAI;SACZ;KACF;IACD,UAAU,EAAE;QACV,IAAI,EAAE,oCAAoC;QAC1C,MAAM,EAAE,oCAAoC;QAC5C,IAAI,EAAE,oCAAoC;KAC3C;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;KACd;CACF,CAAC","sourcesContent":["/**\n * Tessera UI — Design Token Definitions\n *\n * These are the source-of-truth token definitions.\n * They feed into Style Dictionary to generate platform-specific outputs\n * (CSS custom properties, iOS, Android, etc.)\n */\n\nexport interface TesseraTokens {\n color: {\n primary: Record<string, string>;\n neutral: Record<string, string>;\n success: Record<string, string>;\n warning: Record<string, string>;\n danger: Record<string, string>;\n info: Record<string, string>;\n };\n spacing: Record<string, string>;\n radius: Record<string, string>;\n shadow: Record<string, string>;\n font: {\n family: Record<string, string>;\n size: Record<string, string>;\n weight: Record<string, number>;\n lineHeight: Record<string, number>;\n };\n transition: Record<string, string>;\n zIndex: Record<string, number>;\n}\n\nexport const tokens: TesseraTokens = {\n color: {\n primary: {\n '50': '#eef2ff',\n '100': '#dbe4ff',\n '200': '#bac8ff',\n '300': '#91a7ff',\n '400': '#748ffc',\n '500': '#5c7cfa',\n '600': '#4c6ef5',\n '700': '#4263eb',\n '800': '#3b5bdb',\n '900': '#364fc7',\n },\n neutral: {\n '0': '#ffffff',\n '50': '#f8f9fa',\n '100': '#f1f3f5',\n '200': '#e9ecef',\n '300': '#dee2e6',\n '400': '#ced4da',\n '500': '#adb5bd',\n '600': '#868e96',\n '700': '#495057',\n '800': '#343a40',\n '900': '#212529',\n },\n success: { '500': '#40c057', '600': '#2f9e44' },\n warning: { '500': '#fab005', '600': '#f08c00' },\n danger: { '500': '#fa5252', '600': '#e03131' },\n info: { '500': '#339af0', '600': '#1c7ed6' },\n },\n spacing: {\n '0': '0',\n '1': '0.25rem',\n '2': '0.5rem',\n '3': '0.75rem',\n '4': '1rem',\n '5': '1.25rem',\n '6': '1.5rem',\n '8': '2rem',\n '10': '2.5rem',\n '12': '3rem',\n '16': '4rem',\n },\n radius: {\n none: '0',\n sm: '0.25rem',\n md: '0.5rem',\n lg: '0.75rem',\n xl: '1rem',\n full: '9999px',\n },\n shadow: {\n xs: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',\n sm: '0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)',\n md: '0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)',\n lg: '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)',\n xl: '0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1)',\n },\n font: {\n family: {\n base: \"'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif\",\n mono: \"'JetBrains Mono', 'Fira Code', 'Consolas', monospace\",\n },\n size: {\n xs: '0.75rem',\n sm: '0.875rem',\n md: '1rem',\n lg: '1.125rem',\n xl: '1.25rem',\n '2xl': '1.5rem',\n '3xl': '1.875rem',\n },\n weight: {\n regular: 400,\n medium: 500,\n semi: 600,\n bold: 700,\n },\n lineHeight: {\n tight: 1.25,\n normal: 1.5,\n loose: 1.75,\n },\n },\n transition: {\n fast: '150ms cubic-bezier(0.4, 0, 0.2, 1)',\n normal: '250ms cubic-bezier(0.4, 0, 0.2, 1)',\n slow: '350ms cubic-bezier(0.4, 0, 0.2, 1)',\n },\n zIndex: {\n dropdown: 1000,\n sticky: 1020,\n fixed: 1030,\n overlay: 1040,\n modal: 1050,\n popover: 1060,\n tooltip: 1070,\n },\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG","sourcesContent":["/**\n * Tessera UI — Shared Types\n */\n\n/** Standard component sizes used across the library */\nexport type TsSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\n/** Semantic color variants */\nexport type TsVariant = 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info' | 'neutral';\n\n/** Button-style visual weight */\nexport type TsAppearance = 'solid' | 'outline' | 'ghost' | 'link';\n\n/** Standard orientation */\nexport type TsOrientation = 'horizontal' | 'vertical';\n\n/** Placement positions (for tooltips, popovers, etc.) */\nexport type TsPlacement =\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'left'\n | 'left-start'\n | 'left-end'\n | 'right'\n | 'right-start'\n | 'right-end';\n\n/** Shared event detail for value-change events */\nexport interface TsChangeEventDetail<T = unknown> {\n value: T;\n previousValue: T;\n}\n\n/** Shared event detail for toggle events */\nexport interface TsToggleEventDetail {\n checked: boolean;\n}\n\n/** Shared event detail for checkbox/radio change events */\nexport interface TsCheckboxChangeEventDetail {\n checked: boolean;\n value: string;\n}\n\n/** Shared event detail for select change events */\nexport interface TsSelectChangeEventDetail {\n value: string;\n}\n\n/** Shared event detail for form validation */\nexport interface TsValidationEventDetail {\n valid: boolean;\n message: string;\n}\n"]}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tessera UI — Accessibility Utilities
|
|
3
|
+
*
|
|
4
|
+
* Helpers for consistent ARIA patterns across components.
|
|
5
|
+
*/
|
|
6
|
+
/** Generate a unique ID for ARIA relationships */
|
|
7
|
+
let idCounter = 0;
|
|
8
|
+
export function generateId(prefix = 'q') {
|
|
9
|
+
idCounter += 1;
|
|
10
|
+
return `${prefix}-${idCounter}`;
|
|
11
|
+
}
|
|
12
|
+
/** Reset ID counter (for testing) */
|
|
13
|
+
export function resetIdCounter() {
|
|
14
|
+
idCounter = 0;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Announce a message to screen readers via a live region.
|
|
18
|
+
* Creates a temporary `aria-live` element, inserts the message,
|
|
19
|
+
* and removes it after the AT has time to read it.
|
|
20
|
+
*/
|
|
21
|
+
export function announce(message, priority = 'polite') {
|
|
22
|
+
const el = document.createElement('div');
|
|
23
|
+
el.setAttribute('aria-live', priority);
|
|
24
|
+
el.setAttribute('role', 'status');
|
|
25
|
+
el.setAttribute('aria-atomic', 'true');
|
|
26
|
+
Object.assign(el.style, {
|
|
27
|
+
position: 'absolute',
|
|
28
|
+
width: '1px',
|
|
29
|
+
height: '1px',
|
|
30
|
+
padding: '0',
|
|
31
|
+
margin: '-1px',
|
|
32
|
+
overflow: 'hidden',
|
|
33
|
+
clip: 'rect(0, 0, 0, 0)',
|
|
34
|
+
whiteSpace: 'nowrap',
|
|
35
|
+
border: '0',
|
|
36
|
+
});
|
|
37
|
+
document.body.appendChild(el);
|
|
38
|
+
// Delay to ensure the live region is registered before content is added
|
|
39
|
+
requestAnimationFrame(() => {
|
|
40
|
+
el.textContent = message;
|
|
41
|
+
setTimeout(() => el.remove(), 1000);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Check if the user prefers reduced motion.
|
|
46
|
+
*/
|
|
47
|
+
export function prefersReducedMotion() {
|
|
48
|
+
return window.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Trap focus within a container element.
|
|
52
|
+
* Returns a cleanup function to remove the trap.
|
|
53
|
+
*/
|
|
54
|
+
export function trapFocus(container) {
|
|
55
|
+
const focusableSelectors = [
|
|
56
|
+
'a[href]',
|
|
57
|
+
'button:not([disabled])',
|
|
58
|
+
'input:not([disabled])',
|
|
59
|
+
'select:not([disabled])',
|
|
60
|
+
'textarea:not([disabled])',
|
|
61
|
+
'[tabindex]:not([tabindex="-1"])',
|
|
62
|
+
].join(', ');
|
|
63
|
+
function handleKeydown(event) {
|
|
64
|
+
if (event.key !== 'Tab')
|
|
65
|
+
return;
|
|
66
|
+
const focusableElements = Array.from(container.querySelectorAll(focusableSelectors));
|
|
67
|
+
if (focusableElements.length === 0) {
|
|
68
|
+
event.preventDefault();
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
const firstFocusable = focusableElements[0];
|
|
72
|
+
const lastFocusable = focusableElements[focusableElements.length - 1];
|
|
73
|
+
if (event.shiftKey) {
|
|
74
|
+
if (document.activeElement === firstFocusable) {
|
|
75
|
+
event.preventDefault();
|
|
76
|
+
lastFocusable.focus();
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
if (document.activeElement === lastFocusable) {
|
|
81
|
+
event.preventDefault();
|
|
82
|
+
firstFocusable.focus();
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
container.addEventListener('keydown', handleKeydown);
|
|
87
|
+
return () => container.removeEventListener('keydown', handleKeydown);
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=aria.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aria.js","sourceRoot":"","sources":["../../src/utils/aria.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,kDAAkD;AAClD,IAAI,SAAS,GAAG,CAAC,CAAC;AAClB,MAAM,UAAU,UAAU,CAAC,MAAM,GAAG,GAAG;IACrC,SAAS,IAAI,CAAC,CAAC;IACf,OAAO,GAAG,MAAM,IAAI,SAAS,EAAE,CAAC;AAClC,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,cAAc;IAC5B,SAAS,GAAG,CAAC,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,WAAmC,QAAQ;IACnF,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACzC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACvC,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAClC,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACvC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE;QACtB,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,GAAG;QACZ,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,kBAAkB;QACxB,UAAU,EAAE,QAAQ;QACpB,MAAM,EAAE,GAAG;KACZ,CAAC,CAAC;IAEH,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAE9B,wEAAwE;IACxE,qBAAqB,CAAC,GAAG,EAAE;QACzB,EAAE,CAAC,WAAW,GAAG,OAAO,CAAC;QACzB,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,MAAM,CAAC,UAAU,CAAC,kCAAkC,CAAC,CAAC,OAAO,CAAC;AACvE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,SAAsB;IAC9C,MAAM,kBAAkB,GAAG;QACzB,SAAS;QACT,wBAAwB;QACxB,uBAAuB;QACvB,wBAAwB;QACxB,0BAA0B;QAC1B,iCAAiC;KAClC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,SAAS,aAAa,CAAC,KAAoB;QACzC,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK;YAAE,OAAO;QAEhC,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAClC,SAAS,CAAC,gBAAgB,CAAc,kBAAkB,CAAC,CAC5D,CAAC;QAEF,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,aAAa,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEtE,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,QAAQ,CAAC,aAAa,KAAK,cAAc,EAAE,CAAC;gBAC9C,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,aAAa,CAAC,KAAK,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,QAAQ,CAAC,aAAa,KAAK,aAAa,EAAE,CAAC;gBAC7C,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,cAAc,CAAC,KAAK,EAAE,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACrD,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AACvE,CAAC","sourcesContent":["/**\n * Tessera UI — Accessibility Utilities\n *\n * Helpers for consistent ARIA patterns across components.\n */\n\n/** Generate a unique ID for ARIA relationships */\nlet idCounter = 0;\nexport function generateId(prefix = 'q'): string {\n idCounter += 1;\n return `${prefix}-${idCounter}`;\n}\n\n/** Reset ID counter (for testing) */\nexport function resetIdCounter(): void {\n idCounter = 0;\n}\n\n/**\n * Announce a message to screen readers via a live region.\n * Creates a temporary `aria-live` element, inserts the message,\n * and removes it after the AT has time to read it.\n */\nexport function announce(message: string, priority: 'polite' | 'assertive' = 'polite'): void {\n const el = document.createElement('div');\n el.setAttribute('aria-live', priority);\n el.setAttribute('role', 'status');\n el.setAttribute('aria-atomic', 'true');\n Object.assign(el.style, {\n position: 'absolute',\n width: '1px',\n height: '1px',\n padding: '0',\n margin: '-1px',\n overflow: 'hidden',\n clip: 'rect(0, 0, 0, 0)',\n whiteSpace: 'nowrap',\n border: '0',\n });\n\n document.body.appendChild(el);\n\n // Delay to ensure the live region is registered before content is added\n requestAnimationFrame(() => {\n el.textContent = message;\n setTimeout(() => el.remove(), 1000);\n });\n}\n\n/**\n * Check if the user prefers reduced motion.\n */\nexport function prefersReducedMotion(): boolean {\n return window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n}\n\n/**\n * Trap focus within a container element.\n * Returns a cleanup function to remove the trap.\n */\nexport function trapFocus(container: HTMLElement): () => void {\n const focusableSelectors = [\n 'a[href]',\n 'button:not([disabled])',\n 'input:not([disabled])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n '[tabindex]:not([tabindex=\"-1\"])',\n ].join(', ');\n\n function handleKeydown(event: KeyboardEvent): void {\n if (event.key !== 'Tab') return;\n\n const focusableElements = Array.from(\n container.querySelectorAll<HTMLElement>(focusableSelectors)\n );\n\n if (focusableElements.length === 0) {\n event.preventDefault();\n return;\n }\n\n const firstFocusable = focusableElements[0];\n const lastFocusable = focusableElements[focusableElements.length - 1];\n\n if (event.shiftKey) {\n if (document.activeElement === firstFocusable) {\n event.preventDefault();\n lastFocusable.focus();\n }\n } else {\n if (document.activeElement === lastFocusable) {\n event.preventDefault();\n firstFocusable.focus();\n }\n }\n }\n\n container.addEventListener('keydown', handleKeydown);\n return () => container.removeEventListener('keydown', handleKeydown);\n}\n"]}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tessera UI — DOM Utilities
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Get the closest Tessera UI host element from within a shadow tree.
|
|
6
|
+
*/
|
|
7
|
+
export function getHostElement(el) {
|
|
8
|
+
const root = el.getRootNode();
|
|
9
|
+
if (root instanceof ShadowRoot) {
|
|
10
|
+
return root.host;
|
|
11
|
+
}
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Check if a slot has assigned content.
|
|
16
|
+
*/
|
|
17
|
+
export function hasSlotContent(el, slotName) {
|
|
18
|
+
const selector = slotName ? `slot[name="${slotName}"]` : 'slot:not([name])';
|
|
19
|
+
const slot = el.shadowRoot?.querySelector(selector);
|
|
20
|
+
if (!slot)
|
|
21
|
+
return false;
|
|
22
|
+
const nodes = slot.assignedNodes({ flatten: true });
|
|
23
|
+
return nodes.some((node) => node.nodeType === Node.ELEMENT_NODE ||
|
|
24
|
+
(node.nodeType === Node.TEXT_NODE && node.textContent?.trim() !== ''));
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Debounce a function call.
|
|
28
|
+
*/
|
|
29
|
+
export function debounce(fn, delay) {
|
|
30
|
+
let timer;
|
|
31
|
+
return (...args) => {
|
|
32
|
+
clearTimeout(timer);
|
|
33
|
+
timer = setTimeout(() => fn(...args), delay);
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Clamp a number between min and max.
|
|
38
|
+
*/
|
|
39
|
+
export function clamp(value, min, max) {
|
|
40
|
+
return Math.min(Math.max(value, min), max);
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=dom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dom.js","sourceRoot":"","sources":["../../src/utils/dom.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,EAAW;IACxC,MAAM,IAAI,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9B,IAAI,IAAI,YAAY,UAAU,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,IAAmB,CAAC;IAClC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,EAAe,EAAE,QAAiB;IAC/D,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,cAAc,QAAQ,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAC5E,MAAM,IAAI,GAAG,EAAE,CAAC,UAAU,EAAE,aAAa,CAAkB,QAAQ,CAAC,CAAC;IACrE,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,OAAO,KAAK,CAAC,IAAI,CACf,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY;QACnC,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CACxE,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CACtB,EAAK,EACL,KAAa;IAEb,IAAI,KAAoC,CAAC;IACzC,OAAO,CAAC,GAAG,IAAmB,EAAE,EAAE;QAChC,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IAC3D,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;AAC7C,CAAC","sourcesContent":["/**\n * Tessera UI — DOM Utilities\n */\n\n/**\n * Get the closest Tessera UI host element from within a shadow tree.\n */\nexport function getHostElement(el: Element): HTMLElement | null {\n const root = el.getRootNode();\n if (root instanceof ShadowRoot) {\n return root.host as HTMLElement;\n }\n return null;\n}\n\n/**\n * Check if a slot has assigned content.\n */\nexport function hasSlotContent(el: HTMLElement, slotName?: string): boolean {\n const selector = slotName ? `slot[name=\"${slotName}\"]` : 'slot:not([name])';\n const slot = el.shadowRoot?.querySelector<HTMLSlotElement>(selector);\n if (!slot) return false;\n const nodes = slot.assignedNodes({ flatten: true });\n return nodes.some(\n (node) =>\n node.nodeType === Node.ELEMENT_NODE ||\n (node.nodeType === Node.TEXT_NODE && node.textContent?.trim() !== '')\n );\n}\n\n/**\n * Debounce a function call.\n */\nexport function debounce<T extends (...args: unknown[]) => void>(\n fn: T,\n delay: number\n): (...args: Parameters<T>) => void {\n let timer: ReturnType<typeof setTimeout>;\n return (...args: Parameters<T>) => {\n clearTimeout(timer);\n timer = setTimeout(() => fn(...args), delay);\n };\n}\n\n/**\n * Clamp a number between min and max.\n */\nexport function clamp(value: number, min: number, max: number): number {\n return Math.min(Math.max(value, min), max);\n}\n"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tessera UI — Event Utilities
|
|
3
|
+
*
|
|
4
|
+
* Helpers for consistent custom event dispatch across components.
|
|
5
|
+
* All Tessera UI events bubble and are composed (cross shadow boundaries).
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Create and dispatch a custom event from an element.
|
|
9
|
+
* Returns true if the event was NOT cancelled.
|
|
10
|
+
*/
|
|
11
|
+
export function emitEvent(el, eventName, options) {
|
|
12
|
+
const event = new CustomEvent(eventName, {
|
|
13
|
+
detail: options.detail,
|
|
14
|
+
bubbles: options.bubbles ?? true,
|
|
15
|
+
composed: options.composed ?? true,
|
|
16
|
+
cancelable: options.cancelable ?? false,
|
|
17
|
+
});
|
|
18
|
+
return el.dispatchEvent(event);
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/utils/events.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH;;;GAGG;AACH,MAAM,UAAU,SAAS,CACvB,EAAe,EACf,SAAiB,EACjB,OAA0B;IAE1B,MAAM,KAAK,GAAG,IAAI,WAAW,CAAI,SAAS,EAAE;QAC1C,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI;QAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;QAClC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,KAAK;KACxC,CAAC,CAAC;IAEH,OAAO,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC","sourcesContent":["/**\n * Tessera UI — Event Utilities\n *\n * Helpers for consistent custom event dispatch across components.\n * All Tessera UI events bubble and are composed (cross shadow boundaries).\n */\n\nexport interface TsEventOptions<T> {\n detail: T;\n bubbles?: boolean;\n composed?: boolean;\n cancelable?: boolean;\n}\n\n/**\n * Create and dispatch a custom event from an element.\n * Returns true if the event was NOT cancelled.\n */\nexport function emitEvent<T>(\n el: HTMLElement,\n eventName: string,\n options: TsEventOptions<T>\n): boolean {\n const event = new CustomEvent<T>(eventName, {\n detail: options.detail,\n bubbles: options.bubbles ?? true,\n composed: options.composed ?? true,\n cancelable: options.cancelable ?? false,\n });\n\n return el.dispatchEvent(event);\n}\n"]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get the base path to where the assets can be found. Use "setAssetPath(path)"
|
|
3
|
+
* if the path needs to be customized.
|
|
4
|
+
*/
|
|
5
|
+
export declare const getAssetPath: (path: string) => string;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Used to manually set the base path where assets can be found.
|
|
9
|
+
* If the script is used as "module", it's recommended to use "import.meta.url",
|
|
10
|
+
* such as "setAssetPath(import.meta.url)". Other options include
|
|
11
|
+
* "setAssetPath(document.currentScript.src)", or using a bundler's replace plugin to
|
|
12
|
+
* dynamically set the path at build time, such as "setAssetPath(process.env.ASSET_PATH)".
|
|
13
|
+
* But do note that this configuration depends on how your script is bundled, or lack of
|
|
14
|
+
* bundling, and where your assets can be loaded from. Additionally custom bundling
|
|
15
|
+
* will have to ensure the static assets are copied to its build directory.
|
|
16
|
+
*/
|
|
17
|
+
export declare const setAssetPath: (path: string) => void;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Used to specify a nonce value that corresponds with an application's CSP.
|
|
21
|
+
* When set, the nonce will be added to all dynamically created script and style tags at runtime.
|
|
22
|
+
* Alternatively, the nonce value can be set on a meta tag in the DOM head
|
|
23
|
+
* (<meta name="csp-nonce" content="{ nonce value here }" />) which
|
|
24
|
+
* will result in the same behavior.
|
|
25
|
+
*/
|
|
26
|
+
export declare const setNonce: (nonce: string) => void
|
|
27
|
+
|
|
28
|
+
export interface SetPlatformOptions {
|
|
29
|
+
raf?: (c: FrameRequestCallback) => number;
|
|
30
|
+
ael?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
|
|
31
|
+
rel?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
|
|
32
|
+
}
|
|
33
|
+
export declare const setPlatformOptions: (opts: SetPlatformOptions) => void;
|
|
34
|
+
|
|
35
|
+
export * from '../types';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export{g as getAssetPath,r as render,s as setAssetPath,a as setNonce,b as setPlatformOptions}from"./p-DkpyRqHf.js";export{a as announce,g as generateId,p as prefersReducedMotion,t as trapFocus}from"./p-lpqZSiIf.js";export{T as TsIcon,g as getIcon,b as getRegisteredIconNames,a as registerIcon,r as registerIcons}from"./p-TFHAUMKT.js";export{T as TsTabs}from"./p-BFN5hUo4.js";export{T as TsTabPanel}from"./p-DFnNsZtI.js";export{T as TsSpinner}from"./p-C7JaUlNB.js";export{T as TsAvatar}from"./p-C8wd1644.js";export{T as TsDialog}from"./p-O8aQgWRZ.js";export{T as TsMenu}from"./p-Cy_Ad-Jy.js";export{T as TsMenuItem}from"./p-DwUH8YQW.js";export{T as TsTable}from"./p-DPQ1o4MP.js";export{T as TsAccordion}from"./p-CGh7W07E.js";export{T as TsAccordionItem}from"./p-BjiDgszq.js";export{T as TsBreadcrumb}from"./p-BcoU0ISN.js";export{T as TsBreadcrumbItem}from"./p-B0ZXNFSa.js";export{T as TsPagination}from"./p-BjyTgfXe.js";export{T as TsProgress}from"./p-CEQXPxzU.js";export{T as TsSlider}from"./p-zveaarwa.js";export{T as TsSkeleton}from"./p-v-L32wKy.js";export{T as TsToast}from"./p-mfB_pP4L.js";export{T as TsChip}from"./p-SopsdO_f.js";export{T as TsDivider}from"./p-DwJ7Jt3k.js";export{T as TsPopover}from"./p-faVXXwqR.js";export{T as TsTree}from"./p-BdzH6wlc.js";export{T as TsTreeItem}from"./p-DTAVTqnc.js";export{T as TsSwitchGroup}from"./p-Fot2uNwg.js";export{T as TsSwitchOption}from"./p-6RDSLDuS.js";export{T as TsToolbar}from"./p-DooMF1E0.js";export{T as TsEmptyState}from"./p-BlZHjan9.js";export{T as TsBanner}from"./p-CSNeA_zh.js";export{T as TsDrawer}from"./p-B_NL55YI.js";export{T as TsNav}from"./p-BP-fZfRb.js";export{T as TsNavItem}from"./p-CHtE5caV.js";export{T as TsDatePicker}from"./p-DlB-KfKY.js";export{T as TsFileUpload}from"./p-DMPxu5Po.js";export{T as TsStepper}from"./p-CkQOAizb.js";export{T as TsStep}from"./p-BCgm2utU.js";export{T as TsGrid}from"./p-BeErYjKz.js";export{T as TsContainer}from"./p-CbHlJvjF.js";export{T as TsStack}from"./p-DMuI5d5r.js";export{T as TsRow}from"./p-DhQ7X_TL.js";export{T as TsSpacer}from"./p-DD986daz.js";function o(s,o){const r=o?`slot[name="${o}"]`:"slot:not([name])";const e=s.shadowRoot?.querySelector(r);if(!e)return false;const t=e.assignedNodes({flatten:true});return t.some((s=>s.nodeType===Node.ELEMENT_NODE||s.nodeType===Node.TEXT_NODE&&s.textContent?.trim()!==""))}function e(s,o){let r;return(...e)=>{clearTimeout(r);r=setTimeout((()=>s(...e)),o)}}function f(s,o,r){return Math.min(Math.max(s,o),r)}function m(s,o,r){const e=new CustomEvent(o,{detail:r.detail,bubbles:r.bubbles??true,composed:r.composed??true,cancelable:r.cancelable??false});return s.dispatchEvent(e)}export{f as clamp,e as debounce,m as emitEvent,o as hasSlotContent};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["hasSlotContent","el","slotName","selector","slot","shadowRoot","querySelector","nodes","assignedNodes","flatten","some","node","nodeType","Node","ELEMENT_NODE","TEXT_NODE","textContent","trim","debounce","fn","delay","timer","args","clearTimeout","setTimeout","clamp","value","min","max","Math","emitEvent","eventName","options","event","CustomEvent","detail","bubbles","composed","cancelable","dispatchEvent"],"sources":["src/utils/dom.ts","src/utils/events.ts"],"sourcesContent":["/**\n * Tessera UI — DOM Utilities\n */\n\n/**\n * Get the closest Tessera UI host element from within a shadow tree.\n */\nexport function getHostElement(el: Element): HTMLElement | null {\n const root = el.getRootNode();\n if (root instanceof ShadowRoot) {\n return root.host as HTMLElement;\n }\n return null;\n}\n\n/**\n * Check if a slot has assigned content.\n */\nexport function hasSlotContent(el: HTMLElement, slotName?: string): boolean {\n const selector = slotName ? `slot[name=\"${slotName}\"]` : 'slot:not([name])';\n const slot = el.shadowRoot?.querySelector<HTMLSlotElement>(selector);\n if (!slot) return false;\n const nodes = slot.assignedNodes({ flatten: true });\n return nodes.some(\n (node) =>\n node.nodeType === Node.ELEMENT_NODE ||\n (node.nodeType === Node.TEXT_NODE && node.textContent?.trim() !== '')\n );\n}\n\n/**\n * Debounce a function call.\n */\nexport function debounce<T extends (...args: unknown[]) => void>(\n fn: T,\n delay: number\n): (...args: Parameters<T>) => void {\n let timer: ReturnType<typeof setTimeout>;\n return (...args: Parameters<T>) => {\n clearTimeout(timer);\n timer = setTimeout(() => fn(...args), delay);\n };\n}\n\n/**\n * Clamp a number between min and max.\n */\nexport function clamp(value: number, min: number, max: number): number {\n return Math.min(Math.max(value, min), max);\n}\n","/**\n * Tessera UI — Event Utilities\n *\n * Helpers for consistent custom event dispatch across components.\n * All Tessera UI events bubble and are composed (cross shadow boundaries).\n */\n\nexport interface TsEventOptions<T> {\n detail: T;\n bubbles?: boolean;\n composed?: boolean;\n cancelable?: boolean;\n}\n\n/**\n * Create and dispatch a custom event from an element.\n * Returns true if the event was NOT cancelled.\n */\nexport function emitEvent<T>(\n el: HTMLElement,\n eventName: string,\n options: TsEventOptions<T>\n): boolean {\n const event = new CustomEvent<T>(eventName, {\n detail: options.detail,\n bubbles: options.bubbles ?? true,\n composed: options.composed ?? true,\n cancelable: options.cancelable ?? false,\n });\n\n return el.dispatchEvent(event);\n}\n"],"mappings":"0gEAkBM,SAAUA,EAAeC,EAAiBC,GAC9C,MAAMC,EAAWD,EAAW,cAAcA,MAAe,mBACzD,MAAME,EAAOH,EAAGI,YAAYC,cAA+BH,GAC3D,IAAKC,EAAM,OAAO,MAClB,MAAMG,EAAQH,EAAKI,cAAc,CAAEC,QAAS,OAC5C,OAAOF,EAAMG,MACVC,GACCA,EAAKC,WAAaC,KAAKC,cACtBH,EAAKC,WAAaC,KAAKE,WAAaJ,EAAKK,aAAaC,SAAW,IAExE,CAKM,SAAUC,EACdC,EACAC,GAEA,IAAIC,EACJ,MAAO,IAAIC,KACTC,aAAaF,GACbA,EAAQG,YAAW,IAAML,KAAMG,IAAOF,EAAM,CAEhD,C,SAKgBK,EAAMC,EAAeC,EAAaC,GAChD,OAAOC,KAAKF,IAAIE,KAAKD,IAAIF,EAAOC,GAAMC,EACxC,C,SC/BgBE,EACd7B,EACA8B,EACAC,GAEA,MAAMC,EAAQ,IAAIC,YAAeH,EAAW,CAC1CI,OAAQH,EAAQG,OAChBC,QAASJ,EAAQI,SAAW,KAC5BC,SAAUL,EAAQK,UAAY,KAC9BC,WAAYN,EAAQM,YAAc,QAGpC,OAAOrC,EAAGsC,cAAcN,EAC1B,Q","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{t,p as s,H as i,d as e,h as a,c as o}from"./p-DkpyRqHf.js";import{d as c}from"./p-TFHAUMKT.js";const n=()=>`:host{display:inline-flex;flex:1;outline:none}.switch-option__base{display:inline-flex;align-items:center;justify-content:center;gap:var(--ts-spacing-1);inline-size:100%;padding-inline:var(--ts-spacing-3);padding-block:var(--ts-spacing-1);border-radius:calc(var(--ts-switch-group-radius, var(--ts-shape-interactive)) - 2px);cursor:pointer;user-select:none;white-space:nowrap;font-weight:var(--ts-font-weight-medium);color:var(--ts-color-text-secondary);transition:background-color var(--ts-transition-fast), color var(--ts-transition-fast), box-shadow var(--ts-transition-fast)}.switch-option__base:hover{color:var(--ts-color-text-primary)}:host(:focus-visible) .switch-option__base{box-shadow:var(--ts-focus-ring)}:host([active]) .switch-option__base{background-color:var(--ts-switch-group-active-bg, var(--ts-color-bg-elevated));color:var(--ts-color-text-primary);box-shadow:var(--ts-shadow-sm)}:host([disabled]) .switch-option__base{opacity:0.5;cursor:not-allowed;pointer-events:none}.switch-option__icon{display:inline-flex;align-items:center;flex-shrink:0}.switch-option__label{display:inline-flex;align-items:center}`;const r=s(class t extends i{constructor(t){super();if(t!==false){this.__registerHost()}this.__attachShadow();this.tsOptionSelect=e(this,"tsOptionSelect")}get hostEl(){return this}value;disabled=false;icon;active=false;tsOptionSelect;handleClick=()=>{if(this.disabled)return;this.tsOptionSelect.emit({value:this.value||""})};render(){return a(o,{key:"21e9caaea440e37c291991ef7e7cbde9446a4078",class:{"ts-switch-option":true,"ts-switch-option--active":this.active,"ts-switch-option--disabled":this.disabled},role:"radio",tabindex:this.active?0:-1,"aria-checked":String(this.active),"aria-disabled":this.disabled?"true":undefined,onClick:this.handleClick},a("div",{key:"8633d6def560f44c4f6c8dae01b42d187f590149",class:"switch-option__base",part:"base"},this.icon&&a("span",{key:"0c1ceca3c3f57e0dbf6841bad79136d93818d342",class:"switch-option__icon",part:"icon","aria-hidden":"true"},a("ts-icon",{key:"141990f023740c72e9aa7ccc40f9479ad7986cca",name:this.icon,size:"sm"})),a("span",{key:"a11e04f99cda8742f27251c58c5e65402c52597b",class:"switch-option__label"},a("slot",{key:"3d0a210f02eccfa6c5f68ab7f5cb6f41dc5413a9"}))))}static get style(){return n()}},[769,"ts-switch-option",{value:[513],disabled:[516],icon:[1],active:[1540]}]);function l(){if(typeof customElements==="undefined"){return}const s=["ts-switch-option","ts-icon"];s.forEach((s=>{switch(s){case"ts-switch-option":if(!customElements.get(t(s))){customElements.define(t(s),r)}break;case"ts-icon":if(!customElements.get(t(s))){c()}break}}))}l();export{r as T,l as d};
|
|
2
|
+
//# sourceMappingURL=p-6RDSLDuS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["switchOptionCss","TsSwitchOption","__stencil_proxyCustomElement","HTMLElement","value","disabled","icon","active","tsOptionSelect","handleClick","this","emit","render","h","Host","key","class","role","tabindex","String","undefined","onClick","part","name","size"],"sources":["src/components/switch-group/switch-option.css?tag=ts-switch-option&encapsulation=shadow","src/components/switch-group/switch-option.tsx"],"sourcesContent":["/* ==========================================================================\n ts-switch-option — Shadow DOM Scoped Styles\n ========================================================================== */\n\n:host {\n display: inline-flex;\n flex: 1;\n outline: none;\n}\n\n.switch-option__base {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--ts-spacing-1);\n inline-size: 100%;\n padding-inline: var(--ts-spacing-3);\n padding-block: var(--ts-spacing-1);\n border-radius: calc(var(--ts-switch-group-radius, var(--ts-shape-interactive)) - 2px);\n cursor: pointer;\n user-select: none;\n white-space: nowrap;\n font-weight: var(--ts-font-weight-medium);\n color: var(--ts-color-text-secondary);\n transition:\n background-color var(--ts-transition-fast),\n color var(--ts-transition-fast),\n box-shadow var(--ts-transition-fast);\n}\n\n.switch-option__base:hover {\n color: var(--ts-color-text-primary);\n}\n\n:host(:focus-visible) .switch-option__base {\n box-shadow: var(--ts-focus-ring);\n}\n\n/* ---- Active ---- */\n:host([active]) .switch-option__base {\n background-color: var(--ts-switch-group-active-bg, var(--ts-color-bg-elevated));\n color: var(--ts-color-text-primary);\n box-shadow: var(--ts-shadow-sm);\n}\n\n/* ---- Disabled ---- */\n:host([disabled]) .switch-option__base {\n opacity: 0.5;\n cursor: not-allowed;\n pointer-events: none;\n}\n\n/* ---- Icon ---- */\n.switch-option__icon {\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n}\n\n/* ---- Label ---- */\n.switch-option__label {\n display: inline-flex;\n align-items: center;\n}\n","import { Component, Prop, Event, h, Host, Element } from '@stencil/core';\nimport type { EventEmitter } from '@stencil/core';\n\n/**\n * @slot - Default slot for label text.\n *\n * @part base - The option container.\n * @part icon - The icon wrapper.\n */\n@Component({\n tag: 'ts-switch-option',\n styleUrl: 'switch-option.css',\n shadow: true,\n})\nexport class TsSwitchOption {\n @Element() hostEl!: HTMLElement;\n\n /** Unique identifier for this option. */\n @Prop({ reflect: true }) value?: string;\n\n /** Disables this option. */\n @Prop({ reflect: true }) disabled = false;\n\n /** Optional icon name. */\n @Prop() icon?: string;\n\n /** Whether this option is the active selection (set by parent). */\n @Prop({ reflect: true, mutable: true }) active = false;\n\n /** @internal Emitted when this option is clicked. */\n @Event({ eventName: 'tsOptionSelect', bubbles: true }) tsOptionSelect!: EventEmitter<{ value: string }>;\n\n private handleClick = (): void => {\n if (this.disabled) return;\n this.tsOptionSelect.emit({ value: this.value || '' });\n };\n\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n render() {\n return (\n <Host\n class={{\n 'ts-switch-option': true,\n 'ts-switch-option--active': this.active,\n 'ts-switch-option--disabled': this.disabled,\n }}\n role=\"radio\"\n tabindex={this.active ? 0 : -1}\n aria-checked={String(this.active)}\n aria-disabled={this.disabled ? 'true' : undefined}\n onClick={this.handleClick}\n >\n <div class=\"switch-option__base\" part=\"base\">\n {this.icon && (\n <span class=\"switch-option__icon\" part=\"icon\" aria-hidden=\"true\">\n <ts-icon name={this.icon} size=\"sm\" />\n </span>\n )}\n <span class=\"switch-option__label\">\n <slot />\n </span>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"sGAAA,MAAMA,EAAkB,IAAM,6mC,MCcjBC,EAAcC,EAAA,MAAAD,UAAAE,E,uJAIAC,MAGAC,SAAW,MAG5BC,KAGgCC,OAAS,MAGMC,eAE/CC,YAAc,KACpB,GAAIC,KAAKL,SAAU,OACnBK,KAAKF,eAAeG,KAAK,CAAEP,MAAOM,KAAKN,OAAS,IAAK,EAIvD,MAAAQ,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAO,CACL,mBAAoB,KACpB,2BAA4BN,KAAKH,OACjC,6BAA8BG,KAAKL,UAErCY,KAAK,QACLC,SAAUR,KAAKH,OAAS,GAAI,EAAE,eAChBY,OAAOT,KAAKH,QAAO,gBAClBG,KAAKL,SAAW,OAASe,UACxCC,QAASX,KAAKD,aAEdI,EAAA,OAAAE,IAAA,2CAAKC,MAAM,sBAAsBM,KAAK,QACnCZ,KAAKJ,MACJO,EAAA,QAAAE,IAAA,2CAAMC,MAAM,sBAAsBM,KAAK,OAAM,cAAa,QACxDT,EAAA,WAAAE,IAAA,2CAASQ,KAAMb,KAAKJ,KAAMkB,KAAK,QAGnCX,EAAA,QAAAE,IAAA,2CAAMC,MAAM,wBACVH,EAAA,QAAAE,IAAA,+C","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{t as e,p as r,H as t,h as a,c as s}from"./p-DkpyRqHf.js";const i=()=>`:host{display:contents}.breadcrumb-item__li{display:inline-flex;align-items:center;gap:var(--ts-spacing-1)}.breadcrumb-item__link{color:var(--ts-breadcrumb-link-color, var(--ts-color-interactive-primary));text-decoration:none;transition:color var(--ts-transition-fast)}.breadcrumb-item__link:hover{text-decoration:underline;text-underline-offset:2px}.breadcrumb-item__link:focus-visible{box-shadow:var(--ts-focus-ring);border-radius:var(--ts-radius-sm);outline:none}.breadcrumb-item__text{color:var(--ts-color-text-primary)}:host(.ts-breadcrumb-item--current) .breadcrumb-item__text{font-weight:var(--ts-font-weight-semi)}.breadcrumb-item__separator{color:var(--ts-breadcrumb-separator-color, var(--ts-color-text-tertiary));margin-inline:var(--ts-spacing-1);user-select:none}`;const c=r(class e extends t{constructor(e){super();if(e!==false){this.__registerHost()}this.__attachShadow()}href;current=false;separator;render(){const e=!!this.href&&!this.current;return a(s,{key:"dd4faad961e0208052a4bac87ea55a7ee7c21cb1",class:{"ts-breadcrumb-item":true,"ts-breadcrumb-item--current":this.current}},a("li",{key:"044de74c3a547b7384bb37b9c0a9899e19ad121a",class:"breadcrumb-item__li"},e?a("a",{href:this.href,part:"link",class:"breadcrumb-item__link"},a("slot",null)):a("span",{part:"link",class:"breadcrumb-item__text","aria-current":this.current?"page":undefined},a("slot",null)),this.separator&&a("span",{key:"429becb1278bd5db6b050535e70811f922a6ffbc",class:"breadcrumb-item__separator",part:"separator","aria-hidden":"true"},this.separator)))}static get style(){return i()}},[769,"ts-breadcrumb-item",{href:[1],current:[516],separator:[1]}]);function n(){if(typeof customElements==="undefined"){return}const r=["ts-breadcrumb-item"];r.forEach((r=>{switch(r){case"ts-breadcrumb-item":if(!customElements.get(e(r))){customElements.define(e(r),c)}break}}))}n();export{c as T,n as d};
|
|
2
|
+
//# sourceMappingURL=p-B0ZXNFSa.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["breadcrumbItemCss","TsBreadcrumbItem","__stencil_proxyCustomElement","HTMLElement","href","current","separator","render","isLink","this","h","Host","key","class","part","undefined"],"sources":["src/components/breadcrumb/breadcrumb-item.css?tag=ts-breadcrumb-item&encapsulation=shadow","src/components/breadcrumb/breadcrumb-item.tsx"],"sourcesContent":["/* ==========================================================================\n ts-breadcrumb-item — Shadow DOM Scoped Styles\n ========================================================================== */\n\n:host {\n display: contents;\n}\n\n.breadcrumb-item__li {\n display: inline-flex;\n align-items: center;\n gap: var(--ts-spacing-1);\n}\n\n.breadcrumb-item__link {\n color: var(--ts-breadcrumb-link-color, var(--ts-color-interactive-primary));\n text-decoration: none;\n transition: color var(--ts-transition-fast);\n}\n\n.breadcrumb-item__link:hover {\n text-decoration: underline;\n text-underline-offset: 2px;\n}\n\n.breadcrumb-item__link:focus-visible {\n box-shadow: var(--ts-focus-ring);\n border-radius: var(--ts-radius-sm);\n outline: none;\n}\n\n.breadcrumb-item__text {\n color: var(--ts-color-text-primary);\n}\n\n:host(.ts-breadcrumb-item--current) .breadcrumb-item__text {\n font-weight: var(--ts-font-weight-semi);\n}\n\n.breadcrumb-item__separator {\n color: var(--ts-breadcrumb-separator-color, var(--ts-color-text-tertiary));\n margin-inline: var(--ts-spacing-1);\n user-select: none;\n}\n","import { Component, Prop, h, Host } from '@stencil/core';\n\n/**\n * @slot - Default slot for label text.\n *\n * @part link - The anchor or span element.\n * @part separator - The separator element.\n */\n@Component({\n tag: 'ts-breadcrumb-item',\n styleUrl: 'breadcrumb-item.css',\n shadow: true,\n})\nexport class TsBreadcrumbItem {\n /** If set, renders as a link. */\n @Prop() href?: string;\n\n /** Marks this item as the current page. */\n @Prop({ reflect: true }) current = false;\n\n /** Separator character (set by parent ts-breadcrumb). */\n @Prop() separator?: string;\n\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n render() {\n const isLink = !!this.href && !this.current;\n\n return (\n <Host class={{ 'ts-breadcrumb-item': true, 'ts-breadcrumb-item--current': this.current }}>\n <li class=\"breadcrumb-item__li\">\n {isLink ? (\n <a href={this.href} part=\"link\" class=\"breadcrumb-item__link\">\n <slot />\n </a>\n ) : (\n <span\n part=\"link\"\n class=\"breadcrumb-item__text\"\n aria-current={this.current ? 'page' : undefined}\n >\n <slot />\n </span>\n )}\n {this.separator && (\n <span class=\"breadcrumb-item__separator\" part=\"separator\" aria-hidden=\"true\">\n {this.separator}\n </span>\n )}\n </li>\n </Host>\n );\n }\n}\n"],"mappings":"gEAAA,MAAMA,EAAoB,IAAM,0wB,MCanBC,EAAgBC,EAAA,MAAAD,UAAAE,E,iFAEnBC,KAGiBC,QAAU,MAG3BC,UAGR,MAAAC,GACE,MAAMC,IAAWC,KAAKL,OAASK,KAAKJ,QAEpC,OACEK,EAACC,EAAI,CAAAC,IAAA,2CAACC,MAAO,CAAE,qBAAsB,KAAM,8BAA+BJ,KAAKJ,UAC7EK,EAAA,MAAAE,IAAA,2CAAIC,MAAM,uBACPL,EACCE,EAAA,KAAGN,KAAMK,KAAKL,KAAMU,KAAK,OAAOD,MAAM,yBACpCH,EAAA,cAGFA,EAAA,QACEI,KAAK,OACLD,MAAM,wBAAuB,eACfJ,KAAKJ,QAAU,OAASU,WAEtCL,EAAA,cAGHD,KAAKH,WACJI,EAAA,QAAAE,IAAA,2CAAMC,MAAM,6BAA6BC,KAAK,YAAW,cAAa,QACnEL,KAAKH,Y","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{t,p as e,H as s,h as r,c as o}from"./p-DkpyRqHf.js";import{d as i}from"./p-TFHAUMKT.js";const a=()=>`:host{display:flex;font-family:var(--ts-font-family-base)}:host(.ts-step--horizontal){flex:1;flex-direction:column}:host(.ts-step--vertical){flex-direction:column}.step__wrapper{display:flex;flex-direction:column}:host(.ts-step--horizontal) .step__wrapper{flex-direction:column;align-items:center}:host(.ts-step--vertical) .step__wrapper{flex-direction:row;align-items:flex-start}.step__header{display:flex;align-items:center;gap:var(--ts-spacing-2)}:host(.ts-step--horizontal) .step__header{flex-direction:column;text-align:center}:host(.ts-step--vertical) .step__header{flex-direction:row}.step__indicator{display:flex;align-items:center;justify-content:center;inline-size:2rem;block-size:2rem;border-radius:var(--ts-radius-full);border:2px solid var(--ts-color-border-default);background-color:var(--ts-color-bg-elevated);color:var(--ts-color-text-tertiary);font-size:var(--ts-font-size-sm);font-weight:var(--ts-font-weight-semi);flex-shrink:0;transition:background-color var(--ts-transition-fast), border-color var(--ts-transition-fast), color var(--ts-transition-fast)}.step__indicator--active{border-color:var(--ts-stepper-active-color, var(--ts-color-interactive-primary));background-color:var(--ts-stepper-active-color, var(--ts-color-interactive-primary));color:var(--ts-color-text-on-primary, #fff)}.step__indicator--completed{border-color:var(--ts-stepper-completed-color, var(--ts-color-success-600));background-color:var(--ts-stepper-completed-color, var(--ts-color-success-600));color:#ffffff}.step__indicator--error{border-color:var(--ts-color-danger-500);background-color:var(--ts-color-danger-500);color:#ffffff}.step__icon{inline-size:1em;block-size:1em}.step__text{display:flex;flex-direction:column;gap:var(--ts-spacing-0, 2px)}.step__label{font-size:var(--ts-font-size-sm);font-weight:var(--ts-font-weight-semi);color:var(--ts-color-text-primary)}:host(.ts-step--active) .step__label{color:var(--ts-stepper-active-color, var(--ts-color-interactive-primary))}:host(.ts-step--disabled) .step__label{color:var(--ts-color-text-tertiary)}.step__description{font-size:var(--ts-font-size-xs);color:var(--ts-color-text-tertiary)}.step__connector{display:flex;align-items:center;justify-content:center;flex:1}:host(.ts-step--horizontal) .step__connector{padding-inline:var(--ts-spacing-2);min-inline-size:var(--ts-spacing-4);padding-block-start:var(--ts-spacing-4)}:host(.ts-step--vertical) .step__connector{padding-block:var(--ts-spacing-2);min-block-size:var(--ts-spacing-4);margin-inline-start:calc(1rem - 1px)}.step__connector-line{background-color:var(--ts-stepper-connector-color, var(--ts-color-border-default));transition:background-color var(--ts-transition-fast)}:host(.ts-step--horizontal) .step__connector-line{block-size:2px;inline-size:100%}:host(.ts-step--vertical) .step__connector-line{inline-size:2px;block-size:100%;min-block-size:var(--ts-spacing-6)}.step__connector-line--completed{background-color:var(--ts-stepper-completed-color, var(--ts-color-success-600))}.step__content{padding-block-start:var(--ts-spacing-2)}.step__content:empty{display:none}:host(.ts-step--disabled){opacity:0.5}`;const c=e(class t extends s{constructor(t){super();if(t!==false){this.__registerHost()}this.__attachShadow()}get hostEl(){return this}label;description;completed=false;error=false;disabled=false;icon;get index(){return parseInt(this.hostEl.getAttribute("data-index")||"0",10)}get isActive(){return this.hostEl.hasAttribute("data-active")}get hasConnector(){return this.hostEl.hasAttribute("data-has-connector")}get orientation(){return this.hostEl.getAttribute("data-orientation")||"horizontal"}renderIndicatorContent(){if(this.completed){return r("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"3","stroke-linecap":"round","stroke-linejoin":"round",class:"step__icon"},r("polyline",{points:"20 6 9 17 4 12"}))}if(this.error){return r("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"3","stroke-linecap":"round","stroke-linejoin":"round",class:"step__icon"},r("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),r("line",{x1:"6",y1:"6",x2:"18",y2:"18"}))}if(this.icon){return r("ts-icon",{name:this.icon,size:"sm"})}return r("span",null,this.index+1)}render(){return r(o,{key:"7746197313bcd00092bbd43bb8e590d9dc363b4e",class:{"ts-step":true,"ts-step--active":this.isActive,"ts-step--completed":this.completed,"ts-step--error":this.error,"ts-step--disabled":this.disabled,[`ts-step--${this.orientation}`]:true},role:"listitem","aria-current":this.isActive?"step":undefined,"aria-disabled":this.disabled?"true":undefined},r("div",{key:"b01e2dc30f9b3c4c5422fc9f58055b4e29e660c0",class:"step__wrapper",part:"step"},r("div",{key:"e8dc194bffaf1ad7dc73d0d7c3890059e39d23bc",class:"step__header"},r("div",{key:"b0b54d952b3882db999f62d04d942b9ff92f9566",class:{step__indicator:true,"step__indicator--active":this.isActive,"step__indicator--completed":this.completed,"step__indicator--error":this.error},part:"indicator"},this.renderIndicatorContent()),r("div",{key:"c634d466d5d1f6bab4a0f2a9dbe450d4b60a0c8b",class:"step__text"},this.label&&r("span",{key:"96dc52bcb324e4e2c96f5c09be2cebb0a4b0fdaf",class:"step__label",part:"label"},this.label),this.description&&r("span",{key:"863aac22befd3bb4f92c87ee7b5c24ab8d9c789a",class:"step__description",part:"description"},this.description))),this.hasConnector&&r("div",{key:"45ac15eac777bf1c38e0ffc3da8b667a55a584f7",class:"step__connector",part:"connector"},r("div",{key:"15375de53bfae186638eaa9af95574d7875868b8",class:{"step__connector-line":true,"step__connector-line--completed":this.completed}})),r("div",{key:"d5efc013d5b97850a2768464868eade08b953784",class:"step__content",part:"content"},r("slot",{key:"3b84a7d0ebe30fbce3cf5c16b7e515d33436d675"}))))}static get style(){return a()}},[769,"ts-step",{label:[1],description:[1],completed:[516],error:[516],disabled:[516],icon:[1]}]);function n(){if(typeof customElements==="undefined"){return}const e=["ts-step","ts-icon"];e.forEach((e=>{switch(e){case"ts-step":if(!customElements.get(t(e))){customElements.define(t(e),c)}break;case"ts-icon":if(!customElements.get(t(e))){i()}break}}))}n();export{c as T,n as d};
|
|
2
|
+
//# sourceMappingURL=p-BCgm2utU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["stepCss","TsStep","__stencil_proxyCustomElement","HTMLElement","label","description","completed","error","disabled","icon","index","parseInt","this","hostEl","getAttribute","isActive","hasAttribute","hasConnector","orientation","renderIndicatorContent","h","viewBox","fill","stroke","class","points","x1","y1","x2","y2","name","size","render","Host","key","role","undefined","part","step__indicator"],"sources":["src/components/stepper/step.css?tag=ts-step&encapsulation=shadow","src/components/stepper/step.tsx"],"sourcesContent":["/* ==========================================================================\n ts-step — Shadow DOM Scoped Styles\n ========================================================================== */\n\n:host {\n display: flex;\n font-family: var(--ts-font-family-base);\n}\n\n/* ---- Horizontal layout ---- */\n:host(.ts-step--horizontal) {\n flex: 1;\n flex-direction: column;\n}\n\n/* ---- Vertical layout ---- */\n:host(.ts-step--vertical) {\n flex-direction: column;\n}\n\n.step__wrapper {\n display: flex;\n flex-direction: column;\n}\n\n:host(.ts-step--horizontal) .step__wrapper {\n flex-direction: column;\n align-items: center;\n}\n\n:host(.ts-step--vertical) .step__wrapper {\n flex-direction: row;\n align-items: flex-start;\n}\n\n.step__header {\n display: flex;\n align-items: center;\n gap: var(--ts-spacing-2);\n}\n\n:host(.ts-step--horizontal) .step__header {\n flex-direction: column;\n text-align: center;\n}\n\n:host(.ts-step--vertical) .step__header {\n flex-direction: row;\n}\n\n/* ---- Indicator ---- */\n.step__indicator {\n display: flex;\n align-items: center;\n justify-content: center;\n inline-size: 2rem;\n block-size: 2rem;\n border-radius: var(--ts-radius-full);\n border: 2px solid var(--ts-color-border-default);\n background-color: var(--ts-color-bg-elevated);\n color: var(--ts-color-text-tertiary);\n font-size: var(--ts-font-size-sm);\n font-weight: var(--ts-font-weight-semi);\n flex-shrink: 0;\n transition:\n background-color var(--ts-transition-fast),\n border-color var(--ts-transition-fast),\n color var(--ts-transition-fast);\n}\n\n.step__indicator--active {\n border-color: var(--ts-stepper-active-color, var(--ts-color-interactive-primary));\n background-color: var(--ts-stepper-active-color, var(--ts-color-interactive-primary));\n color: var(--ts-color-text-on-primary, #fff);\n}\n\n.step__indicator--completed {\n border-color: var(--ts-stepper-completed-color, var(--ts-color-success-600));\n background-color: var(--ts-stepper-completed-color, var(--ts-color-success-600));\n color: #ffffff;\n}\n\n.step__indicator--error {\n border-color: var(--ts-color-danger-500);\n background-color: var(--ts-color-danger-500);\n color: #ffffff;\n}\n\n.step__icon {\n inline-size: 1em;\n block-size: 1em;\n}\n\n/* ---- Text ---- */\n.step__text {\n display: flex;\n flex-direction: column;\n gap: var(--ts-spacing-0, 2px);\n}\n\n.step__label {\n font-size: var(--ts-font-size-sm);\n font-weight: var(--ts-font-weight-semi);\n color: var(--ts-color-text-primary);\n}\n\n:host(.ts-step--active) .step__label {\n color: var(--ts-stepper-active-color, var(--ts-color-interactive-primary));\n}\n\n:host(.ts-step--disabled) .step__label {\n color: var(--ts-color-text-tertiary);\n}\n\n.step__description {\n font-size: var(--ts-font-size-xs);\n color: var(--ts-color-text-tertiary);\n}\n\n/* ---- Connector ---- */\n.step__connector {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1;\n}\n\n:host(.ts-step--horizontal) .step__connector {\n padding-inline: var(--ts-spacing-2);\n min-inline-size: var(--ts-spacing-4);\n padding-block-start: var(--ts-spacing-4);\n}\n\n:host(.ts-step--vertical) .step__connector {\n padding-block: var(--ts-spacing-2);\n min-block-size: var(--ts-spacing-4);\n margin-inline-start: calc(1rem - 1px);\n}\n\n.step__connector-line {\n background-color: var(--ts-stepper-connector-color, var(--ts-color-border-default));\n transition: background-color var(--ts-transition-fast);\n}\n\n:host(.ts-step--horizontal) .step__connector-line {\n block-size: 2px;\n inline-size: 100%;\n}\n\n:host(.ts-step--vertical) .step__connector-line {\n inline-size: 2px;\n block-size: 100%;\n min-block-size: var(--ts-spacing-6);\n}\n\n.step__connector-line--completed {\n background-color: var(--ts-stepper-completed-color, var(--ts-color-success-600));\n}\n\n/* ---- Content ---- */\n.step__content {\n padding-block-start: var(--ts-spacing-2);\n}\n\n.step__content:empty {\n display: none;\n}\n\n/* ---- Disabled ---- */\n:host(.ts-step--disabled) {\n opacity: 0.5;\n}\n","import { Component, Prop, h, Host, Element } from '@stencil/core';\n\n/**\n * @slot - Default slot for step content.\n *\n * @part step - The step wrapper.\n * @part indicator - The step number/icon circle.\n * @part label - The step label.\n * @part description - The step description.\n * @part connector - The connector line between steps.\n * @part content - The step content area.\n */\n@Component({\n tag: 'ts-step',\n styleUrl: 'step.css',\n shadow: true,\n})\nexport class TsStep {\n @Element() hostEl!: HTMLElement;\n\n /** The step label text. */\n @Prop() label?: string;\n\n /** Optional description text below the label. */\n @Prop() description?: string;\n\n /** Whether this step is completed. */\n @Prop({ reflect: true }) completed = false;\n\n /** Whether this step has an error. */\n @Prop({ reflect: true }) error = false;\n\n /** Whether this step is disabled. */\n @Prop({ reflect: true }) disabled = false;\n\n /** Optional custom icon name. */\n @Prop() icon?: string;\n\n private get index(): number {\n return parseInt(this.hostEl.getAttribute('data-index') || '0', 10);\n }\n\n private get isActive(): boolean {\n return this.hostEl.hasAttribute('data-active');\n }\n\n private get hasConnector(): boolean {\n return this.hostEl.hasAttribute('data-has-connector');\n }\n\n private get orientation(): string {\n return this.hostEl.getAttribute('data-orientation') || 'horizontal';\n }\n\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n private renderIndicatorContent() {\n if (this.completed) {\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"step__icon\">\n <polyline points=\"20 6 9 17 4 12\" />\n </svg>\n );\n }\n if (this.error) {\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"step__icon\">\n <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\" />\n <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\" />\n </svg>\n );\n }\n if (this.icon) {\n return <ts-icon name={this.icon} size=\"sm\" />;\n }\n return <span>{this.index + 1}</span>;\n }\n\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n render() {\n return (\n <Host\n class={{\n 'ts-step': true,\n 'ts-step--active': this.isActive,\n 'ts-step--completed': this.completed,\n 'ts-step--error': this.error,\n 'ts-step--disabled': this.disabled,\n [`ts-step--${this.orientation}`]: true,\n }}\n role=\"listitem\"\n aria-current={this.isActive ? 'step' : undefined}\n aria-disabled={this.disabled ? 'true' : undefined}\n >\n <div class=\"step__wrapper\" part=\"step\">\n <div class=\"step__header\">\n <div\n class={{\n 'step__indicator': true,\n 'step__indicator--active': this.isActive,\n 'step__indicator--completed': this.completed,\n 'step__indicator--error': this.error,\n }}\n part=\"indicator\"\n >\n {this.renderIndicatorContent()}\n </div>\n\n <div class=\"step__text\">\n {this.label && (\n <span class=\"step__label\" part=\"label\">\n {this.label}\n </span>\n )}\n {this.description && (\n <span class=\"step__description\" part=\"description\">\n {this.description}\n </span>\n )}\n </div>\n </div>\n\n {this.hasConnector && (\n <div class=\"step__connector\" part=\"connector\">\n <div\n class={{\n 'step__connector-line': true,\n 'step__connector-line--completed': this.completed,\n }}\n />\n </div>\n )}\n\n <div class=\"step__content\" part=\"content\">\n <slot />\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"+FAAA,MAAMA,EAAU,IAAM,6jG,MCiBTC,EAAMC,EAAA,MAAAD,UAAAE,E,0GAITC,MAGAC,YAGiBC,UAAY,MAGZC,MAAQ,MAGRC,SAAW,MAG5BC,KAER,SAAYC,GACV,OAAOC,SAASC,KAAKC,OAAOC,aAAa,eAAiB,IAAK,G,CAGjE,YAAYC,GACV,OAAOH,KAAKC,OAAOG,aAAa,c,CAGlC,gBAAYC,GACV,OAAOL,KAAKC,OAAOG,aAAa,qB,CAGlC,eAAYE,GACV,OAAON,KAAKC,OAAOC,aAAa,qBAAuB,Y,CAIjD,sBAAAK,GACN,GAAIP,KAAKN,UAAW,CAClB,OACEc,EAAA,OAAKC,QAAQ,YAAYC,KAAK,OAAOC,OAAO,eAAc,eAAc,IAAG,iBAAgB,QAAO,kBAAiB,QAAQC,MAAM,cAC/HJ,EAAA,YAAUK,OAAO,mB,CAIvB,GAAIb,KAAKL,MAAO,CACd,OACEa,EAAA,OAAKC,QAAQ,YAAYC,KAAK,OAAOC,OAAO,eAAc,eAAc,IAAG,iBAAgB,QAAO,kBAAiB,QAAQC,MAAM,cAC/HJ,EAAA,QAAMM,GAAG,KAAKC,GAAG,IAAIC,GAAG,IAAIC,GAAG,OAC/BT,EAAA,QAAMM,GAAG,IAAIC,GAAG,IAAIC,GAAG,KAAKC,GAAG,O,CAIrC,GAAIjB,KAAKH,KAAM,CACb,OAAOW,EAAA,WAASU,KAAMlB,KAAKH,KAAMsB,KAAK,M,CAExC,OAAOX,EAAA,YAAOR,KAAKF,MAAQ,E,CAI7B,MAAAsB,GACE,OACEZ,EAACa,EAAI,CAAAC,IAAA,2CACHV,MAAO,CACL,UAAW,KACX,kBAAmBZ,KAAKG,SACxB,qBAAsBH,KAAKN,UAC3B,iBAAkBM,KAAKL,MACvB,oBAAqBK,KAAKJ,SAC1B,CAAC,YAAYI,KAAKM,eAAgB,MAEpCiB,KAAK,WAAU,eACDvB,KAAKG,SAAW,OAASqB,UAAS,gBACjCxB,KAAKJ,SAAW,OAAS4B,WAExChB,EAAA,OAAAc,IAAA,2CAAKV,MAAM,gBAAgBa,KAAK,QAC9BjB,EAAA,OAAAc,IAAA,2CAAKV,MAAM,gBACTJ,EAAA,OAAAc,IAAA,2CACEV,MAAO,CACLc,gBAAmB,KACnB,0BAA2B1B,KAAKG,SAChC,6BAA8BH,KAAKN,UACnC,yBAA0BM,KAAKL,OAEjC8B,KAAK,aAEJzB,KAAKO,0BAGRC,EAAA,OAAAc,IAAA,2CAAKV,MAAM,cACRZ,KAAKR,OACJgB,EAAA,QAAAc,IAAA,2CAAMV,MAAM,cAAca,KAAK,SAC5BzB,KAAKR,OAGTQ,KAAKP,aACJe,EAAA,QAAAc,IAAA,2CAAMV,MAAM,oBAAoBa,KAAK,eAClCzB,KAAKP,eAMbO,KAAKK,cACJG,EAAA,OAAAc,IAAA,2CAAKV,MAAM,kBAAkBa,KAAK,aAChCjB,EAAA,OAAAc,IAAA,2CACEV,MAAO,CACL,uBAAwB,KACxB,kCAAmCZ,KAAKN,cAMhDc,EAAA,OAAAc,IAAA,2CAAKV,MAAM,gBAAgBa,KAAK,WAC9BjB,EAAA,QAAAc,IAAA,+C","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{t,p as a,H as s,d as r,h as e,c as o}from"./p-DkpyRqHf.js";import{d as i}from"./p-TFHAUMKT.js";const n=()=>`:host{display:block;font-family:var(--ts-font-family-base);--ts-tabs-border-color:var(--ts-color-border-default);--ts-tabs-active-color:var(--ts-color-interactive-primary);--ts-tabs-radius:var(--ts-radius-md)}.tabs__tablist{display:flex;gap:var(--ts-spacing-1);border-block-end:2px solid var(--ts-tabs-border-color)}.tabs__tab{display:inline-flex;align-items:center;gap:var(--ts-spacing-1);border:none;background:transparent;font-family:inherit;font-weight:var(--ts-font-weight-semi);color:var(--ts-color-text-secondary);cursor:pointer;position:relative;white-space:nowrap;transition:color var(--ts-transition-fast), background-color var(--ts-transition-fast), border-color var(--ts-transition-fast);outline:none;margin-block-end:-2px;border-block-end:2px solid transparent}.tabs__tab:focus-visible{box-shadow:var(--ts-focus-ring)}.tabs__tab:hover:not([disabled]){color:var(--ts-color-text-primary)}.tabs__tab--active{color:var(--ts-tabs-active-color);border-block-end-color:var(--ts-tabs-active-color)}.tabs__tab--disabled{opacity:0.5;cursor:not-allowed}:host([size="sm"]) .tabs__tab{padding:var(--ts-spacing-1) var(--ts-spacing-3);font-size:var(--ts-font-size-sm)}:host([size="md"]) .tabs__tab{padding:var(--ts-spacing-2) var(--ts-spacing-4);font-size:var(--ts-font-size-md)}:host([size="lg"]) .tabs__tab{padding:var(--ts-spacing-3) var(--ts-spacing-5);font-size:var(--ts-font-size-lg)}:host([variant="enclosed"]) .tabs__tablist{gap:0;border-block-end:2px solid var(--ts-tabs-border-color)}:host([variant="enclosed"]) .tabs__tab{border:2px solid transparent;border-block-end:2px solid var(--ts-tabs-border-color);border-start-start-radius:var(--ts-tabs-radius);border-start-end-radius:var(--ts-tabs-radius);margin-block-end:-2px}:host([variant="enclosed"]) .tabs__tab--active{border-color:var(--ts-tabs-border-color);border-block-end-color:var(--ts-color-bg-surface);background-color:var(--ts-color-bg-surface);color:var(--ts-tabs-active-color)}:host([variant="pill"]) .tabs__tablist{border-block-end:none;gap:var(--ts-spacing-1);background-color:var(--ts-color-bg-subtle);border-radius:var(--ts-tabs-radius);padding:var(--ts-spacing-1)}:host([variant="pill"]) .tabs__tab{border-block-end:none;border-radius:var(--ts-tabs-radius);margin-block-end:0}:host([variant="pill"]) .tabs__tab--active{background-color:var(--ts-color-bg-surface);color:var(--ts-tabs-active-color);box-shadow:var(--ts-shadow-sm)}.tabs__panels{padding-block-start:var(--ts-spacing-4)}.tabs__tab-icon{font-size:1em}`;const b=a(class t extends s{constructor(t){super();if(t!==false){this.__registerHost()}this.__attachShadow();this.tsChange=r(this,"tsChange")}get hostEl(){return this}value;variant="line";size="md";tsChange;handleValueChange(){this.updatePanelVisibility()}componentDidLoad(){if(!this.value){const t=this.getPanels();const a=t.find((t=>!t.hasAttribute("disabled")));if(a){this.value=a.getAttribute("value")||""}}this.updatePanelVisibility()}getPanels(){return Array.from(this.hostEl.querySelectorAll("ts-tab-panel"))}getTabData(){return this.getPanels().map((t=>({tab:t.getAttribute("tab")||"",value:t.getAttribute("value")||"",disabled:t.hasAttribute("disabled"),icon:t.getAttribute("icon")||undefined})))}updatePanelVisibility(){this.getPanels().forEach((t=>{const a=t.getAttribute("value")===this.value;t.style.display=a?"":"none"}))}handleTabClick(t,a){if(a||t===this.value)return;this.value=t;this.tsChange.emit({value:t});this.updatePanelVisibility()}handleKeydown=t=>{const a=this.getTabData();const s=a.filter((t=>!t.disabled));const r=s.findIndex((t=>t.value===this.value));let e=r;switch(t.key){case"ArrowRight":case"ArrowDown":t.preventDefault();e=(r+1)%s.length;break;case"ArrowLeft":case"ArrowUp":t.preventDefault();e=(r-1+s.length)%s.length;break;case"Home":t.preventDefault();e=0;break;case"End":t.preventDefault();e=s.length-1;break;default:return}const o=s[e];if(o){this.value=o.value;this.tsChange.emit({value:o.value});this.updatePanelVisibility();const t=this.hostEl.shadowRoot?.querySelectorAll('[role="tab"]');const s=a.findIndex((t=>t.value===o.value));t?.[s]?.focus()}};render(){const t=this.getTabData();return e(o,{key:"4494e457803734a1e75439fce33da557d2aa9b2e",class:{"ts-tabs":true,[`ts-tabs--${this.variant}`]:true,[`ts-tabs--${this.size}`]:true}},e("div",{key:"761806ffca4e983be0e85fa711eb30124a42a283",class:"tabs__tablist",part:"tablist",role:"tablist",onKeyDown:this.handleKeydown},t.map((t=>{const a=t.value===this.value;return e("button",{class:{tabs__tab:true,"tabs__tab--active":a,"tabs__tab--disabled":t.disabled},part:a?"tab tab-active":"tab",role:"tab",type:"button","aria-selected":a?"true":"false","aria-disabled":t.disabled?"true":undefined,tabindex:a?0:-1,disabled:t.disabled,onClick:()=>this.handleTabClick(t.value,t.disabled)},t.icon&&e("ts-icon",{name:t.icon,class:"tabs__tab-icon"}),t.tab)}))),e("div",{key:"3e6bb533aee14347410a621435fa695233bacb33",class:"tabs__panels",part:"panels"},e("slot",{key:"ccf531fbebef82784b1d412ef72828072595f7ee"})))}static get watchers(){return{value:[{handleValueChange:0}]}}static get style(){return n()}},[769,"ts-tabs",{value:[1537],variant:[513],size:[513]},undefined,{value:[{handleValueChange:0}]}]);function c(){if(typeof customElements==="undefined"){return}const a=["ts-tabs","ts-icon"];a.forEach((a=>{switch(a){case"ts-tabs":if(!customElements.get(t(a))){customElements.define(t(a),b)}break;case"ts-icon":if(!customElements.get(t(a))){i()}break}}))}c();export{b as T,c as d};
|
|
2
|
+
//# sourceMappingURL=p-BFN5hUo4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["tabsCss","TsTabs","__stencil_proxyCustomElement","HTMLElement","value","variant","size","tsChange","handleValueChange","this","updatePanelVisibility","componentDidLoad","panels","getPanels","firstEnabled","find","p","hasAttribute","getAttribute","Array","from","hostEl","querySelectorAll","getTabData","map","panel","tab","disabled","icon","undefined","forEach","isActive","style","display","handleTabClick","tabValue","emit","handleKeydown","event","tabs","enabledTabs","filter","t","currentIndex","findIndex","newIndex","key","preventDefault","length","newTab","tabButtons","shadowRoot","allTabIndex","focus","render","h","Host","class","part","role","onKeyDown","tabs__tab","type","tabindex","onClick","name"],"sources":["src/components/tabs/tabs.css?tag=ts-tabs&encapsulation=shadow","src/components/tabs/tabs.tsx"],"sourcesContent":["/* ==========================================================================\n ts-tabs — Shadow DOM Scoped Styles\n\n Component tokens (Tier 3):\n --ts-tabs-border-color Border color for tab bar\n --ts-tabs-active-color Active tab indicator color\n --ts-tabs-radius Border radius for enclosed/pill tabs\n ========================================================================== */\n\n:host {\n display: block;\n font-family: var(--ts-font-family-base);\n\n --ts-tabs-border-color: var(--ts-color-border-default);\n --ts-tabs-active-color: var(--ts-color-interactive-primary);\n --ts-tabs-radius: var(--ts-radius-md);\n}\n\n/* ---- Tab list ---- */\n.tabs__tablist {\n display: flex;\n gap: var(--ts-spacing-1);\n border-block-end: 2px solid var(--ts-tabs-border-color);\n}\n\n/* ---- Tab button base ---- */\n.tabs__tab {\n display: inline-flex;\n align-items: center;\n gap: var(--ts-spacing-1);\n border: none;\n background: transparent;\n font-family: inherit;\n font-weight: var(--ts-font-weight-semi);\n color: var(--ts-color-text-secondary);\n cursor: pointer;\n position: relative;\n white-space: nowrap;\n transition:\n color var(--ts-transition-fast),\n background-color var(--ts-transition-fast),\n border-color var(--ts-transition-fast);\n outline: none;\n margin-block-end: -2px;\n border-block-end: 2px solid transparent;\n}\n\n.tabs__tab:focus-visible {\n box-shadow: var(--ts-focus-ring);\n}\n\n.tabs__tab:hover:not([disabled]) {\n color: var(--ts-color-text-primary);\n}\n\n/* ---- Active tab (line variant) ---- */\n.tabs__tab--active {\n color: var(--ts-tabs-active-color);\n border-block-end-color: var(--ts-tabs-active-color);\n}\n\n/* ---- Disabled ---- */\n.tabs__tab--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* ---- Sizes ---- */\n:host([size=\"sm\"]) .tabs__tab {\n padding: var(--ts-spacing-1) var(--ts-spacing-3);\n font-size: var(--ts-font-size-sm);\n}\n\n:host([size=\"md\"]) .tabs__tab {\n padding: var(--ts-spacing-2) var(--ts-spacing-4);\n font-size: var(--ts-font-size-md);\n}\n\n:host([size=\"lg\"]) .tabs__tab {\n padding: var(--ts-spacing-3) var(--ts-spacing-5);\n font-size: var(--ts-font-size-lg);\n}\n\n/* ---- Enclosed variant ---- */\n:host([variant=\"enclosed\"]) .tabs__tablist {\n gap: 0;\n border-block-end: 2px solid var(--ts-tabs-border-color);\n}\n\n:host([variant=\"enclosed\"]) .tabs__tab {\n border: 2px solid transparent;\n border-block-end: 2px solid var(--ts-tabs-border-color);\n border-start-start-radius: var(--ts-tabs-radius);\n border-start-end-radius: var(--ts-tabs-radius);\n margin-block-end: -2px;\n}\n\n:host([variant=\"enclosed\"]) .tabs__tab--active {\n border-color: var(--ts-tabs-border-color);\n border-block-end-color: var(--ts-color-bg-surface);\n background-color: var(--ts-color-bg-surface);\n color: var(--ts-tabs-active-color);\n}\n\n/* ---- Pill variant ---- */\n:host([variant=\"pill\"]) .tabs__tablist {\n border-block-end: none;\n gap: var(--ts-spacing-1);\n background-color: var(--ts-color-bg-subtle);\n border-radius: var(--ts-tabs-radius);\n padding: var(--ts-spacing-1);\n}\n\n:host([variant=\"pill\"]) .tabs__tab {\n border-block-end: none;\n border-radius: var(--ts-tabs-radius);\n margin-block-end: 0;\n}\n\n:host([variant=\"pill\"]) .tabs__tab--active {\n background-color: var(--ts-color-bg-surface);\n color: var(--ts-tabs-active-color);\n box-shadow: var(--ts-shadow-sm);\n}\n\n/* ---- Panels ---- */\n.tabs__panels {\n padding-block-start: var(--ts-spacing-4);\n}\n\n/* ---- Tab icon ---- */\n.tabs__tab-icon {\n font-size: 1em;\n}\n","import { Component, Prop, Event, h, Host, Element, Watch } from '@stencil/core';\nimport type { EventEmitter } from '@stencil/core';\n\n/**\n * @slot - Default slot for `ts-tab-panel` children.\n *\n * @part tablist - The tab button container.\n * @part tab - Each individual tab button.\n * @part tab-active - The currently active tab button.\n * @part panels - The panel container.\n */\n@Component({\n tag: 'ts-tabs',\n styleUrl: 'tabs.css',\n shadow: true,\n})\nexport class TsTabs {\n @Element() hostEl!: HTMLElement;\n\n /** The value of the currently active tab. */\n @Prop({ mutable: true, reflect: true }) value?: string;\n\n /** Visual variant of the tab bar. */\n @Prop({ reflect: true }) variant: 'line' | 'enclosed' | 'pill' = 'line';\n\n /** The size of the tab buttons. */\n @Prop({ reflect: true }) size: 'sm' | 'md' | 'lg' = 'md';\n\n /** Emitted when the active tab changes. */\n @Event({ eventName: 'tsChange' }) tsChange!: EventEmitter<{ value: string }>;\n\n @Watch('value')\n handleValueChange(): void {\n this.updatePanelVisibility();\n }\n\n componentDidLoad(): void {\n // Default to first non-disabled tab if no value set\n if (!this.value) {\n const panels = this.getPanels();\n const firstEnabled = panels.find((p) => !p.hasAttribute('disabled'));\n if (firstEnabled) {\n this.value = firstEnabled.getAttribute('value') || '';\n }\n }\n this.updatePanelVisibility();\n }\n\n private getPanels(): Element[] {\n return Array.from(this.hostEl.querySelectorAll('ts-tab-panel'));\n }\n\n private getTabData(): Array<{ tab: string; value: string; disabled: boolean; icon?: string }> {\n return this.getPanels().map((panel) => ({\n tab: panel.getAttribute('tab') || '',\n value: panel.getAttribute('value') || '',\n disabled: panel.hasAttribute('disabled'),\n icon: panel.getAttribute('icon') || undefined,\n }));\n }\n\n private updatePanelVisibility(): void {\n this.getPanels().forEach((panel) => {\n const isActive = panel.getAttribute('value') === this.value;\n (panel as HTMLElement).style.display = isActive ? '' : 'none';\n });\n }\n\n private handleTabClick(tabValue: string, disabled: boolean): void {\n if (disabled || tabValue === this.value) return;\n this.value = tabValue;\n this.tsChange.emit({ value: tabValue });\n this.updatePanelVisibility();\n }\n\n private handleKeydown = (event: KeyboardEvent): void => {\n const tabs = this.getTabData();\n const enabledTabs = tabs.filter((t) => !t.disabled);\n const currentIndex = enabledTabs.findIndex((t) => t.value === this.value);\n\n let newIndex = currentIndex;\n\n switch (event.key) {\n case 'ArrowRight':\n case 'ArrowDown':\n event.preventDefault();\n newIndex = (currentIndex + 1) % enabledTabs.length;\n break;\n case 'ArrowLeft':\n case 'ArrowUp':\n event.preventDefault();\n newIndex = (currentIndex - 1 + enabledTabs.length) % enabledTabs.length;\n break;\n case 'Home':\n event.preventDefault();\n newIndex = 0;\n break;\n case 'End':\n event.preventDefault();\n newIndex = enabledTabs.length - 1;\n break;\n default:\n return;\n }\n\n const newTab = enabledTabs[newIndex];\n if (newTab) {\n this.value = newTab.value;\n this.tsChange.emit({ value: newTab.value });\n this.updatePanelVisibility();\n\n // Focus the new tab button\n const tabButtons = this.hostEl.shadowRoot?.querySelectorAll<HTMLButtonElement>('[role=\"tab\"]');\n const allTabIndex = tabs.findIndex((t) => t.value === newTab.value);\n tabButtons?.[allTabIndex]?.focus();\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n render() {\n const tabs = this.getTabData();\n\n return (\n <Host\n class={{\n 'ts-tabs': true,\n [`ts-tabs--${this.variant}`]: true,\n [`ts-tabs--${this.size}`]: true,\n }}\n >\n <div class=\"tabs__tablist\" part=\"tablist\" role=\"tablist\" onKeyDown={this.handleKeydown}>\n {tabs.map((t) => {\n const isActive = t.value === this.value;\n return (\n <button\n class={{\n 'tabs__tab': true,\n 'tabs__tab--active': isActive,\n 'tabs__tab--disabled': t.disabled,\n }}\n part={isActive ? 'tab tab-active' : 'tab'}\n role=\"tab\"\n type=\"button\"\n aria-selected={isActive ? 'true' : 'false'}\n aria-disabled={t.disabled ? 'true' : undefined}\n tabindex={isActive ? 0 : -1}\n disabled={t.disabled}\n onClick={() => this.handleTabClick(t.value, t.disabled)}\n >\n {t.icon && <ts-icon name={t.icon} class=\"tabs__tab-icon\" />}\n {t.tab}\n </button>\n );\n })}\n </div>\n <div class=\"tabs__panels\" part=\"panels\">\n <slot />\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"sGAAA,MAAMA,EAAU,IAAM,k8E,MCgBTC,EAAMC,EAAA,MAAAD,UAAAE,E,2IAIuBC,MAGfC,QAAwC,OAGxCC,KAA2B,KAGlBC,SAGlC,iBAAAC,GACEC,KAAKC,uB,CAGP,gBAAAC,GAEE,IAAKF,KAAKL,MAAO,CACf,MAAMQ,EAASH,KAAKI,YACpB,MAAMC,EAAeF,EAAOG,MAAMC,IAAOA,EAAEC,aAAa,cACxD,GAAIH,EAAc,CAChBL,KAAKL,MAAQU,EAAaI,aAAa,UAAY,E,EAGvDT,KAAKC,uB,CAGC,SAAAG,GACN,OAAOM,MAAMC,KAAKX,KAAKY,OAAOC,iBAAiB,gB,CAGzC,UAAAC,GACN,OAAOd,KAAKI,YAAYW,KAAKC,IAAK,CAChCC,IAAKD,EAAMP,aAAa,QAAU,GAClCd,MAAOqB,EAAMP,aAAa,UAAY,GACtCS,SAAUF,EAAMR,aAAa,YAC7BW,KAAMH,EAAMP,aAAa,SAAWW,a,CAIhC,qBAAAnB,GACND,KAAKI,YAAYiB,SAASL,IACxB,MAAMM,EAAWN,EAAMP,aAAa,WAAaT,KAAKL,MACrDqB,EAAsBO,MAAMC,QAAUF,EAAW,GAAK,MAAM,G,CAIzD,cAAAG,CAAeC,EAAkBR,GACvC,GAAIA,GAAYQ,IAAa1B,KAAKL,MAAO,OACzCK,KAAKL,MAAQ+B,EACb1B,KAAKF,SAAS6B,KAAK,CAAEhC,MAAO+B,IAC5B1B,KAAKC,uB,CAGC2B,cAAiBC,IACvB,MAAMC,EAAO9B,KAAKc,aAClB,MAAMiB,EAAcD,EAAKE,QAAQC,IAAOA,EAAEf,WAC1C,MAAMgB,EAAeH,EAAYI,WAAWF,GAAMA,EAAEtC,QAAUK,KAAKL,QAEnE,IAAIyC,EAAWF,EAEf,OAAQL,EAAMQ,KACZ,IAAK,aACL,IAAK,YACHR,EAAMS,iBACNF,GAAYF,EAAe,GAAKH,EAAYQ,OAC5C,MACF,IAAK,YACL,IAAK,UACHV,EAAMS,iBACNF,GAAYF,EAAe,EAAIH,EAAYQ,QAAUR,EAAYQ,OACjE,MACF,IAAK,OACHV,EAAMS,iBACNF,EAAW,EACX,MACF,IAAK,MACHP,EAAMS,iBACNF,EAAWL,EAAYQ,OAAS,EAChC,MACF,QACE,OAGJ,MAAMC,EAAST,EAAYK,GAC3B,GAAII,EAAQ,CACVxC,KAAKL,MAAQ6C,EAAO7C,MACpBK,KAAKF,SAAS6B,KAAK,CAAEhC,MAAO6C,EAAO7C,QACnCK,KAAKC,wBAGL,MAAMwC,EAAazC,KAAKY,OAAO8B,YAAY7B,iBAAoC,gBAC/E,MAAM8B,EAAcb,EAAKK,WAAWF,GAAMA,EAAEtC,QAAU6C,EAAO7C,QAC7D8C,IAAaE,IAAcC,O,GAK/B,MAAAC,GACE,MAAMf,EAAO9B,KAAKc,aAElB,OACEgC,EAACC,EAAI,CAAAV,IAAA,2CACHW,MAAO,CACL,UAAW,KACX,CAAC,YAAYhD,KAAKJ,WAAY,KAC9B,CAAC,YAAYI,KAAKH,QAAS,OAG7BiD,EAAA,OAAAT,IAAA,2CAAKW,MAAM,gBAAgBC,KAAK,UAAUC,KAAK,UAAUC,UAAWnD,KAAK4B,eACtEE,EAAKf,KAAKkB,IACT,MAAMX,EAAWW,EAAEtC,QAAUK,KAAKL,MAClC,OACEmD,EAAA,UACEE,MAAO,CACLI,UAAa,KACb,oBAAqB9B,EACrB,sBAAuBW,EAAEf,UAE3B+B,KAAM3B,EAAW,iBAAmB,MACpC4B,KAAK,MACLG,KAAK,SAAQ,gBACE/B,EAAW,OAAS,QAAO,gBAC3BW,EAAEf,SAAW,OAASE,UACrCkC,SAAUhC,EAAW,GAAI,EACzBJ,SAAUe,EAAEf,SACZqC,QAAS,IAAMvD,KAAKyB,eAAeQ,EAAEtC,MAAOsC,EAAEf,WAE7Ce,EAAEd,MAAQ2B,EAAA,WAASU,KAAMvB,EAAEd,KAAM6B,MAAM,mBACvCf,EAAEhB,IACI,KAIf6B,EAAA,OAAAT,IAAA,2CAAKW,MAAM,eAAeC,KAAK,UAC7BH,EAAA,QAAAT,IAAA,8C","ignoreList":[]}
|