@nqlib/nqui 0.3.3 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -2
- 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 +15298 -72451
- 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 -9
- package/dist/utils-B6yFEsav.js +8 -0
- package/dist/utils-IjLH3w2e.cjs +1 -0
- package/docs/components/README.md +282 -92
- package/docs/components/nqui-button-group.md +24 -5
- package/docs/components/nqui-checkbox.md +2 -2
- package/docs/components/nqui-code-block.md +6 -4
- package/docs/components/nqui-code-editor.md +1 -1
- package/docs/components/nqui-combobox.md +9 -1
- package/docs/components/nqui-data-table.md +46 -0
- package/docs/components/nqui-input-group.md +14 -6
- package/docs/components/nqui-radio-group.md +9 -1
- package/docs/components/nqui-sandbox.md +1 -1
- package/docs/components/nqui-select.md +13 -10
- package/docs/components/nqui-separator.md +33 -1
- package/docs/components/nqui-snippet.md +1 -1
- package/docs/components/nqui-table.md +43 -0
- package/docs/components/nqui-toggle-group.md +49 -5
- package/docs/components/nqui-toggle.md +25 -2
- package/docs/internal-notes/APP_BUILDER_PACKAGE.md +86 -0
- package/docs/internal-notes/INSTALLATION.md +161 -108
- package/docs/internal-notes/PEER_DEPENDENCIES.md +105 -0
- package/docs/internal-notes/PUBLISHING.md +72 -0
- package/docs/internal-notes/SKILLS-ARCHITECTURE.md +105 -0
- package/package.json +103 -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 +118 -0
- package/scripts/skill-templates.js +109 -0
- 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
- package/docs/components/nqui-segmented-control.md +0 -18
|
@@ -1,99 +1,142 @@
|
|
|
1
1
|
# nqui Installation Guide
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Requirements
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
- **React 18 or 19**: nqui supports both via flexible peer dependencies (`^18.0.0 || ^19.0.0`).
|
|
6
|
+
- **Tailwind CSS v4**: Required for component styling.
|
|
7
|
+
- **Node.js**: See your framework requirements.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Installation Sequence (Quick Reference)
|
|
12
|
+
|
|
13
|
+
Run these commands in order:
|
|
6
14
|
|
|
7
15
|
```bash
|
|
8
|
-
|
|
9
|
-
#
|
|
10
|
-
|
|
16
|
+
# 1. Install nqui + peers (choose one)
|
|
17
|
+
pnpm add @nqlib/nqui @hugeicons/react @hugeicons/core-free-icons # Minimal (icons only)
|
|
18
|
+
npx @nqlib/nqui install-peers # Full (all optional peers)
|
|
19
|
+
|
|
20
|
+
# 2. Setup CSS
|
|
21
|
+
npx @nqlib/nqui init-css
|
|
22
|
+
|
|
23
|
+
# 3. Add the nqui import to your main CSS file (see Step 2 details)
|
|
24
|
+
# Copy contents of nqui/nqui-setup.css to the TOP of app/globals.css (Next.js) or src/index.css (Vite)
|
|
25
|
+
|
|
26
|
+
# 4. Optional: Debug tools
|
|
27
|
+
npx @nqlib/nqui init-debug-css
|
|
28
|
+
|
|
29
|
+
# 5. Optional: Refresh Cursor rules (auto-injected on install)
|
|
30
|
+
npx @nqlib/nqui init-cursor
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**Run `npx nqui-setup` anytime** to see this checklist again (with nqui installed).
|
|
34
|
+
|
|
35
|
+
**Monorepo:** Skills are written to the package that has `@nqlib/nqui` (e.g. `apps/frontend/`). Open that folder in Cursor as your workspace.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Step 1: Install nqui + Peers
|
|
40
|
+
|
|
41
|
+
### Minimal (icons only)
|
|
42
|
+
|
|
43
|
+
Required for Button, Accordion, Select, and most components with icons:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
npm install @nqlib/nqui @hugeicons/react @hugeicons/core-free-icons
|
|
11
47
|
# or
|
|
12
|
-
|
|
48
|
+
pnpm add @nqlib/nqui @hugeicons/react @hugeicons/core-free-icons
|
|
13
49
|
```
|
|
14
50
|
|
|
15
|
-
###
|
|
51
|
+
### Full (all optional peers)
|
|
16
52
|
|
|
17
|
-
|
|
53
|
+
For Sortable, Carousel, DataTable, Calendar, Command, Drawer, etc.:
|
|
18
54
|
|
|
19
55
|
```bash
|
|
20
|
-
npx nqui
|
|
56
|
+
npx @nqlib/nqui install-peers
|
|
21
57
|
```
|
|
22
58
|
|
|
23
|
-
This
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
59
|
+
This installs nqui + all optional peer dependencies. See [PEER_DEPENDENCIES.md](./PEER_DEPENDENCIES.md) for the component-to-peer mapping.
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Step 2: Setup CSS (Required)
|
|
64
|
+
|
|
65
|
+
### 2a. Run init-css
|
|
27
66
|
|
|
28
|
-
**Custom path:**
|
|
29
67
|
```bash
|
|
30
|
-
npx nqui init-css
|
|
68
|
+
npx @nqlib/nqui init-css
|
|
31
69
|
```
|
|
32
70
|
|
|
33
|
-
|
|
34
|
-
-
|
|
35
|
-
-
|
|
36
|
-
- Light and dark mode support
|
|
37
|
-
- Base layer styles
|
|
71
|
+
This creates:
|
|
72
|
+
- `nqui/index.css` — imports from `@nqlib/nqui/styles`
|
|
73
|
+
- `nqui/nqui-setup.css` — full Tailwind + nqui setup (framework-specific)
|
|
38
74
|
|
|
39
|
-
|
|
75
|
+
### 2b. Add import to main CSS (manual step)
|
|
40
76
|
|
|
41
|
-
|
|
77
|
+
**You must manually add the nqui import to your main CSS file.** Main files by framework:
|
|
42
78
|
|
|
43
|
-
|
|
44
|
-
|
|
79
|
+
| Framework | Main CSS file |
|
|
80
|
+
|-------------|---------------------|
|
|
81
|
+
| Next.js | `app/globals.css` |
|
|
82
|
+
| Vite | `src/index.css` |
|
|
83
|
+
| Remix | `app/root.css` |
|
|
84
|
+
|
|
85
|
+
**Option A (recommended):** Add at the top (after `@import "tailwindcss"`):
|
|
86
|
+
|
|
87
|
+
```css
|
|
88
|
+
@import "@nqlib/nqui/styles";
|
|
45
89
|
```
|
|
46
90
|
|
|
47
|
-
|
|
91
|
+
**Option B:** Copy the **entire contents** of `nqui/nqui-setup.css` and paste at the **very top** of your main CSS file.
|
|
48
92
|
|
|
49
|
-
|
|
93
|
+
### 2c. Next.js + Tailwind v4 — @source directives
|
|
50
94
|
|
|
51
|
-
|
|
95
|
+
If using Next.js, ensure these are in your main CSS:
|
|
52
96
|
|
|
53
|
-
```
|
|
54
|
-
|
|
97
|
+
```css
|
|
98
|
+
@source "./**/*.{js,ts,jsx,tsx,mdx}";
|
|
99
|
+
@source "../components/**/*.{js,ts,jsx,tsx,mdx}";
|
|
100
|
+
@source "../node_modules/@nqlib/nqui/dist/**/*.js";
|
|
55
101
|
```
|
|
56
102
|
|
|
57
|
-
|
|
58
|
-
- Detect your project type (Next.js, Vite, etc.)
|
|
59
|
-
- Copy the CSS file to the appropriate location
|
|
60
|
-
- Provide next steps
|
|
103
|
+
### 2d. Custom path
|
|
61
104
|
|
|
62
|
-
**Custom path:**
|
|
63
105
|
```bash
|
|
64
|
-
npx nqui init-
|
|
106
|
+
npx @nqlib/nqui init-css app/styles/nqui.css
|
|
65
107
|
```
|
|
66
108
|
|
|
67
|
-
|
|
109
|
+
The generated CSS includes: design tokens, color scales, light/dark support. **It does not include Tailwind** — configure Tailwind separately.
|
|
68
110
|
|
|
69
|
-
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## Step 3: Import Components
|
|
70
114
|
|
|
71
115
|
```tsx
|
|
72
|
-
|
|
73
|
-
import 'nqui/debug.css';
|
|
116
|
+
import { Button, Input, Card } from "@nqlib/nqui";
|
|
74
117
|
```
|
|
75
118
|
|
|
76
|
-
**Note:**
|
|
119
|
+
**Note:** Next.js App Router pages using nqui need `"use client"`.
|
|
120
|
+
|
|
121
|
+
---
|
|
77
122
|
|
|
78
|
-
|
|
123
|
+
## Step 4: Debug Tools (Optional)
|
|
79
124
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
125
|
+
### 4a. Run init-debug-css
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
npx @nqlib/nqui init-debug-css
|
|
129
|
+
```
|
|
84
130
|
|
|
85
|
-
|
|
86
|
-
```tsx
|
|
87
|
-
import './nqui-debug.css';
|
|
88
|
-
```
|
|
131
|
+
Custom path: `npx @nqlib/nqui init-debug-css app/styles/debug.css`
|
|
89
132
|
|
|
90
|
-
###
|
|
133
|
+
### 4b. Use DebugPanel
|
|
91
134
|
|
|
92
135
|
```tsx
|
|
93
136
|
'use client'; // Required for Next.js App Router
|
|
94
137
|
|
|
95
|
-
import { DebugPanel } from
|
|
96
|
-
import
|
|
138
|
+
import { DebugPanel } from "@nqlib/nqui";
|
|
139
|
+
import "./nqui-debug.css"; // Path from init-debug-css
|
|
97
140
|
|
|
98
141
|
export function App() {
|
|
99
142
|
return (
|
|
@@ -105,28 +148,59 @@ export function App() {
|
|
|
105
148
|
}
|
|
106
149
|
```
|
|
107
150
|
|
|
151
|
+
**Alternatives:** Import `@nqlib/nqui/debug.css` if your bundler supports it, or manually copy `node_modules/@nqlib/nqui/dist/nqui.css` into your project.
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## Step 5: Cursor/IDE Rules (Auto-injected)
|
|
156
|
+
|
|
157
|
+
On install, component guidelines are written to `.cursor/rules/nqui-components.mdc`. To refresh:
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
npx @nqlib/nqui init-cursor
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
Full per-component docs: `node_modules/@nqlib/nqui/docs/components/README.md`
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Step 6: Optional Peer Dependencies
|
|
168
|
+
|
|
169
|
+
Install only when you use these components:
|
|
170
|
+
|
|
171
|
+
| Component(s) | Install |
|
|
172
|
+
|-------------------|---------|
|
|
173
|
+
| Sortable | `pnpm add @dnd-kit/core @dnd-kit/modifiers @dnd-kit/sortable @dnd-kit/utilities` |
|
|
174
|
+
| CommandPalette | `pnpm add cmdk` |
|
|
175
|
+
| Carousel | `pnpm add embla-carousel-react` |
|
|
176
|
+
| DataTable | `pnpm add @tanstack/react-table` |
|
|
177
|
+
| Calendar | `pnpm add react-day-picker date-fns` |
|
|
178
|
+
| Toaster / Sonner | `pnpm add sonner` |
|
|
179
|
+
| Drawer | `pnpm add vaul` |
|
|
180
|
+
| ResizablePanel | `pnpm add react-resizable-panels` |
|
|
181
|
+
| Combobox | `pnpm add @base-ui/react` |
|
|
182
|
+
| CodeBlock/Snippet | `pnpm add @nqlib/nqcode shiki @shikijs/transformers` |
|
|
183
|
+
|
|
184
|
+
See [PEER_DEPENDENCIES.md](./PEER_DEPENDENCIES.md) for the full mapping.
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
108
188
|
## Framework-Specific Setup
|
|
109
189
|
|
|
110
190
|
### Next.js App Router
|
|
111
191
|
|
|
112
192
|
```tsx
|
|
113
|
-
// app/layout.tsx
|
|
193
|
+
// app/layout.tsx
|
|
114
194
|
'use client';
|
|
115
195
|
|
|
116
|
-
import { DebugPanel } from
|
|
117
|
-
import
|
|
196
|
+
import { DebugPanel } from "@nqlib/nqui";
|
|
197
|
+
import "../../node_modules/@nqlib/nqui/dist/nqui.css"; // Direct path if package import fails
|
|
118
198
|
|
|
119
199
|
export function DebugPanelClient() {
|
|
120
200
|
const [mounted, setMounted] = useState(false);
|
|
201
|
+
useEffect(() => { setMounted(true); }, []);
|
|
121
202
|
|
|
122
|
-
|
|
123
|
-
setMounted(true);
|
|
124
|
-
}, []);
|
|
125
|
-
|
|
126
|
-
if (process.env.NODE_ENV !== 'development' || !mounted) {
|
|
127
|
-
return null;
|
|
128
|
-
}
|
|
129
|
-
|
|
203
|
+
if (process.env.NODE_ENV !== 'development' || !mounted) return null;
|
|
130
204
|
return <DebugPanel />;
|
|
131
205
|
}
|
|
132
206
|
```
|
|
@@ -134,9 +208,9 @@ export function DebugPanelClient() {
|
|
|
134
208
|
### Vite / Create React App
|
|
135
209
|
|
|
136
210
|
```tsx
|
|
137
|
-
// src/main.tsx
|
|
138
|
-
import { DebugPanel } from
|
|
139
|
-
import
|
|
211
|
+
// src/main.tsx
|
|
212
|
+
import { DebugPanel } from "@nqlib/nqui";
|
|
213
|
+
import "./nqui-debug.css";
|
|
140
214
|
|
|
141
215
|
function App() {
|
|
142
216
|
return (
|
|
@@ -152,15 +226,12 @@ function App() {
|
|
|
152
226
|
|
|
153
227
|
```tsx
|
|
154
228
|
// app/root.tsx
|
|
155
|
-
import { DebugPanel } from
|
|
156
|
-
import
|
|
229
|
+
import { DebugPanel } from "@nqlib/nqui";
|
|
230
|
+
import "./nqui-debug.css";
|
|
157
231
|
|
|
158
232
|
export default function Root() {
|
|
159
233
|
return (
|
|
160
234
|
<html>
|
|
161
|
-
<head>
|
|
162
|
-
{/* ... */}
|
|
163
|
-
</head>
|
|
164
235
|
<body>
|
|
165
236
|
<Outlet />
|
|
166
237
|
{process.env.NODE_ENV === 'development' && <DebugPanel />}
|
|
@@ -170,52 +241,34 @@ export default function Root() {
|
|
|
170
241
|
}
|
|
171
242
|
```
|
|
172
243
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
### "Module not found: Can't resolve 'nqui/debug.css'"
|
|
176
|
-
|
|
177
|
-
This error occurs in some frameworks (especially Next.js). **Solution:**
|
|
178
|
-
|
|
179
|
-
1. Use the CLI tool: `npx nqui init-debug-css`
|
|
180
|
-
2. Or use a direct path import: `import '../../node_modules/nqui/dist/nqui.css'`
|
|
181
|
-
|
|
182
|
-
### CSS Not Loading
|
|
244
|
+
---
|
|
183
245
|
|
|
184
|
-
|
|
185
|
-
2. Check that you've imported it in your app entry point
|
|
186
|
-
3. Verify the import path is correct
|
|
246
|
+
## Troubleshooting
|
|
187
247
|
|
|
188
|
-
###
|
|
248
|
+
### "Module not found: Can't resolve '@nqlib/nqui/styles'" or CSS not loading
|
|
189
249
|
|
|
190
|
-
1.
|
|
191
|
-
2.
|
|
192
|
-
3.
|
|
250
|
+
1. Run `npx @nqlib/nqui init-css`
|
|
251
|
+
2. Add `@import "@nqlib/nqui/styles";` to the **top** of your main CSS file (app/globals.css or src/index.css)
|
|
252
|
+
3. Ensure the import is **before** your other styles
|
|
193
253
|
|
|
194
|
-
|
|
254
|
+
### nqui components render without styles
|
|
195
255
|
|
|
196
|
-
|
|
256
|
+
The main CSS file is missing the nqui import. Add `@import "@nqlib/nqui/styles";` near the top. Or copy contents of `nqui/nqui-setup.css` into your main CSS.
|
|
197
257
|
|
|
198
|
-
|
|
199
|
-
2. Copy it to your preferred location
|
|
200
|
-
3. Modify as needed
|
|
201
|
-
4. Import in your app
|
|
258
|
+
### Debug Panel not appearing
|
|
202
259
|
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
260
|
+
1. Ensure `NODE_ENV !== 'production'`
|
|
261
|
+
2. Import the debug CSS
|
|
262
|
+
3. Verify `DebugPanel` is rendered in your app tree
|
|
206
263
|
|
|
207
|
-
|
|
264
|
+
### Package import (nqui vs @nqlib/nqui)
|
|
208
265
|
|
|
209
|
-
|
|
266
|
+
Use `@nqlib/nqui` — the package name. Old docs may reference `nqui`.
|
|
210
267
|
|
|
211
|
-
|
|
212
|
-
{
|
|
213
|
-
"exports": {
|
|
214
|
-
".": "./dist/nqui.es.js",
|
|
215
|
-
"./debug.css": "./dist/nqui.css"
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
```
|
|
268
|
+
---
|
|
219
269
|
|
|
220
|
-
|
|
270
|
+
## Advanced: Custom CSS Location
|
|
221
271
|
|
|
272
|
+
1. Run `npx @nqlib/nqui init-css your/path/nqui.css`
|
|
273
|
+
2. Add the import from that path to your main CSS
|
|
274
|
+
3. Or copy `nqui/nqui-setup.css` contents into your existing setup
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# nqui Optional Peer Dependencies
|
|
2
|
+
|
|
3
|
+
Heavy or feature-specific dependencies are externalized from the nqui bundle. Consumers using these components must install the corresponding packages.
|
|
4
|
+
|
|
5
|
+
## Component-to-Peer Mapping
|
|
6
|
+
|
|
7
|
+
| Component(s) | Peer Dependency |
|
|
8
|
+
|--------------|-----------------|
|
|
9
|
+
| Icons (HugeiconsIcon, most components with icons) | `@hugeicons/react`, `@hugeicons/core-free-icons` |
|
|
10
|
+
| Sortable | `@dnd-kit/core`, `@dnd-kit/modifiers`, `@dnd-kit/sortable`, `@dnd-kit/utilities` |
|
|
11
|
+
| Command, CommandPalette | `cmdk` |
|
|
12
|
+
| Carousel | `embla-carousel-react` |
|
|
13
|
+
| DataTable | `@tanstack/react-table` |
|
|
14
|
+
| Calendar, EnhancedCalendar | `react-day-picker`, `date-fns` |
|
|
15
|
+
| Toaster, Sonner | `sonner` |
|
|
16
|
+
| Drawer | `vaul` |
|
|
17
|
+
| ResizablePanelGroup, ResizablePanel, ResizableHandle | `react-resizable-panels` |
|
|
18
|
+
| Combobox, EnhancedCombobox | `@base-ui/react` |
|
|
19
|
+
|
|
20
|
+
## Code Display Components (@nqlib/nqcode)
|
|
21
|
+
|
|
22
|
+
CodeBlock, CodeEditor, Snippet, and Sandbox are in a separate package. Install: `pnpm add @nqlib/nqcode shiki @shikijs/transformers`
|
|
23
|
+
|
|
24
|
+
| Package | Components | Peer Dependencies |
|
|
25
|
+
|---------|------------|-------------------|
|
|
26
|
+
| `@nqlib/nqcode` | CodeBlock, CodeEditor, Snippet, Sandbox | @nqlib/nqui, shiki, @shikijs/transformers |
|
|
27
|
+
| `@nqlib/nqcode/server` | CodeBlockContentServer (RSC) | shiki, @shikijs/transformers |
|
|
28
|
+
|
|
29
|
+
## Subpath Exports (Smaller Bundles)
|
|
30
|
+
|
|
31
|
+
Use subpath imports when you only need specific component groups. This keeps consumer bundles smaller by avoiding the full nqui bundle.
|
|
32
|
+
|
|
33
|
+
| Subpath | Components | Peer Dependencies |
|
|
34
|
+
|---------|------------|--------------------|
|
|
35
|
+
| `@nqlib/nqui/carousel` | Carousel | embla-carousel-react |
|
|
36
|
+
| `@nqlib/nqui/command` | Command, CommandPalette | cmdk |
|
|
37
|
+
| `@nqlib/nqui/sortable` | Sortable | @dnd-kit/* |
|
|
38
|
+
| `@nqlib/nqui/calendar` | Calendar | react-day-picker, date-fns |
|
|
39
|
+
| `@nqlib/nqui/sonner` | Toaster, Sonner | sonner |
|
|
40
|
+
| `@nqlib/nqui/drawer` | Drawer | vaul |
|
|
41
|
+
|
|
42
|
+
Example:
|
|
43
|
+
|
|
44
|
+
```ts
|
|
45
|
+
// Full import (larger bundle)
|
|
46
|
+
import { Carousel } from "@nqlib/nqui";
|
|
47
|
+
|
|
48
|
+
// Subpath imports (smaller - only loads what you need)
|
|
49
|
+
import { Carousel } from "@nqlib/nqui/carousel";
|
|
50
|
+
|
|
51
|
+
// Code display (separate package)
|
|
52
|
+
import { CodeBlock, Snippet } from "@nqlib/nqcode";
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Installation
|
|
56
|
+
|
|
57
|
+
For a minimal setup (Button, Card, etc.), install nqui and the icon library:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
pnpm add @nqlib/nqui @hugeicons/react @hugeicons/core-free-icons
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
For full library support (all components: Sortable, Carousel, DataTable, Calendar, etc.):
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
npx @nqlib/nqui install-peers
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
This installs nqui + all required and optional peer dependencies.
|
|
70
|
+
|
|
71
|
+
To use Sortable:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
pnpm add @nqlib/nqui @dnd-kit/core @dnd-kit/modifiers @dnd-kit/sortable @dnd-kit/utilities
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
To use Command/CommandPalette:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
pnpm add @nqlib/nqui cmdk
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
To use Resizable panels:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
pnpm add @nqlib/nqui react-resizable-panels
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
To use Combobox/EnhancedCombobox:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
pnpm add @nqlib/nqui @base-ui/react
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
To use CodeBlock, CodeEditor, Snippet, or Sandbox:
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
pnpm add @nqlib/nqui @nqlib/nqcode shiki @shikijs/transformers
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
And so on for each component group above.
|
|
102
|
+
|
|
103
|
+
## Rationale
|
|
104
|
+
|
|
105
|
+
Externalizing these dependencies keeps the core nqui bundle smaller. Users who only need basic components (Button, Input, Card) do not pay for Sortable, Carousel, or CodeBlock dependencies.
|
|
@@ -209,6 +209,78 @@ npm run publish:github
|
|
|
209
209
|
|
|
210
210
|
---
|
|
211
211
|
|
|
212
|
+
### Republishing After a Bad Release
|
|
213
|
+
|
|
214
|
+
If a version had bugs (e.g. init-cursor routed to wrong script, skills not working):
|
|
215
|
+
|
|
216
|
+
1. **Bump version** and fix the code:
|
|
217
|
+
```bash
|
|
218
|
+
cd packages/nqui
|
|
219
|
+
npm version patch # 0.4.1 → 0.4.2
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
2. **Publish the fixed version** (same as normal):
|
|
223
|
+
```bash
|
|
224
|
+
npm run publish:both
|
|
225
|
+
# or npm run publish:npm / publish:github
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
3. **Optional: Deprecate the bad version** (npm only):
|
|
229
|
+
```bash
|
|
230
|
+
npm deprecate @nqlib/nqui@0.4.1 "Use 0.4.2 instead. See changelog."
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
4. **Unpublish** (rare, npm restrictions apply): See [Unpublishing](#unpublishing) below.
|
|
234
|
+
|
|
235
|
+
**Recommendation:** Usually deprecate + publish patch. Unpublish only for security issues.
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
## Unpublishing
|
|
240
|
+
|
|
241
|
+
### npmjs.com
|
|
242
|
+
|
|
243
|
+
**Rules:**
|
|
244
|
+
- **Within 72 hours of publish**: You can unpublish. The version is then available for re-publish.
|
|
245
|
+
- **After 72 hours**: Unpublish is disallowed. Versions are permanently locked. Use deprecation instead.
|
|
246
|
+
|
|
247
|
+
**Unpublish a specific version** (within 72 hours):
|
|
248
|
+
```bash
|
|
249
|
+
cd packages/nqui
|
|
250
|
+
npm unpublish @nqlib/nqui@0.4.1 --force --registry=https://registry.npmjs.com
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
**Unpublish entire package** (within 72 hours, removes all versions):
|
|
254
|
+
```bash
|
|
255
|
+
npm unpublish @nqlib/nqui --force --registry=https://registry.npmjs.com
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
**After 72 hours – deprecate instead:**
|
|
259
|
+
```bash
|
|
260
|
+
npm deprecate @nqlib/nqui@0.4.1 "Superseded by 0.4.2. Use npm install @nqlib/nqui@0.4.2"
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
### GitHub Packages
|
|
264
|
+
|
|
265
|
+
**Rules:**
|
|
266
|
+
- You can delete any version at any time.
|
|
267
|
+
- Deleted versions can be re-published (unlike npm).
|
|
268
|
+
|
|
269
|
+
**Delete via GitHub UI:**
|
|
270
|
+
1. Go to your repo → **Packages** (right sidebar) or `https://github.com/ORG/REPO/packages`
|
|
271
|
+
2. Click the package `nqui`
|
|
272
|
+
3. **Manage package** → **Delete package** (entire package) or **Manage versions** → delete specific versions
|
|
273
|
+
|
|
274
|
+
**Delete via GitHub API** (for automation):
|
|
275
|
+
```bash
|
|
276
|
+
# Requires GITHUB_TOKEN with delete:packages
|
|
277
|
+
curl -X DELETE -H "Authorization: token $GITHUB_TOKEN" \
|
|
278
|
+
"https://api.github.com/orgs/nqlib/packages/npm/nqui/versions/VERSION_ID"
|
|
279
|
+
```
|
|
280
|
+
(Get `VERSION_ID` from the package page or API.)
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
212
284
|
## Version Management
|
|
213
285
|
|
|
214
286
|
The `npm version` command automatically:
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# nqui Skills Architecture (LLM-Native Documentation)
|
|
2
|
+
|
|
3
|
+
nqui uses **Cursor/IDE skills** instead of a documentation website. The AI learns from skills and executes install commands and component docs directly.
|
|
4
|
+
|
|
5
|
+
## Philosophy
|
|
6
|
+
|
|
7
|
+
- **LLM-native:** Skills teach the AI; the AI teaches the user.
|
|
8
|
+
- **Docs in package:** `docs/components/` ships with the npm package. Consumers get `node_modules/@nqlib/nqui/docs/components/`.
|
|
9
|
+
- **No doc site:** No need to build or host a docs website. The AI reads markdown from the package.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Skill Package (Injected by `npx @nqlib/nqui init-cursor`)
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
.cursor/
|
|
17
|
+
├── rules/
|
|
18
|
+
│ └── nqui-components.mdc # Entry rule (globs: **/*.{ts,tsx})
|
|
19
|
+
└── skills/
|
|
20
|
+
├── nqui-install/
|
|
21
|
+
│ └── SKILL.md # Install commands, execute in terminal
|
|
22
|
+
└── nqui-components/
|
|
23
|
+
└── SKILL.md # Points to docs path, file resolution table
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### 1. nqui-install Skill
|
|
27
|
+
|
|
28
|
+
**When to load:** User asks to install nqui, set up project, fix missing deps, or run setup commands.
|
|
29
|
+
|
|
30
|
+
**What it does:**
|
|
31
|
+
- Lists install commands in sequence (full, minimal, CSS, peers)
|
|
32
|
+
- Tells the AI to **execute** these commands (run in terminal)
|
|
33
|
+
- Points to init-css, init-cursor, install-peers with exact usage
|
|
34
|
+
|
|
35
|
+
**File:** `.cursor/skills/nqui-install/SKILL.md`
|
|
36
|
+
|
|
37
|
+
### 2. nqui-components Skill
|
|
38
|
+
|
|
39
|
+
**When to load:** User asks about components, which component to use, how to implement X, or builds UI with nqui.
|
|
40
|
+
|
|
41
|
+
**What it does:**
|
|
42
|
+
- **Always** points the AI to: `node_modules/@nqlib/nqui/docs/components/`
|
|
43
|
+
- For "which component": read `README.md` (has use-case tables)
|
|
44
|
+
- For "how to use X": read `nqui-<name>.md` (e.g. `nqui-button.md`, `nqui-toggle-group.md`)
|
|
45
|
+
- Enforces rules: ToggleGroup for toolbar, RadioGroup for forms only, context-first design
|
|
46
|
+
|
|
47
|
+
**File resolution:**
|
|
48
|
+
| Question | File to read |
|
|
49
|
+
|----------|--------------|
|
|
50
|
+
| Component index, use cases | `node_modules/@nqlib/nqui/docs/components/README.md` |
|
|
51
|
+
| Specific component (Button, Toggle, etc.) | `node_modules/@nqlib/nqui/docs/components/nqui-<name>.md` |
|
|
52
|
+
|
|
53
|
+
**Path for consumers:** `node_modules/@nqlib/nqui/docs/components/`
|
|
54
|
+
**Path for nqui dev (monorepo):** `packages/nqui/docs/components/`
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Flow
|
|
59
|
+
|
|
60
|
+
1. **User:** "Install nqui in my project"
|
|
61
|
+
- AI loads nqui-install skill → runs `npx @nqlib/nqui install-peers`, then `npx @nqlib/nqui init-css`, etc.
|
|
62
|
+
|
|
63
|
+
2. **User:** "Which component for a view mode toggle?"
|
|
64
|
+
- AI loads nqui-components skill → reads `README.md` → finds ToggleGroup in tables → implements
|
|
65
|
+
|
|
66
|
+
3. **User:** "How do I use the ToggleGroup?"
|
|
67
|
+
- AI loads nqui-components → reads `nqui-toggle-group.md` → implements from doc
|
|
68
|
+
|
|
69
|
+
4. **User:** "nqui styles not loading"
|
|
70
|
+
- AI has CSS Setup in rule → adds `@import "@nqlib/nqui/styles"` to main CSS
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## File Map (docs/components)
|
|
75
|
+
|
|
76
|
+
All component docs follow `nqui-<name>.md`. The README has the full index with links.
|
|
77
|
+
|
|
78
|
+
| Category | Components |
|
|
79
|
+
|----------|------------|
|
|
80
|
+
| Buttons & Actions | Button, ButtonGroup, Toggle, ToggleGroup |
|
|
81
|
+
| Forms | Input, Select, Checkbox, RadioGroup, Switch, Slider, etc. |
|
|
82
|
+
| Display | Badge, Avatar, Card, Alert, Skeleton, etc. |
|
|
83
|
+
| Overlay | Dialog, Sheet, Drawer, Popover, Tooltip |
|
|
84
|
+
| Layout | Sidebar, Tabs, Accordion, Resizable |
|
|
85
|
+
| Data | DataTable, Sortable, Pagination |
|
|
86
|
+
| Code | CodeBlock, Snippet, CodeEditor (via @nqlib/nqcode) |
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Injection
|
|
91
|
+
|
|
92
|
+
`npx @nqlib/nqui init-cursor` creates:
|
|
93
|
+
- `.cursor/rules/nqui-components.mdc` — Entry rule with globs, install snippet, component rules, skill pointers
|
|
94
|
+
- `.cursor/skills/nqui-install/SKILL.md` — Install commands (execute in terminal)
|
|
95
|
+
- `.cursor/skills/nqui-components/SKILL.md` — Component docs path and file resolution
|
|
96
|
+
|
|
97
|
+
Post-install also runs `writeCursorRule()` so skills are auto-injected on install.
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Extending
|
|
102
|
+
|
|
103
|
+
- **New component:** Add `nqui-<name>.md` to `docs/components/`, add row to README tables.
|
|
104
|
+
- **New install step:** Update `install.md` template in init-cursor.js, update peer-deps.js.
|
|
105
|
+
- **New skill:** Add to `.cursor/skills/nqui/` template, update init-cursor to emit it.
|