prime-ui-kit 0.16.0 → 0.17.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 (315) hide show
  1. package/README.md +14 -18
  2. package/dist/chunks/{chunk-4PSQ64S4.js → chunk-7WWZYGRC.js} +3697 -3738
  3. package/dist/chunks/{chunk-6TPHKCUJ.js → chunk-A4WE3UNC.js} +27340 -26893
  4. package/dist/chunks/{chunk-A7OQWH6R.js → chunk-PRP4B6OG.js} +1 -1
  5. package/dist/chunks/{chunk-HDBQICPW.js → chunk-SVFWPLNW.js} +49 -20
  6. package/dist/color-picker.d.ts +1 -1
  7. package/dist/color-picker.js +3 -3
  8. package/dist/components/breadcrumb/Breadcrumb.d.ts +1 -1
  9. package/dist/components/chart-frame/ChartFrame.d.ts +1 -1
  10. package/dist/components/chat/ChatRows.d.ts +5 -1
  11. package/dist/components/color-picker/ColorPicker.d.ts +18 -1
  12. package/dist/components/data-table/DataTable.d.ts +1 -1
  13. package/dist/components/index.d.ts +0 -4
  14. package/dist/components/pagination/Pagination.d.ts +5 -1
  15. package/dist/components/popover/Popover.d.ts +1 -1
  16. package/dist/components/slider/Slider.d.ts +1 -1
  17. package/dist/components/smart-filter/SmartFilter.d.ts +4 -5
  18. package/dist/icon-set.js +2 -2
  19. package/dist/index.css +1 -1
  20. package/dist/index.js +5 -9
  21. package/dist/internal/barPlan.d.ts +44 -0
  22. package/dist/internal/overlay/FloatingPanel.d.ts +1 -1
  23. package/dist/internal/overlay/focus.d.ts +3 -2
  24. package/dist/internal/parts.d.ts +1 -1
  25. package/dist/internal/slot.d.ts +0 -30
  26. package/dist/layout/app-shell/AppShell.d.ts +19 -38
  27. package/dist/layout/index.d.ts +3 -3
  28. package/dist/layout/page/Page.d.ts +263 -0
  29. package/dist/layout/sidebar/Sidebar.d.ts +1 -1
  30. package/dist/skill/SKILL.md +10 -10
  31. package/dist/skill/anti-slop.md +101 -5
  32. package/dist/skill/api-contract.md +1 -1
  33. package/dist/skill/cheatsheet.md +27 -22
  34. package/dist/skill/checklist.md +7 -3
  35. package/dist/skill/choosing.md +9 -8
  36. package/dist/skill/components.md +3 -5
  37. package/dist/skill/composition.md +177 -152
  38. package/dist/skill/foundations.md +9 -9
  39. package/dist/skill/layouts.md +39 -98
  40. package/dist/skill/reference/components/avatar/COMPONENT.md +2 -2
  41. package/dist/skill/reference/components/avatar/examples/team-group.tsx +1 -1
  42. package/dist/skill/reference/components/banner/COMPONENT.md +4 -4
  43. package/dist/skill/reference/components/banner/examples/examples.module.css +6 -1
  44. package/dist/skill/reference/components/banner/examples/page-strip.tsx +24 -22
  45. package/dist/skill/reference/components/breadcrumb/COMPONENT.md +9 -8
  46. package/dist/skill/reference/components/button/COMPONENT.md +1 -0
  47. package/dist/skill/reference/components/button/examples/hold-to-confirm.tsx +1 -1
  48. package/dist/skill/reference/components/button/examples/on-colored-host.tsx +8 -8
  49. package/dist/skill/reference/components/card/COMPONENT.md +7 -7
  50. package/dist/skill/reference/components/card/examples/screen.module.css +1 -1
  51. package/dist/skill/reference/components/card/examples/screen.tsx +184 -198
  52. package/dist/skill/reference/components/chart-frame/COMPONENT.md +1 -1
  53. package/dist/skill/reference/components/chart-frame/examples/fill-height.tsx +9 -9
  54. package/dist/skill/reference/components/chat/COMPONENT.md +4 -4
  55. package/dist/skill/reference/components/chat/examples/screen.module.css +1 -1
  56. package/dist/skill/reference/components/chat/examples/screen.tsx +110 -117
  57. package/dist/skill/reference/components/chat-list/COMPONENT.md +2 -2
  58. package/dist/skill/reference/components/chat-list/examples/controlled.tsx +2 -2
  59. package/dist/skill/reference/components/chat-list/examples/examples.module.css +8 -0
  60. package/dist/skill/reference/components/checkbox/examples/examples.module.css +3 -2
  61. package/dist/skill/reference/components/code-block/COMPONENT.md +1 -1
  62. package/dist/skill/reference/components/code-block/examples/color-scheme.tsx +2 -4
  63. package/dist/skill/reference/components/code-block/examples/examples.module.css +0 -11
  64. package/dist/skill/reference/components/color-picker/COMPONENT.md +18 -7
  65. package/dist/skill/reference/components/color-picker/examples/examples.module.css +2 -5
  66. package/dist/skill/reference/components/color-picker/examples/overview.tsx +5 -10
  67. package/dist/skill/reference/components/color-picker/examples/sizes.tsx +4 -8
  68. package/dist/skill/reference/components/crossfade/COMPONENT.md +2 -2
  69. package/dist/skill/reference/components/crossfade/examples/screen.tsx +107 -112
  70. package/dist/skill/reference/components/data-table/COMPONENT.md +5 -5
  71. package/dist/skill/reference/components/data-table/examples/examples.module.css +9 -0
  72. package/dist/skill/reference/components/data-table/examples/screen.tsx +42 -52
  73. package/dist/skill/reference/components/data-table/examples/server.tsx +6 -2
  74. package/dist/skill/reference/components/datepicker/examples/examples.module.css +6 -0
  75. package/dist/skill/reference/components/datepicker/examples/inline-panel.tsx +3 -1
  76. package/dist/skill/reference/components/description-list/COMPONENT.md +1 -1
  77. package/dist/skill/reference/components/description-list/examples/screen.tsx +120 -127
  78. package/dist/skill/reference/components/digit-input/examples/grouped.tsx +4 -4
  79. package/dist/skill/reference/components/digit-input/examples/validation.tsx +1 -1
  80. package/dist/skill/reference/components/divider/COMPONENT.md +2 -2
  81. package/dist/skill/reference/components/divider/examples/examples.module.css +4 -1
  82. package/dist/skill/reference/components/divider/examples/vertical.tsx +22 -9
  83. package/dist/skill/reference/components/dnd/examples/examples.module.css +3 -1
  84. package/dist/skill/reference/components/drawer/COMPONENT.md +1 -1
  85. package/dist/skill/reference/components/drawer/examples/placement.tsx +26 -31
  86. package/dist/skill/reference/components/drawer/examples/screen.tsx +137 -160
  87. package/dist/skill/reference/components/dropdown/COMPONENT.md +1 -1
  88. package/dist/skill/reference/components/example-frame/COMPONENT.md +3 -3
  89. package/dist/skill/reference/components/field-list/examples/screen.module.css +1 -1
  90. package/dist/skill/reference/components/field-list/examples/screen.tsx +19 -19
  91. package/dist/skill/reference/components/fieldset/COMPONENT.md +1 -1
  92. package/dist/skill/reference/components/fieldset/examples/states.tsx +1 -1
  93. package/dist/skill/reference/components/file-upload/COMPONENT.md +1 -1
  94. package/dist/skill/reference/components/file-upload/examples/screen.module.css +2 -2
  95. package/dist/skill/reference/components/file-upload/examples/screen.tsx +65 -81
  96. package/dist/skill/reference/components/gallery/COMPONENT.md +1 -0
  97. package/dist/skill/reference/components/gantt/COMPONENT.md +1 -1
  98. package/dist/skill/reference/components/gantt/examples/screen.module.css +1 -1
  99. package/dist/skill/reference/components/gantt/examples/screen.tsx +55 -73
  100. package/dist/skill/reference/components/hint/examples/examples.module.css +10 -1
  101. package/dist/skill/reference/components/hint/examples/overview.tsx +1 -1
  102. package/dist/skill/reference/components/kanban/COMPONENT.md +1 -1
  103. package/dist/skill/reference/components/kanban/examples/screen.module.css +1 -1
  104. package/dist/skill/reference/components/kanban/examples/screen.tsx +50 -65
  105. package/dist/skill/reference/components/kbd/COMPONENT.md +1 -1
  106. package/dist/skill/reference/components/label/examples/examples.module.css +12 -1
  107. package/dist/skill/reference/components/label/examples/overview.tsx +1 -1
  108. package/dist/skill/reference/components/list/COMPONENT.md +3 -3
  109. package/dist/skill/reference/components/media-viewer/examples/controlled.tsx +16 -16
  110. package/dist/skill/reference/components/media-viewer/examples/examples.module.css +1 -3
  111. package/dist/skill/reference/components/pagination/COMPONENT.md +11 -3
  112. package/dist/skill/reference/components/pagination/examples/controlled.tsx +2 -1
  113. package/dist/skill/reference/components/popover/COMPONENT.md +3 -2
  114. package/dist/skill/reference/components/popover/examples/width.tsx +13 -1
  115. package/dist/skill/reference/components/slider/COMPONENT.md +3 -3
  116. package/dist/skill/reference/components/slider/examples/states.tsx +14 -10
  117. package/dist/skill/reference/components/smart-filter/COMPONENT.md +13 -13
  118. package/dist/skill/reference/components/smart-filter/examples/examples.module.css +3 -0
  119. package/dist/skill/reference/components/smart-filter/examples/many-values.tsx +12 -8
  120. package/dist/skill/reference/components/smart-filter/examples/sizes.tsx +7 -3
  121. package/dist/skill/reference/components/sparkline/COMPONENT.md +1 -0
  122. package/dist/skill/reference/components/sparkline/examples/curve.tsx +16 -11
  123. package/dist/skill/reference/components/sparkline/examples/states.tsx +14 -10
  124. package/dist/skill/reference/components/switch/COMPONENT.md +1 -1
  125. package/dist/skill/reference/components/tabs/COMPONENT.md +1 -1
  126. package/dist/skill/reference/components/typography/COMPONENT.md +2 -2
  127. package/dist/skill/reference/foundation.md +15 -11
  128. package/dist/skill/reference/layout/app-shell/COMPONENT.md +25 -38
  129. package/dist/skill/reference/layout/app-shell/examples/footer.tsx +10 -10
  130. package/dist/skill/reference/layout/app-shell/examples/overview.tsx +20 -22
  131. package/dist/skill/reference/layout/app-shell/examples/screen.module.css +2 -2
  132. package/dist/skill/reference/layout/app-shell/examples/screen.tsx +25 -30
  133. package/dist/skill/reference/layout/app-shell/examples/template.tsx +13 -17
  134. package/dist/skill/reference/layout/bottom-nav/COMPONENT.md +3 -3
  135. package/dist/skill/reference/layout/bottom-nav/examples/floating-action.tsx +10 -19
  136. package/dist/skill/reference/layout/bottom-nav/examples/floating.tsx +10 -19
  137. package/dist/skill/reference/layout/bottom-nav/examples/in-app-shell.tsx +11 -19
  138. package/dist/skill/reference/layout/page/COMPONENT.md +353 -0
  139. package/dist/skill/reference/layout/page/examples/actions-collapse.tsx +45 -0
  140. package/dist/skill/reference/layout/page/examples/collapse.tsx +68 -0
  141. package/dist/skill/reference/{components/page-content → layout/page}/examples/examples.module.css +33 -4
  142. package/{src/components/page-content → dist/skill/reference/layout/page}/examples/grid.tsx +15 -15
  143. package/dist/skill/reference/{components/page-content → layout/page}/examples/list-detail.tsx +14 -14
  144. package/dist/skill/reference/layout/page/examples/narrow.tsx +75 -0
  145. package/dist/skill/reference/layout/page/examples/overview.tsx +57 -0
  146. package/dist/skill/reference/{components/page-content → layout/page}/examples/screen.module.css +1 -1
  147. package/{src/components/page-content → dist/skill/reference/layout/page}/examples/screen.tsx +29 -19
  148. package/dist/skill/reference/{components/page-content → layout/page}/examples/sections.tsx +17 -24
  149. package/dist/skill/reference/layout/page/examples/structure.tsx +41 -0
  150. package/dist/skill/reference/{components/page-toolbar/examples/narrow.tsx → layout/page/examples/tools.tsx} +38 -35
  151. package/dist/skill/reference/layout/page/examples/top-bar.tsx +85 -0
  152. package/dist/skill/reference/{components/page-content → layout/page}/examples/variants.tsx +7 -7
  153. package/dist/skill/reference/layout/sidebar/COMPONENT.md +5 -4
  154. package/dist/skill/reference/layout/sidebar/examples/dismiss.tsx +10 -7
  155. package/dist/skill/reference/layout/sidebar/examples/narrow.tsx +11 -8
  156. package/dist/skill/responsive.md +88 -74
  157. package/dist/tokens/layers.d.ts +2 -0
  158. package/dist/tokens/primitives.d.ts +12 -2
  159. package/dist/tokens/semantic.d.ts +7 -0
  160. package/dist/tokens/themes/dark.d.ts +7 -2
  161. package/package.json +2 -2
  162. package/src/components/avatar/COMPONENT.md +2 -2
  163. package/src/components/avatar/examples/team-group.tsx +1 -1
  164. package/src/components/banner/COMPONENT.md +4 -4
  165. package/src/components/banner/examples/examples.module.css +6 -1
  166. package/src/components/banner/examples/page-strip.tsx +24 -22
  167. package/src/components/breadcrumb/COMPONENT.md +9 -8
  168. package/src/components/button/COMPONENT.md +1 -0
  169. package/src/components/button/examples/hold-to-confirm.tsx +1 -1
  170. package/src/components/button/examples/on-colored-host.tsx +8 -8
  171. package/src/components/card/COMPONENT.md +7 -7
  172. package/src/components/card/examples/screen.module.css +1 -1
  173. package/src/components/card/examples/screen.tsx +184 -198
  174. package/src/components/chart-frame/COMPONENT.md +1 -1
  175. package/src/components/chart-frame/examples/fill-height.tsx +9 -9
  176. package/src/components/chat/COMPONENT.md +4 -4
  177. package/src/components/chat/examples/screen.module.css +1 -1
  178. package/src/components/chat/examples/screen.tsx +110 -117
  179. package/src/components/chat-list/COMPONENT.md +2 -2
  180. package/src/components/chat-list/examples/controlled.tsx +2 -2
  181. package/src/components/chat-list/examples/examples.module.css +8 -0
  182. package/src/components/checkbox/examples/examples.module.css +3 -2
  183. package/src/components/code-block/COMPONENT.md +1 -1
  184. package/src/components/code-block/examples/color-scheme.tsx +2 -4
  185. package/src/components/code-block/examples/examples.module.css +0 -11
  186. package/src/components/color-picker/COMPONENT.md +18 -7
  187. package/src/components/color-picker/examples/examples.module.css +2 -5
  188. package/src/components/color-picker/examples/overview.tsx +5 -10
  189. package/src/components/color-picker/examples/sizes.tsx +4 -8
  190. package/src/components/crossfade/COMPONENT.md +2 -2
  191. package/src/components/crossfade/examples/screen.tsx +107 -112
  192. package/src/components/data-table/COMPONENT.md +5 -5
  193. package/src/components/data-table/examples/examples.module.css +9 -0
  194. package/src/components/data-table/examples/screen.tsx +42 -52
  195. package/src/components/data-table/examples/server.tsx +6 -2
  196. package/src/components/datepicker/examples/examples.module.css +6 -0
  197. package/src/components/datepicker/examples/inline-panel.tsx +3 -1
  198. package/src/components/description-list/COMPONENT.md +1 -1
  199. package/src/components/description-list/examples/screen.tsx +120 -127
  200. package/src/components/digit-input/examples/grouped.tsx +4 -4
  201. package/src/components/digit-input/examples/validation.tsx +1 -1
  202. package/src/components/divider/COMPONENT.md +2 -2
  203. package/src/components/divider/examples/examples.module.css +4 -1
  204. package/src/components/divider/examples/vertical.tsx +22 -9
  205. package/src/components/dnd/examples/examples.module.css +3 -1
  206. package/src/components/drawer/COMPONENT.md +1 -1
  207. package/src/components/drawer/examples/placement.tsx +26 -31
  208. package/src/components/drawer/examples/screen.tsx +137 -160
  209. package/src/components/dropdown/COMPONENT.md +1 -1
  210. package/src/components/example-frame/COMPONENT.md +3 -3
  211. package/src/components/field-list/examples/screen.module.css +1 -1
  212. package/src/components/field-list/examples/screen.tsx +19 -19
  213. package/src/components/fieldset/COMPONENT.md +1 -1
  214. package/src/components/fieldset/examples/states.tsx +1 -1
  215. package/src/components/file-upload/COMPONENT.md +1 -1
  216. package/src/components/file-upload/examples/screen.module.css +2 -2
  217. package/src/components/file-upload/examples/screen.tsx +65 -81
  218. package/src/components/gallery/COMPONENT.md +1 -0
  219. package/src/components/gantt/COMPONENT.md +1 -1
  220. package/src/components/gantt/examples/screen.module.css +1 -1
  221. package/src/components/gantt/examples/screen.tsx +55 -73
  222. package/src/components/hint/examples/examples.module.css +10 -1
  223. package/src/components/hint/examples/overview.tsx +1 -1
  224. package/src/components/kanban/COMPONENT.md +1 -1
  225. package/src/components/kanban/examples/screen.module.css +1 -1
  226. package/src/components/kanban/examples/screen.tsx +50 -65
  227. package/src/components/kbd/COMPONENT.md +1 -1
  228. package/src/components/label/examples/examples.module.css +12 -1
  229. package/src/components/label/examples/overview.tsx +1 -1
  230. package/src/components/list/COMPONENT.md +3 -3
  231. package/src/components/media-viewer/examples/controlled.tsx +16 -16
  232. package/src/components/media-viewer/examples/examples.module.css +1 -3
  233. package/src/components/pagination/COMPONENT.md +11 -3
  234. package/src/components/pagination/examples/controlled.tsx +2 -1
  235. package/src/components/popover/COMPONENT.md +3 -2
  236. package/src/components/popover/examples/width.tsx +13 -1
  237. package/src/components/slider/COMPONENT.md +3 -3
  238. package/src/components/slider/examples/states.tsx +14 -10
  239. package/src/components/smart-filter/COMPONENT.md +13 -13
  240. package/src/components/smart-filter/examples/examples.module.css +3 -0
  241. package/src/components/smart-filter/examples/many-values.tsx +12 -8
  242. package/src/components/smart-filter/examples/sizes.tsx +7 -3
  243. package/src/components/sparkline/COMPONENT.md +1 -0
  244. package/src/components/sparkline/examples/curve.tsx +16 -11
  245. package/src/components/sparkline/examples/states.tsx +14 -10
  246. package/src/components/switch/COMPONENT.md +1 -1
  247. package/src/components/tabs/COMPONENT.md +1 -1
  248. package/src/components/typography/COMPONENT.md +2 -2
  249. package/src/layout/app-shell/COMPONENT.md +25 -38
  250. package/src/layout/app-shell/examples/footer.tsx +10 -10
  251. package/src/layout/app-shell/examples/overview.tsx +20 -22
  252. package/src/layout/app-shell/examples/screen.module.css +2 -2
  253. package/src/layout/app-shell/examples/screen.tsx +25 -30
  254. package/src/layout/app-shell/examples/template.tsx +13 -17
  255. package/src/layout/bottom-nav/COMPONENT.md +3 -3
  256. package/src/layout/bottom-nav/examples/floating-action.tsx +10 -19
  257. package/src/layout/bottom-nav/examples/floating.tsx +10 -19
  258. package/src/layout/bottom-nav/examples/in-app-shell.tsx +11 -19
  259. package/src/layout/page/COMPONENT.md +353 -0
  260. package/src/layout/page/examples/actions-collapse.tsx +45 -0
  261. package/src/layout/page/examples/collapse.tsx +68 -0
  262. package/src/{components/page-content → layout/page}/examples/examples.module.css +33 -4
  263. package/{dist/skill/reference/components/page-content → src/layout/page}/examples/grid.tsx +15 -15
  264. package/src/{components/page-content → layout/page}/examples/list-detail.tsx +14 -14
  265. package/src/layout/page/examples/narrow.tsx +75 -0
  266. package/src/layout/page/examples/overview.tsx +57 -0
  267. package/src/{components/page-content → layout/page}/examples/screen.module.css +1 -1
  268. package/{dist/skill/reference/components/page-content → src/layout/page}/examples/screen.tsx +29 -19
  269. package/src/{components/page-content → layout/page}/examples/sections.tsx +17 -24
  270. package/src/layout/page/examples/structure.tsx +41 -0
  271. package/src/{components/page-toolbar/examples/narrow.tsx → layout/page/examples/tools.tsx} +38 -35
  272. package/src/layout/page/examples/top-bar.tsx +85 -0
  273. package/src/{components/page-content → layout/page}/examples/variants.tsx +7 -7
  274. package/src/layout/sidebar/COMPONENT.md +5 -4
  275. package/src/layout/sidebar/examples/dismiss.tsx +10 -7
  276. package/src/layout/sidebar/examples/narrow.tsx +11 -8
  277. package/src/styles/theme-dark.css +12 -10
  278. package/src/styles/theme-light.css +3 -0
  279. package/src/styles/tokens.css +3 -1
  280. package/dist/components/page-content/PageContent.d.ts +0 -192
  281. package/dist/components/page-toolbar/PageToolbar.d.ts +0 -55
  282. package/dist/layout/app-header/AppHeader.d.ts +0 -118
  283. package/dist/skill/reference/components/page-content/COMPONENT.md +0 -264
  284. package/dist/skill/reference/components/page-content/examples/narrow.tsx +0 -25
  285. package/dist/skill/reference/components/page-content/examples/overview.tsx +0 -41
  286. package/dist/skill/reference/components/page-toolbar/COMPONENT.md +0 -147
  287. package/dist/skill/reference/components/page-toolbar/examples/examples.module.css +0 -16
  288. package/dist/skill/reference/components/page-toolbar/examples/overview.tsx +0 -113
  289. package/dist/skill/reference/components/page-toolbar/examples/save-changes.tsx +0 -43
  290. package/dist/skill/reference/components/page-toolbar/examples/without-search.tsx +0 -60
  291. package/dist/skill/reference/layout/app-header/COMPONENT.md +0 -187
  292. package/dist/skill/reference/layout/app-header/examples/breadcrumbs.tsx +0 -37
  293. package/dist/skill/reference/layout/app-header/examples/examples.module.css +0 -28
  294. package/dist/skill/reference/layout/app-header/examples/in-app-shell.tsx +0 -67
  295. package/dist/skill/reference/layout/app-header/examples/narrow.tsx +0 -66
  296. package/dist/skill/reference/layout/app-header/examples/overview.tsx +0 -34
  297. package/dist/skill/reference/layout/app-header/examples/page-title.tsx +0 -78
  298. package/dist/skill/reference/layout/app-shell/examples/contained.tsx +0 -30
  299. package/src/components/page-content/COMPONENT.md +0 -264
  300. package/src/components/page-content/examples/narrow.tsx +0 -25
  301. package/src/components/page-content/examples/overview.tsx +0 -41
  302. package/src/components/page-toolbar/COMPONENT.md +0 -147
  303. package/src/components/page-toolbar/examples/examples.module.css +0 -16
  304. package/src/components/page-toolbar/examples/overview.tsx +0 -113
  305. package/src/components/page-toolbar/examples/save-changes.tsx +0 -43
  306. package/src/components/page-toolbar/examples/without-search.tsx +0 -60
  307. package/src/layout/app-header/COMPONENT.md +0 -187
  308. package/src/layout/app-header/examples/breadcrumbs.tsx +0 -37
  309. package/src/layout/app-header/examples/examples.module.css +0 -28
  310. package/src/layout/app-header/examples/in-app-shell.tsx +0 -67
  311. package/src/layout/app-header/examples/narrow.tsx +0 -66
  312. package/src/layout/app-header/examples/overview.tsx +0 -34
  313. package/src/layout/app-header/examples/page-title.tsx +0 -78
  314. package/src/layout/app-shell/examples/contained.tsx +0 -30
  315. package/dist/chunks/{chunk-U3Q2I3MY.js → chunk-2ODXLPW3.js} +2 -2
