@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,50 @@
1
+ # Frosted Glass Header Fix - Release Notes
2
+
3
+ ## Issue
4
+ Content was not visible behind sticky headers with frosted glass effect. Headers appeared solid/opaque, preventing the backdrop-filter blur effect from showing content scrolling behind them.
5
+
6
+ ## Root Cause
7
+ The scroll container structure prevented content from actually scrolling behind sticky headers. Content was positioned below headers rather than overlapping them, so backdrop-filter had nothing to blur.
8
+
9
+ ## Fix Applied
10
+
11
+ ### AppLayout Header (`packages/nqui/src/components/AppLayout.tsx`)
12
+ 1. **Scroll Container Structure**: Ensured scroll container uses `flex flex-col` to allow normal content flow
13
+ 2. **Header Positioning**: Header uses `sticky top-0 z-10` with `FrostedGlass` component as backdrop layer
14
+ 3. **Content Layer**: Added semi-transparent background (`bg-background/40`) to content div for visibility while maintaining transparency
15
+ 4. **Removed Aggressive Scroll Resets**: Removed setInterval-based scroll resets that were interfering with user scrolling
16
+
17
+ ### Card Header (`packages/nqui/src/components/ui/card.tsx`)
18
+ 1. **FrostedGlass Integration**: Added `FrostedGlass` component with `borderRadius={8}` for rounded corners
19
+ 2. **Transparent Content Layer**: Removed background from content wrapper to allow content behind to show through
20
+ 3. **ScrollArea Structure**: Simplified ScrollArea wrapper to use `flex-1 min-h-0` directly, allowing content to scroll behind sticky header
21
+ 4. **Same Root Cause**: Content wasn't positioned to scroll behind sticky header - fixed by ensuring ScrollArea allows normal content flow
22
+
23
+ ## Technical Details
24
+
25
+ ### FrostedGlass Component Features
26
+ - Extended backdrop (`h-[200%]`) to capture reflections from nearby elements (Josh Comeau method)
27
+ - SVG mask for rounded corners when `borderRadius > 0`
28
+ - Linear gradient mask for square corners
29
+ - Very light background (`bg-background/5`) to make blur effect visible
30
+ - `pointer-events: none` to allow interactions
31
+
32
+ ### Key CSS Properties
33
+ - `backdrop-filter: blur(16px)` - Main blur effect
34
+ - `-webkit-backdrop-filter: blur(16px)` - Safari support
35
+ - `position: sticky` - Keeps header at top while scrolling
36
+ - `z-index` layering - FrostedGlass at `z-0`, content at `z-10`
37
+
38
+ ## Files Modified
39
+ - `packages/nqui/src/components/AppLayout.tsx`
40
+ - `packages/nqui/src/components/ui/card.tsx`
41
+ - `packages/nqui/src/components/ui/frosted-glass.tsx`
42
+ - `packages/nqui/src/components/custom/table-of-contents.tsx` (TOC scroll container fix)
43
+
44
+ ## Testing
45
+ - ✅ Content visible and blurred behind AppLayout header when scrolling
46
+ - ✅ Content visible and blurred behind Card sticky header when scrolling
47
+ - ✅ Reflections from nearby elements visible (extended backdrop technique)
48
+ - ✅ TOC navigation works with custom scroll container
49
+ - ✅ No scroll shaking or reset issues
50
+ - ✅ Smooth scrolling behavior maintained
@@ -0,0 +1,274 @@
1
+ # nqui Installation Guide
2
+
3
+ ## Requirements
4
+
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:
14
+
15
+ ```bash
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
47
+ # or
48
+ pnpm add @nqlib/nqui @hugeicons/react @hugeicons/core-free-icons
49
+ ```
50
+
51
+ ### Full (all optional peers)
52
+
53
+ For Sortable, Carousel, DataTable, Calendar, Command, Drawer, etc.:
54
+
55
+ ```bash
56
+ npx @nqlib/nqui install-peers
57
+ ```
58
+
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
66
+
67
+ ```bash
68
+ npx @nqlib/nqui init-css
69
+ ```
70
+
71
+ This creates:
72
+ - `nqui/index.css` — imports from `@nqlib/nqui/styles`
73
+ - `nqui/nqui-setup.css` — full Tailwind + nqui setup (framework-specific)
74
+
75
+ ### 2b. Add import to main CSS (manual step)
76
+
77
+ **You must manually add the nqui import to your main CSS file.** Main files by framework:
78
+
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";
89
+ ```
90
+
91
+ **Option B:** Copy the **entire contents** of `nqui/nqui-setup.css` and paste at the **very top** of your main CSS file.
92
+
93
+ ### 2c. Next.js + Tailwind v4 — @source directives
94
+
95
+ If using Next.js, ensure these are in your main CSS:
96
+
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";
101
+ ```
102
+
103
+ ### 2d. Custom path
104
+
105
+ ```bash
106
+ npx @nqlib/nqui init-css app/styles/nqui.css
107
+ ```
108
+
109
+ The generated CSS includes: design tokens, color scales, light/dark support. **It does not include Tailwind** — configure Tailwind separately.
110
+
111
+ ---
112
+
113
+ ## Step 3: Import Components
114
+
115
+ ```tsx
116
+ import { Button, Input, Card } from "@nqlib/nqui";
117
+ ```
118
+
119
+ **Note:** Next.js App Router pages using nqui need `"use client"`.
120
+
121
+ ---
122
+
123
+ ## Step 4: Debug Tools (Optional)
124
+
125
+ ### 4a. Run init-debug-css
126
+
127
+ ```bash
128
+ npx @nqlib/nqui init-debug-css
129
+ ```
130
+
131
+ Custom path: `npx @nqlib/nqui init-debug-css app/styles/debug.css`
132
+
133
+ ### 4b. Use DebugPanel
134
+
135
+ ```tsx
136
+ 'use client'; // Required for Next.js App Router
137
+
138
+ import { DebugPanel } from "@nqlib/nqui";
139
+ import "./nqui-debug.css"; // Path from init-debug-css
140
+
141
+ export function App() {
142
+ return (
143
+ <>
144
+ <YourApp />
145
+ {process.env.NODE_ENV === 'development' && <DebugPanel />}
146
+ </>
147
+ );
148
+ }
149
+ ```
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
+
188
+ ## Framework-Specific Setup
189
+
190
+ ### Next.js App Router
191
+
192
+ ```tsx
193
+ // app/layout.tsx
194
+ 'use client';
195
+
196
+ import { DebugPanel } from "@nqlib/nqui";
197
+ import "../../node_modules/@nqlib/nqui/dist/nqui.css"; // Direct path if package import fails
198
+
199
+ export function DebugPanelClient() {
200
+ const [mounted, setMounted] = useState(false);
201
+ useEffect(() => { setMounted(true); }, []);
202
+
203
+ if (process.env.NODE_ENV !== 'development' || !mounted) return null;
204
+ return <DebugPanel />;
205
+ }
206
+ ```
207
+
208
+ ### Vite / Create React App
209
+
210
+ ```tsx
211
+ // src/main.tsx
212
+ import { DebugPanel } from "@nqlib/nqui";
213
+ import "./nqui-debug.css";
214
+
215
+ function App() {
216
+ return (
217
+ <>
218
+ <YourApp />
219
+ {import.meta.env.DEV && <DebugPanel />}
220
+ </>
221
+ );
222
+ }
223
+ ```
224
+
225
+ ### Remix
226
+
227
+ ```tsx
228
+ // app/root.tsx
229
+ import { DebugPanel } from "@nqlib/nqui";
230
+ import "./nqui-debug.css";
231
+
232
+ export default function Root() {
233
+ return (
234
+ <html>
235
+ <body>
236
+ <Outlet />
237
+ {process.env.NODE_ENV === 'development' && <DebugPanel />}
238
+ </body>
239
+ </html>
240
+ );
241
+ }
242
+ ```
243
+
244
+ ---
245
+
246
+ ## Troubleshooting
247
+
248
+ ### "Module not found: Can't resolve '@nqlib/nqui/styles'" or CSS not loading
249
+
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
253
+
254
+ ### nqui components render without styles
255
+
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.
257
+
258
+ ### Debug Panel not appearing
259
+
260
+ 1. Ensure `NODE_ENV !== 'production'`
261
+ 2. Import the debug CSS
262
+ 3. Verify `DebugPanel` is rendered in your app tree
263
+
264
+ ### Package import (nqui vs @nqlib/nqui)
265
+
266
+ Use `@nqlib/nqui` — the package name. Old docs may reference `nqui`.
267
+
268
+ ---
269
+
270
+ ## Advanced: Custom CSS Location
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.