@nqlib/nqui 0.3.2 → 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 +26 -3
- package/dist/button-CYFTFDKe.cjs +1 -0
- package/dist/button-nJvDl3w8.js +44 -0
- package/dist/calendar.cjs.js +1 -0
- package/dist/calendar.es.js +6 -0
- package/dist/carousel-DEyyJi49.js +179 -0
- package/dist/carousel-Dhhz8m5V.cjs +1 -0
- package/dist/carousel.cjs.js +1 -0
- package/dist/carousel.es.js +8 -0
- package/dist/command-palette-UHk8zZOg.cjs +45 -0
- package/dist/command-palette-d-TrdBsM.js +1778 -0
- package/dist/command.cjs.js +1 -0
- package/dist/command.es.js +13 -0
- package/dist/components/custom/color-picker.d.ts.map +1 -1
- package/dist/components/custom/command-palette.d.ts.map +1 -1
- package/dist/components/custom/enhanced-checkbox.d.ts +1 -1
- package/dist/components/custom/enhanced-checkbox.d.ts.map +1 -1
- package/dist/components/custom/enhanced-combobox.d.ts +1 -1
- package/dist/components/custom/enhanced-combobox.d.ts.map +1 -1
- package/dist/components/custom/enhanced-radio-group.d.ts.map +1 -1
- package/dist/components/custom/enhanced-scroll-area.d.ts +12 -0
- package/dist/components/custom/enhanced-scroll-area.d.ts.map +1 -1
- package/dist/components/custom/enhanced-tabs.d.ts.map +1 -1
- package/dist/components/debug/debug-panel.d.ts.map +1 -1
- package/dist/components/debug/magnifier.d.ts.map +1 -1
- package/dist/components/debug/ui-tester.d.ts.map +1 -1
- package/dist/components/ui/breadcrumb.d.ts.map +1 -1
- package/dist/components/ui/button-group.d.ts.map +1 -1
- package/dist/components/ui/checkbox.d.ts.map +1 -1
- package/dist/components/ui/combobox.d.ts +1 -1
- package/dist/components/ui/combobox.d.ts.map +1 -1
- package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
- package/dist/components/ui/item.d.ts +1 -1
- package/dist/components/ui/separator.d.ts +34 -1
- package/dist/components/ui/separator.d.ts.map +1 -1
- package/dist/components/ui/sheet.d.ts.map +1 -1
- package/dist/components/ui/sidebar.d.ts +1 -1
- package/dist/components/ui/sidebar.d.ts.map +1 -1
- package/dist/components/ui/toggle-group.d.ts +8 -2
- package/dist/components/ui/toggle-group.d.ts.map +1 -1
- package/dist/components/ui/toggle.d.ts +1 -1
- package/dist/components/ui/toggle.d.ts.map +1 -1
- package/dist/components/ui/tooltip.d.ts.map +1 -1
- package/dist/drawer-BcIxWRN8.cjs +1 -0
- package/dist/drawer-CU4lkcz7.js +119 -0
- package/dist/drawer.cjs.js +1 -0
- package/dist/drawer.es.js +13 -0
- package/dist/enhanced-calendar-5PA8CeF7.cjs +61 -0
- package/dist/enhanced-calendar-BENbxw7_.js +375 -0
- package/dist/entries/calendar.d.ts +9 -0
- package/dist/entries/calendar.d.ts.map +1 -0
- package/dist/entries/carousel.d.ts +7 -0
- package/dist/entries/carousel.d.ts.map +1 -0
- package/dist/entries/command.d.ts +9 -0
- package/dist/entries/command.d.ts.map +1 -0
- package/dist/entries/drawer.d.ts +7 -0
- package/dist/entries/drawer.d.ts.map +1 -0
- package/dist/entries/sonner.d.ts +8 -0
- package/dist/entries/sonner.d.ts.map +1 -0
- package/dist/entries/sortable.d.ts +7 -0
- package/dist/entries/sortable.d.ts.map +1 -0
- package/dist/hooks/index.d.ts +2 -3
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/use-as-ref.d.ts +1 -1
- package/dist/hooks/use-as-ref.d.ts.map +1 -1
- package/dist/hooks/use-intersection-observer.d.ts +13 -0
- package/dist/hooks/use-intersection-observer.d.ts.map +1 -0
- package/dist/index.d.ts +13 -37
- package/dist/index.d.ts.map +1 -1
- package/dist/keyboard-BapbM2wb.cjs +1 -0
- package/dist/keyboard-pkY42Y3a.js +39 -0
- package/dist/nqui.cjs.js +171 -802
- package/dist/nqui.es.js +15299 -72452
- package/dist/sonner-Co6YpYVs.js +546 -0
- package/dist/sonner-DbQhVp8m.cjs +330 -0
- package/dist/sonner.cjs.js +1 -0
- package/dist/sonner.es.js +6 -0
- package/dist/sortable-Cj3cdxGc.cjs +5 -0
- package/dist/sortable-wG_cXiUk.js +366 -0
- package/dist/sortable.cjs.js +1 -0
- package/dist/sortable.es.js +8 -0
- package/dist/styles.css +21 -17
- package/dist/utils-B6yFEsav.js +8 -0
- package/dist/utils-IjLH3w2e.cjs +1 -0
- package/docs/components/README.md +309 -0
- package/docs/components/nqui-accordion.md +20 -0
- package/docs/components/nqui-alert-dialog.md +31 -0
- package/docs/components/nqui-alert.md +19 -0
- package/docs/components/nqui-aspect-ratio.md +17 -0
- package/docs/components/nqui-avatar.md +18 -0
- package/docs/components/nqui-badge.md +42 -0
- package/docs/components/nqui-breadcrumb.md +24 -0
- package/docs/components/nqui-button-group.md +50 -0
- package/docs/components/nqui-button.md +56 -0
- package/docs/components/nqui-calendar.md +46 -0
- package/docs/components/nqui-card.md +31 -0
- package/docs/components/nqui-carousel.md +22 -0
- package/docs/components/nqui-checkbox.md +34 -0
- package/docs/components/nqui-code-block.md +41 -0
- package/docs/components/nqui-code-editor.md +21 -0
- package/docs/components/nqui-collapsible.md +18 -0
- package/docs/components/nqui-color-picker.md +38 -0
- package/docs/components/nqui-color-slider.md +23 -0
- package/docs/components/nqui-combobox.md +73 -0
- package/docs/components/nqui-command-palette.md +29 -0
- package/docs/components/nqui-command.md +39 -0
- package/docs/components/nqui-context-menu.md +33 -0
- package/docs/components/nqui-data-table.md +46 -0
- package/docs/components/nqui-dialog.md +36 -0
- package/docs/components/nqui-drawer.md +27 -0
- package/docs/components/nqui-dropdown-menu.md +56 -0
- package/docs/components/nqui-empty.md +22 -0
- package/docs/components/nqui-field.md +42 -0
- package/docs/components/nqui-frosted-glass.md +19 -0
- package/docs/components/nqui-hover-card.md +18 -0
- package/docs/components/nqui-input-group.md +30 -0
- package/docs/components/nqui-input-otp.md +23 -0
- package/docs/components/nqui-input.md +25 -0
- package/docs/components/nqui-item.md +25 -0
- package/docs/components/nqui-kbd.md +25 -0
- package/docs/components/nqui-label.md +16 -0
- package/docs/components/nqui-logo.md +16 -0
- package/docs/components/nqui-menubar.md +22 -0
- package/docs/components/nqui-native-select.md +28 -0
- package/docs/components/nqui-navigation-menu.md +25 -0
- package/docs/components/nqui-pagination.md +25 -0
- package/docs/components/nqui-popover.md +34 -0
- package/docs/components/nqui-progress.md +22 -0
- package/docs/components/nqui-radio-group.md +42 -0
- package/docs/components/nqui-rating.md +35 -0
- package/docs/components/nqui-resizable.md +23 -0
- package/docs/components/nqui-sandbox.md +27 -0
- package/docs/components/nqui-scroll-area.md +32 -0
- package/docs/components/nqui-select.md +53 -0
- package/docs/components/nqui-separator.md +48 -0
- package/docs/components/nqui-sheet.md +27 -0
- package/docs/components/nqui-sidebar.md +45 -0
- package/docs/components/nqui-skeleton.md +15 -0
- package/docs/components/nqui-slider.md +16 -0
- package/docs/components/nqui-snippet.md +28 -0
- package/docs/components/nqui-sortable.md +46 -0
- package/docs/components/nqui-spinner.md +16 -0
- package/docs/components/nqui-switch.md +15 -0
- package/docs/components/nqui-table-of-contents.md +37 -0
- package/docs/components/nqui-table.md +43 -0
- package/docs/components/nqui-tabs.md +35 -0
- package/docs/components/nqui-textarea.md +15 -0
- package/docs/components/nqui-toaster.md +44 -0
- package/docs/components/nqui-toggle-group.md +65 -0
- package/docs/components/nqui-toggle.md +38 -0
- package/docs/components/nqui-tooltip.md +24 -0
- package/docs/components/nqui-tracker.md +38 -0
- package/docs/internal-notes/APP_BUILDER_PACKAGE.md +86 -0
- package/docs/internal-notes/BUILD_VERIFICATION.md +174 -0
- package/docs/internal-notes/DASHBOARD_LAYOUT_DESIGN.md +1429 -0
- package/docs/internal-notes/FROSTED_GLASS_FIX.md +50 -0
- package/docs/internal-notes/INSTALLATION.md +274 -0
- package/docs/internal-notes/PEER_DEPENDENCIES.md +105 -0
- package/docs/internal-notes/PUBLISHING.md +411 -0
- package/docs/internal-notes/SKILLS-ARCHITECTURE.md +105 -0
- package/docs/internal-notes/layoutdesign.md +616 -0
- package/docs/internal-notes/progress.md +348 -0
- package/docs/internal-notes/stacked-avatar-implementation.md +38 -0
- package/package.json +104 -17
- package/scripts/cli.js +44 -0
- package/scripts/help.js +1 -0
- package/scripts/init-css.js +15 -0
- package/scripts/init-cursor.js +169 -0
- package/scripts/install-peers.js +43 -0
- package/scripts/peer-deps.js +27 -0
- package/scripts/post-install.js +73 -0
- package/scripts/publish-npmjs.js +17 -3
- package/scripts/resolve-target-dir.js +99 -0
- package/scripts/skill-templates.js +109 -0
- package/INSTALLATION.md +0 -221
- package/dist/App.d.ts +0 -3
- package/dist/App.d.ts.map +0 -1
- package/dist/assets/svg/auth-lines.d.ts +0 -4
- package/dist/assets/svg/auth-lines.d.ts.map +0 -1
- package/dist/assets/svg/logo.d.ts +0 -4
- package/dist/assets/svg/logo.d.ts.map +0 -1
- package/dist/components/AppLayout.d.ts +0 -5
- package/dist/components/AppLayout.d.ts.map +0 -1
- package/dist/components/app-builder/AppBuilder.d.ts +0 -15
- package/dist/components/app-builder/AppBuilder.d.ts.map +0 -1
- package/dist/components/app-builder/context/app-builder-context.d.ts +0 -31
- package/dist/components/app-builder/context/app-builder-context.d.ts.map +0 -1
- package/dist/components/app-builder/core/AlignmentToolbar.d.ts +0 -5
- package/dist/components/app-builder/core/AlignmentToolbar.d.ts.map +0 -1
- package/dist/components/app-builder/core/AppCanvas.d.ts +0 -9
- package/dist/components/app-builder/core/AppCanvas.d.ts.map +0 -1
- package/dist/components/app-builder/core/CanvasToolbar.d.ts +0 -7
- package/dist/components/app-builder/core/CanvasToolbar.d.ts.map +0 -1
- package/dist/components/app-builder/core/DraggableWidget.d.ts +0 -12
- package/dist/components/app-builder/core/DraggableWidget.d.ts.map +0 -1
- package/dist/components/app-builder/core/WidgetConfigurator.d.ts +0 -6
- package/dist/components/app-builder/core/WidgetConfigurator.d.ts.map +0 -1
- package/dist/components/app-builder/core/WidgetPalette.d.ts +0 -6
- package/dist/components/app-builder/core/WidgetPalette.d.ts.map +0 -1
- package/dist/components/app-builder/core/WidgetRenderer.d.ts +0 -3
- package/dist/components/app-builder/core/WidgetRenderer.d.ts.map +0 -1
- package/dist/components/app-builder/core/index.d.ts +0 -8
- package/dist/components/app-builder/core/index.d.ts.map +0 -1
- package/dist/components/app-builder/essentials/button.d.ts +0 -3
- package/dist/components/app-builder/essentials/button.d.ts.map +0 -1
- package/dist/components/app-builder/essentials/container.d.ts +0 -3
- package/dist/components/app-builder/essentials/container.d.ts.map +0 -1
- package/dist/components/app-builder/essentials/index.d.ts +0 -3
- package/dist/components/app-builder/essentials/index.d.ts.map +0 -1
- package/dist/components/app-builder/hooks/index.d.ts +0 -3
- package/dist/components/app-builder/hooks/index.d.ts.map +0 -1
- package/dist/components/app-builder/hooks/use-app-builder.d.ts +0 -3
- package/dist/components/app-builder/hooks/use-app-builder.d.ts.map +0 -1
- package/dist/components/app-builder/hooks/use-canvas-state.d.ts +0 -24
- package/dist/components/app-builder/hooks/use-canvas-state.d.ts.map +0 -1
- package/dist/components/app-builder/index.d.ts +0 -19
- package/dist/components/app-builder/index.d.ts.map +0 -1
- package/dist/components/app-builder/registry/create-registry.d.ts +0 -10
- package/dist/components/app-builder/registry/create-registry.d.ts.map +0 -1
- package/dist/components/app-builder/registry/default-registry.d.ts +0 -6
- package/dist/components/app-builder/registry/default-registry.d.ts.map +0 -1
- package/dist/components/app-builder/registry/index.d.ts +0 -4
- package/dist/components/app-builder/registry/index.d.ts.map +0 -1
- package/dist/components/app-builder/registry/registry-helpers.d.ts +0 -22
- package/dist/components/app-builder/registry/registry-helpers.d.ts.map +0 -1
- package/dist/components/app-builder/types.d.ts +0 -64
- package/dist/components/app-builder/types.d.ts.map +0 -1
- package/dist/components/app-builder/utils/collision-detection.d.ts +0 -26
- package/dist/components/app-builder/utils/collision-detection.d.ts.map +0 -1
- package/dist/components/app-builder/utils/index.d.ts +0 -2
- package/dist/components/app-builder/utils/index.d.ts.map +0 -1
- package/dist/components/app-sidebar.d.ts +0 -4
- package/dist/components/app-sidebar.d.ts.map +0 -1
- package/dist/components/blocks/chart-compositions/chart-composition-01.d.ts +0 -2
- package/dist/components/blocks/chart-compositions/chart-composition-01.d.ts.map +0 -1
- package/dist/components/blocks/chart-compositions/chart-composition-02.d.ts +0 -2
- package/dist/components/blocks/chart-compositions/chart-composition-02.d.ts.map +0 -1
- package/dist/components/blocks/chart-compositions/chart-composition-03.d.ts +0 -2
- package/dist/components/blocks/chart-compositions/chart-composition-03.d.ts.map +0 -1
- package/dist/components/blocks/chart-compositions/index.d.ts +0 -4
- package/dist/components/blocks/chart-compositions/index.d.ts.map +0 -1
- package/dist/components/blocks/index.d.ts +0 -3
- package/dist/components/blocks/index.d.ts.map +0 -1
- package/dist/components/blocks/tables/index.d.ts +0 -4
- package/dist/components/blocks/tables/index.d.ts.map +0 -1
- package/dist/components/blocks/tables/table-01.d.ts +0 -2
- package/dist/components/blocks/tables/table-01.d.ts.map +0 -1
- package/dist/components/blocks/tables/table-02.d.ts +0 -2
- package/dist/components/blocks/tables/table-02.d.ts.map +0 -1
- package/dist/components/blocks/tables/table-03.d.ts +0 -2
- package/dist/components/blocks/tables/table-03.d.ts.map +0 -1
- package/dist/components/chart/area-chart/AreaChart.d.ts +0 -57
- package/dist/components/chart/area-chart/AreaChart.d.ts.map +0 -1
- package/dist/components/chart/area-chart/index.d.ts +0 -3
- package/dist/components/chart/area-chart/index.d.ts.map +0 -1
- package/dist/components/chart/bar-chart/BarChart.d.ts +0 -62
- package/dist/components/chart/bar-chart/BarChart.d.ts.map +0 -1
- package/dist/components/chart/bar-chart/index.d.ts +0 -3
- package/dist/components/chart/bar-chart/index.d.ts.map +0 -1
- package/dist/components/chart/bar-list/BarList.d.ts +0 -23
- package/dist/components/chart/bar-list/BarList.d.ts.map +0 -1
- package/dist/components/chart/bar-list/index.d.ts +0 -3
- package/dist/components/chart/bar-list/index.d.ts.map +0 -1
- package/dist/components/chart/category-bar/CategoryBar.d.ts +0 -15
- package/dist/components/chart/category-bar/CategoryBar.d.ts.map +0 -1
- package/dist/components/chart/category-bar/index.d.ts +0 -3
- package/dist/components/chart/category-bar/index.d.ts.map +0 -1
- package/dist/components/chart/combo-chart/ComboChart.d.ts +0 -67
- package/dist/components/chart/combo-chart/ComboChart.d.ts.map +0 -1
- package/dist/components/chart/combo-chart/index.d.ts +0 -3
- package/dist/components/chart/combo-chart/index.d.ts.map +0 -1
- package/dist/components/chart/donut-chart/DonutChart.d.ts +0 -37
- package/dist/components/chart/donut-chart/DonutChart.d.ts.map +0 -1
- package/dist/components/chart/donut-chart/index.d.ts +0 -3
- package/dist/components/chart/donut-chart/index.d.ts.map +0 -1
- package/dist/components/chart/index.d.ts +0 -19
- package/dist/components/chart/index.d.ts.map +0 -1
- package/dist/components/chart/line-chart/LineChart.d.ts +0 -55
- package/dist/components/chart/line-chart/LineChart.d.ts.map +0 -1
- package/dist/components/chart/line-chart/index.d.ts +0 -3
- package/dist/components/chart/line-chart/index.d.ts.map +0 -1
- package/dist/components/chart/progress-circle/ProgressCircle.d.ts +0 -92
- package/dist/components/chart/progress-circle/ProgressCircle.d.ts.map +0 -1
- package/dist/components/chart/progress-circle/index.d.ts +0 -3
- package/dist/components/chart/progress-circle/index.d.ts.map +0 -1
- package/dist/components/chart/spark-chart/SparkChart.d.ts +0 -40
- package/dist/components/chart/spark-chart/SparkChart.d.ts.map +0 -1
- package/dist/components/chart/spark-chart/index.d.ts +0 -3
- package/dist/components/chart/spark-chart/index.d.ts.map +0 -1
- package/dist/components/component-example.d.ts +0 -2
- package/dist/components/component-example.d.ts.map +0 -1
- package/dist/components/custom/enhanced-separator.d.ts +0 -36
- package/dist/components/custom/enhanced-separator.d.ts.map +0 -1
- package/dist/components/custom/segmented-control.d.ts +0 -48
- package/dist/components/custom/segmented-control.d.ts.map +0 -1
- package/dist/components/example.d.ts +0 -7
- package/dist/components/example.d.ts.map +0 -1
- package/dist/components/login-form.d.ts +0 -2
- package/dist/components/login-form.d.ts.map +0 -1
- package/dist/components/nav-user.d.ts +0 -8
- package/dist/components/nav-user.d.ts.map +0 -1
- package/dist/components/pm/gantt/contexts.d.ts +0 -13
- package/dist/components/pm/gantt/contexts.d.ts.map +0 -1
- package/dist/components/pm/gantt/gantt-columns.d.ts +0 -7
- package/dist/components/pm/gantt/gantt-columns.d.ts.map +0 -1
- package/dist/components/pm/gantt/gantt-demo.d.ts +0 -2
- package/dist/components/pm/gantt/gantt-demo.d.ts.map +0 -1
- package/dist/components/pm/gantt/gantt-dependencies.d.ts +0 -23
- package/dist/components/pm/gantt/gantt-dependencies.d.ts.map +0 -1
- package/dist/components/pm/gantt/gantt-features.d.ts +0 -9
- package/dist/components/pm/gantt/gantt-features.d.ts.map +0 -1
- package/dist/components/pm/gantt/gantt-header.d.ts +0 -5
- package/dist/components/pm/gantt/gantt-header.d.ts.map +0 -1
- package/dist/components/pm/gantt/gantt-markers.d.ts +0 -11
- package/dist/components/pm/gantt/gantt-markers.d.ts.map +0 -1
- package/dist/components/pm/gantt/gantt-modals.d.ts +0 -5
- package/dist/components/pm/gantt/gantt-modals.d.ts.map +0 -1
- package/dist/components/pm/gantt/gantt-provider.d.ts +0 -5
- package/dist/components/pm/gantt/gantt-provider.d.ts.map +0 -1
- package/dist/components/pm/gantt/gantt-setting-modal.d.ts +0 -4
- package/dist/components/pm/gantt/gantt-setting-modal.d.ts.map +0 -1
- package/dist/components/pm/gantt/gantt-sidebar.d.ts +0 -7
- package/dist/components/pm/gantt/gantt-sidebar.d.ts.map +0 -1
- package/dist/components/pm/gantt/gantt-toolbar.d.ts +0 -29
- package/dist/components/pm/gantt/gantt-toolbar.d.ts.map +0 -1
- package/dist/components/pm/gantt/index.d.ts +0 -16
- package/dist/components/pm/gantt/index.d.ts.map +0 -1
- package/dist/components/pm/gantt/types.d.ts +0 -299
- package/dist/components/pm/gantt/types.d.ts.map +0 -1
- package/dist/components/pm/gantt/utils.d.ts +0 -29
- package/dist/components/pm/gantt/utils.d.ts.map +0 -1
- package/dist/components/pm/index.d.ts +0 -13
- package/dist/components/pm/index.d.ts.map +0 -1
- package/dist/components/pm/mockdata.d.ts +0 -13
- package/dist/components/pm/mockdata.d.ts.map +0 -1
- package/dist/components/pm/pm-column-templates.d.ts +0 -30
- package/dist/components/pm/pm-column-templates.d.ts.map +0 -1
- package/dist/components/pm/pm-data-utils.d.ts +0 -82
- package/dist/components/pm/pm-data-utils.d.ts.map +0 -1
- package/dist/components/pm/pm-definition.d.ts +0 -75
- package/dist/components/pm/pm-definition.d.ts.map +0 -1
- package/dist/components/pm/pm-theme-context.d.ts +0 -17
- package/dist/components/pm/pm-theme-context.d.ts.map +0 -1
- package/dist/components/pm/pm-types.d.ts +0 -81
- package/dist/components/pm/pm-types.d.ts.map +0 -1
- package/dist/components/pm/project-table-view.d.ts +0 -17
- package/dist/components/pm/project-table-view.d.ts.map +0 -1
- package/dist/components/pm/table/data-grid-cell-variants.d.ts +0 -14
- package/dist/components/pm/table/data-grid-cell-variants.d.ts.map +0 -1
- package/dist/components/pm/table/data-grid-cell-wrapper.d.ts +0 -9
- package/dist/components/pm/table/data-grid-cell-wrapper.d.ts.map +0 -1
- package/dist/components/pm/table/data-grid-cell.d.ts +0 -5
- package/dist/components/pm/table/data-grid-cell.d.ts.map +0 -1
- package/dist/components/pm/table/data-grid-column-header.d.ts +0 -10
- package/dist/components/pm/table/data-grid-column-header.d.ts.map +0 -1
- package/dist/components/pm/table/data-grid-context-menu.d.ts +0 -10
- package/dist/components/pm/table/data-grid-context-menu.d.ts.map +0 -1
- package/dist/components/pm/table/data-grid-filter-menu.d.ts +0 -10
- package/dist/components/pm/table/data-grid-filter-menu.d.ts.map +0 -1
- package/dist/components/pm/table/data-grid-keyboard-shortcuts.d.ts +0 -12
- package/dist/components/pm/table/data-grid-keyboard-shortcuts.d.ts.map +0 -1
- package/dist/components/pm/table/data-grid-paste-dialog.d.ts +0 -9
- package/dist/components/pm/table/data-grid-paste-dialog.d.ts.map +0 -1
- package/dist/components/pm/table/data-grid-row-height-menu.d.ts +0 -10
- package/dist/components/pm/table/data-grid-row-height-menu.d.ts.map +0 -1
- package/dist/components/pm/table/data-grid-row.d.ts +0 -27
- package/dist/components/pm/table/data-grid-row.d.ts.map +0 -1
- package/dist/components/pm/table/data-grid-search.d.ts +0 -8
- package/dist/components/pm/table/data-grid-search.d.ts.map +0 -1
- package/dist/components/pm/table/data-grid-select-column.d.ts +0 -11
- package/dist/components/pm/table/data-grid-select-column.d.ts.map +0 -1
- package/dist/components/pm/table/data-grid-skeleton.d.ts +0 -12
- package/dist/components/pm/table/data-grid-skeleton.d.ts.map +0 -1
- package/dist/components/pm/table/data-grid-sort-menu.d.ts +0 -10
- package/dist/components/pm/table/data-grid-sort-menu.d.ts.map +0 -1
- package/dist/components/pm/table/data-grid-view-menu.d.ts +0 -10
- package/dist/components/pm/table/data-grid-view-menu.d.ts.map +0 -1
- package/dist/components/pm/table/data-grid.d.ts +0 -11
- package/dist/components/pm/table/data-grid.d.ts.map +0 -1
- package/dist/components/shadcn-studio/blocks/login-page-05/login-form.d.ts +0 -3
- package/dist/components/shadcn-studio/blocks/login-page-05/login-form.d.ts.map +0 -1
- package/dist/components/shadcn-studio/blocks/login-page-05/login-page-05.d.ts +0 -3
- package/dist/components/shadcn-studio/blocks/login-page-05/login-page-05.d.ts.map +0 -1
- package/dist/components/shadcn-studio/logo.d.ts +0 -5
- package/dist/components/shadcn-studio/logo.d.ts.map +0 -1
- package/dist/components/showcase/app-builder/app-builder-context.d.ts +0 -16
- package/dist/components/showcase/app-builder/app-builder-context.d.ts.map +0 -1
- package/dist/components/showcase/app-builder/app-canvas.d.ts +0 -11
- package/dist/components/showcase/app-builder/app-canvas.d.ts.map +0 -1
- package/dist/components/showcase/app-builder/widget-configurator.d.ts +0 -10
- package/dist/components/showcase/app-builder/widget-configurator.d.ts.map +0 -1
- package/dist/components/showcase/app-builder/widget-palette.d.ts +0 -6
- package/dist/components/showcase/app-builder/widget-palette.d.ts.map +0 -1
- package/dist/components/showcase/app-builder/widget-registry.d.ts +0 -29
- package/dist/components/showcase/app-builder/widget-registry.d.ts.map +0 -1
- package/dist/components/showcase/app-builder/widget-renderer.d.ts +0 -7
- package/dist/components/showcase/app-builder/widget-renderer.d.ts.map +0 -1
- package/dist/components/table/DataTable.d.ts +0 -71
- package/dist/components/table/DataTable.d.ts.map +0 -1
- package/dist/components/table/Table.d.ts +0 -12
- package/dist/components/table/Table.d.ts.map +0 -1
- package/dist/components/table/data-table-helpers.d.ts +0 -49
- package/dist/components/table/data-table-helpers.d.ts.map +0 -1
- package/dist/components/table/index.d.ts +0 -5
- package/dist/components/table/index.d.ts.map +0 -1
- package/dist/components/theme-toggle.d.ts +0 -2
- package/dist/components/theme-toggle.d.ts.map +0 -1
- package/dist/components/ui/chart.d.ts +0 -41
- package/dist/components/ui/chart.d.ts.map +0 -1
- package/dist/components/ui/shadcn-io/code-block/index.d.ts +0 -67
- package/dist/components/ui/shadcn-io/code-block/index.d.ts.map +0 -1
- package/dist/components/ui/shadcn-io/code-block/server.d.ts +0 -10
- package/dist/components/ui/shadcn-io/code-block/server.d.ts.map +0 -1
- package/dist/components/ui/shadcn-io/code-editor/index.d.ts +0 -35
- package/dist/components/ui/shadcn-io/code-editor/index.d.ts.map +0 -1
- package/dist/components/ui/shadcn-io/sandbox/index.d.ts +0 -38
- package/dist/components/ui/shadcn-io/sandbox/index.d.ts.map +0 -1
- package/dist/components/ui/shadcn-io/snippet/index.d.ts +0 -21
- package/dist/components/ui/shadcn-io/snippet/index.d.ts.map +0 -1
- package/dist/hooks/use-chart-highlight.d.ts +0 -43
- package/dist/hooks/use-chart-highlight.d.ts.map +0 -1
- package/dist/hooks/use-data-grid.d.ts +0 -59
- package/dist/hooks/use-data-grid.d.ts.map +0 -1
- package/dist/hooks/use-on-window-resize.d.ts +0 -2
- package/dist/hooks/use-on-window-resize.d.ts.map +0 -1
- package/dist/lib/data-grid-filters.d.ts +0 -29
- package/dist/lib/data-grid-filters.d.ts.map +0 -1
- package/dist/lib/data-grid.d.ts +0 -47
- package/dist/lib/data-grid.d.ts.map +0 -1
- package/dist/main.d.ts +0 -3
- package/dist/main.d.ts.map +0 -1
- package/dist/mockdata/chartData.d.ts +0 -71
- package/dist/mockdata/chartData.d.ts.map +0 -1
- package/dist/mockdata/toc.d.ts +0 -23
- package/dist/mockdata/toc.d.ts.map +0 -1
- package/dist/pages/AppBuilder.d.ts +0 -2
- package/dist/pages/AppBuilder.d.ts.map +0 -1
- package/dist/pages/ChartShowcase.d.ts +0 -2
- package/dist/pages/ChartShowcase.d.ts.map +0 -1
- package/dist/pages/ComponentShowcase.d.ts +0 -2
- package/dist/pages/ComponentShowcase.d.ts.map +0 -1
- package/dist/pages/DataTableShowcase.d.ts +0 -2
- package/dist/pages/DataTableShowcase.d.ts.map +0 -1
- package/dist/pages/Drafts.d.ts +0 -2
- package/dist/pages/Drafts.d.ts.map +0 -1
- package/dist/pages/GanttShowcase.d.ts +0 -2
- package/dist/pages/GanttShowcase.d.ts.map +0 -1
- package/dist/pages/Inbox.d.ts +0 -2
- package/dist/pages/Inbox.d.ts.map +0 -1
- package/dist/pages/Junk.d.ts +0 -2
- package/dist/pages/Junk.d.ts.map +0 -1
- package/dist/pages/Sent.d.ts +0 -2
- package/dist/pages/Sent.d.ts.map +0 -1
- package/dist/pages/Settings.d.ts +0 -2
- package/dist/pages/Settings.d.ts.map +0 -1
- package/dist/pages/Trash.d.ts +0 -2
- package/dist/pages/Trash.d.ts.map +0 -1
- package/dist/pages/gantt-data.d.ts +0 -16
- package/dist/pages/gantt-data.d.ts.map +0 -1
- package/dist/stories/mockData.d.ts +0 -157
- package/dist/stories/mockData.d.ts.map +0 -1
- package/dist/types/data-grid.d.ts +0 -179
- package/dist/types/data-grid.d.ts.map +0 -1
- package/dist/utils/chart-colors.d.ts +0 -62
- package/dist/utils/chart-colors.d.ts.map +0 -1
- package/dist/utils/chart-highlight.d.ts +0 -34
- package/dist/utils/chart-highlight.d.ts.map +0 -1
- package/dist/utils/chart-utils.d.ts +0 -2
- package/dist/utils/chart-utils.d.ts.map +0 -1
- package/dist/utils/focus-ring.d.ts +0 -2
- package/dist/utils/focus-ring.d.ts.map +0 -1
- package/dist/utils/get-y-axis-domain.d.ts +0 -2
- package/dist/utils/get-y-axis-domain.d.ts.map +0 -1
- package/dist/utils/index.d.ts +0 -10
- package/dist/utils/index.d.ts.map +0 -1
|
@@ -0,0 +1,348 @@
|
|
|
1
|
+
# Progress Component
|
|
2
|
+
|
|
3
|
+
The Progress component displays progress indicators with two distinct styles: a block-based segmented design (dash style) similar to GitHub's contribution graph, or a smooth continuous bar (solid style).
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @nqlib/nqui
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Import
|
|
12
|
+
|
|
13
|
+
```tsx
|
|
14
|
+
import { Progress } from '@nqlib/nqui';
|
|
15
|
+
// Or import the base version:
|
|
16
|
+
import { CoreProgress } from '@nqlib/nqui';
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Basic Usage
|
|
20
|
+
|
|
21
|
+
### Dash Style (Default)
|
|
22
|
+
|
|
23
|
+
The dash style displays progress as discrete colored blocks:
|
|
24
|
+
|
|
25
|
+
```tsx
|
|
26
|
+
import { Progress } from '@nqlib/nqui';
|
|
27
|
+
|
|
28
|
+
export default function Example() {
|
|
29
|
+
return <Progress value={75} variant="success" />;
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Solid Style
|
|
34
|
+
|
|
35
|
+
The solid style displays progress as a smooth continuous bar:
|
|
36
|
+
|
|
37
|
+
```tsx
|
|
38
|
+
import { Progress } from '@nqlib/nqui';
|
|
39
|
+
|
|
40
|
+
export default function Example() {
|
|
41
|
+
return (
|
|
42
|
+
<Progress
|
|
43
|
+
value={75}
|
|
44
|
+
variant="success"
|
|
45
|
+
style="solid"
|
|
46
|
+
/>
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Props
|
|
52
|
+
|
|
53
|
+
| Prop | Type | Default | Description |
|
|
54
|
+
|------|------|---------|-------------|
|
|
55
|
+
| `value` | `number` | **required** | Progress value (0 to max) |
|
|
56
|
+
| `max` | `number` | `100` | Maximum value |
|
|
57
|
+
| `variant` | `'default' \| 'success' \| 'warning' \| 'error' \| 'neutral'` | `'default'` | Color variant |
|
|
58
|
+
| `style` | `'dash' \| 'solid'` | `'dash'` | Progress style/appearance |
|
|
59
|
+
| `blocks` | `number` | auto | Number of blocks to display (dash style only, 20-100) |
|
|
60
|
+
| `showTooltip` | `boolean` | `false` | Show tooltip on hover showing progress percentage |
|
|
61
|
+
| `hoverEffect` | `boolean` | `false` | Enable hover opacity effect on blocks (dash style only) |
|
|
62
|
+
| `showAnimation` | `boolean` | `false` | Show animation transition when value changes |
|
|
63
|
+
| `label` | `string` | - | Optional label text to display next to progress bar (solid style only) |
|
|
64
|
+
| `height` | `string` | `'h-8'` (dash) or `'h-2'` (solid) | Height override (Tailwind class or CSS value) |
|
|
65
|
+
| `className` | `string` | - | Additional CSS classes |
|
|
66
|
+
|
|
67
|
+
## Variants
|
|
68
|
+
|
|
69
|
+
Progress comes in five color variants:
|
|
70
|
+
|
|
71
|
+
```tsx
|
|
72
|
+
<Progress value={60} variant="default" /> // Primary color
|
|
73
|
+
<Progress value={60} variant="success" /> // Green
|
|
74
|
+
<Progress value={60} variant="warning" /> // Yellow
|
|
75
|
+
<Progress value={60} variant="error" /> // Red
|
|
76
|
+
<Progress value={60} variant="neutral" /> // Gray
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Styles
|
|
80
|
+
|
|
81
|
+
### Dash Style
|
|
82
|
+
|
|
83
|
+
The dash style displays progress as discrete blocks, similar to GitHub's contribution graph. Blocks are auto-calculated based on container width, or you can specify a custom count.
|
|
84
|
+
|
|
85
|
+
```tsx
|
|
86
|
+
// Auto-calculated blocks (default)
|
|
87
|
+
<div className="w-96">
|
|
88
|
+
<Progress value={60} variant="success" />
|
|
89
|
+
</div>
|
|
90
|
+
|
|
91
|
+
// Custom block count
|
|
92
|
+
<Progress value={60} blocks={50} variant="success" />
|
|
93
|
+
|
|
94
|
+
// With hover effect
|
|
95
|
+
<Progress
|
|
96
|
+
value={60}
|
|
97
|
+
variant="success"
|
|
98
|
+
hoverEffect
|
|
99
|
+
/>
|
|
100
|
+
|
|
101
|
+
// With tooltip
|
|
102
|
+
<Progress
|
|
103
|
+
value={60}
|
|
104
|
+
variant="success"
|
|
105
|
+
showTooltip
|
|
106
|
+
/>
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Solid Style
|
|
110
|
+
|
|
111
|
+
The solid style displays progress as a smooth continuous bar with rounded corners.
|
|
112
|
+
|
|
113
|
+
```tsx
|
|
114
|
+
// Basic solid bar
|
|
115
|
+
<Progress value={75} variant="success" style="solid" />
|
|
116
|
+
|
|
117
|
+
// With label
|
|
118
|
+
<Progress
|
|
119
|
+
value={75}
|
|
120
|
+
variant="success"
|
|
121
|
+
style="solid"
|
|
122
|
+
label="75% Complete"
|
|
123
|
+
/>
|
|
124
|
+
|
|
125
|
+
// With animation
|
|
126
|
+
<Progress
|
|
127
|
+
value={progress}
|
|
128
|
+
variant="success"
|
|
129
|
+
style="solid"
|
|
130
|
+
showAnimation
|
|
131
|
+
/>
|
|
132
|
+
|
|
133
|
+
// Custom height
|
|
134
|
+
<Progress
|
|
135
|
+
value={75}
|
|
136
|
+
variant="success"
|
|
137
|
+
style="solid"
|
|
138
|
+
height="h-4"
|
|
139
|
+
/>
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## Examples
|
|
143
|
+
|
|
144
|
+
### Dash Style Examples
|
|
145
|
+
|
|
146
|
+
#### Auto-calculated Blocks
|
|
147
|
+
|
|
148
|
+
The component automatically calculates the optimal number of blocks based on container width:
|
|
149
|
+
|
|
150
|
+
```tsx
|
|
151
|
+
<div className="w-64">
|
|
152
|
+
<Progress value={60} variant="default" />
|
|
153
|
+
</div>
|
|
154
|
+
|
|
155
|
+
<div className="w-96">
|
|
156
|
+
<Progress value={60} variant="success" />
|
|
157
|
+
</div>
|
|
158
|
+
|
|
159
|
+
<div className="w-full max-w-2xl">
|
|
160
|
+
<Progress value={60} variant="warning" />
|
|
161
|
+
</div>
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
#### Custom Block Count
|
|
165
|
+
|
|
166
|
+
Specify a custom number of blocks (between 20-100):
|
|
167
|
+
|
|
168
|
+
```tsx
|
|
169
|
+
// Sparse (20 blocks)
|
|
170
|
+
<Progress value={60} blocks={20} variant="success" />
|
|
171
|
+
|
|
172
|
+
// Default density (50 blocks)
|
|
173
|
+
<Progress value={60} blocks={50} variant="success" />
|
|
174
|
+
|
|
175
|
+
// Dense (100 blocks)
|
|
176
|
+
<Progress value={60} blocks={100} variant="success" />
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
#### With Tooltip
|
|
180
|
+
|
|
181
|
+
Show progress percentage on hover:
|
|
182
|
+
|
|
183
|
+
```tsx
|
|
184
|
+
import { TooltipProvider } from '@nqlib/nqui';
|
|
185
|
+
|
|
186
|
+
<TooltipProvider>
|
|
187
|
+
<Progress
|
|
188
|
+
value={65}
|
|
189
|
+
variant="success"
|
|
190
|
+
showTooltip
|
|
191
|
+
/>
|
|
192
|
+
</TooltipProvider>
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
#### With Hover Effect
|
|
196
|
+
|
|
197
|
+
Enable opacity effect on blocks when hovering:
|
|
198
|
+
|
|
199
|
+
```tsx
|
|
200
|
+
<Progress
|
|
201
|
+
value={70}
|
|
202
|
+
variant="default"
|
|
203
|
+
hoverEffect
|
|
204
|
+
/>
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
#### Custom Heights
|
|
208
|
+
|
|
209
|
+
```tsx
|
|
210
|
+
<Progress value={60} height="h-4" variant="success" /> // Small
|
|
211
|
+
<Progress value={60} height="h-6" variant="success" /> // Medium
|
|
212
|
+
<Progress value={60} height="h-8" variant="success" /> // Default
|
|
213
|
+
<Progress value={60} height="h-12" variant="success" /> // Large
|
|
214
|
+
<Progress value={60} height="2rem" variant="success" /> // Custom CSS
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
### Solid Style Examples
|
|
218
|
+
|
|
219
|
+
#### Basic Solid Bar
|
|
220
|
+
|
|
221
|
+
```tsx
|
|
222
|
+
<Progress value={75} variant="success" style="solid" />
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
#### With Label
|
|
226
|
+
|
|
227
|
+
```tsx
|
|
228
|
+
<Progress
|
|
229
|
+
value={75}
|
|
230
|
+
variant="success"
|
|
231
|
+
style="solid"
|
|
232
|
+
label="75%"
|
|
233
|
+
/>
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
#### With Animation
|
|
237
|
+
|
|
238
|
+
Animate value changes smoothly:
|
|
239
|
+
|
|
240
|
+
```tsx
|
|
241
|
+
import { useState } from 'react';
|
|
242
|
+
|
|
243
|
+
function AnimatedProgress() {
|
|
244
|
+
const [progress, setProgress] = useState(50);
|
|
245
|
+
|
|
246
|
+
return (
|
|
247
|
+
<Progress
|
|
248
|
+
value={progress}
|
|
249
|
+
variant="success"
|
|
250
|
+
style="solid"
|
|
251
|
+
showAnimation
|
|
252
|
+
/>
|
|
253
|
+
);
|
|
254
|
+
}
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
#### Different Progress Values
|
|
258
|
+
|
|
259
|
+
```tsx
|
|
260
|
+
<Progress value={0} variant="default" style="solid" /> // 0%
|
|
261
|
+
<Progress value={25} variant="success" style="solid" /> // 25%
|
|
262
|
+
<Progress value={50} variant="warning" style="solid" /> // 50%
|
|
263
|
+
<Progress value={75} variant="success" style="solid" /> // 75%
|
|
264
|
+
<Progress value={100} variant="success" style="solid" /> // 100%
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
## Controlled Progress
|
|
268
|
+
|
|
269
|
+
Use controlled state to update progress dynamically:
|
|
270
|
+
|
|
271
|
+
```tsx
|
|
272
|
+
import { useState } from 'react';
|
|
273
|
+
import { Progress } from '@nqlib/nqui';
|
|
274
|
+
|
|
275
|
+
function ControlledProgress() {
|
|
276
|
+
const [progress, setProgress] = useState(50);
|
|
277
|
+
|
|
278
|
+
return (
|
|
279
|
+
<div className="space-y-4">
|
|
280
|
+
<Progress
|
|
281
|
+
value={progress}
|
|
282
|
+
variant="success"
|
|
283
|
+
showTooltip
|
|
284
|
+
/>
|
|
285
|
+
<input
|
|
286
|
+
type="range"
|
|
287
|
+
min="0"
|
|
288
|
+
max="100"
|
|
289
|
+
value={progress}
|
|
290
|
+
onChange={(e) => setProgress(Number(e.target.value))}
|
|
291
|
+
className="w-full"
|
|
292
|
+
/>
|
|
293
|
+
<div className="text-sm text-muted-foreground">
|
|
294
|
+
Progress: {progress}%
|
|
295
|
+
</div>
|
|
296
|
+
</div>
|
|
297
|
+
);
|
|
298
|
+
}
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
## Requirements
|
|
302
|
+
|
|
303
|
+
### CSS Import
|
|
304
|
+
|
|
305
|
+
Ensure the library CSS is imported in your application:
|
|
306
|
+
|
|
307
|
+
```tsx
|
|
308
|
+
import '@nqlib/nqui/dist/index.css';
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
### Tooltip Provider
|
|
312
|
+
|
|
313
|
+
If using `showTooltip`, wrap your app with `TooltipProvider`:
|
|
314
|
+
|
|
315
|
+
```tsx
|
|
316
|
+
import { TooltipProvider } from '@nqlib/nqui';
|
|
317
|
+
|
|
318
|
+
function App() {
|
|
319
|
+
return (
|
|
320
|
+
<TooltipProvider>
|
|
321
|
+
{/* Your app */}
|
|
322
|
+
</TooltipProvider>
|
|
323
|
+
);
|
|
324
|
+
}
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
## Accessibility
|
|
328
|
+
|
|
329
|
+
- Includes ARIA attributes (`role="progressbar"`, `aria-valuenow`, `aria-valuemin`, `aria-valuemax`)
|
|
330
|
+
- Proper progress semantics for screen readers
|
|
331
|
+
- Keyboard accessible (inherited from Radix UI primitives)
|
|
332
|
+
|
|
333
|
+
## Notes
|
|
334
|
+
|
|
335
|
+
- **Dash style**: Block-based design that auto-calculates block count based on container width if `blocks` prop is not provided
|
|
336
|
+
- **Solid style**: Smooth continuous bar with rounded corners, supports labels and animations
|
|
337
|
+
- **Responsive**: Dash style adapts block count to container width automatically
|
|
338
|
+
- **Performance**: Uses ResizeObserver for efficient width calculations in dash style
|
|
339
|
+
|
|
340
|
+
## Base Component
|
|
341
|
+
|
|
342
|
+
If you need the base Radix UI Progress component without enhancements, import `CoreProgress`:
|
|
343
|
+
|
|
344
|
+
```tsx
|
|
345
|
+
import { CoreProgress } from '@nqlib/nqui';
|
|
346
|
+
|
|
347
|
+
<CoreProgress value={33} />
|
|
348
|
+
```
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Stacked Avatar (Assignees) Implementation
|
|
2
|
+
|
|
3
|
+
Use this pattern to show multiple assignees/people in a project cell with limited space.
|
|
4
|
+
|
|
5
|
+
## Pattern
|
|
6
|
+
|
|
7
|
+
1. **Stack avatars** – Use `flex` + `-space-x-1.5` so avatars overlap.
|
|
8
|
+
2. **Limit visible** – Show the first `maxVisible` avatars (e.g. 2–3).
|
|
9
|
+
3. **Overflow indicator** – When there are more, append a "…" badge.
|
|
10
|
+
4. **Hover for details** – Wrap the overflow case in `Tooltip` / `TooltipProvider`; show full list on hover.
|
|
11
|
+
|
|
12
|
+
## Data Shape
|
|
13
|
+
|
|
14
|
+
```ts
|
|
15
|
+
type Person = { id: string; name: string; avatarUrl?: string }
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Key Props
|
|
19
|
+
|
|
20
|
+
| Prop | Description |
|
|
21
|
+
|-------------|-------------------------------------|
|
|
22
|
+
| `maxVisible`| How many avatars to show (2–3) |
|
|
23
|
+
| `people` | Array of `Person` objects |
|
|
24
|
+
|
|
25
|
+
## Layout Classes
|
|
26
|
+
|
|
27
|
+
- Container: `flex shrink-0 items-center -space-x-1.5`
|
|
28
|
+
- Avatar: `h-5 w-5 border border-background`
|
|
29
|
+
- Fallback: `text-[10px]` for initials
|
|
30
|
+
- Overflow badge: Same size as avatar, `bg-muted text-muted-foreground`
|
|
31
|
+
|
|
32
|
+
## Overflow Logic
|
|
33
|
+
|
|
34
|
+
```ts
|
|
35
|
+
const visible = people.slice(0, maxVisible)
|
|
36
|
+
const overflow = people.length > maxVisible
|
|
37
|
+
// Render visible + "…" badge when overflow; wrap in Tooltip for hover
|
|
38
|
+
```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nqlib/nqui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "A React component library with enhanced UI components and developer tools",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/nqui.cjs.js",
|
|
@@ -12,6 +12,36 @@
|
|
|
12
12
|
"import": "./dist/nqui.es.js",
|
|
13
13
|
"require": "./dist/nqui.cjs.js"
|
|
14
14
|
},
|
|
15
|
+
"./carousel": {
|
|
16
|
+
"types": "./dist/entries/carousel.d.ts",
|
|
17
|
+
"import": "./dist/carousel.es.js",
|
|
18
|
+
"require": "./dist/carousel.cjs.js"
|
|
19
|
+
},
|
|
20
|
+
"./command": {
|
|
21
|
+
"types": "./dist/entries/command.d.ts",
|
|
22
|
+
"import": "./dist/command.es.js",
|
|
23
|
+
"require": "./dist/command.cjs.js"
|
|
24
|
+
},
|
|
25
|
+
"./sortable": {
|
|
26
|
+
"types": "./dist/entries/sortable.d.ts",
|
|
27
|
+
"import": "./dist/sortable.es.js",
|
|
28
|
+
"require": "./dist/sortable.cjs.js"
|
|
29
|
+
},
|
|
30
|
+
"./calendar": {
|
|
31
|
+
"types": "./dist/entries/calendar.d.ts",
|
|
32
|
+
"import": "./dist/calendar.es.js",
|
|
33
|
+
"require": "./dist/calendar.cjs.js"
|
|
34
|
+
},
|
|
35
|
+
"./sonner": {
|
|
36
|
+
"types": "./dist/entries/sonner.d.ts",
|
|
37
|
+
"import": "./dist/sonner.es.js",
|
|
38
|
+
"require": "./dist/sonner.cjs.js"
|
|
39
|
+
},
|
|
40
|
+
"./drawer": {
|
|
41
|
+
"types": "./dist/entries/drawer.d.ts",
|
|
42
|
+
"import": "./dist/drawer.es.js",
|
|
43
|
+
"require": "./dist/drawer.cjs.js"
|
|
44
|
+
},
|
|
15
45
|
"./styles": {
|
|
16
46
|
"import": "./dist/styles.css",
|
|
17
47
|
"require": "./dist/styles.css",
|
|
@@ -22,6 +52,7 @@
|
|
|
22
52
|
"files": [
|
|
23
53
|
"dist",
|
|
24
54
|
"scripts",
|
|
55
|
+
"docs",
|
|
25
56
|
"README.md",
|
|
26
57
|
"INSTALLATION.md"
|
|
27
58
|
],
|
|
@@ -50,6 +81,7 @@
|
|
|
50
81
|
"author": "",
|
|
51
82
|
"license": "MIT",
|
|
52
83
|
"scripts": {
|
|
84
|
+
"postinstall": "node scripts/post-install.js",
|
|
53
85
|
"dev": "vite",
|
|
54
86
|
"build": "npm run build:lib",
|
|
55
87
|
"build:lib": "vite build --mode library && npm run build:types && npm run build:styles && npm run copy:css",
|
|
@@ -74,12 +106,14 @@
|
|
|
74
106
|
"test-storybook:coverage": "test-storybook --coverage"
|
|
75
107
|
},
|
|
76
108
|
"bin": {
|
|
77
|
-
"nqui": "./scripts/
|
|
109
|
+
"nqui": "./scripts/cli.js",
|
|
78
110
|
"nqui-init-css": "./scripts/init-css.js",
|
|
79
|
-
"nqui-init-
|
|
111
|
+
"nqui-init-cursor": "./scripts/init-cursor.js",
|
|
112
|
+
"nqui-install-peers": "./scripts/install-peers.js",
|
|
113
|
+
"nqui-init-debug": "./scripts/init-debug-css.js",
|
|
114
|
+
"nqui-setup": "./scripts/post-install.js"
|
|
80
115
|
},
|
|
81
116
|
"dependencies": {
|
|
82
|
-
"@base-ui/react": "^1.0.0",
|
|
83
117
|
"@codesandbox/sandpack-react": "^2.20.0",
|
|
84
118
|
"@dnd-kit/core": "^6.3.1",
|
|
85
119
|
"@dnd-kit/modifiers": "^9.0.0",
|
|
@@ -88,7 +122,6 @@
|
|
|
88
122
|
"@fontsource-variable/inter": "^5.2.8",
|
|
89
123
|
"@hugeicons/core-free-icons": "^3.1.1",
|
|
90
124
|
"@hugeicons/react": "^1.1.4",
|
|
91
|
-
"@icons-pack/react-simple-icons": "^13.8.0",
|
|
92
125
|
"@radix-ui/react-avatar": "^1.1.11",
|
|
93
126
|
"@radix-ui/react-checkbox": "^1.3.3",
|
|
94
127
|
"@radix-ui/react-collapsible": "^1.1.12",
|
|
@@ -105,36 +138,28 @@
|
|
|
105
138
|
"@radix-ui/react-tabs": "^1.1.13",
|
|
106
139
|
"@radix-ui/react-tooltip": "^1.2.8",
|
|
107
140
|
"@radix-ui/react-use-controllable-state": "^1.2.2",
|
|
108
|
-
"@remixicon/react": "^4.8.0",
|
|
109
141
|
"@shikijs/transformers": "^3.21.0",
|
|
110
142
|
"@tailwindcss/vite": "^4.1.17",
|
|
111
143
|
"@tanstack/react-table": "^8.21.3",
|
|
112
|
-
"@tanstack/react-virtual": "^3.13.18",
|
|
113
144
|
"@uidotdev/usehooks": "^2.4.1",
|
|
114
145
|
"class-variance-authority": "^0.7.1",
|
|
115
146
|
"clsx": "^2.1.1",
|
|
116
147
|
"cmdk": "^1.1.1",
|
|
117
148
|
"date-fns": "^4.1.0",
|
|
118
149
|
"embla-carousel-react": "^8.6.0",
|
|
119
|
-
"html2canvas-pro": "^1.6.3",
|
|
120
150
|
"input-otp": "^1.4.2",
|
|
121
|
-
"jotai": "^2.17.0",
|
|
122
151
|
"lodash.throttle": "^4.1.1",
|
|
123
|
-
"lucide-react": "^0.562.0",
|
|
124
152
|
"minimist": "^1.2.8",
|
|
125
|
-
"motion": "^12.24.10",
|
|
126
153
|
"next-themes": "^0.4.6",
|
|
127
154
|
"package": "^1.0.1",
|
|
128
155
|
"postcss": "^8.4.0",
|
|
129
156
|
"postcss-discard-comments": "^7.0.0",
|
|
130
157
|
"postcss-import": "^16.0.0",
|
|
131
158
|
"radix-ui": "^1.4.3",
|
|
132
|
-
"react": "^
|
|
159
|
+
"react": "^19.0.0",
|
|
133
160
|
"react-day-picker": "^9.13.0",
|
|
134
|
-
"react-dom": "^
|
|
135
|
-
"react-resizable-panels": "^4.2.1",
|
|
161
|
+
"react-dom": "^19.0.0",
|
|
136
162
|
"react-router-dom": "^7.11.0",
|
|
137
|
-
"recharts": "^2.15.4",
|
|
138
163
|
"shiki": "^3.21.0",
|
|
139
164
|
"sonner": "^2.0.7",
|
|
140
165
|
"tailwind-merge": "^3.4.0",
|
|
@@ -143,7 +168,68 @@
|
|
|
143
168
|
"tw-animate-css": "^1.4.0",
|
|
144
169
|
"vaul": "^1.1.2"
|
|
145
170
|
},
|
|
171
|
+
"peerDependencies": {
|
|
172
|
+
"@base-ui/react": "^1.0.0",
|
|
173
|
+
"@hugeicons/core-free-icons": "^3.0.0",
|
|
174
|
+
"@hugeicons/react": "^1.0.0",
|
|
175
|
+
"@dnd-kit/core": "^6.0.0",
|
|
176
|
+
"@dnd-kit/modifiers": "^9.0.0",
|
|
177
|
+
"@dnd-kit/sortable": "^10.0.0",
|
|
178
|
+
"@dnd-kit/utilities": "^3.0.0",
|
|
179
|
+
"@tanstack/react-table": "^8.0.0",
|
|
180
|
+
"cmdk": "^1.0.0",
|
|
181
|
+
"date-fns": "^4.0.0",
|
|
182
|
+
"embla-carousel-react": "^8.0.0",
|
|
183
|
+
"react": "^18.0.0 || ^19.0.0",
|
|
184
|
+
"react-day-picker": "^9.0.0",
|
|
185
|
+
"react-dom": "^18.0.0 || ^19.0.0",
|
|
186
|
+
"react-resizable-panels": "^4.0.0",
|
|
187
|
+
"sonner": "^2.0.0",
|
|
188
|
+
"vaul": "^1.0.0"
|
|
189
|
+
},
|
|
190
|
+
"peerDependenciesMeta": {
|
|
191
|
+
"cmdk": {
|
|
192
|
+
"optional": true
|
|
193
|
+
},
|
|
194
|
+
"@dnd-kit/core": {
|
|
195
|
+
"optional": true
|
|
196
|
+
},
|
|
197
|
+
"@dnd-kit/modifiers": {
|
|
198
|
+
"optional": true
|
|
199
|
+
},
|
|
200
|
+
"@dnd-kit/sortable": {
|
|
201
|
+
"optional": true
|
|
202
|
+
},
|
|
203
|
+
"@dnd-kit/utilities": {
|
|
204
|
+
"optional": true
|
|
205
|
+
},
|
|
206
|
+
"embla-carousel-react": {
|
|
207
|
+
"optional": true
|
|
208
|
+
},
|
|
209
|
+
"@tanstack/react-table": {
|
|
210
|
+
"optional": true
|
|
211
|
+
},
|
|
212
|
+
"react-day-picker": {
|
|
213
|
+
"optional": true
|
|
214
|
+
},
|
|
215
|
+
"date-fns": {
|
|
216
|
+
"optional": true
|
|
217
|
+
},
|
|
218
|
+
"sonner": {
|
|
219
|
+
"optional": true
|
|
220
|
+
},
|
|
221
|
+
"vaul": {
|
|
222
|
+
"optional": true
|
|
223
|
+
},
|
|
224
|
+
"react-resizable-panels": {
|
|
225
|
+
"optional": true
|
|
226
|
+
},
|
|
227
|
+
"@base-ui/react": {
|
|
228
|
+
"optional": true
|
|
229
|
+
}
|
|
230
|
+
},
|
|
146
231
|
"devDependencies": {
|
|
232
|
+
"@base-ui/react": "^1.0.0",
|
|
147
233
|
"@eslint/js": "^9.39.1",
|
|
148
234
|
"@storybook/addon-docs": "^10.1.11",
|
|
149
235
|
"@storybook/addon-links": "^10.1.11",
|
|
@@ -154,14 +240,15 @@
|
|
|
154
240
|
"@storybook/testing-library": "^0.2.2",
|
|
155
241
|
"@types/lodash.throttle": "^4.1.9",
|
|
156
242
|
"@types/node": "^24.10.1",
|
|
157
|
-
"@types/react": "^
|
|
158
|
-
"@types/react-dom": "^
|
|
243
|
+
"@types/react": "^19.0.0",
|
|
244
|
+
"@types/react-dom": "^19.0.0",
|
|
159
245
|
"@vitejs/plugin-react": "^5.1.1",
|
|
160
246
|
"eslint": "^9.39.1",
|
|
161
247
|
"eslint-plugin-react-hooks": "^7.0.1",
|
|
162
248
|
"eslint-plugin-react-refresh": "^0.4.24",
|
|
163
249
|
"eslint-plugin-storybook": "10.1.11",
|
|
164
250
|
"globals": "^16.5.0",
|
|
251
|
+
"react-resizable-panels": "^4.2.1",
|
|
165
252
|
"shadcn": "^3.6.2",
|
|
166
253
|
"storybook": "^10.1.11",
|
|
167
254
|
"typescript": "~5.9.3",
|
package/scripts/cli.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* nqui CLI dispatcher. Routes subcommands to the correct script.
|
|
5
|
+
*
|
|
6
|
+
* Usage:
|
|
7
|
+
* npx @nqlib/nqui init-css [output.css]
|
|
8
|
+
* npx @nqlib/nqui init-cursor
|
|
9
|
+
* npx @nqlib/nqui install-peers
|
|
10
|
+
* npx @nqlib/nqui init-debug
|
|
11
|
+
* npx @nqlib/nqui setup
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
import { spawnSync } from 'child_process';
|
|
15
|
+
import { dirname, resolve } from 'path';
|
|
16
|
+
import { fileURLToPath } from 'url';
|
|
17
|
+
|
|
18
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
19
|
+
const subcommand = process.argv[2];
|
|
20
|
+
|
|
21
|
+
const routes = {
|
|
22
|
+
'init-cursor': './init-cursor.js',
|
|
23
|
+
'install-peers': './install-peers.js',
|
|
24
|
+
'init-debug': './init-debug-css.js',
|
|
25
|
+
'init-debug-css': './init-debug-css.js',
|
|
26
|
+
setup: './post-install.js',
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
if (routes[subcommand]) {
|
|
30
|
+
const script = resolve(__dirname, routes[subcommand]);
|
|
31
|
+
const result = spawnSync(process.execPath, [script, ...process.argv.slice(3)], {
|
|
32
|
+
stdio: 'inherit',
|
|
33
|
+
cwd: process.cwd(),
|
|
34
|
+
});
|
|
35
|
+
process.exit(result.status ?? 1);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Default: init-css (pass all args through)
|
|
39
|
+
const initCss = resolve(__dirname, 'init-css.js');
|
|
40
|
+
const result = spawnSync(process.execPath, [initCss, ...process.argv.slice(2)], {
|
|
41
|
+
stdio: 'inherit',
|
|
42
|
+
cwd: process.cwd(),
|
|
43
|
+
});
|
|
44
|
+
process.exit(result.status ?? 1);
|
package/scripts/help.js
CHANGED
package/scripts/init-css.js
CHANGED
|
@@ -19,6 +19,21 @@ import { generateSetupContent } from './setup-helper.js';
|
|
|
19
19
|
import { copyNextJsExamples } from './examples.js';
|
|
20
20
|
import { emit } from './pipeline/emit.js';
|
|
21
21
|
|
|
22
|
+
// Guard: if first arg is a subcommand, user has old package (main bin was init-css). Redirect.
|
|
23
|
+
const firstArg = process.argv[2];
|
|
24
|
+
const subcommands = ['init-cursor', 'install-peers', 'init-debug', 'init-debug-css', 'setup'];
|
|
25
|
+
if (subcommands.includes(firstArg)) {
|
|
26
|
+
console.error(`
|
|
27
|
+
❌ Outdated @nqlib/nqui — "npx @nqlib/nqui ${firstArg}" routed to init-css.
|
|
28
|
+
|
|
29
|
+
Fix: npm install @nqlib/nqui@latest
|
|
30
|
+
Then: npx @nqlib/nqui ${firstArg}
|
|
31
|
+
|
|
32
|
+
Or run the binary directly: npm exec nqui-init-cursor
|
|
33
|
+
`);
|
|
34
|
+
process.exit(1);
|
|
35
|
+
}
|
|
36
|
+
|
|
22
37
|
// Filter out command names from argv
|
|
23
38
|
const commandNames = ['init-css', 'nqui', 'nqui-init-css'];
|
|
24
39
|
const filteredArgs = process.argv.slice(2).filter(arg => !commandNames.includes(arg));
|