@nqlib/nqui 0.3.3 → 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 (417) hide show
  1. package/README.md +20 -2
  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 +15298 -72451
  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 -9
  83. package/dist/utils-B6yFEsav.js +8 -0
  84. package/dist/utils-IjLH3w2e.cjs +1 -0
  85. package/docs/components/README.md +282 -92
  86. package/docs/components/nqui-button-group.md +24 -5
  87. package/docs/components/nqui-checkbox.md +2 -2
  88. package/docs/components/nqui-code-block.md +6 -4
  89. package/docs/components/nqui-code-editor.md +1 -1
  90. package/docs/components/nqui-combobox.md +9 -1
  91. package/docs/components/nqui-data-table.md +46 -0
  92. package/docs/components/nqui-input-group.md +14 -6
  93. package/docs/components/nqui-radio-group.md +9 -1
  94. package/docs/components/nqui-sandbox.md +1 -1
  95. package/docs/components/nqui-select.md +13 -10
  96. package/docs/components/nqui-separator.md +33 -1
  97. package/docs/components/nqui-snippet.md +1 -1
  98. package/docs/components/nqui-table.md +43 -0
  99. package/docs/components/nqui-toggle-group.md +49 -5
  100. package/docs/components/nqui-toggle.md +25 -2
  101. package/docs/internal-notes/APP_BUILDER_PACKAGE.md +86 -0
  102. package/docs/internal-notes/INSTALLATION.md +161 -108
  103. package/docs/internal-notes/PEER_DEPENDENCIES.md +105 -0
  104. package/docs/internal-notes/PUBLISHING.md +72 -0
  105. package/docs/internal-notes/SKILLS-ARCHITECTURE.md +105 -0
  106. package/package.json +103 -17
  107. package/scripts/cli.js +44 -0
  108. package/scripts/help.js +1 -0
  109. package/scripts/init-css.js +15 -0
  110. package/scripts/init-cursor.js +169 -0
  111. package/scripts/install-peers.js +43 -0
  112. package/scripts/peer-deps.js +27 -0
  113. package/scripts/post-install.js +73 -0
  114. package/scripts/publish-npmjs.js +17 -3
  115. package/scripts/resolve-target-dir.js +99 -0
  116. package/scripts/skill-templates.js +109 -0
  117. package/dist/App.d.ts +0 -3
  118. package/dist/App.d.ts.map +0 -1
  119. package/dist/assets/svg/auth-lines.d.ts +0 -4
  120. package/dist/assets/svg/auth-lines.d.ts.map +0 -1
  121. package/dist/assets/svg/logo.d.ts +0 -4
  122. package/dist/assets/svg/logo.d.ts.map +0 -1
  123. package/dist/components/AppLayout.d.ts +0 -5
  124. package/dist/components/AppLayout.d.ts.map +0 -1
  125. package/dist/components/app-builder/AppBuilder.d.ts +0 -15
  126. package/dist/components/app-builder/AppBuilder.d.ts.map +0 -1
  127. package/dist/components/app-builder/context/app-builder-context.d.ts +0 -31
  128. package/dist/components/app-builder/context/app-builder-context.d.ts.map +0 -1
  129. package/dist/components/app-builder/core/AlignmentToolbar.d.ts +0 -5
  130. package/dist/components/app-builder/core/AlignmentToolbar.d.ts.map +0 -1
  131. package/dist/components/app-builder/core/AppCanvas.d.ts +0 -9
  132. package/dist/components/app-builder/core/AppCanvas.d.ts.map +0 -1
  133. package/dist/components/app-builder/core/CanvasToolbar.d.ts +0 -7
  134. package/dist/components/app-builder/core/CanvasToolbar.d.ts.map +0 -1
  135. package/dist/components/app-builder/core/DraggableWidget.d.ts +0 -12
  136. package/dist/components/app-builder/core/DraggableWidget.d.ts.map +0 -1
  137. package/dist/components/app-builder/core/WidgetConfigurator.d.ts +0 -6
  138. package/dist/components/app-builder/core/WidgetConfigurator.d.ts.map +0 -1
  139. package/dist/components/app-builder/core/WidgetPalette.d.ts +0 -6
  140. package/dist/components/app-builder/core/WidgetPalette.d.ts.map +0 -1
  141. package/dist/components/app-builder/core/WidgetRenderer.d.ts +0 -3
  142. package/dist/components/app-builder/core/WidgetRenderer.d.ts.map +0 -1
  143. package/dist/components/app-builder/core/index.d.ts +0 -8
  144. package/dist/components/app-builder/core/index.d.ts.map +0 -1
  145. package/dist/components/app-builder/essentials/button.d.ts +0 -3
  146. package/dist/components/app-builder/essentials/button.d.ts.map +0 -1
  147. package/dist/components/app-builder/essentials/container.d.ts +0 -3
  148. package/dist/components/app-builder/essentials/container.d.ts.map +0 -1
  149. package/dist/components/app-builder/essentials/index.d.ts +0 -3
  150. package/dist/components/app-builder/essentials/index.d.ts.map +0 -1
  151. package/dist/components/app-builder/hooks/index.d.ts +0 -3
  152. package/dist/components/app-builder/hooks/index.d.ts.map +0 -1
  153. package/dist/components/app-builder/hooks/use-app-builder.d.ts +0 -3
  154. package/dist/components/app-builder/hooks/use-app-builder.d.ts.map +0 -1
  155. package/dist/components/app-builder/hooks/use-canvas-state.d.ts +0 -24
  156. package/dist/components/app-builder/hooks/use-canvas-state.d.ts.map +0 -1
  157. package/dist/components/app-builder/index.d.ts +0 -19
  158. package/dist/components/app-builder/index.d.ts.map +0 -1
  159. package/dist/components/app-builder/registry/create-registry.d.ts +0 -10
  160. package/dist/components/app-builder/registry/create-registry.d.ts.map +0 -1
  161. package/dist/components/app-builder/registry/default-registry.d.ts +0 -6
  162. package/dist/components/app-builder/registry/default-registry.d.ts.map +0 -1
  163. package/dist/components/app-builder/registry/index.d.ts +0 -4
  164. package/dist/components/app-builder/registry/index.d.ts.map +0 -1
  165. package/dist/components/app-builder/registry/registry-helpers.d.ts +0 -22
  166. package/dist/components/app-builder/registry/registry-helpers.d.ts.map +0 -1
  167. package/dist/components/app-builder/types.d.ts +0 -64
  168. package/dist/components/app-builder/types.d.ts.map +0 -1
  169. package/dist/components/app-builder/utils/collision-detection.d.ts +0 -26
  170. package/dist/components/app-builder/utils/collision-detection.d.ts.map +0 -1
  171. package/dist/components/app-builder/utils/index.d.ts +0 -2
  172. package/dist/components/app-builder/utils/index.d.ts.map +0 -1
  173. package/dist/components/app-sidebar.d.ts +0 -4
  174. package/dist/components/app-sidebar.d.ts.map +0 -1
  175. package/dist/components/blocks/chart-compositions/chart-composition-01.d.ts +0 -2
  176. package/dist/components/blocks/chart-compositions/chart-composition-01.d.ts.map +0 -1
  177. package/dist/components/blocks/chart-compositions/chart-composition-02.d.ts +0 -2
  178. package/dist/components/blocks/chart-compositions/chart-composition-02.d.ts.map +0 -1
  179. package/dist/components/blocks/chart-compositions/chart-composition-03.d.ts +0 -2
  180. package/dist/components/blocks/chart-compositions/chart-composition-03.d.ts.map +0 -1
  181. package/dist/components/blocks/chart-compositions/index.d.ts +0 -4
  182. package/dist/components/blocks/chart-compositions/index.d.ts.map +0 -1
  183. package/dist/components/blocks/index.d.ts +0 -3
  184. package/dist/components/blocks/index.d.ts.map +0 -1
  185. package/dist/components/blocks/tables/index.d.ts +0 -4
  186. package/dist/components/blocks/tables/index.d.ts.map +0 -1
  187. package/dist/components/blocks/tables/table-01.d.ts +0 -2
  188. package/dist/components/blocks/tables/table-01.d.ts.map +0 -1
  189. package/dist/components/blocks/tables/table-02.d.ts +0 -2
  190. package/dist/components/blocks/tables/table-02.d.ts.map +0 -1
  191. package/dist/components/blocks/tables/table-03.d.ts +0 -2
  192. package/dist/components/blocks/tables/table-03.d.ts.map +0 -1
  193. package/dist/components/chart/area-chart/AreaChart.d.ts +0 -57
  194. package/dist/components/chart/area-chart/AreaChart.d.ts.map +0 -1
  195. package/dist/components/chart/area-chart/index.d.ts +0 -3
  196. package/dist/components/chart/area-chart/index.d.ts.map +0 -1
  197. package/dist/components/chart/bar-chart/BarChart.d.ts +0 -62
  198. package/dist/components/chart/bar-chart/BarChart.d.ts.map +0 -1
  199. package/dist/components/chart/bar-chart/index.d.ts +0 -3
  200. package/dist/components/chart/bar-chart/index.d.ts.map +0 -1
  201. package/dist/components/chart/bar-list/BarList.d.ts +0 -23
  202. package/dist/components/chart/bar-list/BarList.d.ts.map +0 -1
  203. package/dist/components/chart/bar-list/index.d.ts +0 -3
  204. package/dist/components/chart/bar-list/index.d.ts.map +0 -1
  205. package/dist/components/chart/category-bar/CategoryBar.d.ts +0 -15
  206. package/dist/components/chart/category-bar/CategoryBar.d.ts.map +0 -1
  207. package/dist/components/chart/category-bar/index.d.ts +0 -3
  208. package/dist/components/chart/category-bar/index.d.ts.map +0 -1
  209. package/dist/components/chart/combo-chart/ComboChart.d.ts +0 -67
  210. package/dist/components/chart/combo-chart/ComboChart.d.ts.map +0 -1
  211. package/dist/components/chart/combo-chart/index.d.ts +0 -3
  212. package/dist/components/chart/combo-chart/index.d.ts.map +0 -1
  213. package/dist/components/chart/donut-chart/DonutChart.d.ts +0 -37
  214. package/dist/components/chart/donut-chart/DonutChart.d.ts.map +0 -1
  215. package/dist/components/chart/donut-chart/index.d.ts +0 -3
  216. package/dist/components/chart/donut-chart/index.d.ts.map +0 -1
  217. package/dist/components/chart/index.d.ts +0 -19
  218. package/dist/components/chart/index.d.ts.map +0 -1
  219. package/dist/components/chart/line-chart/LineChart.d.ts +0 -55
  220. package/dist/components/chart/line-chart/LineChart.d.ts.map +0 -1
  221. package/dist/components/chart/line-chart/index.d.ts +0 -3
  222. package/dist/components/chart/line-chart/index.d.ts.map +0 -1
  223. package/dist/components/chart/progress-circle/ProgressCircle.d.ts +0 -92
  224. package/dist/components/chart/progress-circle/ProgressCircle.d.ts.map +0 -1
  225. package/dist/components/chart/progress-circle/index.d.ts +0 -3
  226. package/dist/components/chart/progress-circle/index.d.ts.map +0 -1
  227. package/dist/components/chart/spark-chart/SparkChart.d.ts +0 -40
  228. package/dist/components/chart/spark-chart/SparkChart.d.ts.map +0 -1
  229. package/dist/components/chart/spark-chart/index.d.ts +0 -3
  230. package/dist/components/chart/spark-chart/index.d.ts.map +0 -1
  231. package/dist/components/component-example.d.ts +0 -2
  232. package/dist/components/component-example.d.ts.map +0 -1
  233. package/dist/components/custom/enhanced-separator.d.ts +0 -36
  234. package/dist/components/custom/enhanced-separator.d.ts.map +0 -1
  235. package/dist/components/custom/segmented-control.d.ts +0 -48
  236. package/dist/components/custom/segmented-control.d.ts.map +0 -1
  237. package/dist/components/example.d.ts +0 -7
  238. package/dist/components/example.d.ts.map +0 -1
  239. package/dist/components/login-form.d.ts +0 -2
  240. package/dist/components/login-form.d.ts.map +0 -1
  241. package/dist/components/nav-user.d.ts +0 -8
  242. package/dist/components/nav-user.d.ts.map +0 -1
  243. package/dist/components/pm/gantt/contexts.d.ts +0 -13
  244. package/dist/components/pm/gantt/contexts.d.ts.map +0 -1
  245. package/dist/components/pm/gantt/gantt-columns.d.ts +0 -7
  246. package/dist/components/pm/gantt/gantt-columns.d.ts.map +0 -1
  247. package/dist/components/pm/gantt/gantt-demo.d.ts +0 -2
  248. package/dist/components/pm/gantt/gantt-demo.d.ts.map +0 -1
  249. package/dist/components/pm/gantt/gantt-dependencies.d.ts +0 -23
  250. package/dist/components/pm/gantt/gantt-dependencies.d.ts.map +0 -1
  251. package/dist/components/pm/gantt/gantt-features.d.ts +0 -9
  252. package/dist/components/pm/gantt/gantt-features.d.ts.map +0 -1
  253. package/dist/components/pm/gantt/gantt-header.d.ts +0 -5
  254. package/dist/components/pm/gantt/gantt-header.d.ts.map +0 -1
  255. package/dist/components/pm/gantt/gantt-markers.d.ts +0 -11
  256. package/dist/components/pm/gantt/gantt-markers.d.ts.map +0 -1
  257. package/dist/components/pm/gantt/gantt-modals.d.ts +0 -5
  258. package/dist/components/pm/gantt/gantt-modals.d.ts.map +0 -1
  259. package/dist/components/pm/gantt/gantt-provider.d.ts +0 -5
  260. package/dist/components/pm/gantt/gantt-provider.d.ts.map +0 -1
  261. package/dist/components/pm/gantt/gantt-setting-modal.d.ts +0 -4
  262. package/dist/components/pm/gantt/gantt-setting-modal.d.ts.map +0 -1
  263. package/dist/components/pm/gantt/gantt-sidebar.d.ts +0 -7
  264. package/dist/components/pm/gantt/gantt-sidebar.d.ts.map +0 -1
  265. package/dist/components/pm/gantt/gantt-toolbar.d.ts +0 -29
  266. package/dist/components/pm/gantt/gantt-toolbar.d.ts.map +0 -1
  267. package/dist/components/pm/gantt/index.d.ts +0 -16
  268. package/dist/components/pm/gantt/index.d.ts.map +0 -1
  269. package/dist/components/pm/gantt/types.d.ts +0 -299
  270. package/dist/components/pm/gantt/types.d.ts.map +0 -1
  271. package/dist/components/pm/gantt/utils.d.ts +0 -29
  272. package/dist/components/pm/gantt/utils.d.ts.map +0 -1
  273. package/dist/components/pm/index.d.ts +0 -13
  274. package/dist/components/pm/index.d.ts.map +0 -1
  275. package/dist/components/pm/mockdata.d.ts +0 -13
  276. package/dist/components/pm/mockdata.d.ts.map +0 -1
  277. package/dist/components/pm/pm-column-templates.d.ts +0 -30
  278. package/dist/components/pm/pm-column-templates.d.ts.map +0 -1
  279. package/dist/components/pm/pm-data-utils.d.ts +0 -82
  280. package/dist/components/pm/pm-data-utils.d.ts.map +0 -1
  281. package/dist/components/pm/pm-definition.d.ts +0 -75
  282. package/dist/components/pm/pm-definition.d.ts.map +0 -1
  283. package/dist/components/pm/pm-theme-context.d.ts +0 -17
  284. package/dist/components/pm/pm-theme-context.d.ts.map +0 -1
  285. package/dist/components/pm/pm-types.d.ts +0 -81
  286. package/dist/components/pm/pm-types.d.ts.map +0 -1
  287. package/dist/components/pm/project-table-view.d.ts +0 -17
  288. package/dist/components/pm/project-table-view.d.ts.map +0 -1
  289. package/dist/components/pm/table/data-grid-cell-variants.d.ts +0 -14
  290. package/dist/components/pm/table/data-grid-cell-variants.d.ts.map +0 -1
  291. package/dist/components/pm/table/data-grid-cell-wrapper.d.ts +0 -9
  292. package/dist/components/pm/table/data-grid-cell-wrapper.d.ts.map +0 -1
  293. package/dist/components/pm/table/data-grid-cell.d.ts +0 -5
  294. package/dist/components/pm/table/data-grid-cell.d.ts.map +0 -1
  295. package/dist/components/pm/table/data-grid-column-header.d.ts +0 -10
  296. package/dist/components/pm/table/data-grid-column-header.d.ts.map +0 -1
  297. package/dist/components/pm/table/data-grid-context-menu.d.ts +0 -10
  298. package/dist/components/pm/table/data-grid-context-menu.d.ts.map +0 -1
  299. package/dist/components/pm/table/data-grid-filter-menu.d.ts +0 -10
  300. package/dist/components/pm/table/data-grid-filter-menu.d.ts.map +0 -1
  301. package/dist/components/pm/table/data-grid-keyboard-shortcuts.d.ts +0 -12
  302. package/dist/components/pm/table/data-grid-keyboard-shortcuts.d.ts.map +0 -1
  303. package/dist/components/pm/table/data-grid-paste-dialog.d.ts +0 -9
  304. package/dist/components/pm/table/data-grid-paste-dialog.d.ts.map +0 -1
  305. package/dist/components/pm/table/data-grid-row-height-menu.d.ts +0 -10
  306. package/dist/components/pm/table/data-grid-row-height-menu.d.ts.map +0 -1
  307. package/dist/components/pm/table/data-grid-row.d.ts +0 -27
  308. package/dist/components/pm/table/data-grid-row.d.ts.map +0 -1
  309. package/dist/components/pm/table/data-grid-search.d.ts +0 -8
  310. package/dist/components/pm/table/data-grid-search.d.ts.map +0 -1
  311. package/dist/components/pm/table/data-grid-select-column.d.ts +0 -11
  312. package/dist/components/pm/table/data-grid-select-column.d.ts.map +0 -1
  313. package/dist/components/pm/table/data-grid-skeleton.d.ts +0 -12
  314. package/dist/components/pm/table/data-grid-skeleton.d.ts.map +0 -1
  315. package/dist/components/pm/table/data-grid-sort-menu.d.ts +0 -10
  316. package/dist/components/pm/table/data-grid-sort-menu.d.ts.map +0 -1
  317. package/dist/components/pm/table/data-grid-view-menu.d.ts +0 -10
  318. package/dist/components/pm/table/data-grid-view-menu.d.ts.map +0 -1
  319. package/dist/components/pm/table/data-grid.d.ts +0 -11
  320. package/dist/components/pm/table/data-grid.d.ts.map +0 -1
  321. package/dist/components/shadcn-studio/blocks/login-page-05/login-form.d.ts +0 -3
  322. package/dist/components/shadcn-studio/blocks/login-page-05/login-form.d.ts.map +0 -1
  323. package/dist/components/shadcn-studio/blocks/login-page-05/login-page-05.d.ts +0 -3
  324. package/dist/components/shadcn-studio/blocks/login-page-05/login-page-05.d.ts.map +0 -1
  325. package/dist/components/shadcn-studio/logo.d.ts +0 -5
  326. package/dist/components/shadcn-studio/logo.d.ts.map +0 -1
  327. package/dist/components/showcase/app-builder/app-builder-context.d.ts +0 -16
  328. package/dist/components/showcase/app-builder/app-builder-context.d.ts.map +0 -1
  329. package/dist/components/showcase/app-builder/app-canvas.d.ts +0 -11
  330. package/dist/components/showcase/app-builder/app-canvas.d.ts.map +0 -1
  331. package/dist/components/showcase/app-builder/widget-configurator.d.ts +0 -10
  332. package/dist/components/showcase/app-builder/widget-configurator.d.ts.map +0 -1
  333. package/dist/components/showcase/app-builder/widget-palette.d.ts +0 -6
  334. package/dist/components/showcase/app-builder/widget-palette.d.ts.map +0 -1
  335. package/dist/components/showcase/app-builder/widget-registry.d.ts +0 -29
  336. package/dist/components/showcase/app-builder/widget-registry.d.ts.map +0 -1
  337. package/dist/components/showcase/app-builder/widget-renderer.d.ts +0 -7
  338. package/dist/components/showcase/app-builder/widget-renderer.d.ts.map +0 -1
  339. package/dist/components/table/DataTable.d.ts +0 -71
  340. package/dist/components/table/DataTable.d.ts.map +0 -1
  341. package/dist/components/table/Table.d.ts +0 -12
  342. package/dist/components/table/Table.d.ts.map +0 -1
  343. package/dist/components/table/data-table-helpers.d.ts +0 -49
  344. package/dist/components/table/data-table-helpers.d.ts.map +0 -1
  345. package/dist/components/table/index.d.ts +0 -5
  346. package/dist/components/table/index.d.ts.map +0 -1
  347. package/dist/components/theme-toggle.d.ts +0 -2
  348. package/dist/components/theme-toggle.d.ts.map +0 -1
  349. package/dist/components/ui/chart.d.ts +0 -41
  350. package/dist/components/ui/chart.d.ts.map +0 -1
  351. package/dist/components/ui/shadcn-io/code-block/index.d.ts +0 -67
  352. package/dist/components/ui/shadcn-io/code-block/index.d.ts.map +0 -1
  353. package/dist/components/ui/shadcn-io/code-block/server.d.ts +0 -10
  354. package/dist/components/ui/shadcn-io/code-block/server.d.ts.map +0 -1
  355. package/dist/components/ui/shadcn-io/code-editor/index.d.ts +0 -35
  356. package/dist/components/ui/shadcn-io/code-editor/index.d.ts.map +0 -1
  357. package/dist/components/ui/shadcn-io/sandbox/index.d.ts +0 -38
  358. package/dist/components/ui/shadcn-io/sandbox/index.d.ts.map +0 -1
  359. package/dist/components/ui/shadcn-io/snippet/index.d.ts +0 -21
  360. package/dist/components/ui/shadcn-io/snippet/index.d.ts.map +0 -1
  361. package/dist/hooks/use-chart-highlight.d.ts +0 -43
  362. package/dist/hooks/use-chart-highlight.d.ts.map +0 -1
  363. package/dist/hooks/use-data-grid.d.ts +0 -59
  364. package/dist/hooks/use-data-grid.d.ts.map +0 -1
  365. package/dist/hooks/use-on-window-resize.d.ts +0 -2
  366. package/dist/hooks/use-on-window-resize.d.ts.map +0 -1
  367. package/dist/lib/data-grid-filters.d.ts +0 -29
  368. package/dist/lib/data-grid-filters.d.ts.map +0 -1
  369. package/dist/lib/data-grid.d.ts +0 -47
  370. package/dist/lib/data-grid.d.ts.map +0 -1
  371. package/dist/main.d.ts +0 -3
  372. package/dist/main.d.ts.map +0 -1
  373. package/dist/mockdata/chartData.d.ts +0 -71
  374. package/dist/mockdata/chartData.d.ts.map +0 -1
  375. package/dist/mockdata/toc.d.ts +0 -23
  376. package/dist/mockdata/toc.d.ts.map +0 -1
  377. package/dist/pages/AppBuilder.d.ts +0 -2
  378. package/dist/pages/AppBuilder.d.ts.map +0 -1
  379. package/dist/pages/ChartShowcase.d.ts +0 -2
  380. package/dist/pages/ChartShowcase.d.ts.map +0 -1
  381. package/dist/pages/ComponentShowcase.d.ts +0 -2
  382. package/dist/pages/ComponentShowcase.d.ts.map +0 -1
  383. package/dist/pages/DataTableShowcase.d.ts +0 -2
  384. package/dist/pages/DataTableShowcase.d.ts.map +0 -1
  385. package/dist/pages/Drafts.d.ts +0 -2
  386. package/dist/pages/Drafts.d.ts.map +0 -1
  387. package/dist/pages/GanttShowcase.d.ts +0 -2
  388. package/dist/pages/GanttShowcase.d.ts.map +0 -1
  389. package/dist/pages/Inbox.d.ts +0 -2
  390. package/dist/pages/Inbox.d.ts.map +0 -1
  391. package/dist/pages/Junk.d.ts +0 -2
  392. package/dist/pages/Junk.d.ts.map +0 -1
  393. package/dist/pages/Sent.d.ts +0 -2
  394. package/dist/pages/Sent.d.ts.map +0 -1
  395. package/dist/pages/Settings.d.ts +0 -2
  396. package/dist/pages/Settings.d.ts.map +0 -1
  397. package/dist/pages/Trash.d.ts +0 -2
  398. package/dist/pages/Trash.d.ts.map +0 -1
  399. package/dist/pages/gantt-data.d.ts +0 -16
  400. package/dist/pages/gantt-data.d.ts.map +0 -1
  401. package/dist/stories/mockData.d.ts +0 -157
  402. package/dist/stories/mockData.d.ts.map +0 -1
  403. package/dist/types/data-grid.d.ts +0 -179
  404. package/dist/types/data-grid.d.ts.map +0 -1
  405. package/dist/utils/chart-colors.d.ts +0 -62
  406. package/dist/utils/chart-colors.d.ts.map +0 -1
  407. package/dist/utils/chart-highlight.d.ts +0 -34
  408. package/dist/utils/chart-highlight.d.ts.map +0 -1
  409. package/dist/utils/chart-utils.d.ts +0 -2
  410. package/dist/utils/chart-utils.d.ts.map +0 -1
  411. package/dist/utils/focus-ring.d.ts +0 -2
  412. package/dist/utils/focus-ring.d.ts.map +0 -1
  413. package/dist/utils/get-y-axis-domain.d.ts +0 -2
  414. package/dist/utils/get-y-axis-domain.d.ts.map +0 -1
  415. package/dist/utils/index.d.ts +0 -10
  416. package/dist/utils/index.d.ts.map +0 -1
  417. package/docs/components/nqui-segmented-control.md +0 -18
