@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,411 @@
|
|
|
1
|
+
# Publishing Guide
|
|
2
|
+
|
|
3
|
+
This guide covers publishing to both **npmjs.com** (public, no auth needed) and **GitHub Packages** (requires GitHub account).
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
1. **Build the library**
|
|
8
|
+
```bash
|
|
9
|
+
npm run build:lib
|
|
10
|
+
```
|
|
11
|
+
Verify `dist/` folder contains all required files.
|
|
12
|
+
|
|
13
|
+
2. **Authentication** (only needed for GitHub Packages)
|
|
14
|
+
- GitHub Personal Access Token with `write:packages` permission
|
|
15
|
+
- For npmjs.com: Create account at npmjs.com and run `npm login`
|
|
16
|
+
|
|
17
|
+
## Publishing Options
|
|
18
|
+
|
|
19
|
+
### Option 1: Publish to npmjs.com (Recommended for Public Use)
|
|
20
|
+
|
|
21
|
+
**Why:** Anyone can install without authentication - works like `npm install react`
|
|
22
|
+
|
|
23
|
+
**Important:** Scoped packages (`@nqlib/nqui`) require either:
|
|
24
|
+
- An npm organization (paid, $7/month) - Create at: https://www.npmjs.com/org/create
|
|
25
|
+
- OR use your username scope: `@ctesibius/nqui` (free)
|
|
26
|
+
- OR publish unscoped: `nqui` (free, but name must be available)
|
|
27
|
+
|
|
28
|
+
**Steps:**
|
|
29
|
+
|
|
30
|
+
1. **Set up scope** (if using `@nqlib` scope):
|
|
31
|
+
- Create npm organization: https://www.npmjs.com/org/create
|
|
32
|
+
- Organization name: `nqlib`
|
|
33
|
+
- Requires paid plan ($7/month per user)
|
|
34
|
+
|
|
35
|
+
2. **Enable 2FA on npmjs.com** (required for publishing)
|
|
36
|
+
- Go to: https://www.npmjs.com/settings/[your-username]/security
|
|
37
|
+
- Enable "Two-factor authentication"
|
|
38
|
+
- Follow the setup instructions (use an authenticator app like Google Authenticator or Authy)
|
|
39
|
+
- **OR** create a granular access token with "publish" permission and "bypass 2FA" enabled:
|
|
40
|
+
- Go to: https://www.npmjs.com/settings/[your-username]/tokens
|
|
41
|
+
- Click "Generate New Token" → "Granular Access Token"
|
|
42
|
+
- Select "Publish" permission
|
|
43
|
+
- Enable "Bypass 2FA" (if available)
|
|
44
|
+
- Copy the token (you'll only see it once!)
|
|
45
|
+
|
|
46
|
+
3. **Login to npmjs.com** (one-time setup or when credentials expire)
|
|
47
|
+
```bash
|
|
48
|
+
cd packages/nqui
|
|
49
|
+
npm login --registry=https://registry.npmjs.com
|
|
50
|
+
```
|
|
51
|
+
- Username: Your npmjs.com username
|
|
52
|
+
- Password: Your npmjs.com password (or use the granular token as password if using token)
|
|
53
|
+
- Email: Your npmjs.com email
|
|
54
|
+
- OTP: Enter your 2FA code if prompted (if using 2FA)
|
|
55
|
+
|
|
56
|
+
**Verify login:**
|
|
57
|
+
```bash
|
|
58
|
+
npm whoami --registry=https://registry.npmjs.com
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
4. **Update version** (if needed)
|
|
62
|
+
```bash
|
|
63
|
+
npm version patch # 0.1.0 → 0.1.1
|
|
64
|
+
npm version minor # 0.1.0 → 0.2.0
|
|
65
|
+
npm version major # 0.1.0 → 1.0.0
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
5. **Publish**
|
|
69
|
+
```bash
|
|
70
|
+
npm run publish:npm
|
|
71
|
+
# or
|
|
72
|
+
npm publish --registry=https://registry.npmjs.com --access=public
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**Users install with:**
|
|
76
|
+
```bash
|
|
77
|
+
npm install @nqlib/nqui
|
|
78
|
+
```
|
|
79
|
+
No `.npmrc` or token needed! ✅
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
### Option 2: Publish to GitHub Packages
|
|
84
|
+
|
|
85
|
+
**Why:** Good for organization packages, version control integration
|
|
86
|
+
|
|
87
|
+
**Steps:**
|
|
88
|
+
|
|
89
|
+
1. **Setup authentication** (one-time setup)
|
|
90
|
+
|
|
91
|
+
**Option A: Using `.npmrc` file (Recommended)**
|
|
92
|
+
|
|
93
|
+
Ensure `.npmrc` exists in the project root (`/Users/bnguyen/Desktop/Github/nqui/.npmrc`):
|
|
94
|
+
```
|
|
95
|
+
//npm.pkg.github.com/:_authToken=YOUR_GITHUB_TOKEN
|
|
96
|
+
@nqlib:registry=https://npm.pkg.github.com
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
**Before publishing, copy `.npmrc` to the package directory:**
|
|
100
|
+
```bash
|
|
101
|
+
cd packages/nqui
|
|
102
|
+
cp ../../.npmrc .npmrc
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
**Option B: Interactive login**
|
|
106
|
+
```bash
|
|
107
|
+
cd packages/nqui
|
|
108
|
+
npm login --registry=https://npm.pkg.github.com
|
|
109
|
+
```
|
|
110
|
+
- Username: Your GitHub username
|
|
111
|
+
- Password: Your GitHub Personal Access Token (not password!)
|
|
112
|
+
- Email: Your GitHub email
|
|
113
|
+
|
|
114
|
+
**Verify authentication:**
|
|
115
|
+
```bash
|
|
116
|
+
npm whoami --registry=https://npm.pkg.github.com
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
2. **Update version** (if needed)
|
|
120
|
+
```bash
|
|
121
|
+
npm version patch
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
3. **Publish**
|
|
125
|
+
```bash
|
|
126
|
+
cd packages/nqui
|
|
127
|
+
# If using .npmrc method, ensure it's copied first:
|
|
128
|
+
cp ../../.npmrc .npmrc
|
|
129
|
+
|
|
130
|
+
npm run publish:github
|
|
131
|
+
# or
|
|
132
|
+
npm publish --registry=https://npm.pkg.github.com
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
**Note:** The `.npmrc` file in `packages/nqui/` is gitignored and won't be committed.
|
|
136
|
+
|
|
137
|
+
**Users install with:**
|
|
138
|
+
```bash
|
|
139
|
+
# Create .npmrc in their project
|
|
140
|
+
echo "@nqlib:registry=https://npm.pkg.github.com" > .npmrc
|
|
141
|
+
|
|
142
|
+
# Authenticate (they need their own GitHub token)
|
|
143
|
+
npm login --registry=https://npm.pkg.github.com
|
|
144
|
+
|
|
145
|
+
# Install
|
|
146
|
+
npm install @nqlib/nqui
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
⚠️ **Note:** Users need GitHub account + token even for public packages.
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
### Option 3: Publish to Both Registries
|
|
154
|
+
|
|
155
|
+
**Best of both worlds:** Maximum accessibility
|
|
156
|
+
|
|
157
|
+
**Steps:**
|
|
158
|
+
|
|
159
|
+
1. **Setup authentication for both registries**
|
|
160
|
+
|
|
161
|
+
**For GitHub Packages:**
|
|
162
|
+
```bash
|
|
163
|
+
cd packages/nqui
|
|
164
|
+
cp ../../.npmrc .npmrc
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
**For npmjs.com:**
|
|
168
|
+
```bash
|
|
169
|
+
cd packages/nqui
|
|
170
|
+
npm login --registry=https://registry.npmjs.com
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
2. **Update version** (if needed)
|
|
174
|
+
```bash
|
|
175
|
+
npm version patch
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
3. **Publish to both**
|
|
179
|
+
```bash
|
|
180
|
+
cd packages/nqui
|
|
181
|
+
npm run publish:both
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
This will:
|
|
185
|
+
- Publish to GitHub Packages first
|
|
186
|
+
- Then publish to npmjs.com
|
|
187
|
+
|
|
188
|
+
**Users can choose:**
|
|
189
|
+
- **npmjs.com**: `npm install @nqlib/nqui` (no auth needed)
|
|
190
|
+
- **GitHub Packages**: Requires GitHub token (see Option 2)
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
### Publishing to Missing Registry Only
|
|
195
|
+
|
|
196
|
+
If you've already published to one registry, you can publish the same version to the other:
|
|
197
|
+
|
|
198
|
+
**Already on GitHub Packages, need npmjs.com:**
|
|
199
|
+
```bash
|
|
200
|
+
npm run publish:npm
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
**Already on npmjs.com, need GitHub Packages:**
|
|
204
|
+
```bash
|
|
205
|
+
npm run publish:github
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
**Note:** Different registries can have the same version number - they're independent.
|
|
209
|
+
|
|
210
|
+
---
|
|
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
|
+
|
|
284
|
+
## Version Management
|
|
285
|
+
|
|
286
|
+
The `npm version` command automatically:
|
|
287
|
+
- Updates `package.json` version
|
|
288
|
+
- Creates a git tag
|
|
289
|
+
- Commits the change
|
|
290
|
+
|
|
291
|
+
**Version types:**
|
|
292
|
+
- `patch`: Bug fixes (0.1.0 → 0.1.1)
|
|
293
|
+
- `minor`: New features, backward compatible (0.1.0 → 0.2.0)
|
|
294
|
+
- `major`: Breaking changes (0.1.0 → 1.0.0)
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
## Verification
|
|
299
|
+
|
|
300
|
+
After publishing, verify:
|
|
301
|
+
|
|
302
|
+
**npmjs.com:**
|
|
303
|
+
- Visit: `https://www.npmjs.com/package/@nqlib/nqui`
|
|
304
|
+
- Test install: `npm install @nqlib/nqui` (in a fresh project)
|
|
305
|
+
|
|
306
|
+
**GitHub Packages:**
|
|
307
|
+
- Visit: `https://github.com/nqlib/nqui/packages`
|
|
308
|
+
- Check package visibility settings
|
|
309
|
+
|
|
310
|
+
---
|
|
311
|
+
|
|
312
|
+
## Troubleshooting
|
|
313
|
+
|
|
314
|
+
### "401 Unauthorized" (GitHub Packages)
|
|
315
|
+
- Verify token has `write:packages` permission
|
|
316
|
+
- Check token hasn't expired
|
|
317
|
+
- Ensure you're authenticated: `npm whoami --registry=https://npm.pkg.github.com`
|
|
318
|
+
|
|
319
|
+
### "403 Forbidden" (GitHub Packages)
|
|
320
|
+
- Verify repository ownership matches package scope (`@nqlib`)
|
|
321
|
+
- Check package visibility settings in GitHub
|
|
322
|
+
|
|
323
|
+
### "404 Not Found - Scope not found" (npmjs.com)
|
|
324
|
+
- The scope `@nqlib` doesn't exist on npmjs.com
|
|
325
|
+
- **Solution 1**: Create an npm organization named `nqlib` at https://www.npmjs.com/org/create (requires paid plan)
|
|
326
|
+
- **Solution 2**: Change package name to `@ctesibius/nqui` (uses your username scope, free)
|
|
327
|
+
- **Solution 3**: Publish as unscoped package `nqui` (check name availability first)
|
|
328
|
+
|
|
329
|
+
### "403 Forbidden - Two-factor authentication required" (npmjs.com)
|
|
330
|
+
- **Enable 2FA** on your npmjs.com account:
|
|
331
|
+
- Visit: https://www.npmjs.com/settings/[your-username]/security
|
|
332
|
+
- Enable "Two-factor authentication"
|
|
333
|
+
- **OR** use a granular access token:
|
|
334
|
+
- Visit: https://www.npmjs.com/settings/[your-username]/tokens
|
|
335
|
+
- Create a token with "Publish" permission
|
|
336
|
+
- Use the token as your password when logging in
|
|
337
|
+
|
|
338
|
+
### "404 Not Found" (npmjs.com)
|
|
339
|
+
- Ensure package name is available (scoped packages like `@nqlib/nqui` are always available)
|
|
340
|
+
- Verify you're logged in: `npm whoami`
|
|
341
|
+
|
|
342
|
+
### "Package name already exists" (npmjs.com)
|
|
343
|
+
- Someone else owns that name
|
|
344
|
+
- Use a different scope or name
|
|
345
|
+
|
|
346
|
+
---
|
|
347
|
+
|
|
348
|
+
## Access Control Summary
|
|
349
|
+
|
|
350
|
+
### npmjs.com
|
|
351
|
+
- ✅ **Public packages**: Anyone can install, no authentication needed
|
|
352
|
+
- ✅ **Private packages**: Requires paid npm account
|
|
353
|
+
- ✅ **Scoped packages** (`@nqlib/nqui`): Always available, no name conflicts
|
|
354
|
+
|
|
355
|
+
### GitHub Packages
|
|
356
|
+
- ⚠️ **Public packages**: Anyone can install, but requires GitHub account + token
|
|
357
|
+
- 🔒 **Private packages**: Requires explicit access grant
|
|
358
|
+
- 📦 **Package visibility**: Inherits from repository visibility by default
|
|
359
|
+
|
|
360
|
+
---
|
|
361
|
+
|
|
362
|
+
## Recommended Workflow
|
|
363
|
+
|
|
364
|
+
For maximum accessibility:
|
|
365
|
+
|
|
366
|
+
1. **Publish to npmjs.com** (primary)
|
|
367
|
+
- Zero friction for users
|
|
368
|
+
- Standard npm experience
|
|
369
|
+
|
|
370
|
+
2. **Also publish to GitHub Packages** (optional)
|
|
371
|
+
- For users who prefer GitHub ecosystem
|
|
372
|
+
- Better integration with GitHub Actions/CI
|
|
373
|
+
|
|
374
|
+
**Complete workflow:**
|
|
375
|
+
```bash
|
|
376
|
+
# 1. Navigate to package directory
|
|
377
|
+
cd packages/nqui
|
|
378
|
+
|
|
379
|
+
# 2. Setup authentication
|
|
380
|
+
cp ../../.npmrc .npmrc # For GitHub Packages
|
|
381
|
+
npm login --registry=https://registry.npmjs.com # For npmjs.com (if not already logged in)
|
|
382
|
+
|
|
383
|
+
# 3. Update version and publish
|
|
384
|
+
npm version patch
|
|
385
|
+
npm run publish:both
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
**Quick reference - Login commands:**
|
|
389
|
+
```bash
|
|
390
|
+
# Login to npmjs.com
|
|
391
|
+
cd packages/nqui
|
|
392
|
+
npm login --registry=https://registry.npmjs.com
|
|
393
|
+
|
|
394
|
+
# Login to GitHub Packages (alternative to .npmrc)
|
|
395
|
+
cd packages/nqui
|
|
396
|
+
npm login --registry=https://npm.pkg.github.com
|
|
397
|
+
|
|
398
|
+
# Verify authentication
|
|
399
|
+
npm whoami --registry=https://registry.npmjs.com
|
|
400
|
+
npm whoami --registry=https://npm.pkg.github.com
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
---
|
|
404
|
+
|
|
405
|
+
## Security Notes
|
|
406
|
+
|
|
407
|
+
- ✅ **DO**: Use `npm login` (stores credentials securely)
|
|
408
|
+
- ✅ **DO**: Use environment variables in CI/CD
|
|
409
|
+
- ❌ **DON'T**: Commit tokens to git
|
|
410
|
+
- ❌ **DON'T**: Share tokens publicly
|
|
411
|
+
- ✅ **DO**: Add `.npmrc` to `.gitignore` (already done)
|
|
@@ -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.
|