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