@@ -1,99 +1,142 @@
1
1
  # nqui Installation Guide
2
2
 
3
- ## Quick Start
3
+ ## Requirements
4
4
 
5
- ### 1. Install nqui
5
+ - **React 18 or 19**: nqui supports both via flexible peer dependencies (`^18.0.0 || ^19.0.0`).
6
+ - **Tailwind CSS v4**: Required for component styling.
7
+ - **Node.js**: See your framework requirements.
8
+
9
+ ---
10
+
11
+ ## Installation Sequence (Quick Reference)
12
+
13
+ Run these commands in order:
6
14
 
7
15
  ```bash
8
- npm install nqui
9
- # or
10
- pnpm add nqui
16
+ # 1. Install nqui + peers (choose one)
17
+ pnpm add @nqlib/nqui @hugeicons/react @hugeicons/core-free-icons # Minimal (icons only)
18
+ npx @nqlib/nqui install-peers # Full (all optional peers)
19
+
20
+ # 2. Setup CSS
21
+ npx @nqlib/nqui init-css
22
+
23
+ # 3. Add the nqui import to your main CSS file (see Step 2 details)
24
+ # Copy contents of nqui/nqui-setup.css to the TOP of app/globals.css (Next.js) or src/index.css (Vite)
25
+
26
+ # 4. Optional: Debug tools
27
+ npx @nqlib/nqui init-debug-css
28
+
29
+ # 5. Optional: Refresh Cursor rules (auto-injected on install)
30
+ npx @nqlib/nqui init-cursor
31
+ ```
32
+
33
+ **Run `npx nqui-setup` anytime** to see this checklist again (with nqui installed).
34
+
35
+ **Monorepo:** Skills are written to the package that has `@nqlib/nqui` (e.g. `apps/frontend/`). Open that folder in Cursor as your workspace.
36
+
37
+ ---
38
+
39
+ ## Step 1: Install nqui + Peers
40
+
41
+ ### Minimal (icons only)
42
+
43
+ Required for Button, Accordion, Select, and most components with icons:
44
+
45
+ ```bash
46
+ npm install @nqlib/nqui @hugeicons/react @hugeicons/core-free-icons
11
47
  # or
12
- yarn add nqui
48
+ pnpm add @nqlib/nqui @hugeicons/react @hugeicons/core-free-icons
13
49
  ```