@@ -1,6 +1,5 @@
1
- /** A nested record: the path, the title with its status and due date and the record's actions by weight in the app header, a main column with the line items and their totals and a side column with the client's details and the history — `align`, `orientation`. */
1
+ /** A nested record: the path, the title with its status and due date and the record's actions by weight in its top bar, a main column with the line items and their totals and a side column with the client's details and the history — `align`, `orientation`. */
2
2
  import {
3
- AppHeader,
4
3
  Avatar,
5
4
  Breadcrumb,
6
5
  Button,
@@ -8,11 +7,9 @@ import {
8
7
  DataTable,
9
8
  type DataTableColumn,
10
9
  DescriptionList,
11
- Dropdown,
12
10
  Icon,
13
11
  LinkButton,
14
- PageContent,
15
- PageToolbar,
12
+ Page,
16
13
  Timeline,
17
14
  Typography,
18
15
  } from "prime-ui-kit";
@@ -75,132 +72,128 @@ const COLUMNS: DataTableColumn<Line>[] = [
75
72
 
76
73
  export default function DescriptionListScreenExample() {
77
74
  return (
78
- <>
79
- {/* A nested record titles itself in the app header: the path up to the list, the record as the
80
- only h1 with its status and due date under it, the record's actions in the tools row. */}
81
- <AppHeader.Root>
82
- <AppHeader.Start>
75
+ <Page.Root>
76
+ {/* A nested record titles itself in its top bar: the path up to the list, the record as the
77
+ only h1 with its status and due date under it, the record's actions at the end. */}
78
+
79
+ <Page.TopBar>
80
+ <Page.Heading>
83
81
  <Breadcrumb.Root>
84
82
  <Breadcrumb.Item href="#invoices">Счета</Breadcrumb.Item>
85
83
  </Breadcrumb.Root>
86
- <AppHeader.Separator />
87
- <AppHeader.Title>
88
- Счёт № 2026-0418
89
- <AppHeader.Description>Отправлен · оплатить до 14 октября</AppHeader.Description>
90
- </AppHeader.Title>
91
- </AppHeader.Start>
92
- <AppHeader.Tools>
93
- <PageToolbar.Root aria-label="Счёт № 2026-0418">
94
- <PageToolbar.Actions>
95
- <Dropdown.Root>
96
- <Dropdown.Trigger>
97
- <Button.Root variant="soft" tone="neutral" aria-label="Другие действия">
98
- <Button.Icon>
99
- <Icon name="action.more" />
100
- </Button.Icon>
101
- </Button.Root>
102
- </Dropdown.Trigger>
103
- <Dropdown.Content>
104
- <Dropdown.Item>Дублировать</Dropdown.Item>
105
- <Dropdown.Item>Скачать PDF</Dropdown.Item>
106
- <Dropdown.Separator />
107
- <Dropdown.Item tone="danger">Аннулировать счёт</Dropdown.Item>
108
- </Dropdown.Content>
109
- </Dropdown.Root>
110
- <Button.Root variant="soft" tone="neutral" aria-label="Напомнить клиенту">
111
- <Button.Icon>
112
- <Icon name="action.send" />
113
- </Button.Icon>
114
- </Button.Root>
115
- <Button.Root>Отметить оплату</Button.Root>
116
- </PageToolbar.Actions>
117
- </PageToolbar.Root>
118
- </AppHeader.Tools>
119
- </AppHeader.Root>
120
-
121
- <PageContent.Root>
122
- <PageContent.Body>
123
- <div className={styles.columns}>
124
- <PageContent.Section label="Позиции" className={styles.main}>
125
- <DataTable
126
- columns={COLUMNS}
127
- rows={LINES}
128
- getRowKey={(row) => row.id}
129
- paging="none"
130
- highlightRowOnHover={false}
131
- />
132
- {/* The totals end where the «Сумма» column of the table above ends. */}
133
- <DescriptionList.Root align="end" className={styles.totals}>
134
- {TOTALS.map((row) => (
135
- <DescriptionList.Item key={row.label} label={row.label}>
136
- {row.value}
137
- </DescriptionList.Item>
138
- ))}
139
- <DescriptionList.Item
140
- label={
141
- <Typography as="span" variant="title-m">
142
- К оплате
143
- </Typography>
144
- }
145
- >
146
- <Typography as="span" variant="title-m" numeric="tabular">
147
- {MONEY.format(NET + VAT)}
148
- </Typography>
84
+ <Page.Title>Счёт № 2026-0418</Page.Title>
85
+ <Page.Description>Отправлен · оплатить до 14 октября</Page.Description>
86
+ </Page.Heading>
87
+ {/* By weight: when the row runs short the soft actions show only their icons, then fold
88
+ into «⋯»; the primary action stays. */}
89
+ <Page.Actions>
90
+ <Button.Root variant="soft" tone="neutral">
91
+ <Button.Icon>
92
+ <Icon name="action.copy" />
93
+ </Button.Icon>
94
+ Дублировать
95
+ </Button.Root>
96
+ <Button.Root variant="soft" tone="neutral">
97
+ <Button.Icon>
98
+ <Icon name="action.download" />
99
+ </Button.Icon>
100
+ Скачать PDF
101
+ </Button.Root>
102
+ <Button.Root variant="soft" tone="neutral">
103
+ <Button.Icon>
104
+ <Icon name="action.send" />
105
+ </Button.Icon>
106
+ Напомнить
107
+ </Button.Root>
108
+ <Button.Root>
109
+ <Button.Icon>
110
+ <Icon name="action.check" />
111
+ </Button.Icon>
112
+ Отметить оплату
113
+ </Button.Root>
114
+ </Page.Actions>
115
+ </Page.TopBar>
116
+ <Page.Body>
117
+ <div className={styles.columns}>
118
+ <Page.Section label="Позиции" className={styles.main}>
119
+ <DataTable
120
+ columns={COLUMNS}
121
+ rows={LINES}
122
+ getRowKey={(row) => row.id}
123
+ paging="none"
124
+ highlightRowOnHover={false}
125
+ />
126
+ {/* The totals end where the «Сумма» column of the table above ends. */}
127
+ <DescriptionList.Root align="end" className={styles.totals}>
128
+ {TOTALS.map((row) => (
129
+ <DescriptionList.Item key={row.label} label={row.label}>
130
+ {row.value}
149
131
  </DescriptionList.Item>
150
- </DescriptionList.Root>
151
- </PageContent.Section>
152
- <aside className={styles.aside} aria-label="Клиент и история">
153
- <Card.Root variant="panel">
154
- <Card.Header>
155
- <Card.Title as="h2">Клиент</Card.Title>
156
- </Card.Header>
157
- <Card.Body>
158
- <div className={styles.client}>
159
- <span className={styles.person}>
160
- <Avatar.Root color="teal">
161
- <Avatar.Fallback>СВ</Avatar.Fallback>
162
- </Avatar.Root>
163
- <span className={styles.personText}>
164
- <Typography as="span" variant="title-s">
165
- ООО «Северный ветер»
166
- </Typography>
167
- <Typography as="span" variant="caption" tone="muted">
168
- ИНН 7704 512 908
169
- </Typography>
170
- </span>
132
+ ))}
133
+ <DescriptionList.Item
134
+ label={
135
+ <Typography as="span" variant="title-m">
136
+ К оплате
137
+ </Typography>
138
+ }
139
+ >
140
+ <Typography as="span" variant="title-m" numeric="tabular">
141
+ {MONEY.format(NET + VAT)}
142
+ </Typography>
143
+ </DescriptionList.Item>
144
+ </DescriptionList.Root>
145
+ </Page.Section>
146
+ <aside className={styles.aside} aria-label="Клиент и история">
147
+ <Card.Root variant="panel">
148
+ <Card.Header>
149
+ <Card.Title as="h2">Клиент</Card.Title>
150
+ </Card.Header>
151
+ <Card.Body>
152
+ <div className={styles.client}>
153
+ <span className={styles.person}>
154
+ <Avatar.Root color="teal">
155
+ <Avatar.Fallback>СВ</Avatar.Fallback>
156
+ </Avatar.Root>
157
+ <span className={styles.personText}>
158
+ <Typography as="span" variant="title-s">
159
+ ООО «Северный ветер»
160
+ </Typography>
161
+ <Typography as="span" variant="caption" tone="muted">
162
+ ИНН 7704 512 908
163
+ </Typography>
171
164
  </span>
172
- <DescriptionList.Root orientation="vertical">
173
- <DescriptionList.Item label="Контакт">
174
- Ольга Мартынова, финансовый директор
175
- </DescriptionList.Item>
176
- <DescriptionList.Item label="Почта для счетов">
177
- <LinkButton href="mailto:billing@veter.ru">billing@veter.ru</LinkButton>
178
- </DescriptionList.Item>
179
- </DescriptionList.Root>
180
- </div>
181
- </Card.Body>
182
- </Card.Root>
183
- <Card.Root variant="panel">
184
- <Card.Header>
185
- <Card.Title as="h2">История</Card.Title>
186
- </Card.Header>
187
- <Card.Body>
188
- <Timeline.Root>
189
- <Timeline.Group>
190
- {HISTORY.map((event) => (
191
- <Timeline.Item key={event.id}>
192
- <Timeline.ItemTitle>{event.title}</Timeline.ItemTitle>
193
- <Timeline.ItemMeta>{event.date}</Timeline.ItemMeta>
194
- </Timeline.Item>
195
- ))}
196
- </Timeline.Group>
197
- </Timeline.Root>
198
- </Card.Body>
199
- </Card.Root>
200
- </aside>
201
- </div>
202
- </PageContent.Body>
203
- </PageContent.Root>
204
- </>
165
+ </span>
166
+ <DescriptionList.Root orientation="vertical">
167
+ <DescriptionList.Item label="Контакт">
168
+ Ольга Мартынова, финансовый директор
169
+ </DescriptionList.Item>
170
+ <DescriptionList.Item label="Почта для счетов">
171
+ <LinkButton href="mailto:billing@veter.ru">billing@veter.ru</LinkButton>
172
+ </DescriptionList.Item>
173
+ </DescriptionList.Root>
174
+ </div>
175
+ </Card.Body>
176
+ </Card.Root>
177
+ <Card.Root variant="panel">
178
+ <Card.Header>
179
+ <Card.Title as="h2">История</Card.Title>
180
+ </Card.Header>
181
+ <Card.Body>
182
+ <Timeline.Root>
183
+ <Timeline.Group>
184
+ {HISTORY.map((event) => (
185
+ <Timeline.Item key={event.id}>
186
+ <Timeline.ItemTitle>{event.title}</Timeline.ItemTitle>
187
+ <Timeline.ItemMeta>{event.date}</Timeline.ItemMeta>
188
+ </Timeline.Item>
189
+ ))}
190
+ </Timeline.Group>
191
+ </Timeline.Root>
192
+ </Card.Body>
193
+ </Card.Root>
194
+ </aside>
195
+ </div>
196
+ </Page.Body>
197
+ </Page.Root>
205
198
  );
206
199
  }
@@ -1,11 +1,11 @@
1
1
  /** A long code read in chunks with a wider gap between groups — `groupSize`. */
2
- import { DigitInput } from "prime-ui-kit";
2
+ import { DigitInput, Fieldset } from "prime-ui-kit";
3
3
 
4
4
  export default function DigitInputGroupedExample() {
5
5
  return (
6
- <>
6
+ <Fieldset aria-label="Подтверждение входа">
7
7
  <DigitInput label="Код из приложения" length={6} groupSize={3} defaultValue="482915" />
8
- <DigitInput label="Резервный код" length={8} groupSize={4} />
9
- </>
8
+ <DigitInput label="Резервный код" length={6} groupSize={2} />
9
+ </Fieldset>
10
10
  );
11
11
  }
@@ -18,7 +18,7 @@ export default function DigitInputValidationExample() {
18
18
  onValueChange={() => setError(undefined)}
19
19
  onComplete={(value) => setError(value === CODE ? undefined : "Неверный код")}
20
20
  />
21
- <DigitInput label="Код приглашения" optional />
21
+ <DigitInput label="Код приглашения" length={6} optional />
22
22
  </>
23
23
  );
24
24
  }
@@ -12,7 +12,7 @@
12
12
  - A vertical break between groups of buttons in a toolbar row; `inset` makes it one text line tall (a header).
13
13
 
14
14
  ## When not to use
15
- - To separate cards or panels from each other → use fill and spacing ([Card](../card/COMPONENT.md), [PageContent](../page-content/COMPONENT.md) sections), never a line.
15
+ - To separate cards or panels from each other → use fill and spacing ([Card](../card/COMPONENT.md), [Page](../../layout/page/COMPONENT.md) sections), never a line.
16
16
  - Separators inside a dropdown menu → `Dropdown.Separator` ([Dropdown](../dropdown/COMPONENT.md)).
17
17
  - Row lines of a table → [DataTable](../data-table/COMPONENT.md) draws them itself.
18
18
 
@@ -124,4 +124,4 @@ No `labels`.
124
124
 
125
125
  ## Related
126
126
  - **Built from:** `internal/fieldClasses` (the tier table), `internal/textRole` (the label type), `internal/hasContent`
127
- - **See also:** [Dropdown](../dropdown/COMPONENT.md) (`Dropdown.Separator`), [Select](../select/COMPONENT.md) (`Select.Separator`), [Accordion](../accordion/COMPONENT.md), [Card](../card/COMPONENT.md), [PageContent](../page-content/COMPONENT.md)
127
+ - **See also:** [Dropdown](../dropdown/COMPONENT.md) (`Dropdown.Separator`), [Select](../select/COMPONENT.md) (`Select.Separator`), [Accordion](../accordion/COMPONENT.md), [Card](../card/COMPONENT.md), [Page](../../layout/page/COMPONENT.md)
@@ -18,9 +18,12 @@
18
18
  gap: var(--prime-space-4);
19
19
  }
