@webjsdev/ui 0.3.17 → 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/README.md +66 -7
- package/THIRD_PARTY_NOTICES.md +349 -0
- package/package.json +4 -2
- package/packages/registry/blocks/_shared/placeholder.svg +1 -0
- package/packages/registry/blocks/charts/chart-area-axes.ts +72 -0
- package/packages/registry/blocks/charts/chart-area-default.ts +64 -0
- package/packages/registry/blocks/charts/chart-area-gradient.ts +82 -0
- package/packages/registry/blocks/charts/chart-area-icons.ts +77 -0
- package/packages/registry/blocks/charts/chart-area-interactive.ts +204 -0
- package/packages/registry/blocks/charts/chart-area-legend.ts +72 -0
- package/packages/registry/blocks/charts/chart-area-linear.ts +64 -0
- package/packages/registry/blocks/charts/chart-area-stacked-expand.ts +77 -0
- package/packages/registry/blocks/charts/chart-area-stacked.ts +71 -0
- package/packages/registry/blocks/charts/chart-area-step.ts +68 -0
- package/packages/registry/blocks/charts/chart-bar-active.ts +93 -0
- package/packages/registry/blocks/charts/chart-bar-default.ts +60 -0
- package/packages/registry/blocks/charts/chart-bar-horizontal.ts +62 -0
- package/packages/registry/blocks/charts/chart-bar-interactive.ts +185 -0
- package/packages/registry/blocks/charts/chart-bar-label-custom.ts +78 -0
- package/packages/registry/blocks/charts/chart-bar-label.ts +66 -0
- package/packages/registry/blocks/charts/chart-bar-mixed.ts +87 -0
- package/packages/registry/blocks/charts/chart-bar-multiple.ts +67 -0
- package/packages/registry/blocks/charts/chart-bar-negative.ts +61 -0
- package/packages/registry/blocks/charts/chart-bar-stacked.ts +68 -0
- package/packages/registry/blocks/charts/chart-line-default.ts +61 -0
- package/packages/registry/blocks/charts/chart-line-dots-colors.ts +86 -0
- package/packages/registry/blocks/charts/chart-line-dots-custom.ts +75 -0
- package/packages/registry/blocks/charts/chart-line-dots.ts +65 -0
- package/packages/registry/blocks/charts/chart-line-interactive.ts +185 -0
- package/packages/registry/blocks/charts/chart-line-label-custom.ts +94 -0
- package/packages/registry/blocks/charts/chart-line-label.ts +73 -0
- package/packages/registry/blocks/charts/chart-line-linear.ts +61 -0
- package/packages/registry/blocks/charts/chart-line-multiple.ts +71 -0
- package/packages/registry/blocks/charts/chart-line-step.ts +61 -0
- package/packages/registry/blocks/charts/chart-pie-donut-active.ts +86 -0
- package/packages/registry/blocks/charts/chart-pie-donut-text.ts +89 -0
- package/packages/registry/blocks/charts/chart-pie-donut.ts +77 -0
- package/packages/registry/blocks/charts/chart-pie-interactive.ts +120 -0
- package/packages/registry/blocks/charts/chart-pie-label-custom.ts +82 -0
- package/packages/registry/blocks/charts/chart-pie-label-list.ts +86 -0
- package/packages/registry/blocks/charts/chart-pie-label.ts +77 -0
- package/packages/registry/blocks/charts/chart-pie-legend.ts +79 -0
- package/packages/registry/blocks/charts/chart-pie-separator-none.ts +77 -0
- package/packages/registry/blocks/charts/chart-pie-simple.ts +77 -0
- package/packages/registry/blocks/charts/chart-pie-stacked.ts +99 -0
- package/packages/registry/blocks/charts/chart-radar-default.ts +61 -0
- package/packages/registry/blocks/charts/chart-radar-dots.ts +61 -0
- package/packages/registry/blocks/charts/chart-radar-grid-circle-fill.ts +61 -0
- package/packages/registry/blocks/charts/chart-radar-grid-circle-no-lines.ts +61 -0
- package/packages/registry/blocks/charts/chart-radar-grid-circle.ts +61 -0
- package/packages/registry/blocks/charts/chart-radar-grid-custom.ts +61 -0
- package/packages/registry/blocks/charts/chart-radar-grid-fill.ts +61 -0
- package/packages/registry/blocks/charts/chart-radar-grid-none.ts +60 -0
- package/packages/registry/blocks/charts/chart-radar-icons.ts +76 -0
- package/packages/registry/blocks/charts/chart-radar-label-custom.ts +77 -0
- package/packages/registry/blocks/charts/chart-radar-legend.ts +70 -0
- package/packages/registry/blocks/charts/chart-radar-lines-only.ts +68 -0
- package/packages/registry/blocks/charts/chart-radar-multiple.ts +68 -0
- package/packages/registry/blocks/charts/chart-radar-radius.ts +68 -0
- package/packages/registry/blocks/charts/chart-radial-grid.ts +80 -0
- package/packages/registry/blocks/charts/chart-radial-label.ts +85 -0
- package/packages/registry/blocks/charts/chart-radial-shape.ts +81 -0
- package/packages/registry/blocks/charts/chart-radial-simple.ts +79 -0
- package/packages/registry/blocks/charts/chart-radial-stacked.ts +69 -0
- package/packages/registry/blocks/charts/chart-radial-text.ts +82 -0
- package/packages/registry/blocks/charts/chart-tooltip-advanced.ts +84 -0
- package/packages/registry/blocks/charts/chart-tooltip-default.ts +62 -0
- package/packages/registry/blocks/charts/chart-tooltip-formatter.ts +75 -0
- package/packages/registry/blocks/charts/chart-tooltip-icons.ts +68 -0
- package/packages/registry/blocks/charts/chart-tooltip-indicator-line.ts +62 -0
- package/packages/registry/blocks/charts/chart-tooltip-indicator-none.ts +62 -0
- package/packages/registry/blocks/charts/chart-tooltip-label-custom.ts +65 -0
- package/packages/registry/blocks/charts/chart-tooltip-label-formatter.ts +66 -0
- package/packages/registry/blocks/charts/chart-tooltip-label-none.ts +62 -0
- package/packages/registry/blocks/dashboard-01/components/app-sidebar.ts +108 -0
- package/packages/registry/blocks/dashboard-01/components/chart-area-interactive.ts +276 -0
- package/packages/registry/blocks/dashboard-01/components/dashboard-data.ts +89 -0
- package/packages/registry/blocks/dashboard-01/components/data-table.ts +637 -0
- package/packages/registry/blocks/dashboard-01/components/nav-documents.ts +65 -0
- package/packages/registry/blocks/dashboard-01/components/nav-main.ts +61 -0
- package/packages/registry/blocks/dashboard-01/components/nav-secondary.ts +40 -0
- package/packages/registry/blocks/dashboard-01/components/nav-user.ts +66 -0
- package/packages/registry/blocks/dashboard-01/components/section-cards.ts +59 -0
- package/packages/registry/blocks/dashboard-01/components/site-header.ts +52 -0
- package/packages/registry/blocks/dashboard-01/page.ts +39 -0
- package/packages/registry/blocks/login-01/components/login-form.ts +70 -0
- package/packages/registry/blocks/login-01/page.ts +19 -0
- package/packages/registry/blocks/login-02/components/login-form.ts +68 -0
- package/packages/registry/blocks/login-02/page.ts +36 -0
- package/packages/registry/blocks/login-03/components/login-form.ts +89 -0
- package/packages/registry/blocks/login-03/page.ts +28 -0
- package/packages/registry/blocks/login-04/components/login-form.ts +91 -0
- package/packages/registry/blocks/login-04/page.ts +20 -0
- package/packages/registry/blocks/login-05/components/login-form.ts +75 -0
- package/packages/registry/blocks/login-05/page.ts +19 -0
- package/packages/registry/blocks/preview/cards/activate-agent-dialog.ts +77 -0
- package/packages/registry/blocks/preview/cards/analytics-card.ts +64 -0
- package/packages/registry/blocks/preview/cards/anomaly-alert.ts +35 -0
- package/packages/registry/blocks/preview/cards/bar-chart-card.ts +91 -0
- package/packages/registry/blocks/preview/cards/book-appointment.ts +51 -0
- package/packages/registry/blocks/preview/cards/codespaces-card.ts +172 -0
- package/packages/registry/blocks/preview/cards/contributions-activity.ts +63 -0
- package/packages/registry/blocks/preview/cards/contributors.ts +51 -0
- package/packages/registry/blocks/preview/cards/environment-variables.ts +47 -0
- package/packages/registry/blocks/preview/cards/feedback-form.ts +61 -0
- package/packages/registry/blocks/preview/cards/file-upload.ts +51 -0
- package/packages/registry/blocks/preview/cards/github-profile.ts +66 -0
- package/packages/registry/blocks/preview/cards/icon-preview-grid.ts +47 -0
- package/packages/registry/blocks/preview/cards/invite-team.ts +78 -0
- package/packages/registry/blocks/preview/cards/invoice.ts +91 -0
- package/packages/registry/blocks/preview/cards/live-waveform.ts +330 -0
- package/packages/registry/blocks/preview/cards/no-team-members.ts +61 -0
- package/packages/registry/blocks/preview/cards/not-found.ts +46 -0
- package/packages/registry/blocks/preview/cards/observability-card.ts +44 -0
- package/packages/registry/blocks/preview/cards/pie-chart-card.ts +84 -0
- package/packages/registry/blocks/preview/cards/report-bug.ts +71 -0
- package/packages/registry/blocks/preview/cards/shipping-address.ts +79 -0
- package/packages/registry/blocks/preview/cards/shortcuts.ts +57 -0
- package/packages/registry/blocks/preview/cards/skeleton-loading.ts +37 -0
- package/packages/registry/blocks/preview/cards/sleep-report.ts +85 -0
- package/packages/registry/blocks/preview/cards/style-overview.ts +64 -0
- package/packages/registry/blocks/preview/cards/typography-specimen.ts +107 -0
- package/packages/registry/blocks/preview/cards/ui-elements.ts +164 -0
- package/packages/registry/blocks/preview/cards/usage-card.ts +63 -0
- package/packages/registry/blocks/preview/cards/visitors.ts +71 -0
- package/packages/registry/blocks/preview/cards/weekly-fitness-summary.ts +54 -0
- package/packages/registry/blocks/preview/page.ts +103 -0
- package/packages/registry/blocks/preview-02/cards/account-access.ts +70 -0
- package/packages/registry/blocks/preview-02/cards/card-overview.ts +75 -0
- package/packages/registry/blocks/preview-02/cards/claimable-balance.ts +54 -0
- package/packages/registry/blocks/preview-02/cards/contribution-history.ts +80 -0
- package/packages/registry/blocks/preview-02/cards/cover-art.ts +41 -0
- package/packages/registry/blocks/preview-02/cards/dividend-income.ts +76 -0
- package/packages/registry/blocks/preview-02/cards/empty-connect-bank.ts +38 -0
- package/packages/registry/blocks/preview-02/cards/empty-distribute-track.ts +38 -0
- package/packages/registry/blocks/preview-02/cards/empty-explore-catalog.ts +39 -0
- package/packages/registry/blocks/preview-02/cards/faq.ts +79 -0
- package/packages/registry/blocks/preview-02/cards/front-door.ts +40 -0
- package/packages/registry/blocks/preview-02/cards/index-investing.ts +31 -0
- package/packages/registry/blocks/preview-02/cards/kitchen-island.ts +90 -0
- package/packages/registry/blocks/preview-02/cards/loading-card.ts +34 -0
- package/packages/registry/blocks/preview-02/cards/new-milestone.ts +53 -0
- package/packages/registry/blocks/preview-02/cards/notification-settings.ts +126 -0
- package/packages/registry/blocks/preview-02/cards/payments.ts +88 -0
- package/packages/registry/blocks/preview-02/cards/payout-threshold.ts +92 -0
- package/packages/registry/blocks/preview-02/cards/power-usage.ts +84 -0
- package/packages/registry/blocks/preview-02/cards/preferences.ts +89 -0
- package/packages/registry/blocks/preview-02/cards/qr-connect.ts +54 -0
- package/packages/registry/blocks/preview-02/cards/receiving-method.ts +89 -0
- package/packages/registry/blocks/preview-02/cards/recent-transactions.ts +101 -0
- package/packages/registry/blocks/preview-02/cards/release-catalog.ts +73 -0
- package/packages/registry/blocks/preview-02/cards/roller-shades.ts +110 -0
- package/packages/registry/blocks/preview-02/cards/savings-progress.ts +68 -0
- package/packages/registry/blocks/preview-02/cards/savings-targets.ts +132 -0
- package/packages/registry/blocks/preview-02/cards/sidebar-nav.ts +88 -0
- package/packages/registry/blocks/preview-02/cards/social-links.ts +57 -0
- package/packages/registry/blocks/preview-02/cards/stock-performance.ts +106 -0
- package/packages/registry/blocks/preview-02/cards/syncing-state.ts +37 -0
- package/packages/registry/blocks/preview-02/cards/transfer-funds.ts +111 -0
- package/packages/registry/blocks/preview-02/cards/upcoming-payments.ts +69 -0
- package/packages/registry/blocks/preview-02/page.ts +111 -0
- package/packages/registry/blocks/preview-03/cards/files-chat.ts +75 -0
- package/packages/registry/blocks/preview-03/cards/group-chat.ts +114 -0
- package/packages/registry/blocks/preview-03/cards/reasoning-chat.ts +88 -0
- package/packages/registry/blocks/preview-03/cards/simple-chat.ts +53 -0
- package/packages/registry/blocks/preview-03/components/chat-card.ts +126 -0
- package/packages/registry/blocks/preview-03/components/chat-player.ts +174 -0
- package/packages/registry/blocks/preview-03/components/part-file.ts +77 -0
- package/packages/registry/blocks/preview-03/components/part-reasoning.ts +25 -0
- package/packages/registry/blocks/preview-03/components/part-source.ts +48 -0
- package/packages/registry/blocks/preview-03/components/part-text.ts +69 -0
- package/packages/registry/blocks/preview-03/components/part-tool.ts +71 -0
- package/packages/registry/blocks/preview-03/components/prompt-input.ts +86 -0
- package/packages/registry/blocks/preview-03/page.ts +39 -0
- package/packages/registry/blocks/sidebar-01/components/app-sidebar.ts +113 -0
- package/packages/registry/blocks/sidebar-01/components/search-form.ts +33 -0
- package/packages/registry/blocks/sidebar-01/components/version-switcher.ts +50 -0
- package/packages/registry/blocks/sidebar-01/page.ts +58 -0
- package/packages/registry/blocks/sidebar-02/components/app-sidebar.ts +131 -0
- package/packages/registry/blocks/sidebar-02/components/search-form.ts +33 -0
- package/packages/registry/blocks/sidebar-02/components/version-switcher.ts +50 -0
- package/packages/registry/blocks/sidebar-02/page.ts +53 -0
- package/packages/registry/blocks/sidebar-03/components/app-sidebar.ts +134 -0
- package/packages/registry/blocks/sidebar-03/page.ts +60 -0
- package/packages/registry/blocks/sidebar-04/components/app-sidebar.ts +136 -0
- package/packages/registry/blocks/sidebar-04/page.ts +58 -0
- package/packages/registry/blocks/sidebar-05/components/app-sidebar.ts +147 -0
- package/packages/registry/blocks/sidebar-05/components/search-form.ts +33 -0
- package/packages/registry/blocks/sidebar-05/page.ts +58 -0
- package/packages/registry/blocks/sidebar-06/components/app-sidebar.ts +105 -0
- package/packages/registry/blocks/sidebar-06/components/nav-main.ts +56 -0
- package/packages/registry/blocks/sidebar-06/components/sidebar-opt-in-form.ts +44 -0
- package/packages/registry/blocks/sidebar-06/page.ts +57 -0
- package/packages/registry/blocks/sidebar-07/components/app-sidebar.ts +108 -0
- package/packages/registry/blocks/sidebar-07/components/nav-main.ts +61 -0
- package/packages/registry/blocks/sidebar-07/components/nav-projects.ts +65 -0
- package/packages/registry/blocks/sidebar-07/components/nav-user.ts +70 -0
- package/packages/registry/blocks/sidebar-07/components/team-switcher.ts +66 -0
- package/packages/registry/blocks/sidebar-07/page.ts +59 -0
- package/packages/registry/blocks/sidebar-08/components/app-sidebar.ts +122 -0
- package/packages/registry/blocks/sidebar-08/components/nav-main.ts +68 -0
- package/packages/registry/blocks/sidebar-08/components/nav-projects.ts +65 -0
- package/packages/registry/blocks/sidebar-08/components/nav-secondary.ts +40 -0
- package/packages/registry/blocks/sidebar-08/components/nav-user.ts +70 -0
- package/packages/registry/blocks/sidebar-08/page.ts +59 -0
- package/packages/registry/blocks/sidebar-09/components/app-sidebar.ts +213 -0
- package/packages/registry/blocks/sidebar-09/components/nav-user.ts +70 -0
- package/packages/registry/blocks/sidebar-09/page.ts +52 -0
- package/packages/registry/blocks/sidebar-10/components/app-sidebar.ts +125 -0
- package/packages/registry/blocks/sidebar-10/components/nav-actions.ts +84 -0
- package/packages/registry/blocks/sidebar-10/components/nav-favorites.ts +66 -0
- package/packages/registry/blocks/sidebar-10/components/nav-main.ts +37 -0
- package/packages/registry/blocks/sidebar-10/components/nav-secondary.ts +43 -0
- package/packages/registry/blocks/sidebar-10/components/nav-workspaces.ts +78 -0
- package/packages/registry/blocks/sidebar-10/components/team-switcher.ts +63 -0
- package/packages/registry/blocks/sidebar-10/page.ts +46 -0
- package/packages/registry/blocks/sidebar-11/components/app-sidebar.ts +114 -0
- package/packages/registry/blocks/sidebar-11/page.ts +63 -0
- package/packages/registry/blocks/sidebar-12/components/app-sidebar.ts +63 -0
- package/packages/registry/blocks/sidebar-12/components/calendars.ts +53 -0
- package/packages/registry/blocks/sidebar-12/components/date-picker.ts +26 -0
- package/packages/registry/blocks/sidebar-12/components/nav-user.ts +70 -0
- package/packages/registry/blocks/sidebar-12/page.ts +43 -0
- package/packages/registry/blocks/sidebar-13/components/settings-dialog.ts +114 -0
- package/packages/registry/blocks/sidebar-13/page.ts +21 -0
- package/packages/registry/blocks/sidebar-14/components/app-sidebar.ts +120 -0
- package/packages/registry/blocks/sidebar-14/page.ts +55 -0
- package/packages/registry/blocks/sidebar-15/components/calendars.ts +53 -0
- package/packages/registry/blocks/sidebar-15/components/date-picker.ts +26 -0
- package/packages/registry/blocks/sidebar-15/components/nav-favorites.ts +66 -0
- package/packages/registry/blocks/sidebar-15/components/nav-main.ts +35 -0
- package/packages/registry/blocks/sidebar-15/components/nav-secondary.ts +43 -0
- package/packages/registry/blocks/sidebar-15/components/nav-user.ts +70 -0
- package/packages/registry/blocks/sidebar-15/components/nav-workspaces.ts +75 -0
- package/packages/registry/blocks/sidebar-15/components/sidebar-left.ts +126 -0
- package/packages/registry/blocks/sidebar-15/components/sidebar-right.ts +62 -0
- package/packages/registry/blocks/sidebar-15/components/team-switcher.ts +63 -0
- package/packages/registry/blocks/sidebar-15/page.ts +47 -0
- package/packages/registry/blocks/sidebar-16/components/app-sidebar.ts +124 -0
- package/packages/registry/blocks/sidebar-16/components/nav-main.ts +67 -0
- package/packages/registry/blocks/sidebar-16/components/nav-projects.ts +65 -0
- package/packages/registry/blocks/sidebar-16/components/nav-secondary.ts +40 -0
- package/packages/registry/blocks/sidebar-16/components/nav-user.ts +70 -0
- package/packages/registry/blocks/sidebar-16/components/search-form.ts +27 -0
- package/packages/registry/blocks/sidebar-16/components/site-header.ts +42 -0
- package/packages/registry/blocks/sidebar-16/page.ts +38 -0
- package/packages/registry/blocks/signup-01/components/signup-form.ts +78 -0
- package/packages/registry/blocks/signup-01/page.ts +19 -0
- package/packages/registry/blocks/signup-02/components/signup-form.ts +78 -0
- package/packages/registry/blocks/signup-02/page.ts +36 -0
- package/packages/registry/blocks/signup-03/components/signup-form.ts +79 -0
- package/packages/registry/blocks/signup-03/page.ts +28 -0
- package/packages/registry/blocks/signup-04/components/signup-form.ts +100 -0
- package/packages/registry/blocks/signup-04/page.ts +20 -0
- package/packages/registry/blocks/signup-05/components/signup-form.ts +75 -0
- package/packages/registry/blocks/signup-05/page.ts +20 -0
- package/packages/registry/components/accordion.ts +20 -7
- package/packages/registry/components/alert-dialog.ts +58 -13
- package/packages/registry/components/alert.ts +11 -6
- package/packages/registry/components/attachment.ts +119 -0
- package/packages/registry/components/avatar.ts +17 -8
- package/packages/registry/components/badge.ts +16 -9
- package/packages/registry/components/breadcrumb.ts +6 -6
- package/packages/registry/components/bubble.ts +95 -0
- package/packages/registry/components/button-group.ts +73 -0
- package/packages/registry/components/button.ts +35 -25
- package/packages/registry/components/calendar.ts +566 -0
- package/packages/registry/components/card.ts +8 -8
- package/packages/registry/components/carousel.ts +352 -0
- package/packages/registry/components/chart-element.ts +547 -0
- package/packages/registry/components/chart-geometry.ts +457 -0
- package/packages/registry/components/chart.ts +932 -0
- package/packages/registry/components/checkbox.ts +22 -84
- package/packages/registry/components/code-block.ts +191 -0
- package/packages/registry/components/collapsible.ts +5 -2
- package/packages/registry/components/combobox.ts +802 -0
- package/packages/registry/components/command.ts +618 -0
- package/packages/registry/components/context-menu.ts +302 -0
- package/packages/registry/components/dialog.ts +156 -45
- package/packages/registry/components/direction.ts +43 -0
- package/packages/registry/components/drawer.ts +226 -0
- package/packages/registry/components/dropdown-menu.ts +262 -83
- package/packages/registry/components/empty.ts +8 -8
- package/packages/registry/components/field.ts +20 -18
- package/packages/registry/components/floating.ts +124 -0
- package/packages/registry/components/hover-card.ts +19 -8
- package/packages/registry/components/input-group.ts +118 -0
- package/packages/registry/components/input-otp.ts +365 -0
- package/packages/registry/components/input.ts +3 -3
- package/packages/registry/components/item.ts +134 -0
- package/packages/registry/components/kbd.ts +2 -2
- package/packages/registry/components/label.ts +1 -1
- package/packages/registry/components/marker.ts +63 -0
- package/packages/registry/components/menubar.ts +388 -0
- package/packages/registry/components/message-scroller.ts +470 -0
- package/packages/registry/components/message.ts +69 -0
- package/packages/registry/components/native-select.ts +5 -5
- package/packages/registry/components/navigation-menu.ts +564 -0
- package/packages/registry/components/pagination.ts +5 -5
- package/packages/registry/components/popover.ts +30 -84
- package/packages/registry/components/progress.ts +7 -3
- package/packages/registry/components/questionnaire.ts +840 -0
- package/packages/registry/components/radio-group.ts +18 -73
- package/packages/registry/components/resizable.ts +330 -0
- package/packages/registry/components/scroll-area.ts +46 -0
- package/packages/registry/components/select.ts +650 -0
- package/packages/registry/components/separator.ts +1 -1
- package/packages/registry/components/sheet.ts +128 -0
- package/packages/registry/components/sidebar.ts +457 -0
- package/packages/registry/components/skeleton.ts +1 -1
- package/packages/registry/components/slider.ts +333 -0
- package/packages/registry/components/sonner.ts +74 -7
- package/packages/registry/components/spinner.ts +7 -4
- package/packages/registry/components/switch.ts +117 -9
- package/packages/registry/components/table.ts +11 -9
- package/packages/registry/components/tabs.ts +76 -25
- package/packages/registry/components/textarea.ts +1 -1
- package/packages/registry/components/toggle-group.ts +30 -11
- package/packages/registry/components/toggle.ts +20 -13
- package/packages/registry/components/tooltip.ts +68 -7
- package/packages/registry/components/trace.ts +75 -0
- package/packages/registry/lib/icons-hugeicons.ts +955 -0
- package/packages/registry/lib/icons-phosphor.ts +955 -0
- package/packages/registry/lib/icons-remixicon.ts +955 -0
- package/packages/registry/lib/icons-tabler.ts +955 -0
- package/packages/registry/lib/icons.ts +768 -0
- package/packages/registry/lib/utils.ts +49 -4
- package/packages/registry/registry.json +4056 -72
- package/packages/registry/styles/shadcn-tailwind.css +654 -0
- package/packages/registry/styles/style-luma.css +1987 -0
- package/packages/registry/styles/style-lyra.css +1965 -0
- package/packages/registry/styles/style-maia.css +1987 -0
- package/packages/registry/styles/style-mira.css +1992 -0
- package/packages/registry/styles/style-new-york.css +1597 -0
- package/packages/registry/styles/style-nova.css +1990 -0
- package/packages/registry/styles/style-rhea.css +1987 -0
- package/packages/registry/styles/style-sera.css +1977 -0
- package/packages/registry/styles/style-vega.css +1990 -0
- package/packages/registry/styles/supplement.json +54 -0
- package/packages/registry/styles/tw-animate.css +6 -0
- package/packages/registry/themes/base-colors.js +8 -2
- package/packages/registry/themes/fonts.js +120 -0
- package/packages/registry/themes/index.css +2 -0
- package/packages/registry/themes/items.js +61 -0
- package/packages/registry/themes/preset.js +302 -0
- package/packages/registry/themes/themes.js +1193 -0
- package/src/commands/add.js +236 -12
- package/src/commands/diff.js +34 -20
- package/src/commands/info.js +7 -0
- package/src/commands/init.js +125 -8
- package/src/commands/list.js +43 -11
- package/src/commands/view.js +33 -5
- package/src/registry/extract.js +192 -2
- package/src/registry/icons.js +31 -0
- package/src/registry/local.js +15 -1
- package/src/registry/schema.js +13 -0
- package/src/registry/style-bake.js +506 -0
- package/src/utils/theme.js +110 -21
|
@@ -0,0 +1,388 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Menubar: a row of menus, like a desktop application's File / Edit / View.
|
|
3
|
+
* Tier-2. As in shadcn, each menu is the dropdown menu under the
|
|
4
|
+
* `ui-menubar-*` tags: the same items, checkbox and radio items, labels,
|
|
5
|
+
* separators, shortcuts, groups and sub-menus, with the same keyboard model
|
|
6
|
+
* inside an open menu. The bar adds what a row of menus needs on top.
|
|
7
|
+
*
|
|
8
|
+
* shadcn parity:
|
|
9
|
+
* Menubar → <ui-menubar>
|
|
10
|
+
* MenubarMenu → <ui-menubar-menu>
|
|
11
|
+
* MenubarTrigger → <ui-menubar-trigger>File</ui-menubar-trigger> (renders the button)
|
|
12
|
+
* MenubarContent → <ui-menubar-content side align side-offset align-offset>
|
|
13
|
+
* MenubarItem → <ui-menubar-item> (variant, inset, type="checkbox" | "radio", checked, value)
|
|
14
|
+
* MenubarLabel / Separator / Shortcut / Group
|
|
15
|
+
* → <ui-menubar-label> / -separator / -shortcut / -group
|
|
16
|
+
* MenubarSub / SubTrigger / SubContent
|
|
17
|
+
* → <ui-menubar-sub> / -sub-trigger / -sub-content
|
|
18
|
+
*
|
|
19
|
+
* Keyboard (WAI-ARIA menubar pattern):
|
|
20
|
+
* - The bar is one Tab stop. ArrowLeft / ArrowRight move between the
|
|
21
|
+
* triggers (wrapping), Home / End go to the first / last.
|
|
22
|
+
* - ArrowDown, Enter or Space opens a trigger's menu on its first item,
|
|
23
|
+
* ArrowUp on its last.
|
|
24
|
+
* - In an open menu, ArrowLeft / ArrowRight open the neighbouring menu,
|
|
25
|
+
* unless they open or close a sub-menu. Escape closes the menu and
|
|
26
|
+
* returns focus to its trigger, Tab closes it and leaves the bar.
|
|
27
|
+
* - While a menu is open, pointing at another trigger opens that one.
|
|
28
|
+
*
|
|
29
|
+
* Only one menu in a bar is open at a time.
|
|
30
|
+
*
|
|
31
|
+
* A11y (handled by the element): the bar is `role="menubar"`, each trigger is
|
|
32
|
+
* a `role="menuitem"` button carrying `aria-haspopup`, `aria-expanded` and
|
|
33
|
+
* `aria-controls`, and each menu is named by its trigger. Give the bar a name
|
|
34
|
+
* when the page has more than one (`aria-label` on `<ui-menubar>`).
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```html
|
|
38
|
+
* <ui-menubar aria-label="Editor">
|
|
39
|
+
* <ui-menubar-menu>
|
|
40
|
+
* <ui-menubar-trigger>File</ui-menubar-trigger>
|
|
41
|
+
* <ui-menubar-content>
|
|
42
|
+
* <ui-menubar-item>New Tab<ui-menubar-shortcut>⌘T</ui-menubar-shortcut></ui-menubar-item>
|
|
43
|
+
* <ui-menubar-separator></ui-menubar-separator>
|
|
44
|
+
* <ui-menubar-item>Print</ui-menubar-item>
|
|
45
|
+
* </ui-menubar-content>
|
|
46
|
+
* </ui-menubar-menu>
|
|
47
|
+
* <ui-menubar-menu>
|
|
48
|
+
* <ui-menubar-trigger>View</ui-menubar-trigger>
|
|
49
|
+
* <ui-menubar-content>
|
|
50
|
+
* <ui-menubar-item type="checkbox" checked>Show Status Bar</ui-menubar-item>
|
|
51
|
+
* </ui-menubar-content>
|
|
52
|
+
* </ui-menubar-menu>
|
|
53
|
+
* </ui-menubar>
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
import { WebComponent, html, nothing } from '@webjsdev/core';
|
|
57
|
+
import {
|
|
58
|
+
UiDropdownMenu,
|
|
59
|
+
UiDropdownMenuTrigger,
|
|
60
|
+
UiDropdownMenuContent,
|
|
61
|
+
UiDropdownMenuItem,
|
|
62
|
+
UiDropdownMenuLabel,
|
|
63
|
+
UiDropdownMenuSeparator,
|
|
64
|
+
UiDropdownMenuShortcut,
|
|
65
|
+
UiDropdownMenuGroup,
|
|
66
|
+
UiDropdownMenuSub,
|
|
67
|
+
UiDropdownMenuSubTrigger,
|
|
68
|
+
UiDropdownMenuSubContent,
|
|
69
|
+
type MenuClasses,
|
|
70
|
+
} from './dropdown-menu.ts';
|
|
71
|
+
|
|
72
|
+
/** The bar's classes (the element applies them). */
|
|
73
|
+
export const menubarClass = (): string =>
|
|
74
|
+
'cn-menubar flex items-center';
|
|
75
|
+
/** A trigger button's classes (the element applies them). */
|
|
76
|
+
export const menubarTriggerClass = (): string =>
|
|
77
|
+
'cn-menubar-trigger flex items-center outline-hidden select-none';
|
|
78
|
+
/** A menu panel's classes (the element applies them). */
|
|
79
|
+
export const menubarContentClass = (): string =>
|
|
80
|
+
'cn-menubar-content z-50 origin-(--radix-menubar-content-transform-origin) overflow-x-hidden overflow-y-auto not-open:hidden';
|
|
81
|
+
/** A menu item's classes (the element applies them). */
|
|
82
|
+
export const menubarItemClass = (): string =>
|
|
83
|
+
'cn-menubar-item group/menubar-item relative flex cursor-default items-center outline-hidden select-none data-disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0';
|
|
84
|
+
/** A checkbox item's classes (the element applies them). */
|
|
85
|
+
export const menubarCheckboxItemClass = (): string =>
|
|
86
|
+
'cn-menubar-checkbox-item relative flex cursor-default items-center outline-hidden select-none data-disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0';
|
|
87
|
+
/** A radio item's classes (the element applies them). */
|
|
88
|
+
export const menubarRadioItemClass = (): string =>
|
|
89
|
+
'cn-menubar-radio-item relative flex cursor-default items-center outline-hidden select-none data-disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0';
|
|
90
|
+
/** A group label's classes. */
|
|
91
|
+
export const menubarLabelClass = (): string =>
|
|
92
|
+
'cn-menubar-label';
|
|
93
|
+
/** A separator's classes. */
|
|
94
|
+
export const menubarSeparatorClass = (): string => 'cn-menubar-separator -mx-1 my-1 h-px';
|
|
95
|
+
/** A keyboard shortcut hint's classes. */
|
|
96
|
+
export const menubarShortcutClass = (): string =>
|
|
97
|
+
'cn-menubar-shortcut ms-auto';
|
|
98
|
+
/** A sub-menu trigger's classes (the element applies them). */
|
|
99
|
+
export const menubarSubTriggerClass = (): string =>
|
|
100
|
+
'cn-menubar-sub-trigger flex cursor-default items-center select-none outline-hidden [&_svg]:pointer-events-none [&_svg]:shrink-0';
|
|
101
|
+
/** A sub-menu panel's classes (the element applies them). */
|
|
102
|
+
export const menubarSubContentClass = (): string =>
|
|
103
|
+
'cn-menubar-sub-content z-50 origin-(--radix-menubar-content-transform-origin) overflow-hidden not-open:hidden';
|
|
104
|
+
|
|
105
|
+
const menubarItemIndicatorClass = (type?: 'checkbox' | 'radio'): string =>
|
|
106
|
+
type === 'radio'
|
|
107
|
+
? 'cn-menubar-radio-item-indicator pointer-events-none absolute flex items-center justify-center'
|
|
108
|
+
: 'cn-menubar-checkbox-item-indicator pointer-events-none absolute flex items-center justify-center';
|
|
109
|
+
|
|
110
|
+
// The dropdown elements paint each part through this table, so every part
|
|
111
|
+
// carries a cn-menubar-* name, the one shadcn's styles give it.
|
|
112
|
+
const MENUBAR_CLASSES: MenuClasses = {
|
|
113
|
+
content: menubarContentClass,
|
|
114
|
+
item: menubarItemClass,
|
|
115
|
+
checkboxItem: menubarCheckboxItemClass,
|
|
116
|
+
radioItem: menubarRadioItemClass,
|
|
117
|
+
itemIndicator: menubarItemIndicatorClass,
|
|
118
|
+
label: menubarLabelClass,
|
|
119
|
+
separator: menubarSeparatorClass,
|
|
120
|
+
shortcut: menubarShortcutClass,
|
|
121
|
+
subTrigger: menubarSubTriggerClass,
|
|
122
|
+
subContent: menubarSubContentClass,
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
const FAMILY = 'ui-menubar';
|
|
126
|
+
const MENU = 'ui-menubar-menu';
|
|
127
|
+
|
|
128
|
+
// --------------------------------------------------------------------------
|
|
129
|
+
// <ui-menubar>
|
|
130
|
+
// --------------------------------------------------------------------------
|
|
131
|
+
|
|
132
|
+
export class UiMenubar extends WebComponent {
|
|
133
|
+
render() {
|
|
134
|
+
return html`<div
|
|
135
|
+
data-slot="menubar"
|
|
136
|
+
role="menubar"
|
|
137
|
+
aria-label=${this.getAttribute?.('aria-label') ?? nothing}
|
|
138
|
+
class=${menubarClass()}
|
|
139
|
+
@keydown=${this._onKeyDown}
|
|
140
|
+
@focusin=${this._onFocusIn}
|
|
141
|
+
><slot></slot></div>`;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
connectedCallback(): void {
|
|
145
|
+
super.connectedCallback?.();
|
|
146
|
+
// The triggers are slotted in a pass after the first render, so the tab
|
|
147
|
+
// stop is set once they are in place.
|
|
148
|
+
if (typeof requestAnimationFrame === 'function') {
|
|
149
|
+
requestAnimationFrame(() => this._roving());
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/** The menus in this bar, in order. */
|
|
154
|
+
menus(): UiMenubarMenu[] {
|
|
155
|
+
return Array.from(this.querySelectorAll<UiMenubarMenu>(MENU)).filter(
|
|
156
|
+
(m) => m.closest(FAMILY) === this,
|
|
157
|
+
);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/** The bar's open menu, if any. */
|
|
161
|
+
openMenu(): UiMenubarMenu | null {
|
|
162
|
+
return this.menus().find((m) => m.open) ?? null;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
_buttons(): HTMLElement[] {
|
|
166
|
+
return this.menus()
|
|
167
|
+
.map((m) => m._triggerControl())
|
|
168
|
+
.filter((b): b is HTMLElement => !!b);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
// One trigger is in the tab order: the focused one, else the one that was,
|
|
172
|
+
// else the first.
|
|
173
|
+
_roving(current?: HTMLElement | null): void {
|
|
174
|
+
const buttons = this._buttons();
|
|
175
|
+
if (!buttons.length) return;
|
|
176
|
+
const keep = current ?? buttons.find((b) => b.tabIndex === 0) ?? buttons[0];
|
|
177
|
+
buttons.forEach((b) => { b.tabIndex = b === keep ? 0 : -1; });
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
_onFocusIn = (e: FocusEvent): void => {
|
|
181
|
+
const button = this._buttons().find((b) => b === e.target);
|
|
182
|
+
if (button) this._roving(button);
|
|
183
|
+
};
|
|
184
|
+
|
|
185
|
+
/** Open `menu`, closing whichever other menu in the bar is open. */
|
|
186
|
+
switchTo(menu: UiMenubarMenu, focusLast = false): void {
|
|
187
|
+
const current = this.openMenu();
|
|
188
|
+
const target = menu._triggerControl();
|
|
189
|
+
this._roving(target);
|
|
190
|
+
if (current && current !== menu) {
|
|
191
|
+
// Focus leaves the closing panel BEFORE it hides, or the engine drops
|
|
192
|
+
// it to <body> (the popover="manual" rule every overlay here follows).
|
|
193
|
+
target?.focus();
|
|
194
|
+
current.hide();
|
|
195
|
+
}
|
|
196
|
+
menu._focusLastOnOpen = focusLast;
|
|
197
|
+
menu.show();
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
// Keys on a trigger button. Keys inside an open menu are the menu's (the
|
|
201
|
+
// dropdown root listens on the document while it is open).
|
|
202
|
+
_onKeyDown = (e: KeyboardEvent): void => {
|
|
203
|
+
const buttons = this._buttons();
|
|
204
|
+
const i = buttons.indexOf(e.target as HTMLElement);
|
|
205
|
+
if (i < 0) return;
|
|
206
|
+
const menus = this.menus();
|
|
207
|
+
const go = (j: number) => {
|
|
208
|
+
e.preventDefault();
|
|
209
|
+
const b = buttons[(j + buttons.length) % buttons.length];
|
|
210
|
+
this._roving(b);
|
|
211
|
+
b.focus();
|
|
212
|
+
};
|
|
213
|
+
if (e.key === 'ArrowRight') go(i + 1);
|
|
214
|
+
else if (e.key === 'ArrowLeft') go(i - 1);
|
|
215
|
+
else if (e.key === 'Home') go(0);
|
|
216
|
+
else if (e.key === 'End') go(buttons.length - 1);
|
|
217
|
+
else if (e.key === 'ArrowDown' || e.key === 'ArrowUp') {
|
|
218
|
+
e.preventDefault();
|
|
219
|
+
this.switchTo(menus[i], e.key === 'ArrowUp');
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
UiMenubar.register('ui-menubar');
|
|
224
|
+
|
|
225
|
+
// --------------------------------------------------------------------------
|
|
226
|
+
// <ui-menubar-menu>
|
|
227
|
+
// --------------------------------------------------------------------------
|
|
228
|
+
|
|
229
|
+
export class UiMenubarMenu extends UiDropdownMenu {
|
|
230
|
+
static family = FAMILY;
|
|
231
|
+
static rootTag = MENU;
|
|
232
|
+
static classes = MENUBAR_CLASSES;
|
|
233
|
+
static placement = { sideOffset: 8, alignOffset: -4 };
|
|
234
|
+
|
|
235
|
+
// ArrowUp on a trigger opens on the LAST item.
|
|
236
|
+
_focusLastOnOpen = false;
|
|
237
|
+
|
|
238
|
+
_bar(): UiMenubar | null {
|
|
239
|
+
return this.closest(FAMILY) as UiMenubar | null;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
// The dropdown opens on its first item. ArrowUp asks for the last.
|
|
243
|
+
_setup(): void {
|
|
244
|
+
super._setup();
|
|
245
|
+
if (!this._focusLastOnOpen) return;
|
|
246
|
+
this._focusLastOnOpen = false;
|
|
247
|
+
queueMicrotask(() => {
|
|
248
|
+
const items = this.querySelectorAll<HTMLElement>(
|
|
249
|
+
`${FAMILY}-content [role^="menuitem"]:not([data-disabled])`,
|
|
250
|
+
);
|
|
251
|
+
const own = Array.from(items).filter((it) => !it.closest(`${FAMILY}-sub-content`));
|
|
252
|
+
own[own.length - 1]?.focus();
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
// Opening one menu closes the others: one open menu per bar.
|
|
257
|
+
updated(changedProperties: Map<string, unknown>): void {
|
|
258
|
+
super.updated(changedProperties);
|
|
259
|
+
if (!changedProperties.has('open') || !this.open) return;
|
|
260
|
+
this._bar()?.menus().forEach((m) => { if (m !== this && m.open) m.hide(); });
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
// The dropdown wires aria-haspopup, aria-expanded and aria-controls. The
|
|
264
|
+
// trigger's open styling keys on data-state, so that follows too.
|
|
265
|
+
_wireAria(): void {
|
|
266
|
+
super._wireAria();
|
|
267
|
+
this._triggerControl()?.setAttribute('data-state', this.open ? 'open' : 'closed');
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
// ArrowLeft / ArrowRight the dropdown did not take (it takes them only to
|
|
271
|
+
// open or close a sub-menu) move to the neighbouring menu.
|
|
272
|
+
_onKeyDown(e: KeyboardEvent): void {
|
|
273
|
+
super._onKeyDown(e);
|
|
274
|
+
if (!this.open || e.defaultPrevented) return;
|
|
275
|
+
if (e.key !== 'ArrowLeft' && e.key !== 'ArrowRight') return;
|
|
276
|
+
const bar = this._bar();
|
|
277
|
+
const menus = bar?.menus() ?? [];
|
|
278
|
+
const i = menus.indexOf(this);
|
|
279
|
+
if (!bar || i < 0 || menus.length < 2) return;
|
|
280
|
+
e.preventDefault();
|
|
281
|
+
const next = menus[(i + (e.key === 'ArrowRight' ? 1 : -1) + menus.length) % menus.length];
|
|
282
|
+
bar.switchTo(next);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
UiMenubarMenu.register('ui-menubar-menu');
|
|
286
|
+
|
|
287
|
+
// --------------------------------------------------------------------------
|
|
288
|
+
// <ui-menubar-trigger>
|
|
289
|
+
// --------------------------------------------------------------------------
|
|
290
|
+
|
|
291
|
+
export class UiMenubarTrigger extends UiDropdownMenuTrigger {
|
|
292
|
+
static family = FAMILY;
|
|
293
|
+
static rootTag = MENU;
|
|
294
|
+
static classes = MENUBAR_CLASSES;
|
|
295
|
+
|
|
296
|
+
// shadcn's MenubarTrigger IS the button, so the trigger renders it, with the
|
|
297
|
+
// role and the popup relationship on the element that takes focus.
|
|
298
|
+
render() {
|
|
299
|
+
return html`<button
|
|
300
|
+
type="button"
|
|
301
|
+
data-slot="menubar-trigger"
|
|
302
|
+
role="menuitem"
|
|
303
|
+
aria-haspopup="menu"
|
|
304
|
+
aria-expanded="false"
|
|
305
|
+
data-state="closed"
|
|
306
|
+
class=${menubarTriggerClass()}
|
|
307
|
+
@click=${this._onClick}
|
|
308
|
+
@pointerenter=${this._onPointerEnter}
|
|
309
|
+
><slot></slot></button>`;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
_menu(): UiMenubarMenu | null {
|
|
313
|
+
return this.closest(MENU) as UiMenubarMenu | null;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
_onClick = (): void => {
|
|
317
|
+
const menu = this._menu();
|
|
318
|
+
if (!menu) return;
|
|
319
|
+
const bar = menu._bar();
|
|
320
|
+
if (menu.open) menu.hide();
|
|
321
|
+
else if (bar) bar.switchTo(menu);
|
|
322
|
+
else menu.show();
|
|
323
|
+
};
|
|
324
|
+
|
|
325
|
+
// While one menu is open, pointing at another trigger opens that one.
|
|
326
|
+
_onPointerEnter = (): void => {
|
|
327
|
+
const menu = this._menu();
|
|
328
|
+
const bar = menu?._bar();
|
|
329
|
+
if (!menu || !bar || menu.open || !bar.openMenu()) return;
|
|
330
|
+
bar.switchTo(menu);
|
|
331
|
+
};
|
|
332
|
+
}
|
|
333
|
+
UiMenubarTrigger.register('ui-menubar-trigger');
|
|
334
|
+
|
|
335
|
+
export class UiMenubarContent extends UiDropdownMenuContent {
|
|
336
|
+
static family = FAMILY;
|
|
337
|
+
static rootTag = MENU;
|
|
338
|
+
static classes = MENUBAR_CLASSES;
|
|
339
|
+
}
|
|
340
|
+
UiMenubarContent.register('ui-menubar-content');
|
|
341
|
+
export class UiMenubarItem extends UiDropdownMenuItem {
|
|
342
|
+
static family = FAMILY;
|
|
343
|
+
static rootTag = MENU;
|
|
344
|
+
static classes = MENUBAR_CLASSES;
|
|
345
|
+
}
|
|
346
|
+
UiMenubarItem.register('ui-menubar-item');
|
|
347
|
+
export class UiMenubarLabel extends UiDropdownMenuLabel {
|
|
348
|
+
static family = FAMILY;
|
|
349
|
+
static rootTag = MENU;
|
|
350
|
+
static classes = MENUBAR_CLASSES;
|
|
351
|
+
}
|
|
352
|
+
UiMenubarLabel.register('ui-menubar-label');
|
|
353
|
+
export class UiMenubarSeparator extends UiDropdownMenuSeparator {
|
|
354
|
+
static family = FAMILY;
|
|
355
|
+
static rootTag = MENU;
|
|
356
|
+
static classes = MENUBAR_CLASSES;
|
|
357
|
+
}
|
|
358
|
+
UiMenubarSeparator.register('ui-menubar-separator');
|
|
359
|
+
export class UiMenubarShortcut extends UiDropdownMenuShortcut {
|
|
360
|
+
static family = FAMILY;
|
|
361
|
+
static rootTag = MENU;
|
|
362
|
+
static classes = MENUBAR_CLASSES;
|
|
363
|
+
}
|
|
364
|
+
UiMenubarShortcut.register('ui-menubar-shortcut');
|
|
365
|
+
export class UiMenubarGroup extends UiDropdownMenuGroup {
|
|
366
|
+
static family = FAMILY;
|
|
367
|
+
static rootTag = MENU;
|
|
368
|
+
static classes = MENUBAR_CLASSES;
|
|
369
|
+
}
|
|
370
|
+
UiMenubarGroup.register('ui-menubar-group');
|
|
371
|
+
export class UiMenubarSub extends UiDropdownMenuSub {
|
|
372
|
+
static family = FAMILY;
|
|
373
|
+
static rootTag = MENU;
|
|
374
|
+
static classes = MENUBAR_CLASSES;
|
|
375
|
+
}
|
|
376
|
+
UiMenubarSub.register('ui-menubar-sub');
|
|
377
|
+
export class UiMenubarSubTrigger extends UiDropdownMenuSubTrigger {
|
|
378
|
+
static family = FAMILY;
|
|
379
|
+
static rootTag = MENU;
|
|
380
|
+
static classes = MENUBAR_CLASSES;
|
|
381
|
+
}
|
|
382
|
+
UiMenubarSubTrigger.register('ui-menubar-sub-trigger');
|
|
383
|
+
export class UiMenubarSubContent extends UiDropdownMenuSubContent {
|
|
384
|
+
static family = FAMILY;
|
|
385
|
+
static rootTag = MENU;
|
|
386
|
+
static classes = MENUBAR_CLASSES;
|
|
387
|
+
}
|
|
388
|
+
UiMenubarSubContent.register('ui-menubar-sub-content');
|