14
50
 
15
- ### 2. Setup CSS (Required)
51
+ ### Full (all optional peers)
16
52
 
17
- nqui components require CSS variables and design tokens. Install them using the CLI:
53
+ For Sortable, Carousel, DataTable, Calendar, Command, Drawer, etc.:
18
54
 
19
55
  ```bash
20
- npx nqui init-css
56
+ npx @nqlib/nqui install-peers
21
57
  ```
22
58
 
23
- This will automatically:
24
- - Detect your project type (Next.js, Vite, etc.)
25
- - Copy the CSS file with all design tokens to the appropriate location
26
- - Provide next steps
59
+ This installs nqui + all optional peer dependencies. See [PEER_DEPENDENCIES.md](./PEER_DEPENDENCIES.md) for the component-to-peer mapping.
60
+
61
+ ---
62
+
63
+ ## Step 2: Setup CSS (Required)
64
+
65
+ ### 2a. Run init-css
27
66
 
28
- **Custom path:**
29
67
  ```bash
30
- npx nqui init-css app/styles/nqui.css
68
+ npx @nqlib/nqui init-css
31
69
  ```
32
70
 
33
- The generated CSS includes:
34
- - All CSS variables (colors, spacing, radius, etc.)
35
- - Color scales (primary, success, warning, destructive, info)
36
- - Light and dark mode support
37
- - Base layer styles
71
+ This creates:
72
+ - `nqui/index.css` imports from `@nqlib/nqui/styles`
73
+ - `nqui/nqui-setup.css` full Tailwind + nqui setup (framework-specific)
38
74
 