20
20
 
21
- /* vertical.tsx: the toolbar row the vertical lines stand in. */
21
+ /* vertical.tsx: the toolbar row the vertical lines stand in; on a phone narrower than the row it
22
+ wraps rather than squeezing the buttons under their labels. */
22
23
  .toolbar {
23
24
  display: flex;
25
+ flex-wrap: wrap;
24
26
  align-items: center;
27
+ justify-content: center;
25
28
  gap: var(--prime-space-2);
26
29
  }
@@ -1,24 +1,37 @@
1
1
  /** Vertical lines between groups of toolbar buttons: one as tall as the row, one inset to a text line — `orientation`, `inset`. */
2
- import { Button, Divider } from "prime-ui-kit";
2
+ import { Button, Divider, Icon } from "prime-ui-kit";
3
3
 
4
4
  import styles from "./examples.module.css";
5
5
 
6
6
  export default function DividerVerticalExample() {
7
7
  return (
8
8
  <div className={styles.toolbar}>
9
- <Button.Root variant="ghost" tone="neutral">
10
- Вырезать
9
+ <Button.Root variant="ghost" tone="neutral" aria-label="Жирный">
10
+ <Button.Icon>
11
+ <Icon name="format.bold" />
12
+ </Button.Icon>
11
13
  </Button.Root>
12
- <Button.Root variant="ghost" tone="neutral">
13
- Копировать
14
+ <Button.Root variant="ghost" tone="neutral" aria-label="Курсив">
15
+ <Button.Icon>
16
+ <Icon name="format.italic" />
17
+ </Button.Icon>
14
18
  </Button.Root>
15
19
  <Divider orientation="vertical" />
16
- <Button.Root variant="ghost" tone="neutral">
17
- Архив
20
+ <Button.Root variant="ghost" tone="neutral" aria-label="Список">
21
+ <Button.Icon>
22
+ <Icon name="format.list" />
23
+ </Button.Icon>
24
+ </Button.Root>
25
+ <Button.Root variant="ghost" tone="neutral" aria-label="Цитата">
26
+ <Button.Icon>
27
+ <Icon name="format.quote" />
28
+ </Button.Icon>
18
29
  </Button.Root>
19
30
  <Divider orientation="vertical" inset />
20
- <Button.Root variant="ghost" tone="danger">
21
- Удалить
31
+ <Button.Root variant="ghost" tone="neutral" aria-label="Ссылка">
32
+ <Button.Icon>
33
+ <Icon name="format.link" />
34
+ </Button.Icon>
22
35
  </Button.Root>
23
36
  </div>
24
37
  );
@@ -68,13 +68,15 @@
68
68
  padding: var(--prime-space-1) var(--prime-space-2);
69
69
  }