39
- **Important:** This CSS does NOT include Tailwind CSS imports. You must have Tailwind CSS configured in your project separately.
75
+ ### 2b. Add import to main CSS (manual step)
40
76
 
41
- ### 3. Import Components
77
+ **You must manually add the nqui import to your main CSS file.** Main files by framework:
42
78
 
43
- ```tsx
44
- import { Button, DebugPanel } from 'nqui';
79
+ | Framework | Main CSS file |
80
+ |-------------|---------------------|
81
+ | Next.js | `app/globals.css` |
82
+ | Vite | `src/index.css` |
83
+ | Remix | `app/root.css` |
84
+
85
+ **Option A (recommended):** Add at the top (after `@import "tailwindcss"`):
86
+
87
+ ```css
88
+ @import "@nqlib/nqui/styles";
45
89
  ```
46
90
 
47
- ### 4. Setup Debug Tools CSS (Optional)
91
+ **Option B:** Copy the **entire contents** of `nqui/nqui-setup.css` and paste at the **very top** of your main CSS file.
48
92
 
49
- The debug tools require CSS to be imported. You have **three options**:
93
+ ### 2c. Next.js + Tailwind v4 @source directives
50
94
 
51
- #### Option A: Use CLI Tool (Recommended)
95
+ If using Next.js, ensure these are in your main CSS:
52
96
 
53
- ```bash
54
- npx nqui init-debug-css
97
+ ```css
98
+ @source "./**/*.{js,ts,jsx,tsx,mdx}";
99
+ @source "../components/**/*.{js,ts,jsx,tsx,mdx}";
100
+ @source "../node_modules/@nqlib/nqui/dist/**/*.js";
55
101
  ```
56
102
 
57
- This will automatically:
58
- - Detect your project type (Next.js, Vite, etc.)
59
- - Copy the CSS file to the appropriate location
60
- - Provide next steps
103
+ ### 2d. Custom path
61
104
 
62
- **Custom path:**
63
105
  ```bash
64
- npx nqui init-debug-css app/styles/debug.css
106
+ npx @nqlib/nqui init-css app/styles/nqui.css
65
107
  ```
66
108
 
67
- #### Option B: Import from Package (If Supported)
109
+ The generated CSS includes: design tokens, color scales, light/dark support. **It does not include Tailwind** — configure Tailwind separately.
68
110
 
69
- Some bundlers support importing CSS from package exports:
111
+ ---
112
+
113
+ ## Step 3: Import Components
70
114
 
71
115
  ```tsx
72
- // In your app entry point (e.g., app/layout.tsx, src/main.tsx)
73
- import 'nqui/debug.css';
116
+ import { Button, Input, Card } from "@nqlib/nqui";
74
117
  ```
75
118
 
76
- **Note:** This may not work in all frameworks (e.g., Next.js). If you get a "Module not found" error, use Option A or C.
119
+ **Note:** Next.js App Router pages using nqui need `"use client"`.
120
+
121
+ ---
77
122
 
78
- #### Option C: Manual Copy
123
+ ## Step 4: Debug Tools (Optional)
79
124
 
80
- 1. Copy `node_modules/nqui/dist/nqui.css` to your project:
81
- ```bash
82
- cp node_modules/nqui/dist/nqui.css src/nqui-debug.css
83
- ```
125
+ ### 4a. Run init-debug-css
126
+
127
+ ```bash
128
+ npx @nqlib/nqui init-debug-css
129
+ ```
84
130
 
85
- 2. Import it in your app:
86
- ```tsx
87
- import './nqui-debug.css';
88
- ```
131
+ Custom path: `npx @nqlib/nqui init-debug-css app/styles/debug.css`
89
132
 
90
- ### 4. Use DebugPanel
133
+ ### 4b. Use DebugPanel
91
134
 
92
135
  ```tsx
93
136
  'use client'; // Required for Next.js App Router
94
137
 
95
- import { DebugPanel } from 'nqui';
96
- import './nqui-debug.css'; // If using manual copy
138
+ import { DebugPanel } from "@nqlib/nqui";
139
+ import "./nqui-debug.css"; // Path from init-debug-css
97
140
 
98
141
  export function App() {
99
142
  return (
@@ -105,28 +148,59 @@ export function App() {
105
148
  }
106
149
  ```