70
70
 
71
+ /* A card in a column well: the selected thumb of the well's fill (as a Kanban card), so it stands two
72
+ ladder steps off the column in both themes. */
71
73
  .ticket {
72
74
  display: flex;
73
75
  flex-direction: column;
74
76
  gap: var(--prime-space-1);
75
77
  padding: var(--prime-space-3) var(--prime-space-4);
76
78
  border-radius: var(--prime-radius-m);
77
- background: var(--prime-color-layer-nested);
79
+ background: var(--prime-color-control-selected);
78
80
  box-shadow: var(--prime-shadow-raised);
79
81
  }
80
82
 
@@ -235,7 +235,7 @@ Motion: the scrim fades, the panel slides from its side over `slow` and leaves o
235
235
  | [dismiss.tsx](examples/dismiss.tsx) | An import closes only from its buttons, and not at all while it runs — `closeOnOutsideClick`, `closeOnEscape`. |
236
236
  | [controlled-open.tsx](examples/controlled-open.tsx) | The parent owns the state and opens the drawer from a link, without a trigger — `open`, `onOpenChange`. |
237
237
  | [in-form.tsx](examples/in-form.tsx) | A settings form in the panel: the footer button submits the form and an empty name shakes the field and keeps it open until it is filled — `Drawer.Body`, `Drawer.Footer`, `error`. |