107
150
 
151
+ **Alternatives:** Import `@nqlib/nqui/debug.css` if your bundler supports it, or manually copy `node_modules/@nqlib/nqui/dist/nqui.css` into your project.
152
+
153
+ ---
154
+
155
+ ## Step 5: Cursor/IDE Rules (Auto-injected)
156
+
157
+ On install, component guidelines are written to `.cursor/rules/nqui-components.mdc`. To refresh:
158
+
159
+ ```bash
160
+ npx @nqlib/nqui init-cursor
161
+ ```
162
+
163
+ Full per-component docs: `node_modules/@nqlib/nqui/docs/components/README.md`
164
+
165
+ ---
166
+
167
+ ## Step 6: Optional Peer Dependencies
168
+
169
+ Install only when you use these components:
170
+
171
+ | Component(s) | Install |
172
+ |-------------------|---------|
173
+ | Sortable | `pnpm add @dnd-kit/core @dnd-kit/modifiers @dnd-kit/sortable @dnd-kit/utilities` |
174
+ | CommandPalette | `pnpm add cmdk` |
175
+ | Carousel | `pnpm add embla-carousel-react` |
176
+ | DataTable | `pnpm add @tanstack/react-table` |
177
+ | Calendar | `pnpm add react-day-picker date-fns` |
178
+ | Toaster / Sonner | `pnpm add sonner` |
179
+ | Drawer | `pnpm add vaul` |
180
+ | ResizablePanel | `pnpm add react-resizable-panels` |
181
+ | Combobox | `pnpm add @base-ui/react` |
182
+ | CodeBlock/Snippet | `pnpm add @nqlib/nqcode shiki @shikijs/transformers` |
183
+
184
+ See [PEER_DEPENDENCIES.md](./PEER_DEPENDENCIES.md) for the full mapping.
185
+
186
+ ---
187
+
108
188
  ## Framework-Specific Setup
109
189
 
110
190
  ### Next.js App Router
111
191
 
112
192
  ```tsx
113
- // app/layout.tsx or components/debug/debug-panel-client.tsx
193
+ // app/layout.tsx
114
194
  'use client';
115
195
 
116
- import { DebugPanel } from 'nqui';
117
- import '../../node_modules/nqui/dist/nqui.css'; // Direct path import
196
+ import { DebugPanel } from "@nqlib/nqui";
197
+ import "../../node_modules/@nqlib/nqui/dist/nqui.css"; // Direct path if package import fails
118
198
 
119
199
  export function DebugPanelClient() {
120
200
  const [mounted, setMounted] = useState(false);
201
+ useEffect(() => { setMounted(true); }, []);
121
202
 
122
- useEffect(() => {
123
- setMounted(true);
124
- }, []);
125
-
126
- if (process.env.NODE_ENV !== 'development' || !mounted) {
127
- return null;
128
- }
129
-
203
+ if (process.env.NODE_ENV !== 'development' || !mounted) return null;
130
204
  return <DebugPanel />;
131
205
  }
132
206
  ```