238
- | [screen.tsx](examples/screen.tsx) | A create form in a Drawer opened from the primary action in the app header: grouped fields, errors on submit with focus on the first invalid field, a loading submit, a toast and the new row in the list — `Drawer.Trigger`, `Drawer.Guard`. |
238
+ | [screen.tsx](examples/screen.tsx) | A create form in a Drawer opened from the primary action in its top bar: grouped fields, errors on submit with focus on the first invalid field, a loading submit, a toast and the new row in the list — `Drawer.Trigger`, `Drawer.Guard`. |
239
239
 
240
240
  ## Mistakes
241
241
  - A drawer without `Drawer.Footer` → add one: «Закрыть» for details, «Отмена» + the submit button for a form. The header × alone is not the end of the panel.
@@ -8,38 +8,33 @@ const SIDES = [
8
8
 
9
9
  export default function DrawerPlacementExample() {
10
10
  return (
11
- <div>
11
+ <>
12
12
  {SIDES.map(({ side, title }) => (
13
- <div key={side}>
14
- <Drawer.Root>
15
- <Drawer.Trigger>
16
- <Button.Root variant="soft" tone="neutral">
17
- {title}
18
- </Button.Root>
19
- </Drawer.Trigger>
20
- <Drawer.Content side={side} size="s">
21
- <Drawer.Header>
22
- <Drawer.Title>{title}</Drawer.Title>
23
- </Drawer.Header>
24
- <Drawer.Body>
25
- <Typography variant="body-m" tone="secondary">
26
- Скругление только со стороны страницы, подложка затемняет остальное.
27
- </Typography>
28
- </Drawer.Body>
29
- <Drawer.Footer>
30
- <Drawer.Close>
31
- <Button.Root variant="outline" tone="neutral">
32
- Закрыть
33
- </Button.Root>
34
- </Drawer.Close>
35
- </Drawer.Footer>
36
- </Drawer.Content>
37
- </Drawer.Root>
38
- <Typography as="span" variant="caption" tone="muted">
39
- {side}
40
- </Typography>
41
- </div>
13
+ <Drawer.Root key={side}>
14
+ <Drawer.Trigger>
15
+ <Button.Root variant="soft" tone="neutral">
16
+ {title}
17
+ </Button.Root>
18
+ </Drawer.Trigger>
19
+ <Drawer.Content side={side} size="s">
20
+ <Drawer.Header>
21
+ <Drawer.Title>{title}</Drawer.Title>
22
+ </Drawer.Header>
23
+ <Drawer.Body>
24
+ <Typography variant="body-m" tone="secondary">
25
+ Скругление только со стороны страницы, подложка затемняет остальное.
26
+ </Typography>
27
+ </Drawer.Body>
28
+ <Drawer.Footer>
29
+ <Drawer.Close>
30
+ <Button.Root variant="outline" tone="neutral">
31
+ Закрыть
32
+ </Button.Root>
33
+ </Drawer.Close>
34
+ </Drawer.Footer>
35
+ </Drawer.Content>
36
+ </Drawer.Root>
42
37
  ))}
43
- </div>
38
+ </>
44
39
  );
45
40
  }