@@ -134,9 +208,9 @@ export function DebugPanelClient() {
134
208
  ### Vite / Create React App
135
209
 
136
210
  ```tsx
137
- // src/main.tsx or src/index.tsx
138
- import { DebugPanel } from 'nqui';
139
- import './nqui-debug.css'; // After running init script
211
+ // src/main.tsx
212
+ import { DebugPanel } from "@nqlib/nqui";
213
+ import "./nqui-debug.css";
140
214
 
141
215
  function App() {
142
216
  return (
@@ -152,15 +226,12 @@ function App() {
152
226
 
153
227
  ```tsx
154
228
  // app/root.tsx
155
- import { DebugPanel } from 'nqui';
156
- import './nqui-debug.css'; // After running init script
229
+ import { DebugPanel } from "@nqlib/nqui";
230
+ import "./nqui-debug.css";
157
231
 
158
232
  export default function Root() {
159
233
  return (
160
234
  <html>
161
- <head>
162
- {/* ... */}
163
- </head>
164
235
  <body>
165
236
  <Outlet />
166
237
  {process.env.NODE_ENV === 'development' && <DebugPanel />}
@@ -170,52 +241,34 @@ export default function Root() {
170
241
  }
171
242
  ```
172
243
 
173
- ## Troubleshooting
174
-
175
- ### "Module not found: Can't resolve 'nqui/debug.css'"
176
-
177
- This error occurs in some frameworks (especially Next.js). **Solution:**
178
-
179
- 1. Use the CLI tool: `npx nqui init-debug-css`
180
- 2. Or use a direct path import: `import '../../node_modules/nqui/dist/nqui.css'`
181
-
182
- ### CSS Not Loading
244
+ ---
183
245
 
184
- 1. Ensure the CSS file exists in `node_modules/nqui/dist/nqui.css`
185
- 2. Check that you've imported it in your app entry point
186
- 3. Verify the import path is correct
246
+ ## Troubleshooting
187
247
 
188
- ### Debug Panel Not Appearing
248
+ ### "Module not found: Can't resolve '@nqlib/nqui/styles'" or CSS not loading
189
249
 
190
- 1. Ensure you're in development mode (`NODE_ENV !== 'production'`)
191
- 2. Check that the component is rendered in your app
192
- 3. Verify CSS is imported correctly
250
+ 1. Run `npx @nqlib/nqui init-css`
251
+ 2. Add `@import "@nqlib/nqui/styles";` to the **top** of your main CSS file (app/globals.css or src/index.css)
252
+ 3. Ensure the import is **before** your other styles
193
253
 
194
- ## Advanced: Custom CSS Location
254
+ ### nqui components render without styles
195
255
 
196
- If you want to customize the CSS or integrate it with your existing styles:
256
+ The main CSS file is missing the nqui import. Add `@import "@nqlib/nqui/styles";` near the top. Or copy contents of `nqui/nqui-setup.css` into your main CSS.
197
257
 
198
- 1. Run the init script to get the base CSS
199
- 2. Copy it to your preferred location
200
- 3. Modify as needed
201
- 4. Import in your app
258
+ ### Debug Panel not appearing
202
259
 
203
- ```bash
204
- npx nqui init-debug-css src/styles/nqui-debug.css
205
- ```
260
+ 1. Ensure `NODE_ENV !== 'production'`
261
+ 2. Import the debug CSS
262
+ 3. Verify `DebugPanel` is rendered in your app tree
206
263
 
207
- ## Package Exports
264
+ ### Package import (nqui vs @nqlib/nqui)
208
265
 
209
- The package exports CSS via:
266
+ Use `@nqlib/nqui` — the package name. Old docs may reference `nqui`.
210
267
 
211
- ```json
212
- {
213
- "exports": {
214
- ".": "./dist/nqui.es.js",
215
- "./debug.css": "./dist/nqui.css"
216
- }
217
- }
218
- ```
268
+ ---
219
269
 
220
- This allows importing via `import 'nqui/debug.css'` in frameworks that support it.
270
+ ## Advanced: Custom CSS Location
221
271
 
272
+ 1. Run `npx @nqlib/nqui init-css your/path/nqui.css`
273
+ 2. Add the import from that path to your main CSS
274
+ 3. Or copy `nqui/nqui-setup.css` contents into your existing setup
@@ -0,0 +1,105 @@
1
+ # nqui Optional Peer Dependencies
2
+
3
+ Heavy or feature-specific dependencies are externalized from the nqui bundle. Consumers using these components must install the corresponding packages.
4
+
5
+ ## Component-to-Peer Mapping
6
+
7
+ | Component(s) | Peer Dependency |
8
+ |--------------|-----------------|
9
+ | Icons (HugeiconsIcon, most components with icons) | `@hugeicons/react`, `@hugeicons/core-free-icons` |
10
+ | Sortable | `@dnd-kit/core`, `@dnd-kit/modifiers`, `@dnd-kit/sortable`, `@dnd-kit/utilities` |
11
+ | Command, CommandPalette | `cmdk` |
12
+ | Carousel | `embla-carousel-react` |
13
+ | DataTable | `@tanstack/react-table` |
14
+ | Calendar, EnhancedCalendar | `react-day-picker`, `date-fns` |
15
+ | Toaster, Sonner | `sonner` |
16
+ | Drawer | `vaul` |
17
+ | ResizablePanelGroup, ResizablePanel, ResizableHandle | `react-resizable-panels` |
18
+ | Combobox, EnhancedCombobox | `@base-ui/react` |
19
+
20
+ ## Code Display Components (@nqlib/nqcode)
21
+
22
+ CodeBlock, CodeEditor, Snippet, and Sandbox are in a separate package. Install: `pnpm add @nqlib/nqcode shiki @shikijs/transformers`
23
+
24
+ | Package | Components | Peer Dependencies |
25
+ |---------|------------|-------------------|
26
+ | `@nqlib/nqcode` | CodeBlock, CodeEditor, Snippet, Sandbox | @nqlib/nqui, shiki, @shikijs/transformers |
27
+ | `@nqlib/nqcode/server` | CodeBlockContentServer (RSC) | shiki, @shikijs/transformers |
28
+
29
+ ## Subpath Exports (Smaller Bundles)
30
+
31
+ Use subpath imports when you only need specific component groups. This keeps consumer bundles smaller by avoiding the full nqui bundle.
32
+
33
+ | Subpath | Components | Peer Dependencies |
34
+ |---------|------------|--------------------|
35
+ | `@nqlib/nqui/carousel` | Carousel | embla-carousel-react |
36
+ | `@nqlib/nqui/command` | Command, CommandPalette | cmdk |
37
+ | `@nqlib/nqui/sortable` | Sortable | @dnd-kit/* |
38
+ | `@nqlib/nqui/calendar` | Calendar | react-day-picker, date-fns |
39
+ | `@nqlib/nqui/sonner` | Toaster, Sonner | sonner |
40
+ | `@nqlib/nqui/drawer` | Drawer | vaul |
41
+
42
+ Example:
43
+
44
+ ```ts
45
+ // Full import (larger bundle)
46
+ import { Carousel } from "@nqlib/nqui";
47
+
48
+ // Subpath imports (smaller - only loads what you need)
49
+ import { Carousel } from "@nqlib/nqui/carousel";
50
+
51
+ // Code display (separate package)
52
+ import { CodeBlock, Snippet } from "@nqlib/nqcode";
53
+ ```
54
+
55
+ ## Installation
56
+
57
+ For a minimal setup (Button, Card, etc.), install nqui and the icon library:
58
+
59
+ ```bash
60
+ pnpm add @nqlib/nqui @hugeicons/react @hugeicons/core-free-icons
61
+ ```
62
+
63
+ For full library support (all components: Sortable, Carousel, DataTable, Calendar, etc.):
64
+
65
+ ```bash
66
+ npx @nqlib/nqui install-peers
67
+ ```
68
+
69
+ This installs nqui + all required and optional peer dependencies.
70
+
71
+ To use Sortable:
72
+
73
+ ```bash
74
+ pnpm add @nqlib/nqui @dnd-kit/core @dnd-kit/modifiers @dnd-kit/sortable @dnd-kit/utilities
75
+ ```
76
+
77
+ To use Command/CommandPalette:
78
+
79
+ ```bash
80
+ pnpm add @nqlib/nqui cmdk
81
+ ```
82
+
83
+ To use Resizable panels:
84
+
85
+ ```bash
86
+ pnpm add @nqlib/nqui react-resizable-panels
87
+ ```
88
+
89
+ To use Combobox/EnhancedCombobox:
90
+
91
+ ```bash
92
+ pnpm add @nqlib/nqui @base-ui/react
93
+ ```
94
+
95
+ To use CodeBlock, CodeEditor, Snippet, or Sandbox:
96
+
97
+ ```bash
98
+ pnpm add @nqlib/nqui @nqlib/nqcode shiki @shikijs/transformers
99
+ ```
100
+
101
+ And so on for each component group above.
102
+
103
+ ## Rationale
104
+
105
+ Externalizing these dependencies keeps the core nqui bundle smaller. Users who only need basic components (Button, Input, Card) do not pay for Sortable, Carousel, or CodeBlock dependencies.
@@ -209,6 +209,78 @@ npm run publish:github
209
209
 
210
210
  ---
211
211
 
212
+ ### Republishing After a Bad Release
213
+
214
+ If a version had bugs (e.g. init-cursor routed to wrong script, skills not working):
215
+
216
+ 1. **Bump version** and fix the code:
217
+ ```bash
218
+ cd packages/nqui
219
+ npm version patch # 0.4.1 → 0.4.2
220
+ ```
221
+
222
+ 2. **Publish the fixed version** (same as normal):
223
+ ```bash
224
+ npm run publish:both
225
+ # or npm run publish:npm / publish:github
226
+ ```
227
+
228
+ 3. **Optional: Deprecate the bad version** (npm only):
229
+ ```bash
230
+ npm deprecate @nqlib/nqui@0.4.1 "Use 0.4.2 instead. See changelog."
231
+ ```
232
+
233
+ 4. **Unpublish** (rare, npm restrictions apply): See [Unpublishing](#unpublishing) below.
234
+
235
+ **Recommendation:** Usually deprecate + publish patch. Unpublish only for security issues.
236
+
237
+ ---
238
+
239
+ ## Unpublishing
240
+
241
+ ### npmjs.com
242
+
243
+ **Rules:**
244
+ - **Within 72 hours of publish**: You can unpublish. The version is then available for re-publish.
245
+ - **After 72 hours**: Unpublish is disallowed. Versions are permanently locked. Use deprecation instead.
246
+
247
+ **Unpublish a specific version** (within 72 hours):
248
+ ```bash
249
+ cd packages/nqui
250
+ npm unpublish @nqlib/nqui@0.4.1 --force --registry=https://registry.npmjs.com
251
+ ```
252
+
253
+ **Unpublish entire package** (within 72 hours, removes all versions):
254
+ ```bash
255
+ npm unpublish @nqlib/nqui --force --registry=https://registry.npmjs.com
256
+ ```
257
+
258
+ **After 72 hours – deprecate instead:**
259
+ ```bash
260
+ npm deprecate @nqlib/nqui@0.4.1 "Superseded by 0.4.2. Use npm install @nqlib/nqui@0.4.2"
261
+ ```
262
+
263
+ ### GitHub Packages
264
+
265
+ **Rules:**
266
+ - You can delete any version at any time.
267
+ - Deleted versions can be re-published (unlike npm).
268
+
269
+ **Delete via GitHub UI:**
270
+ 1. Go to your repo → **Packages** (right sidebar) or `https://github.com/ORG/REPO/packages`
271
+ 2. Click the package `nqui`
272
+ 3. **Manage package** → **Delete package** (entire package) or **Manage versions** → delete specific versions
273
+
274
+ **Delete via GitHub API** (for automation):
275
+ ```bash
276
+ # Requires GITHUB_TOKEN with delete:packages
277
+ curl -X DELETE -H "Authorization: token $GITHUB_TOKEN" \
278
+ "https://api.github.com/orgs/nqlib/packages/npm/nqui/versions/VERSION_ID"
279
+ ```
280
+ (Get `VERSION_ID` from the package page or API.)
281
+
282
+ ---
283
+
212
284
  ## Version Management
213
285
 
214
286
  The `npm version` command automatically:
@@ -0,0 +1,105 @@
1
+ # nqui Skills Architecture (LLM-Native Documentation)
2
+
3
+ nqui uses **Cursor/IDE skills** instead of a documentation website. The AI learns from skills and executes install commands and component docs directly.
4
+
5
+ ## Philosophy
6
+
7
+ - **LLM-native:** Skills teach the AI; the AI teaches the user.
8
+ - **Docs in package:** `docs/components/` ships with the npm package. Consumers get `node_modules/@nqlib/nqui/docs/components/`.
9
+ - **No doc site:** No need to build or host a docs website. The AI reads markdown from the package.
10
+
11
+ ---
12
+
13
+ ## Skill Package (Injected by `npx @nqlib/nqui init-cursor`)
14
+
15
+ ```
16
+ .cursor/
17
+ ├── rules/
18
+ │ └── nqui-components.mdc # Entry rule (globs: **/*.{ts,tsx})
19
+ └── skills/
20
+ ├── nqui-install/
21
+ │ └── SKILL.md # Install commands, execute in terminal
22
+ └── nqui-components/
23
+ └── SKILL.md # Points to docs path, file resolution table
24
+ ```
25
+
26
+ ### 1. nqui-install Skill
27
+
28
+ **When to load:** User asks to install nqui, set up project, fix missing deps, or run setup commands.
29
+
30
+ **What it does:**
31
+ - Lists install commands in sequence (full, minimal, CSS, peers)
32
+ - Tells the AI to **execute** these commands (run in terminal)
33
+ - Points to init-css, init-cursor, install-peers with exact usage
34
+
35
+ **File:** `.cursor/skills/nqui-install/SKILL.md`
36
+
37
+ ### 2. nqui-components Skill
38
+
39
+ **When to load:** User asks about components, which component to use, how to implement X, or builds UI with nqui.
40
+
41
+ **What it does:**
42
+ - **Always** points the AI to: `node_modules/@nqlib/nqui/docs/components/`
43
+ - For "which component": read `README.md` (has use-case tables)
44
+ - For "how to use X": read `nqui-<name>.md` (e.g. `nqui-button.md`, `nqui-toggle-group.md`)
45
+ - Enforces rules: ToggleGroup for toolbar, RadioGroup for forms only, context-first design
46
+
47
+ **File resolution:**
48
+ | Question | File to read |
49
+ |----------|--------------|
50
+ | Component index, use cases | `node_modules/@nqlib/nqui/docs/components/README.md` |
51
+ | Specific component (Button, Toggle, etc.) | `node_modules/@nqlib/nqui/docs/components/nqui-<name>.md` |
52
+
53
+ **Path for consumers:** `node_modules/@nqlib/nqui/docs/components/`
54
+ **Path for nqui dev (monorepo):** `packages/nqui/docs/components/`
55
+
56
+ ---
57
+
58
+ ## Flow
59
+
60
+ 1. **User:** "Install nqui in my project"
61
+ - AI loads nqui-install skill → runs `npx @nqlib/nqui install-peers`, then `npx @nqlib/nqui init-css`, etc.
62
+
63
+ 2. **User:** "Which component for a view mode toggle?"
64
+ - AI loads nqui-components skill → reads `README.md` → finds ToggleGroup in tables → implements
65
+
66
+ 3. **User:** "How do I use the ToggleGroup?"
67
+ - AI loads nqui-components → reads `nqui-toggle-group.md` → implements from doc
68
+
69
+ 4. **User:** "nqui styles not loading"
70
+ - AI has CSS Setup in rule → adds `@import "@nqlib/nqui/styles"` to main CSS
71
+
72
+ ---
73
+
74
+ ## File Map (docs/components)
75
+
76
+ All component docs follow `nqui-<name>.md`. The README has the full index with links.
77
+
78
+ | Category | Components |
79
+ |----------|------------|
80
+ | Buttons & Actions | Button, ButtonGroup, Toggle, ToggleGroup |
81
+ | Forms | Input, Select, Checkbox, RadioGroup, Switch, Slider, etc. |
82
+ | Display | Badge, Avatar, Card, Alert, Skeleton, etc. |
83
+ | Overlay | Dialog, Sheet, Drawer, Popover, Tooltip |
84
+ | Layout | Sidebar, Tabs, Accordion, Resizable |
85
+ | Data | DataTable, Sortable, Pagination |
86
+ | Code | CodeBlock, Snippet, CodeEditor (via @nqlib/nqcode) |
87
+
88
+ ---
89
+
90
+ ## Injection
91
+
92
+ `npx @nqlib/nqui init-cursor` creates:
93
+ - `.cursor/rules/nqui-components.mdc` — Entry rule with globs, install snippet, component rules, skill pointers
94
+ - `.cursor/skills/nqui-install/SKILL.md` — Install commands (execute in terminal)
95
+ - `.cursor/skills/nqui-components/SKILL.md` — Component docs path and file resolution
96
+
97
+ Post-install also runs `writeCursorRule()` so skills are auto-injected on install.
98
+
99
+ ---
100
+
101
+ ## Extending
102
+
103
+ - **New component:** Add `nqui-<name>.md` to `docs/components/`, add row to README tables.
104
+ - **New install step:** Update `install.md` template in init-cursor.js, update peer-deps.js.
105
+ - **New skill:** Add to `.cursor/skills/nqui/` template, update init-cursor to emit it.