prime-ui-kit 0.3.2 → 0.4.1

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 (665) hide show
  1. package/README.md +3 -3
  2. package/dist/components/accordion/examples/01-faq-marketing.d.ts.map +1 -1
  3. package/dist/components/accordion/examples/02-settings-panels.d.ts.map +1 -1
  4. package/dist/components/accordion/examples/03-checkout-order-summary.d.ts.map +1 -1
  5. package/dist/components/accordion/examples/04-api-docs-sections.d.ts.map +1 -1
  6. package/dist/components/accordion/examples/05-knowledge-base-categories.d.ts.map +1 -1
  7. package/dist/components/avatar/examples/group-three.d.ts +5 -0
  8. package/dist/components/avatar/examples/group-three.d.ts.map +1 -0
  9. package/dist/components/avatar/examples/sizes.d.ts +5 -0
  10. package/dist/components/avatar/examples/sizes.d.ts.map +1 -0
  11. package/dist/components/avatar/examples/src-from-state.d.ts +5 -0
  12. package/dist/components/avatar/examples/src-from-state.d.ts.map +1 -0
  13. package/dist/components/avatar/examples/states.d.ts +5 -0
  14. package/dist/components/avatar/examples/states.d.ts.map +1 -0
  15. package/dist/components/banner/examples/controlled-visibility.d.ts +3 -0
  16. package/dist/components/banner/examples/controlled-visibility.d.ts.map +1 -0
  17. package/dist/components/banner/examples/dismiss-close-button.d.ts +6 -0
  18. package/dist/components/banner/examples/dismiss-close-button.d.ts.map +1 -0
  19. package/dist/components/breadcrumb/examples/composition.d.ts +3 -0
  20. package/dist/components/breadcrumb/examples/composition.d.ts.map +1 -0
  21. package/dist/components/breadcrumb/examples/full-width.d.ts +5 -0
  22. package/dist/components/breadcrumb/examples/full-width.d.ts.map +1 -0
  23. package/dist/components/breadcrumb/examples/sizes.d.ts +3 -0
  24. package/dist/components/breadcrumb/examples/sizes.d.ts.map +1 -0
  25. package/dist/components/breadcrumb/examples/states.d.ts +6 -0
  26. package/dist/components/breadcrumb/examples/states.d.ts.map +1 -0
  27. package/dist/components/button/examples/full-width-stack.d.ts +5 -0
  28. package/dist/components/button/examples/full-width-stack.d.ts.map +1 -0
  29. package/dist/components/button/examples/icon-composition.d.ts +6 -0
  30. package/dist/components/button/examples/icon-composition.d.ts.map +1 -0
  31. package/dist/components/button/examples/sizes-ladder.d.ts +5 -0
  32. package/dist/components/button/examples/sizes-ladder.d.ts.map +1 -0
  33. package/dist/components/button-group/examples/full-width.d.ts +5 -0
  34. package/dist/components/button-group/examples/full-width.d.ts.map +1 -0
  35. package/dist/components/card/examples/mini-kpi.d.ts +3 -0
  36. package/dist/components/card/examples/mini-kpi.d.ts.map +1 -0
  37. package/dist/components/checkbox/examples/empty-label-form.d.ts +6 -0
  38. package/dist/components/checkbox/examples/empty-label-form.d.ts.map +1 -0
  39. package/dist/components/code-block/examples/controlled.d.ts +3 -0
  40. package/dist/components/code-block/examples/controlled.d.ts.map +1 -0
  41. package/dist/components/color-picker/examples/field-eyedropper.d.ts +3 -0
  42. package/dist/components/color-picker/examples/field-eyedropper.d.ts.map +1 -0
  43. package/dist/components/color-picker/examples/format-variants.d.ts +3 -0
  44. package/dist/components/color-picker/examples/format-variants.d.ts.map +1 -0
  45. package/dist/components/color-picker/examples/full-width.d.ts +3 -0
  46. package/dist/components/color-picker/examples/full-width.d.ts.map +1 -0
  47. package/dist/components/color-picker/examples/hex-input-sizes.d.ts +3 -0
  48. package/dist/components/color-picker/examples/hex-input-sizes.d.ts.map +1 -0
  49. package/dist/components/color-picker/examples/panel-placement.d.ts +3 -0
  50. package/dist/components/color-picker/examples/panel-placement.d.ts.map +1 -0
  51. package/dist/components/color-picker/examples/readout-trigger.d.ts +6 -0
  52. package/dist/components/color-picker/examples/readout-trigger.d.ts.map +1 -0
  53. package/dist/components/color-picker/examples/states.d.ts +3 -0
  54. package/dist/components/color-picker/examples/states.d.ts.map +1 -0
  55. package/dist/components/command-menu/examples/composition-tags-footer.d.ts +5 -0
  56. package/dist/components/command-menu/examples/composition-tags-footer.d.ts.map +1 -0
  57. package/dist/components/command-menu/examples/controlled-open-search.d.ts +5 -0
  58. package/dist/components/command-menu/examples/controlled-open-search.d.ts.map +1 -0
  59. package/dist/components/command-menu/examples/disabled-items.d.ts +2 -2
  60. package/dist/components/command-menu/examples/disabled-items.d.ts.map +1 -1
  61. package/dist/components/command-menu/examples/full-width-panel.d.ts +6 -0
  62. package/dist/components/command-menu/examples/full-width-panel.d.ts.map +1 -0
  63. package/dist/components/command-menu/examples/item-icon-as.d.ts +5 -0
  64. package/dist/components/command-menu/examples/item-icon-as.d.ts.map +1 -0
  65. package/dist/components/command-menu/examples/variants-density-items.d.ts +5 -0
  66. package/dist/components/command-menu/examples/variants-density-items.d.ts.map +1 -0
  67. package/dist/components/data-table/examples/composition.d.ts +3 -0
  68. package/dist/components/data-table/examples/composition.d.ts.map +1 -0
  69. package/dist/components/data-table/examples/divider-styles.d.ts +3 -0
  70. package/dist/components/data-table/examples/divider-styles.d.ts.map +1 -0
  71. package/dist/components/data-table/examples/full-width.d.ts +3 -0
  72. package/dist/components/data-table/examples/full-width.d.ts.map +1 -0
  73. package/dist/components/data-table/examples/highlight-and-striped.d.ts +3 -0
  74. package/dist/components/data-table/examples/highlight-and-striped.d.ts.map +1 -0
  75. package/dist/components/data-table/examples/sizes.d.ts +3 -0
  76. package/dist/components/data-table/examples/sizes.d.ts.map +1 -0
  77. package/dist/components/data-table/examples/sorting-pagination.d.ts +3 -0
  78. package/dist/components/data-table/examples/sorting-pagination.d.ts.map +1 -0
  79. package/dist/components/data-table/examples/states.d.ts +3 -0
  80. package/dist/components/data-table/examples/states.d.ts.map +1 -0
  81. package/dist/components/data-table/examples/sticky-and-headers.d.ts +3 -0
  82. package/dist/components/data-table/examples/sticky-and-headers.d.ts.map +1 -0
  83. package/dist/components/digit-input/examples/composition.d.ts +6 -0
  84. package/dist/components/digit-input/examples/composition.d.ts.map +1 -0
  85. package/dist/components/digit-input/examples/controlled.d.ts +6 -0
  86. package/dist/components/digit-input/examples/controlled.d.ts.map +1 -0
  87. package/dist/components/digit-input/examples/features.d.ts +6 -0
  88. package/dist/components/digit-input/examples/features.d.ts.map +1 -0
  89. package/dist/components/digit-input/examples/sizes.d.ts +6 -0
  90. package/dist/components/digit-input/examples/sizes.d.ts.map +1 -0
  91. package/dist/components/digit-input/examples/states.d.ts +6 -0
  92. package/dist/components/digit-input/examples/states.d.ts.map +1 -0
  93. package/dist/components/dropdown/examples/as-child.d.ts +3 -0
  94. package/dist/components/dropdown/examples/as-child.d.ts.map +1 -0
  95. package/dist/components/dropdown/examples/composition.d.ts +3 -0
  96. package/dist/components/dropdown/examples/composition.d.ts.map +1 -0
  97. package/dist/components/dropdown/examples/controlled.d.ts +3 -0
  98. package/dist/components/dropdown/examples/controlled.d.ts.map +1 -0
  99. package/dist/components/dropdown/examples/full-width.d.ts +3 -0
  100. package/dist/components/dropdown/examples/full-width.d.ts.map +1 -0
  101. package/dist/components/dropdown/examples/inset.d.ts +3 -0
  102. package/dist/components/dropdown/examples/inset.d.ts.map +1 -0
  103. package/dist/components/dropdown/examples/sizes.d.ts +3 -0
  104. package/dist/components/dropdown/examples/sizes.d.ts.map +1 -0
  105. package/dist/components/dropdown/examples/states.d.ts +3 -0
  106. package/dist/components/dropdown/examples/states.d.ts.map +1 -0
  107. package/dist/components/dropdown/examples/variants.d.ts +3 -0
  108. package/dist/components/dropdown/examples/variants.d.ts.map +1 -0
  109. package/dist/components/file-upload/examples/custom-children.d.ts +6 -0
  110. package/dist/components/file-upload/examples/custom-children.d.ts.map +1 -0
  111. package/dist/components/file-upload/examples/full-width.d.ts +6 -0
  112. package/dist/components/file-upload/examples/full-width.d.ts.map +1 -0
  113. package/dist/components/hint/examples/a11y-describedby.d.ts +3 -0
  114. package/dist/components/hint/examples/a11y-describedby.d.ts.map +1 -0
  115. package/dist/components/hint/examples/controlled-variant.d.ts +3 -0
  116. package/dist/components/hint/examples/controlled-variant.d.ts.map +1 -0
  117. package/dist/components/hint/examples/field-states.d.ts +3 -0
  118. package/dist/components/hint/examples/field-states.d.ts.map +1 -0
  119. package/dist/components/hint/examples/sizes.d.ts +3 -0
  120. package/dist/components/hint/examples/sizes.d.ts.map +1 -0
  121. package/dist/components/hint/examples/variants.d.ts +3 -0
  122. package/dist/components/hint/examples/variants.d.ts.map +1 -0
  123. package/dist/components/index.css +39 -64
  124. package/dist/components/index.css.map +3 -3
  125. package/dist/components/index.d.ts +1 -1
  126. package/dist/components/index.d.ts.map +1 -1
  127. package/dist/components/index.js +94 -121
  128. package/dist/components/index.js.map +3 -3
  129. package/dist/components/input/examples/affix-url-and-amount.d.ts +5 -0
  130. package/dist/components/input/examples/affix-url-and-amount.d.ts.map +1 -0
  131. package/dist/components/input/examples/search.d.ts.map +1 -1
  132. package/dist/components/kbd/examples/composition-chord-icon.d.ts +3 -0
  133. package/dist/components/kbd/examples/composition-chord-icon.d.ts.map +1 -0
  134. package/dist/components/kbd/examples/context-inherit-size.d.ts +6 -0
  135. package/dist/components/kbd/examples/context-inherit-size.d.ts.map +1 -0
  136. package/dist/components/kbd/examples/sizes-ladder.d.ts +3 -0
  137. package/dist/components/kbd/examples/sizes-ladder.d.ts.map +1 -0
  138. package/dist/components/kbd/examples/states-title.d.ts +3 -0
  139. package/dist/components/kbd/examples/states-title.d.ts.map +1 -0
  140. package/dist/components/label/examples/mixed-required-optional.d.ts +3 -0
  141. package/dist/components/label/examples/mixed-required-optional.d.ts.map +1 -0
  142. package/dist/components/label/examples/sizes.d.ts +3 -0
  143. package/dist/components/label/examples/sizes.d.ts.map +1 -0
  144. package/dist/components/label/examples/states.d.ts +3 -0
  145. package/dist/components/label/examples/states.d.ts.map +1 -0
  146. package/dist/components/label/examples/sub-line.d.ts +3 -0
  147. package/dist/components/label/examples/sub-line.d.ts.map +1 -0
  148. package/dist/components/link-button/examples/composition.d.ts +3 -0
  149. package/dist/components/link-button/examples/composition.d.ts.map +1 -0
  150. package/dist/components/link-button/examples/disabled.d.ts +1 -0
  151. package/dist/components/link-button/examples/disabled.d.ts.map +1 -1
  152. package/dist/components/link-button/examples/external.d.ts +1 -1
  153. package/dist/components/link-button/examples/external.d.ts.map +1 -1
  154. package/dist/components/link-button/examples/sizes.d.ts +3 -0
  155. package/dist/components/link-button/examples/sizes.d.ts.map +1 -0
  156. package/dist/components/modal/examples/pattern-close-behavior.d.ts +3 -0
  157. package/dist/components/modal/examples/pattern-close-behavior.d.ts.map +1 -0
  158. package/dist/components/modal/examples/pattern-controlled.d.ts +3 -0
  159. package/dist/components/modal/examples/pattern-controlled.d.ts.map +1 -0
  160. package/dist/components/modal/examples/pattern-full-width-footer.d.ts +3 -0
  161. package/dist/components/modal/examples/pattern-full-width-footer.d.ts.map +1 -0
  162. package/dist/components/modal/examples/pattern-portal-and-scroll.d.ts +3 -0
  163. package/dist/components/modal/examples/pattern-portal-and-scroll.d.ts.map +1 -0
  164. package/dist/components/notification/examples/composition.d.ts +2 -0
  165. package/dist/components/notification/examples/composition.d.ts.map +1 -0
  166. package/dist/components/notification/examples/controlled.d.ts +2 -0
  167. package/dist/components/notification/examples/controlled.d.ts.map +1 -0
  168. package/dist/components/notification/examples/features.d.ts +2 -0
  169. package/dist/components/notification/examples/features.d.ts.map +1 -0
  170. package/dist/components/notification/examples/notification-store.d.ts +4 -1
  171. package/dist/components/notification/examples/notification-store.d.ts.map +1 -1
  172. package/dist/components/notification/examples/sizes.d.ts +2 -0
  173. package/dist/components/notification/examples/sizes.d.ts.map +1 -0
  174. package/dist/components/notification/examples/states.d.ts +2 -0
  175. package/dist/components/notification/examples/states.d.ts.map +1 -0
  176. package/dist/components/notification/examples/toast-queue.d.ts +4 -1
  177. package/dist/components/notification/examples/toast-queue.d.ts.map +1 -1
  178. package/dist/components/notification/examples/variants.d.ts +2 -0
  179. package/dist/components/notification/examples/variants.d.ts.map +1 -0
  180. package/dist/components/page-content/PageContent.d.ts +13 -0
  181. package/dist/components/page-content/PageContent.d.ts.map +1 -1
  182. package/dist/components/pagination/examples/controlled-page.d.ts +1 -1
  183. package/dist/components/pagination/examples/controlled-page.d.ts.map +1 -1
  184. package/dist/components/pagination/examples/features.d.ts +6 -0
  185. package/dist/components/pagination/examples/features.d.ts.map +1 -0
  186. package/dist/components/pagination/examples/full-width-list.d.ts +1 -1
  187. package/dist/components/pagination/examples/full-width-list.d.ts.map +1 -1
  188. package/dist/components/pagination/examples/range-modes.d.ts +6 -0
  189. package/dist/components/pagination/examples/range-modes.d.ts.map +1 -0
  190. package/dist/components/pagination/examples/sizes.d.ts +6 -0
  191. package/dist/components/pagination/examples/sizes.d.ts.map +1 -0
  192. package/dist/components/pagination/examples/states.d.ts +6 -0
  193. package/dist/components/pagination/examples/states.d.ts.map +1 -0
  194. package/dist/components/popover/examples/as-child.d.ts +5 -0
  195. package/dist/components/popover/examples/as-child.d.ts.map +1 -0
  196. package/dist/components/popover/examples/composition.d.ts +5 -0
  197. package/dist/components/popover/examples/composition.d.ts.map +1 -0
  198. package/dist/components/popover/examples/controlled.d.ts +5 -0
  199. package/dist/components/popover/examples/controlled.d.ts.map +1 -0
  200. package/dist/components/popover/examples/features.d.ts +5 -0
  201. package/dist/components/popover/examples/features.d.ts.map +1 -0
  202. package/dist/components/popover/examples/full-width.d.ts +5 -0
  203. package/dist/components/popover/examples/full-width.d.ts.map +1 -0
  204. package/dist/components/popover/examples/inset-variants.d.ts +5 -0
  205. package/dist/components/popover/examples/inset-variants.d.ts.map +1 -0
  206. package/dist/components/popover/examples/placement.d.ts +1 -1
  207. package/dist/components/popover/examples/placement.d.ts.map +1 -1
  208. package/dist/components/popover/examples/sizes.d.ts +5 -0
  209. package/dist/components/popover/examples/sizes.d.ts.map +1 -0
  210. package/dist/components/popover/examples/states.d.ts +5 -0
  211. package/dist/components/popover/examples/states.d.ts.map +1 -0
  212. package/dist/components/progress-bar/examples/labeled.d.ts +1 -1
  213. package/dist/components/progress-bar/examples/labeled.d.ts.map +1 -1
  214. package/dist/components/progress-bar/examples/sizes.d.ts +3 -0
  215. package/dist/components/progress-bar/examples/sizes.d.ts.map +1 -0
  216. package/dist/components/progress-bar/examples/values.d.ts +3 -0
  217. package/dist/components/progress-bar/examples/values.d.ts.map +1 -0
  218. package/dist/components/progress-circle/examples/a11y-label.d.ts +1 -0
  219. package/dist/components/progress-circle/examples/a11y-label.d.ts.map +1 -1
  220. package/dist/components/progress-circle/examples/composition.d.ts +1 -1
  221. package/dist/components/progress-circle/examples/composition.d.ts.map +1 -1
  222. package/dist/components/progress-circle/examples/controlled.d.ts +1 -1
  223. package/dist/components/progress-circle/examples/controlled.d.ts.map +1 -1
  224. package/dist/components/progress-circle/examples/dashboard-ring.d.ts +1 -1
  225. package/dist/components/progress-circle/examples/dashboard-ring.d.ts.map +1 -1
  226. package/dist/components/progress-circle/examples/max-scale.d.ts +1 -1
  227. package/dist/components/progress-circle/examples/max-scale.d.ts.map +1 -1
  228. package/dist/components/progress-circle/examples/sizes.d.ts +3 -0
  229. package/dist/components/progress-circle/examples/sizes.d.ts.map +1 -0
  230. package/dist/components/progress-circle/examples/states.d.ts +6 -0
  231. package/dist/components/progress-circle/examples/states.d.ts.map +1 -0
  232. package/dist/components/segmented-control/examples/composition.d.ts +3 -0
  233. package/dist/components/segmented-control/examples/composition.d.ts.map +1 -0
  234. package/dist/components/segmented-control/examples/controlled.d.ts +3 -0
  235. package/dist/components/segmented-control/examples/controlled.d.ts.map +1 -0
  236. package/dist/components/segmented-control/examples/features.d.ts +3 -0
  237. package/dist/components/segmented-control/examples/features.d.ts.map +1 -0
  238. package/dist/components/segmented-control/examples/full-width.d.ts +3 -0
  239. package/dist/components/segmented-control/examples/full-width.d.ts.map +1 -0
  240. package/dist/components/segmented-control/examples/sizes.d.ts +3 -0
  241. package/dist/components/segmented-control/examples/sizes.d.ts.map +1 -0
  242. package/dist/components/segmented-control/examples/states.d.ts +3 -0
  243. package/dist/components/segmented-control/examples/states.d.ts.map +1 -0
  244. package/dist/components/select/examples/pattern-composition.d.ts +3 -0
  245. package/dist/components/select/examples/pattern-composition.d.ts.map +1 -0
  246. package/dist/components/select/examples/pattern-controlled.d.ts +3 -0
  247. package/dist/components/select/examples/pattern-controlled.d.ts.map +1 -0
  248. package/dist/components/select/examples/pattern-features.d.ts +3 -0
  249. package/dist/components/select/examples/pattern-features.d.ts.map +1 -0
  250. package/dist/components/select/examples/pattern-full-width.d.ts +3 -0
  251. package/dist/components/select/examples/pattern-full-width.d.ts.map +1 -0
  252. package/dist/components/select/examples/pattern-native.d.ts +3 -0
  253. package/dist/components/select/examples/pattern-native.d.ts.map +1 -0
  254. package/dist/components/select/examples/pattern-sizes.d.ts +3 -0
  255. package/dist/components/select/examples/pattern-sizes.d.ts.map +1 -0
  256. package/dist/components/select/examples/pattern-states.d.ts +3 -0
  257. package/dist/components/select/examples/pattern-states.d.ts.map +1 -0
  258. package/dist/components/slider/examples/composition.d.ts +6 -0
  259. package/dist/components/slider/examples/composition.d.ts.map +1 -0
  260. package/dist/components/slider/examples/controlled.d.ts +3 -0
  261. package/dist/components/slider/examples/controlled.d.ts.map +1 -0
  262. package/dist/components/slider/examples/features.d.ts +3 -0
  263. package/dist/components/slider/examples/features.d.ts.map +1 -0
  264. package/dist/components/slider/examples/full-width.d.ts +3 -0
  265. package/dist/components/slider/examples/full-width.d.ts.map +1 -0
  266. package/dist/components/slider/examples/sizes.d.ts +5 -0
  267. package/dist/components/slider/examples/sizes.d.ts.map +1 -0
  268. package/dist/components/slider/examples/states.d.ts +3 -0
  269. package/dist/components/slider/examples/states.d.ts.map +1 -0
  270. package/dist/components/stepper/examples/composition.d.ts +3 -0
  271. package/dist/components/stepper/examples/composition.d.ts.map +1 -0
  272. package/dist/components/stepper/examples/controlled.d.ts +3 -0
  273. package/dist/components/stepper/examples/controlled.d.ts.map +1 -0
  274. package/dist/components/stepper/examples/features.d.ts +3 -0
  275. package/dist/components/stepper/examples/features.d.ts.map +1 -0
  276. package/dist/components/stepper/examples/full-width.d.ts +3 -0
  277. package/dist/components/stepper/examples/full-width.d.ts.map +1 -0
  278. package/dist/components/stepper/examples/low-level-api.d.ts +3 -0
  279. package/dist/components/stepper/examples/low-level-api.d.ts.map +1 -0
  280. package/dist/components/stepper/examples/orientation.d.ts +3 -0
  281. package/dist/components/stepper/examples/orientation.d.ts.map +1 -0
  282. package/dist/components/stepper/examples/polymorphic-as.d.ts +3 -0
  283. package/dist/components/stepper/examples/polymorphic-as.d.ts.map +1 -0
  284. package/dist/components/stepper/examples/sizes.d.ts +3 -0
  285. package/dist/components/stepper/examples/sizes.d.ts.map +1 -0
  286. package/dist/components/stepper/examples/states.d.ts +3 -0
  287. package/dist/components/stepper/examples/states.d.ts.map +1 -0
  288. package/dist/components/switch/examples/composition.d.ts +3 -0
  289. package/dist/components/switch/examples/composition.d.ts.map +1 -0
  290. package/dist/components/switch/examples/controlled.d.ts +3 -0
  291. package/dist/components/switch/examples/controlled.d.ts.map +1 -0
  292. package/dist/components/switch/examples/form-features.d.ts +3 -0
  293. package/dist/components/switch/examples/form-features.d.ts.map +1 -0
  294. package/dist/components/switch/examples/full-width.d.ts +3 -0
  295. package/dist/components/switch/examples/full-width.d.ts.map +1 -0
  296. package/dist/components/switch/examples/sizes.d.ts +3 -0
  297. package/dist/components/switch/examples/sizes.d.ts.map +1 -0
  298. package/dist/components/switch/examples/states.d.ts +3 -0
  299. package/dist/components/switch/examples/states.d.ts.map +1 -0
  300. package/dist/components/switch/examples/variants.d.ts +3 -0
  301. package/dist/components/switch/examples/variants.d.ts.map +1 -0
  302. package/dist/components/tabs/examples/03-tab-triggers-with-icons.d.ts +3 -2
  303. package/dist/components/tabs/examples/03-tab-triggers-with-icons.d.ts.map +1 -1
  304. package/dist/components/tabs/examples/06-sizes-s-m-l-xl.d.ts +6 -0
  305. package/dist/components/tabs/examples/06-sizes-s-m-l-xl.d.ts.map +1 -0
  306. package/dist/components/tabs/examples/07-horizontal-disabled.d.ts +6 -0
  307. package/dist/components/tabs/examples/07-horizontal-disabled.d.ts.map +1 -0
  308. package/dist/components/tag/examples/basic.d.ts +3 -0
  309. package/dist/components/tag/examples/basic.d.ts.map +1 -0
  310. package/dist/components/tag/examples/composition.d.ts +3 -0
  311. package/dist/components/tag/examples/composition.d.ts.map +1 -0
  312. package/dist/components/tag/examples/context-size.d.ts +3 -0
  313. package/dist/components/tag/examples/context-size.d.ts.map +1 -0
  314. package/dist/components/tag/examples/controlled.d.ts +3 -0
  315. package/dist/components/tag/examples/controlled.d.ts.map +1 -0
  316. package/dist/components/tag/examples/disabled.d.ts +3 -0
  317. package/dist/components/tag/examples/disabled.d.ts.map +1 -0
  318. package/dist/components/tag/examples/removable.d.ts +3 -0
  319. package/dist/components/tag/examples/removable.d.ts.map +1 -0
  320. package/dist/components/tag/examples/sizes.d.ts +3 -0
  321. package/dist/components/tag/examples/sizes.d.ts.map +1 -0
  322. package/dist/components/tag/examples/states.d.ts +3 -0
  323. package/dist/components/tag/examples/states.d.ts.map +1 -0
  324. package/dist/components/tag/examples/with-icon.d.ts +3 -0
  325. package/dist/components/tag/examples/with-icon.d.ts.map +1 -0
  326. package/dist/components/textarea/examples/composition.d.ts +3 -0
  327. package/dist/components/textarea/examples/composition.d.ts.map +1 -0
  328. package/dist/components/textarea/examples/controlled.d.ts +3 -0
  329. package/dist/components/textarea/examples/controlled.d.ts.map +1 -0
  330. package/dist/components/textarea/examples/features.d.ts +3 -0
  331. package/dist/components/textarea/examples/features.d.ts.map +1 -0
  332. package/dist/components/textarea/examples/full-width.d.ts +3 -0
  333. package/dist/components/textarea/examples/full-width.d.ts.map +1 -0
  334. package/dist/components/textarea/examples/sizes.d.ts +3 -0
  335. package/dist/components/textarea/examples/sizes.d.ts.map +1 -0
  336. package/dist/components/textarea/examples/states.d.ts +3 -0
  337. package/dist/components/textarea/examples/states.d.ts.map +1 -0
  338. package/dist/components/textarea/examples/variants.d.ts +3 -0
  339. package/dist/components/textarea/examples/variants.d.ts.map +1 -0
  340. package/dist/components/tooltip/examples/composition.d.ts +3 -0
  341. package/dist/components/tooltip/examples/composition.d.ts.map +1 -0
  342. package/dist/components/tooltip/examples/controlled.d.ts +3 -0
  343. package/dist/components/tooltip/examples/controlled.d.ts.map +1 -0
  344. package/dist/components/tooltip/examples/delay.d.ts +3 -0
  345. package/dist/components/tooltip/examples/delay.d.ts.map +1 -0
  346. package/dist/components/tooltip/examples/long-content.d.ts +3 -0
  347. package/dist/components/tooltip/examples/long-content.d.ts.map +1 -0
  348. package/dist/components/tooltip/examples/side.d.ts +3 -0
  349. package/dist/components/tooltip/examples/side.d.ts.map +1 -0
  350. package/dist/components/tooltip/examples/sizes.d.ts +3 -0
  351. package/dist/components/tooltip/examples/sizes.d.ts.map +1 -0
  352. package/dist/components/tooltip/examples/states.d.ts +3 -0
  353. package/dist/components/tooltip/examples/states.d.ts.map +1 -0
  354. package/dist/components/tooltip/examples/surfaces.d.ts +3 -0
  355. package/dist/components/tooltip/examples/surfaces.d.ts.map +1 -0
  356. package/dist/components/typography/examples/as-prop.d.ts +3 -0
  357. package/dist/components/typography/examples/as-prop.d.ts.map +1 -0
  358. package/dist/components/typography/examples/composition.d.ts +6 -0
  359. package/dist/components/typography/examples/composition.d.ts.map +1 -0
  360. package/dist/components/typography/examples/full-width.d.ts +6 -0
  361. package/dist/components/typography/examples/full-width.d.ts.map +1 -0
  362. package/dist/components/typography/examples/reading-and-form.d.ts +6 -0
  363. package/dist/components/typography/examples/reading-and-form.d.ts.map +1 -0
  364. package/dist/components/typography/examples/states.d.ts +3 -0
  365. package/dist/components/typography/examples/states.d.ts.map +1 -0
  366. package/dist/components/typography/examples/variant-catalog.d.ts +3 -0
  367. package/dist/components/typography/examples/variant-catalog.d.ts.map +1 -0
  368. package/dist/components/typography/examples/variants.d.ts +3 -0
  369. package/dist/components/typography/examples/variants.d.ts.map +1 -0
  370. package/dist/index.css +39 -64
  371. package/dist/index.css.map +3 -3
  372. package/dist/index.js +94 -121
  373. package/dist/index.js.map +3 -3
  374. package/dist/layout/app-shell/AppShell.d.ts +0 -4
  375. package/dist/layout/app-shell/AppShell.d.ts.map +1 -1
  376. package/dist/layout/sidebar/Sidebar.d.ts +10 -7
  377. package/dist/layout/sidebar/Sidebar.d.ts.map +1 -1
  378. package/dist/layout/sidebar/SidebarRoot.d.ts.map +1 -1
  379. package/dist/layout/sidebar/examples/01-app-shell-nav.d.ts +1 -0
  380. package/dist/layout/sidebar/examples/01-app-shell-nav.d.ts.map +1 -1
  381. package/dist/layout/sidebar/examples/02-collapsible-desktop.d.ts +2 -2
  382. package/dist/layout/sidebar/examples/02-collapsible-desktop.d.ts.map +1 -1
  383. package/dist/layout/sidebar/examples/03-controlled-state.d.ts +1 -1
  384. package/dist/layout/sidebar/examples/03-controlled-state.d.ts.map +1 -1
  385. package/dist/layout/sidebar/examples/04-router-navigation.d.ts.map +1 -1
  386. package/dist/layout/sidebar/examples/05-responsive-behavior.d.ts +1 -1
  387. package/dist/layout/sidebar/examples/05-responsive-behavior.d.ts.map +1 -1
  388. package/package.json +1 -1
  389. package/src/components/accordion/COMPONENT.md +31 -8
  390. package/src/components/accordion/examples/01-faq-marketing.tsx +2 -1
  391. package/src/components/accordion/examples/02-settings-panels.tsx +2 -1
  392. package/src/components/accordion/examples/03-checkout-order-summary.tsx +3 -1
  393. package/src/components/accordion/examples/04-api-docs-sections.tsx +5 -2
  394. package/src/components/accordion/examples/05-knowledge-base-categories.tsx +2 -1
  395. package/src/components/avatar/COMPONENT.md +11 -3
  396. package/src/components/avatar/examples/group-three.tsx +28 -0
  397. package/src/components/avatar/examples/sizes.tsx +24 -0
  398. package/src/components/avatar/examples/src-from-state.tsx +35 -0
  399. package/src/components/avatar/examples/states.tsx +26 -0
  400. package/src/components/badge/COMPONENT.md +15 -1
  401. package/src/components/banner/COMPONENT.md +28 -1
  402. package/src/components/banner/examples/controlled-visibility.tsx +42 -0
  403. package/src/components/banner/examples/dismiss-close-button.tsx +26 -0
  404. package/src/components/breadcrumb/COMPONENT.md +15 -3
  405. package/src/components/breadcrumb/examples/composition.tsx +25 -0
  406. package/src/components/breadcrumb/examples/full-width.tsx +24 -0
  407. package/src/components/breadcrumb/examples/sizes.tsx +25 -0
  408. package/src/components/breadcrumb/examples/states.tsx +26 -0
  409. package/src/components/button/COMPONENT.md +6 -1
  410. package/src/components/button/examples/full-width-stack.tsx +23 -0
  411. package/src/components/button/examples/icon-composition.tsx +63 -0
  412. package/src/components/button/examples/sizes-ladder.tsx +30 -0
  413. package/src/components/button-group/COMPONENT.md +13 -1
  414. package/src/components/button-group/examples/full-width.tsx +22 -0
  415. package/src/components/card/COMPONENT.md +23 -3
  416. package/src/components/card/examples/mini-kpi.tsx +16 -0
  417. package/src/components/checkbox/COMPONENT.md +22 -12
  418. package/src/components/checkbox/examples/empty-label-form.tsx +24 -0
  419. package/src/components/code-block/COMPONENT.md +26 -11
  420. package/src/components/code-block/examples/controlled.tsx +43 -0
  421. package/src/components/color-picker/COMPONENT.md +36 -12
  422. package/src/components/color-picker/examples/field-eyedropper.tsx +58 -0
  423. package/src/components/color-picker/examples/format-variants.tsx +58 -0
  424. package/src/components/color-picker/examples/full-width.tsx +49 -0
  425. package/src/components/color-picker/examples/hex-input-sizes.tsx +34 -0
  426. package/src/components/color-picker/examples/panel-placement.tsx +68 -0
  427. package/src/components/color-picker/examples/readout-trigger.tsx +70 -0
  428. package/src/components/color-picker/examples/states.tsx +79 -0
  429. package/src/components/command-menu/COMPONENT.md +30 -11
  430. package/src/components/command-menu/examples/composition-tags-footer.tsx +136 -0
  431. package/src/components/command-menu/examples/controlled-open-search.tsx +76 -0
  432. package/src/components/command-menu/examples/disabled-items.tsx +7 -3
  433. package/src/components/command-menu/examples/full-width-panel.tsx +52 -0
  434. package/src/components/command-menu/examples/item-icon-as.tsx +48 -0
  435. package/src/components/command-menu/examples/variants-density-items.tsx +85 -0
  436. package/src/components/data-table/COMPONENT.md +25 -1
  437. package/src/components/data-table/examples/composition.tsx +91 -0
  438. package/src/components/data-table/examples/divider-styles.tsx +67 -0
  439. package/src/components/data-table/examples/examples-demos.module.css +78 -0
  440. package/src/components/data-table/examples/full-width.tsx +39 -0
  441. package/src/components/data-table/examples/highlight-and-striped.tsx +71 -0
  442. package/src/components/data-table/examples/sizes.tsx +85 -0
  443. package/src/components/data-table/examples/sorting-pagination.tsx +76 -0
  444. package/src/components/data-table/examples/states.tsx +44 -0
  445. package/src/components/data-table/examples/sticky-and-headers.tsx +113 -0
  446. package/src/components/datepicker/COMPONENT.md +28 -5
  447. package/src/components/digit-input/COMPONENT.md +18 -2
  448. package/src/components/digit-input/examples/composition.tsx +24 -0
  449. package/src/components/digit-input/examples/controlled.tsx +26 -0
  450. package/src/components/digit-input/examples/features.tsx +30 -0
  451. package/src/components/digit-input/examples/sizes.tsx +23 -0
  452. package/src/components/digit-input/examples/states.tsx +22 -0
  453. package/src/components/divider/COMPONENT.md +6 -2
  454. package/src/components/drawer/COMPONENT.md +63 -22
  455. package/src/components/dropdown/COMPONENT.md +34 -10
  456. package/src/components/dropdown/examples/as-child.tsx +26 -0
  457. package/src/components/dropdown/examples/composition.tsx +93 -0
  458. package/src/components/dropdown/examples/controlled.tsx +31 -0
  459. package/src/components/dropdown/examples/dropdown-examples.module.css +33 -0
  460. package/src/components/dropdown/examples/full-width.tsx +28 -0
  461. package/src/components/dropdown/examples/inset.tsx +51 -0
  462. package/src/components/dropdown/examples/sizes.tsx +99 -0
  463. package/src/components/dropdown/examples/states.tsx +20 -0
  464. package/src/components/dropdown/examples/variants.tsx +21 -0
  465. package/src/components/file-upload/COMPONENT.md +29 -8
  466. package/src/components/file-upload/examples/custom-children.tsx +21 -0
  467. package/src/components/file-upload/examples/full-width.tsx +32 -0
  468. package/src/components/hint/COMPONENT.md +21 -9
  469. package/src/components/hint/examples/a11y-describedby.tsx +23 -0
  470. package/src/components/hint/examples/controlled-variant.tsx +23 -0
  471. package/src/components/hint/examples/field-states.tsx +44 -0
  472. package/src/components/hint/examples/sizes.tsx +13 -0
  473. package/src/components/hint/examples/variants.tsx +18 -0
  474. package/src/components/input/COMPONENT.md +4 -3
  475. package/src/components/input/examples/affix-url-and-amount.tsx +24 -0
  476. package/src/components/input/examples/search.tsx +1 -0
  477. package/src/components/kbd/COMPONENT.md +6 -2
  478. package/src/components/kbd/examples/composition-chord-icon.tsx +34 -0
  479. package/src/components/kbd/examples/context-inherit-size.tsx +46 -0
  480. package/src/components/kbd/examples/sizes-ladder.tsx +21 -0
  481. package/src/components/kbd/examples/states-title.tsx +19 -0
  482. package/src/components/label/COMPONENT.md +36 -6
  483. package/src/components/label/examples/mixed-required-optional.tsx +17 -0
  484. package/src/components/label/examples/sizes.tsx +37 -0
  485. package/src/components/label/examples/states.tsx +17 -0
  486. package/src/components/label/examples/sub-line.tsx +11 -0
  487. package/src/components/link-button/COMPONENT.md +33 -4
  488. package/src/components/link-button/examples/composition.tsx +27 -0
  489. package/src/components/link-button/examples/disabled.tsx +1 -0
  490. package/src/components/link-button/examples/external.tsx +1 -1
  491. package/src/components/link-button/examples/sizes.tsx +21 -0
  492. package/src/components/modal/COMPONENT.md +21 -7
  493. package/src/components/modal/examples/pattern-close-behavior.tsx +52 -0
  494. package/src/components/modal/examples/pattern-controlled.tsx +39 -0
  495. package/src/components/modal/examples/pattern-full-width-footer.tsx +46 -0
  496. package/src/components/modal/examples/pattern-portal-and-scroll.tsx +82 -0
  497. package/src/components/notification/COMPONENT.md +12 -6
  498. package/src/components/notification/examples/composition.tsx +90 -0
  499. package/src/components/notification/examples/controlled.tsx +87 -0
  500. package/src/components/notification/examples/features.tsx +102 -0
  501. package/src/components/notification/examples/notification-store.tsx +4 -57
  502. package/src/components/notification/examples/sizes.tsx +53 -0
  503. package/src/components/notification/examples/states.tsx +143 -0
  504. package/src/components/notification/examples/toast-queue.tsx +4 -62
  505. package/src/components/notification/examples/variants.tsx +68 -0
  506. package/src/components/page-content/COMPONENT.md +123 -0
  507. package/src/components/pagination/COMPONENT.md +28 -6
  508. package/src/components/pagination/examples/controlled-page.tsx +1 -1
  509. package/src/components/pagination/examples/features.tsx +107 -0
  510. package/src/components/pagination/examples/full-width-list.tsx +1 -1
  511. package/src/components/pagination/examples/range-modes.tsx +60 -0
  512. package/src/components/pagination/examples/sizes.tsx +50 -0
  513. package/src/components/pagination/examples/states.tsx +80 -0
  514. package/src/components/popover/COMPONENT.md +23 -34
  515. package/src/components/popover/examples/as-child.tsx +24 -0
  516. package/src/components/popover/examples/composition.tsx +42 -0
  517. package/src/components/popover/examples/controlled.tsx +40 -0
  518. package/src/components/popover/examples/features.tsx +65 -0
  519. package/src/components/popover/examples/full-width.tsx +34 -0
  520. package/src/components/popover/examples/inset-variants.tsx +46 -0
  521. package/src/components/popover/examples/placement.tsx +10 -10
  522. package/src/components/popover/examples/popover-examples.module.css +104 -0
  523. package/src/components/popover/examples/sizes.tsx +30 -0
  524. package/src/components/popover/examples/states.tsx +36 -0
  525. package/src/components/progress-bar/COMPONENT.md +25 -8
  526. package/src/components/progress-bar/examples/labeled.tsx +2 -2
  527. package/src/components/progress-bar/examples/sizes.tsx +13 -0
  528. package/src/components/progress-bar/examples/values.tsx +13 -0
  529. package/src/components/progress-circle/COMPONENT.md +9 -5
  530. package/src/components/progress-circle/examples/a11y-label.tsx +1 -0
  531. package/src/components/progress-circle/examples/composition.tsx +2 -2
  532. package/src/components/progress-circle/examples/controlled.tsx +2 -7
  533. package/src/components/progress-circle/examples/dashboard-ring.tsx +1 -1
  534. package/src/components/progress-circle/examples/max-scale.tsx +1 -1
  535. package/src/components/progress-circle/examples/sizes.tsx +77 -0
  536. package/src/components/progress-circle/examples/states.tsx +95 -0
  537. package/src/components/radio/COMPONENT.md +34 -20
  538. package/src/components/segmented-control/COMPONENT.md +20 -7
  539. package/src/components/segmented-control/examples/composition.tsx +55 -0
  540. package/src/components/segmented-control/examples/controlled.tsx +23 -0
  541. package/src/components/segmented-control/examples/features.tsx +45 -0
  542. package/src/components/segmented-control/examples/full-width.tsx +16 -0
  543. package/src/components/segmented-control/examples/segmented-examples.module.css +29 -0
  544. package/src/components/segmented-control/examples/sizes.tsx +51 -0
  545. package/src/components/segmented-control/examples/states.tsx +43 -0
  546. package/src/components/segmented-progress-bar/COMPONENT.md +23 -8
  547. package/src/components/select/COMPONENT.md +39 -9
  548. package/src/components/select/examples/examples.module.css +11 -0
  549. package/src/components/select/examples/pattern-composition.tsx +40 -0
  550. package/src/components/select/examples/pattern-controlled.tsx +29 -0
  551. package/src/components/select/examples/pattern-features.tsx +33 -0
  552. package/src/components/select/examples/pattern-full-width.tsx +21 -0
  553. package/src/components/select/examples/pattern-native.tsx +14 -0
  554. package/src/components/select/examples/pattern-sizes.tsx +51 -0
  555. package/src/components/select/examples/pattern-states.tsx +47 -0
  556. package/src/components/slider/COMPONENT.md +24 -16
  557. package/src/components/slider/examples/composition.tsx +14 -0
  558. package/src/components/slider/examples/controlled.tsx +23 -0
  559. package/src/components/slider/examples/examples.module.css +20 -0
  560. package/src/components/slider/examples/features.tsx +17 -0
  561. package/src/components/slider/examples/full-width.tsx +12 -0
  562. package/src/components/slider/examples/sizes.tsx +15 -0
  563. package/src/components/slider/examples/states.tsx +11 -0
  564. package/src/components/stepper/COMPONENT.md +21 -11
  565. package/src/components/stepper/examples/composition.tsx +31 -0
  566. package/src/components/stepper/examples/controlled.tsx +49 -0
  567. package/src/components/stepper/examples/examples.module.css +65 -0
  568. package/src/components/stepper/examples/features.tsx +29 -0
  569. package/src/components/stepper/examples/full-width.tsx +34 -0
  570. package/src/components/stepper/examples/low-level-api.tsx +58 -0
  571. package/src/components/stepper/examples/orientation.tsx +52 -0
  572. package/src/components/stepper/examples/polymorphic-as.tsx +51 -0
  573. package/src/components/stepper/examples/sizes.tsx +71 -0
  574. package/src/components/stepper/examples/states.tsx +44 -0
  575. package/src/components/switch/COMPONENT.md +18 -6
  576. package/src/components/switch/examples/composition.tsx +24 -0
  577. package/src/components/switch/examples/controlled.tsx +18 -0
  578. package/src/components/switch/examples/examples.module.css +9 -0
  579. package/src/components/switch/examples/form-features.tsx +31 -0
  580. package/src/components/switch/examples/full-width.tsx +15 -0
  581. package/src/components/switch/examples/sizes.tsx +23 -0
  582. package/src/components/switch/examples/states.tsx +32 -0
  583. package/src/components/switch/examples/variants.tsx +19 -0
  584. package/src/components/tabs/COMPONENT.md +30 -24
  585. package/src/components/tabs/examples/03-tab-triggers-with-icons.tsx +30 -17
  586. package/src/components/tabs/examples/06-sizes-s-m-l-xl.tsx +58 -0
  587. package/src/components/tabs/examples/07-horizontal-disabled.tsx +40 -0
  588. package/src/components/tabs/examples/examples.module.css +21 -0
  589. package/src/components/tag/COMPONENT.md +21 -6
  590. package/src/components/tag/examples/basic.tsx +14 -0
  591. package/src/components/tag/examples/composition.tsx +19 -0
  592. package/src/components/tag/examples/context-size.tsx +17 -0
  593. package/src/components/tag/examples/controlled.tsx +31 -0
  594. package/src/components/tag/examples/disabled.tsx +15 -0
  595. package/src/components/tag/examples/removable.tsx +22 -0
  596. package/src/components/tag/examples/sizes.tsx +15 -0
  597. package/src/components/tag/examples/states.tsx +17 -0
  598. package/src/components/tag/examples/with-icon.tsx +23 -0
  599. package/src/components/textarea/COMPONENT.md +20 -8
  600. package/src/components/textarea/examples/composition.tsx +21 -0
  601. package/src/components/textarea/examples/controlled.tsx +18 -0
  602. package/src/components/textarea/examples/examples.module.css +12 -0
  603. package/src/components/textarea/examples/features.tsx +65 -0
  604. package/src/components/textarea/examples/full-width.tsx +14 -0
  605. package/src/components/textarea/examples/sizes.tsx +21 -0
  606. package/src/components/textarea/examples/states.tsx +19 -0
  607. package/src/components/textarea/examples/variants.tsx +15 -0
  608. package/src/components/tooltip/COMPONENT.md +16 -11
  609. package/src/components/tooltip/examples/composition.tsx +44 -0
  610. package/src/components/tooltip/examples/{scenario-controlled-programmatic.tsx → controlled.tsx} +6 -7
  611. package/src/components/tooltip/examples/delay.tsx +31 -0
  612. package/src/components/tooltip/examples/examples.module.css +64 -3
  613. package/src/components/tooltip/examples/long-content.tsx +34 -0
  614. package/src/components/tooltip/examples/side.tsx +69 -0
  615. package/src/components/tooltip/examples/sizes.tsx +69 -0
  616. package/src/components/tooltip/examples/states.tsx +57 -0
  617. package/src/components/tooltip/examples/surfaces.tsx +54 -0
  618. package/src/components/typography/COMPONENT.md +22 -8
  619. package/src/components/typography/examples/as-prop.tsx +25 -0
  620. package/src/components/typography/examples/composition.tsx +29 -0
  621. package/src/components/typography/examples/examples.module.css +65 -0
  622. package/src/components/typography/examples/full-width.tsx +32 -0
  623. package/src/components/typography/examples/reading-and-form.tsx +40 -0
  624. package/src/components/typography/examples/states.tsx +27 -0
  625. package/src/components/typography/examples/variant-catalog.tsx +107 -0
  626. package/src/components/typography/examples/variants.tsx +61 -0
  627. package/src/layout/sidebar/COMPONENT.md +32 -10
  628. package/src/layout/sidebar/examples/01-app-shell-nav.tsx +26 -14
  629. package/src/layout/sidebar/examples/02-collapsible-desktop.tsx +15 -5
  630. package/src/layout/sidebar/examples/03-controlled-state.tsx +13 -3
  631. package/src/layout/sidebar/examples/04-router-navigation.tsx +12 -2
  632. package/src/layout/sidebar/examples/05-responsive-behavior.tsx +15 -5
  633. package/src/layout/sidebar/examples/examples.module.css +11 -1
  634. package/dist/components/slider/examples/01-volume.d.ts +0 -5
  635. package/dist/components/slider/examples/01-volume.d.ts.map +0 -1
  636. package/dist/components/slider/examples/02-price-range.d.ts +0 -5
  637. package/dist/components/slider/examples/02-price-range.d.ts.map +0 -1
  638. package/dist/components/slider/examples/03-controlled.d.ts +0 -5
  639. package/dist/components/slider/examples/03-controlled.d.ts.map +0 -1
  640. package/dist/components/slider/examples/04-disabled.d.ts +0 -5
  641. package/dist/components/slider/examples/04-disabled.d.ts.map +0 -1
  642. package/dist/components/tag/examples/04-tag-sizes.d.ts +0 -3
  643. package/dist/components/tag/examples/04-tag-sizes.d.ts.map +0 -1
  644. package/dist/components/textarea/examples/03-controlled.d.ts +0 -5
  645. package/dist/components/textarea/examples/03-controlled.d.ts.map +0 -1
  646. package/dist/components/textarea/examples/04-full-width.d.ts +0 -5
  647. package/dist/components/textarea/examples/04-full-width.d.ts.map +0 -1
  648. package/dist/components/tooltip/examples/scenario-controlled-programmatic.d.ts +0 -5
  649. package/dist/components/tooltip/examples/scenario-controlled-programmatic.d.ts.map +0 -1
  650. package/dist/components/tooltip/examples/scenario-delay-provider.d.ts +0 -5
  651. package/dist/components/tooltip/examples/scenario-delay-provider.d.ts.map +0 -1
  652. package/dist/components/tooltip/examples/scenario-long-content.d.ts +0 -5
  653. package/dist/components/tooltip/examples/scenario-long-content.d.ts.map +0 -1
  654. package/dist/components/tooltip/examples/scenario-side-bottom.d.ts +0 -5
  655. package/dist/components/tooltip/examples/scenario-side-bottom.d.ts.map +0 -1
  656. package/src/components/slider/examples/01-volume.tsx +0 -17
  657. package/src/components/slider/examples/02-price-range.tsx +0 -18
  658. package/src/components/slider/examples/03-controlled.tsx +0 -30
  659. package/src/components/slider/examples/04-disabled.tsx +0 -25
  660. package/src/components/tag/examples/04-tag-sizes.tsx +0 -18
  661. package/src/components/textarea/examples/03-controlled.tsx +0 -27
  662. package/src/components/textarea/examples/04-full-width.tsx +0 -23
  663. package/src/components/tooltip/examples/scenario-delay-provider.tsx +0 -19
  664. package/src/components/tooltip/examples/scenario-long-content.tsx +0 -22
  665. package/src/components/tooltip/examples/scenario-side-bottom.tsx +0 -21
@@ -0,0 +1,30 @@
1
+ import { DigitInput } from "prime-ui-kit";
2
+ import * as React from "react";
3
+
4
+ /**
5
+ * Разная длина ряда, начальное значение, колбэк по завершении ввода.
6
+ * Паритет с `playground/snippets/digit-input/features.tsx`.
7
+ */
8
+ export default function DigitInputFeaturesExample() {
9
+ const [completed, setCompleted] = React.useState<string | null>(null);
10
+
11
+ return (
12
+ <div
13
+ style={{
14
+ display: "flex",
15
+ flexDirection: "column",
16
+ gap: "var(--prime-sys-spacing-m)",
17
+ alignItems: "flex-start",
18
+ }}
19
+ >
20
+ <p style={{ margin: 0 }}>Пропы length и defaultValue без внешнего состояния</p>
21
+ <DigitInput.Root length={4} defaultValue="2184" />
22
+ <DigitInput.Root length={6} defaultValue="12" />
23
+ <p style={{ margin: 0 }}>onComplete — один раз при заполнении последней ячейки</p>
24
+ <DigitInput.Root length={4} onComplete={(v) => setCompleted(v)} />
25
+ <p style={{ margin: 0 }}>
26
+ {completed ? `Последний полный код: ${completed}` : "Введите четыре цифры подряд"}
27
+ </p>
28
+ </div>
29
+ );
30
+ }
@@ -0,0 +1,23 @@
1
+ import { DigitInput } from "prime-ui-kit";
2
+
3
+ /**
4
+ * Четыре размера ячеек: `size` s, m, l, xl — те же токены контролов, что у поля ввода.
5
+ * Паритет с `playground/snippets/digit-input/sizes.tsx`.
6
+ */
7
+ export default function DigitInputSizesExample() {
8
+ return (
9
+ <div
10
+ style={{
11
+ display: "flex",
12
+ flexDirection: "column",
13
+ gap: "var(--prime-sys-spacing-m)",
14
+ alignItems: "center",
15
+ }}
16
+ >
17
+ <DigitInput.Root size="s" length={4} defaultValue="1234" />
18
+ <DigitInput.Root size="m" length={4} defaultValue="1234" />
19
+ <DigitInput.Root size="l" length={4} defaultValue="1234" />
20
+ <DigitInput.Root size="xl" length={4} defaultValue="1234" />
21
+ </div>
22
+ );
23
+ }
@@ -0,0 +1,22 @@
1
+ import { DigitInput } from "prime-ui-kit";
2
+
3
+ /**
4
+ * Обычное поле, визуальная ошибка (`hasError`) и отключённый ввод (`disabled`).
5
+ * Паритет с `playground/snippets/digit-input/states.tsx`.
6
+ */
7
+ export default function DigitInputStatesExample() {
8
+ return (
9
+ <div
10
+ style={{
11
+ display: "flex",
12
+ flexDirection: "column",
13
+ gap: "var(--prime-sys-spacing-m)",
14
+ alignItems: "center",
15
+ }}
16
+ >
17
+ <DigitInput.Root length={4} defaultValue="42" />
18
+ <DigitInput.Root length={4} defaultValue="12" hasError />
19
+ <DigitInput.Root length={4} defaultValue="99" disabled />
20
+ </div>
21
+ );
22
+ }
@@ -52,7 +52,11 @@ export function Example() {
52
52
 
53
53
  Shared layout tokens for the examples: [`examples/divider-examples.module.css`](examples/divider-examples.module.css).
54
54
 
55
- Playground snippets (broader overview): `playground/snippets/divider/` (`variants.tsx`, `sizes.tsx`, `composition.tsx`).
55
+ Playground snippets (same demos as `playground/sections/DividerSection.tsx`):
56
+
57
+ - **`variants.tsx`** — empty horizontal line; **`default`** with centered label; **`variant="text"`**; **`line-spacing`** between rows in a column; **`orientation="vertical"`** between toolbar-style buttons; full-width line between list rows (**`size="s"`**).
58
+ - **`sizes.tsx`** — **`variant="text"`** at **`size`** **`s`**, **`m`**, and **`xl`** (three steps to compare label scale and spacing).
59
+ - **`composition.tsx`** — **`Icon`** + label inside **`variant="text"`** **`size="m"`**; second divider at **`size="xl"`** with icon + label.
56
60
 
57
61
  ### Rules
58
62
 
@@ -95,4 +99,4 @@ Playground snippets (broader overview): `playground/snippets/divider/` (`variant
95
99
  - **Vertical:** requires ancestor **`align-items: stretch`** (or explicit height) so `::before`/`::after` flex segments fill the row.
96
100
  - **Children:** toggles inner **`span`** and **`ControlSizeProvider`**; **`Icon`** ignores its own **`size`** when inside divider content.
97
101
  - **a11y:** default **`separator`** is announced; for decorative list lines between items, mirror **`examples/list-separators.tsx`**: **`ul`/`li`**, separator **`li`** with **`aria-hidden`**, **`Divider.Root`** with **`role="presentation"`**.
98
- - **Playground alignment:** `playground/snippets/divider/variants.tsx` shows default vs `text` vs `line-spacing` vs vertical in one frame.
102
+ - **Playground alignment:** `variants.tsx` is one frame (empty line, `default` label, `text`, `line-spacing` column, vertical toolbar, list-row separator); `sizes.tsx` is `text` at **s / m / xl**; `composition.tsx` is icon + text at **m** and **xl**.
@@ -6,21 +6,21 @@
6
6
 
7
7
  A slide-over panel rendered in a portal with a backdrop: page scroll is locked, focus stays inside the dialog until it closes, and siblings of the portal root on `document.body` are marked inert and `aria-hidden` while open.
8
8
 
9
- - **When to use** secondary detail, filters, forms, or actions tied to a screen edge (left/right/top/bottom) without leaving the current view.
10
- - **When to use** bottom or top sheets when the main canvas (e.g. a map) should stay partly visible.
11
- - **When to use** the same modal-style contract as a dialog (focus trap, blocked background) but with an edge-attached panel instead of a centered box.
12
- - **When not to use** short confirmations or compact prompts; prefer a centered [Modal](../modal/COMPONENT.md).
13
- - **When not to use** inline expandable regions; use disclosure or a non-modal sidebar if you should not block the whole page.
14
- - **When not to use** full page changes driven only by the URL; the kit does not wire routing—control `open` / `onOpenChange` from the app.
9
+ - **Use** for secondary detail, filters, forms, or actions tied to a screen edge (left/right/top/bottom) without leaving the current view.
10
+ - **Use** for bottom or top sheets when the main canvas (for example a map) should stay partly visible.
11
+ - **Use** for the same modal-style contract as a dialog (focus trap, blocked background) but with an edge-attached panel instead of a centered box.
12
+ - **Do not use** for short confirmations or compact prompts; prefer a centered [Modal](../modal/COMPONENT.md).
13
+ - **Do not use** for inline expandable regions; use disclosure or a non-modal sidebar if you should not block the whole page.
14
+ - **Do not use** for full page changes driven only by the URL; the kit does not wire routing—control `open` / `onOpenChange` from the app.
15
15
 
16
16
  ## Composition
17
17
 
18
18
  - **`Drawer.Root`** — holds open state, `closeOnEscape`, and `closeOnOverlayClick`; wraps everything else.
19
19
  - **`Drawer.Trigger`** (optional) — exactly one child element; opens on click unless the child’s `onClick` calls `preventDefault`.
20
20
  - **`Drawer.Portal`** — renders nothing when closed; when open, portals children (default container `document.body` via the internal `Portal`).
21
- - **`Drawer.Overlay`** and **`Drawer.Content`** should be **siblings** inside **`Drawer.Portal`** (backdrop is not a wrapper around the panel). List **`Drawer.Overlay`** before **`Drawer.Content`** so the panel paints above the backdrop when stacking order ties on `z-index`.
22
- - **`Drawer.Content`** `role="dialog"`, `aria-modal="true"`, focus trap, and chrome size context for header/footer controls.
23
- - **`Drawer.Header`** → **`Drawer.Title`**, **`Drawer.Body`**, **`Drawer.Footer`** — all **must** be nested inside **`Drawer.Content`** (runtime error otherwise). **`Drawer.Close`** wraps a single control that should close the drawer (often a button in the footer or custom actions).
21
+ - **`Drawer.Overlay`** and the panel surface should be **siblings** inside **`Drawer.Portal`** (backdrop is not a wrapper around the panel). List **`Drawer.Overlay`** before the panel so it stacks under the dialog when `z-index` ties.
22
+ - **Panel surface:** at the portal root, **`Drawer.Content`** renders the full dialog shell (`role="dialog"`, focus trap, scroll lock, inert siblings, chrome size for header/footer). For a split where only the middle scrolls, use **`Drawer.Panel`** as the shell and nest **`Drawer.Content`** for the body region — see **`examples/explicit-panel.tsx`**.
23
+ - **`Drawer.Header`** → **`Drawer.Title`**, **`Drawer.Body`**, **`Drawer.Footer`** — all **must** be nested inside the panel surface (**`Drawer.Content`** at root or **`Drawer.Panel`**). **`Drawer.Close`** wraps a single control that should close the drawer (often a button in the footer or custom actions).
24
24
 
25
25
  ### Minimal example
26
26
 
@@ -51,14 +51,42 @@ export function DrawerMinimal() {
51
51
  }
52
52
  ```
53
53
 
54
+ ### Playground snippets (source of truth)
55
+
56
+ Runnable demos and copy-paste references: `playground/snippets/drawer/*.tsx` (Russian copy in UI; workspace imports use `@/`).
57
+
58
+ | File | Intent |
59
+ |------|--------|
60
+ | `sizes.tsx` | Ladder **`size`** `s`–`xl` on **`Drawer.Content`**; padding, title tier, header close button, and footer controls share one control tier. |
61
+ | `variants-sides.tsx` | **`side`** `right` (default), `left`, `bottom`, `top`; top/bottom sheets use capped height (~**`80vh`** in styles) and scroll in **`Drawer.Body`**. |
62
+ | `states.tsx` | **`closeOnEscape={false}`** and **`closeOnOverlayClick={false}`** for dismiss only via actions; **`showCloseButton={false}`** on **`Drawer.Header`**. |
63
+ | `controlled.tsx` | **`open`** / **`onOpenChange`** on **`Drawer.Root`** without **`Drawer.Trigger`**. |
64
+ | `composition.tsx` | Header, **`Input`** in **`Drawer.Body`**, footer with **`Drawer.Close`** on cancel. |
65
+ | `full-width.tsx` | Vertical stack in **`Drawer.Footer`** with **`Button.Root`** **`fullWidth`**. |
66
+ | `responsive.tsx` | Side width cap **`min(28rem, 90vw)`**; long copy scrolls in **`Drawer.Body`**. |
67
+ | `trigger-link.tsx` | **`Drawer.Trigger`** with a single **`LinkButton`** child; opening merges with existing **`onClick`** (e.g. **`preventDefault`** on **`href`**). |
68
+ | `features.tsx` | **`Drawer.Portal`** **`container`**, **`aria-label`** on **`Drawer.Content`** without a visible title row, long list scroll inside **`Drawer.Body`**. |
69
+
70
+ ### Examples (`examples/`)
71
+
72
+ English scenario starters next to this file (workspace **`@/`**; published **`prime-ui-kit`**):
73
+
74
+ | File | Intent |
75
+ |------|--------|
76
+ | `examples/filters-panel.tsx` | Leading-edge filters; scroll criteria, **Apply** / **Reset** in footer. |
77
+ | `examples/cart-preview.tsx` | Trailing-edge cart preview; line items scroll; checkout in footer. |
78
+ | `examples/settings-side.tsx` | Trailing-edge settings; form fields share drawer **`size`** with chrome. |
79
+ | `examples/mobile-nav-sheet.tsx` | Bottom sheet nav; rows wrapped in **`Drawer.Close`**. |
80
+ | `examples/explicit-panel.tsx` | **`Drawer.Panel`** shell with inner **`Drawer.Content`** as scroll body only. |
81
+
54
82
  ## Rules
55
83
 
56
84
  - **Controlled vs uncontrolled:** pass `open` and `onOpenChange` for controlled mode; otherwise use `defaultOpen` on `Drawer.Root`. Omit `Drawer.Trigger` when you open/close from parent state only.
57
- - **Closing:** Escape and backdrop click call `onClose` by default; disable with `closeOnEscape={false}` and/or `closeOnOverlayClick={false}` on `Drawer.Root` for explicit-dismiss-only flows. Backdrop close runs only when the click target is the overlay element itself (not bubbled from children).
85
+ - **Closing:** Escape and overlay click update open state by default (and invoke **`onOpenChange`** when controlled). Disable with `closeOnEscape={false}` and/or `closeOnOverlayClick={false}` on `Drawer.Root` for explicit-dismiss-only flows. Escape is handled while the panel is open (same layer as the dialog focus trap). Backdrop close runs only when the click target is the overlay element itself (not bubbled from children).
58
86
  - **`Drawer.Trigger` / `Drawer.Close`:** each expects **exactly one** React child that accepts an `onClick` handler; the kit merges its handler with yours and respects `preventDefault`.
59
- - **Accessible name:** set `aria-labelledby` on `Drawer.Content` to the `id` of `Drawer.Title`, or `aria-label` when there is no visible title.
87
+ - **Accessible name:** set `aria-labelledby` on the panel to the `id` of `Drawer.Title`, or `aria-label` when there is no visible title.
60
88
  - **Header close control:** `showCloseButton={false}` on `Drawer.Header` removes the built-in ghost button (`aria-label` is `"Close drawer"` in code when shown).
61
- - **Sizing:** `size` on `Drawer.Content` is `s` | `m` | `l` | `xl` (default `m`); it drives padding, title scale, and control sizing in chrome via `ControlSizeProvider`. Panel width/height caps come from the component styles, not separate width/height props.
89
+ - **Sizing:** `size` on the panel (`Drawer.Content` at root or `Drawer.Panel`) is `s` | `m` | `l` | `xl` (default `m`); it drives padding, title scale, and control sizing in chrome via `ControlSizeProvider`. Side panels cap width in CSS (**`min(28rem, 90vw)`**); top/bottom sheets cap height (~**`80vh`**), not separate width/height props.
62
90
  - **Portal:** `Drawer.Portal` renders `null` while closed, so portal subtree is unmounted when not open.
63
91
 
64
92
  ## API
@@ -69,8 +97,8 @@ export function DrawerMinimal() {
69
97
  |------|------|---------|----------|-------------|
70
98
  | `open` | `boolean` | — | No | Controlled open state. |
71
99
  | `defaultOpen` | `boolean` | `false` | No | Initial open state when uncontrolled. |
72
- | `onOpenChange` | `(open: boolean) => void` | — | No | Called when open state changes. |
73
- | `closeOnEscape` | `boolean` | `true` | No | Close when Escape is pressed while open. |
100
+ | `onOpenChange` | `(open: boolean) => void` | — | No | Called when open state changes (trigger, dismiss, programmatic). |
101
+ | `closeOnEscape` | `boolean` | `true` | No | Close on Escape while the panel is open. |
74
102
  | `closeOnOverlayClick` | `boolean` | `true` | No | Close when the overlay receives a direct click. |
75
103
  | `children` | `React.ReactNode` | — | Yes | Tree: trigger, portal, etc. |
76
104
 
@@ -84,39 +112,49 @@ export function DrawerMinimal() {
84
112
 
85
113
  | Prop | Type | Default | Required | Description |
86
114
  |------|------|---------|----------|-------------|
87
- | `children` | `React.ReactElement<{ onClick?: React.MouseEventHandler; className?: string }>` | — | Yes | Single child; click closes unless default prevented. |
115
+ | `children` | `React.ReactElement<{ onClick?: React.MouseEventHandler; className?: string }>` | — | Yes | Single child; click runs your `onClick` then closes unless default prevented. |
88
116
 
89
117
  ### Drawer.Portal
90
118
 
91
119
  | Prop | Type | Default | Required | Description |
92
120
  |------|------|---------|----------|-------------|
93
- | `children` | `React.ReactNode` | — | Yes | Portaled subtree; not mounted when closed. |
121
+ | `children` | `React.ReactNode` | — | No | Portaled subtree; not mounted when closed. |
94
122
  | `container` | `HTMLElement \| null` | `document.body` | No | DOM node for `createPortal` (falls back when `null`/omitted per `Portal` implementation). |
95
123
 
96
124
  ### Drawer.Overlay
97
125
 
98
126
  | Prop | Type | Default | Required | Description |
99
127
  |------|------|---------|----------|-------------|
100
- | | `React.HTMLAttributes<HTMLDivElement>` | — | No | Spread onto the backdrop `div` (`role="presentation"` set in the component). |
128
+ | `className` | `string` | — | No | Extra class on the backdrop. |
129
+ | `onClick` | `React.MouseEventHandler<HTMLDivElement>` | — | No | Fires before overlay dismiss logic. |
130
+ | … | `React.HTMLAttributes<HTMLDivElement>` | — | No | `role="presentation"`; remaining attributes on the backdrop `div`. |
101
131
 
102
132
  ### Drawer.Content
103
133
 
134
+ When used as the **direct** child of **`Drawer.Portal`** (after **`Drawer.Overlay`**), renders the dialog panel. When nested **inside** an existing panel, renders the scrollable body region only (see **`examples/explicit-panel.tsx`**).
135
+
104
136
  | Prop | Type | Default | Required | Description |
105
137
  |------|------|---------|----------|-------------|
106
138
  | `side` | `"left" \| "right" \| "bottom" \| "top"` | `"right"` | No | Edge from which the panel enters. |
107
- | `size` | `"s" \| "m" \| "l" \| "xl"` | `"m"` | No | Chrome and spacing tier for header/footer controls. |
139
+ | `size` | `"s" \| "m" \| "l" \| "xl"` | `"m"` | No | Chrome and spacing tier for header/footer controls (`ControlSizeProvider`). |
108
140
  | `aria-label` | `string` | — | No | Accessible name when no visible title. |
109
141
  | `aria-labelledby` | `string` | — | No | `id` of the visible title element. |
110
142
  | `aria-describedby` | `string` | — | No | `id` of auxiliary description content. |
111
- | `className` | `string` | — | No | Class on the dialog root. |
112
- | | `React.HTMLAttributes<HTMLDivElement>` | — | No | Additional attributes on the dialog `div` (`role="dialog"`, `aria-modal`, `tabIndex={-1}`, focus trap ref). |
143
+ | `className` | `string` | — | No | Class on the panel or inner body root. |
144
+ | `children` | `React.ReactNode` | — | No | Shell slots (header, body, footer) when panel root; scroll content when nested. |
145
+ | … | `React.HTMLAttributes<HTMLDivElement>` | — | No | Panel: `role="dialog"`, `aria-modal`, `tabIndex={-1}`, focus trap, scroll lock, inert siblings. |
146
+
147
+ ### Drawer.Panel
148
+
149
+ Same props as **`Drawer.Content`** when **`Drawer.Content`** is the portal-root panel. Use **`Drawer.Panel`** for explicit shell + inner **`Drawer.Content`** body scrolling — **`examples/explicit-panel.tsx`**.
113
150
 
114
151
  ### Drawer.Header
115
152
 
116
153
  | Prop | Type | Default | Required | Description |
117
154
  |------|------|---------|----------|-------------|
118
- | `showCloseButton` | `boolean` | `true` | No | Renders the built-in icon close button. |
155
+ | `showCloseButton` | `boolean` | `true` | No | Built-in ghost close control (neutral) on the right. |
119
156
  | `className` | `string` | — | No | Class on the `<header>`. |
157
+ | `children` | `React.ReactNode` | — | No | Usually **`Drawer.Title`**; area left of the close control. |
120
158
  | … | `React.HTMLAttributes<HTMLElement>` | — | No | Native `<header>` attributes. |
121
159
 
122
160
  ### Drawer.Title
@@ -124,6 +162,7 @@ export function DrawerMinimal() {
124
162
  | Prop | Type | Default | Required | Description |
125
163
  |------|------|---------|----------|-------------|
126
164
  | `className` | `string` | — | No | Class on the `<h2>`. |
165
+ | `children` | `React.ReactNode` | — | No | Title text; set `id` for `aria-labelledby` on the panel. |
127
166
  | … | `React.HTMLAttributes<HTMLHeadingElement>` | — | No | Renders `<h2>`. |
128
167
 
129
168
  ### Drawer.Body
@@ -131,6 +170,7 @@ export function DrawerMinimal() {
131
170
  | Prop | Type | Default | Required | Description |
132
171
  |------|------|---------|----------|-------------|
133
172
  | `className` | `string` | — | No | Class on the scroll container root. |
173
+ | `children` | `React.ReactNode` | — | No | Main content; vertical scroll when overflowing. |
134
174
  | … | `React.HTMLAttributes<HTMLDivElement>` | — | No | Scrollable body via `ScrollContainer`. |
135
175
 
136
176
  ### Drawer.Footer
@@ -138,7 +178,8 @@ export function DrawerMinimal() {
138
178
  | Prop | Type | Default | Required | Description |
139
179
  |------|------|---------|----------|-------------|
140
180
  | `className` | `string` | — | No | Class on the `<footer>`. |
141
- | | `React.HTMLAttributes<HTMLElement>` | — | No | Wraps actions; provides control size context. |
181
+ | `children` | `React.ReactNode` | — | No | Action row; controls use **`ControlSizeProvider`** from panel **`size`**. |
182
+ | … | `React.HTMLAttributes<HTMLElement>` | — | No | Renders `<footer>`. |
142
183
 
143
184
  ## Related
144
185
 
@@ -12,14 +12,40 @@
12
12
 
13
13
  **Position:** **`Content.align`**: `start` | `center` | `end`. **`Content.side`**: `bottom` | `top` (may flip). **`sameMinWidthAsTrigger`** widens the panel to at least the trigger width. Resolved side is on **`data-side`** on the menu node.
14
14
 
15
- **Runnable examples (this package):**
16
-
17
- | File | Scenario |
18
- |------|----------|
19
- | [`examples/actions-menu.tsx`](examples/actions-menu.tsx) | Icon trigger, icons in rows, separator, **`destructive`** |
20
- | [`examples/account-menu.tsx`](examples/account-menu.tsx) | Header + avatar, **`Inset`**, **`sameMinWidthAsTrigger`**, sign out |
21
- | [`examples/select-like-list.tsx`](examples/select-like-list.tsx) | Trigger label reflects choice; still menu semantics (not **Select**) |
22
- | [`examples/placement-demo.tsx`](examples/placement-demo.tsx) | **`align`** and **`side`** |
15
+ **Runnable examples**
16
+
17
+ **Playground snippets** (order matches [`playground/sections/DropdownSection.tsx`](../../../playground/sections/DropdownSection.tsx); keep **`examples/`** in sync when changing these):
18
+
19
+ | Snippet | Scenario |
20
+ |---------|----------|
21
+ | [`playground/snippets/dropdown/sizes.tsx`](../../../playground/snippets/dropdown/sizes.tsx) | **`Content.size`** s–xl: panel, rows, group label, default **`ItemIcon`** size |
22
+ | [`playground/snippets/dropdown/variants.tsx`](../../../playground/snippets/dropdown/variants.tsx) | Plain rows and **`Item.destructive`** |
23
+ | [`playground/snippets/dropdown/states.tsx`](../../../playground/snippets/dropdown/states.tsx) | **`Item.disabled`** (no activation / no close) |
24
+ | [`playground/snippets/dropdown/placement.tsx`](../../../playground/snippets/dropdown/placement.tsx) | **`align`** start/center/end and **`side`** top |
25
+ | [`playground/snippets/dropdown/controlled.tsx`](../../../playground/snippets/dropdown/controlled.tsx) | **`open`** / **`onOpenChange`** on **`Root`** |
26
+ | [`playground/snippets/dropdown/composition.tsx`](../../../playground/snippets/dropdown/composition.tsx) | **`Block`**, header slots, **`GroupLabel`**, **`ItemIcon`**, nested trailing **Button** |
27
+ | [`playground/snippets/dropdown/full-width.tsx`](../../../playground/snippets/dropdown/full-width.tsx) | **`sameMinWidthAsTrigger`** with narrow trigger |
28
+ | [`playground/snippets/dropdown/as-child.tsx`](../../../playground/snippets/dropdown/as-child.tsx) | **`Trigger`** merges props into a single child (e.g. link) |
29
+ | [`playground/snippets/dropdown/inset.tsx`](../../../playground/snippets/dropdown/inset.tsx) | **`Inset`** **`padding`** / **`gap`** variants |
30
+
31
+ **Package `examples/`** (same folder as this file; `@/` imports in-repo, **`prime-ui-kit`** for consumers):
32
+
33
+ | File | Mirrors snippet | Scenario |
34
+ |------|-----------------|----------|
35
+ | [`examples/sizes.tsx`](examples/sizes.tsx) | `sizes.tsx` | Same as playground sizes |
36
+ | [`examples/variants.tsx`](examples/variants.tsx) | `variants.tsx` | Same as playground variants |
37
+ | [`examples/states.tsx`](examples/states.tsx) | `states.tsx` | Same as playground states |
38
+ | [`examples/placement-demo.tsx`](examples/placement-demo.tsx) | `placement.tsx` | Same as playground placement |
39
+ | [`examples/controlled.tsx`](examples/controlled.tsx) | `controlled.tsx` | Same as playground controlled |
40
+ | [`examples/composition.tsx`](examples/composition.tsx) | `composition.tsx` | Same as playground composition |
41
+ | [`examples/full-width.tsx`](examples/full-width.tsx) | `full-width.tsx` | Same as playground full-width |
42
+ | [`examples/as-child.tsx`](examples/as-child.tsx) | `as-child.tsx` | Same as playground as-child |
43
+ | [`examples/inset.tsx`](examples/inset.tsx) | `inset.tsx` | Same as playground inset |
44
+ | [`examples/actions-menu.tsx`](examples/actions-menu.tsx) | — | Icon-only trigger, row icons, separator, **`destructive`** |
45
+ | [`examples/account-menu.tsx`](examples/account-menu.tsx) | — | Header + avatar, **`Inset`**, **`sameMinWidthAsTrigger`**, sign out |
46
+ | [`examples/select-like-list.tsx`](examples/select-like-list.tsx) | — | Trigger shows choice; still **`role="menu"`** (not **Select**) |
47
+
48
+ Shared layout tokens for some examples: [`examples/dropdown-examples.module.css`](examples/dropdown-examples.module.css) (mirrors [`playground/snippets/dropdown/dropdown-snippets.module.css`](../../../playground/snippets/dropdown/dropdown-snippets.module.css)).
23
49
 
24
50
  **Minimal import:**
25
51
 
@@ -43,8 +69,6 @@ export function Example() {
43
69
  }
44
70
  ```
45
71
 
46
- Playground mirrors: `playground/snippets/dropdown/` (`composition`, `placement`, `controlled`, …).
47
-
48
72
  ---
49
73
 
50
74
  ## Extended
@@ -0,0 +1,26 @@
1
+ import { Dropdown } from "@/components/dropdown/Dropdown";
2
+
3
+ import styles from "./dropdown-examples.module.css";
4
+
5
+ /** Триггер как единственный ребёнок: aria и клик сливаются с ссылкой — как в `playground/snippets/dropdown/as-child.tsx`. */
6
+ export default function DropdownAsChildExample() {
7
+ return (
8
+ <Dropdown.Root>
9
+ <Dropdown.Trigger>
10
+ <a
11
+ href="/playground"
12
+ className={styles.linkTrigger}
13
+ onClick={(e) => {
14
+ e.preventDefault();
15
+ }}
16
+ >
17
+ Открыть как ссылка-триггер
18
+ </a>
19
+ </Dropdown.Trigger>
20
+ <Dropdown.Content>
21
+ <Dropdown.Item>Пункт 1</Dropdown.Item>
22
+ <Dropdown.Item>Пункт 2</Dropdown.Item>
23
+ </Dropdown.Content>
24
+ </Dropdown.Root>
25
+ );
26
+ }
@@ -0,0 +1,93 @@
1
+ import { BookOpen, HelpCircle, LayoutGrid, LogOut, Settings, UserRound } from "lucide-react";
2
+ import { Avatar } from "@/components/avatar/Avatar";
3
+ import { Badge } from "@/components/badge/Badge";
4
+ import { Button } from "@/components/button/Button";
5
+ import { Dropdown } from "@/components/dropdown/Dropdown";
6
+
7
+ /** Block, Header, GroupLabel, ItemIcon, вложенная кнопка в трейлинге — как в `playground/snippets/dropdown/composition.tsx`. */
8
+ export default function DropdownCompositionExample() {
9
+ return (
10
+ <Dropdown.Root>
11
+ <Dropdown.Trigger>
12
+ <Button.Root type="button" size="m" variant="neutral" mode="stroke">
13
+ Меню пользователя
14
+ </Button.Root>
15
+ </Dropdown.Trigger>
16
+ <Dropdown.Content align="end">
17
+ <Dropdown.Block>
18
+ <Dropdown.Header>
19
+ <Dropdown.HeaderRow>
20
+ <Dropdown.HeaderLeading>
21
+ <Avatar.Root size="l">
22
+ <Avatar.Fallback>АП</Avatar.Fallback>
23
+ </Avatar.Root>
24
+ </Dropdown.HeaderLeading>
25
+ <Dropdown.HeaderMain>
26
+ <Dropdown.HeaderTitle>Анна Петрова</Dropdown.HeaderTitle>
27
+ <Dropdown.HeaderDescription truncate>
28
+ anna.petrova@example.com
29
+ </Dropdown.HeaderDescription>
30
+ </Dropdown.HeaderMain>
31
+ <Dropdown.HeaderTrailing>
32
+ <Badge.Root color="red" variant="light" size="s">
33
+ PRO
34
+ </Badge.Root>
35
+ </Dropdown.HeaderTrailing>
36
+ </Dropdown.HeaderRow>
37
+ <Dropdown.Separator />
38
+ </Dropdown.Header>
39
+ <Dropdown.Group>
40
+ <Dropdown.Item>
41
+ <Dropdown.ItemIcon as={UserRound} strokeWidth={2} />
42
+ Профиль и безопасность
43
+ </Dropdown.Item>
44
+ <Dropdown.Item>
45
+ <Dropdown.ItemIcon as={LayoutGrid} strokeWidth={2} />
46
+ Интеграции
47
+ </Dropdown.Item>
48
+ <Dropdown.Item>
49
+ <Dropdown.ItemIcon as={Settings} strokeWidth={2} />
50
+ Настройки
51
+ </Dropdown.Item>
52
+ </Dropdown.Group>
53
+ </Dropdown.Block>
54
+
55
+ <Dropdown.Block>
56
+ <Dropdown.Group>
57
+ <Dropdown.GroupLabel>Поддержка</Dropdown.GroupLabel>
58
+ <Dropdown.Item>
59
+ <Dropdown.ItemIcon as={BookOpen} strokeWidth={2} />
60
+ Руководство
61
+ </Dropdown.Item>
62
+ <Dropdown.Item>
63
+ <Dropdown.ItemIcon as={HelpCircle} strokeWidth={2} />
64
+ Справочный центр
65
+ </Dropdown.Item>
66
+ </Dropdown.Group>
67
+ </Dropdown.Block>
68
+
69
+ <Dropdown.Separator />
70
+ <Dropdown.Block>
71
+ <Dropdown.Header>
72
+ <Dropdown.HeaderRow>
73
+ <Dropdown.HeaderMain>
74
+ <Dropdown.HeaderTitle>Бесплатный план</Dropdown.HeaderTitle>
75
+ <Dropdown.HeaderDescription>12 000 просмотров в месяц</Dropdown.HeaderDescription>
76
+ </Dropdown.HeaderMain>
77
+ <Dropdown.HeaderTrailing alignSelf="center">
78
+ <Button.Root type="button" size="s" variant="primary" mode="stroke">
79
+ Апгрейд
80
+ </Button.Root>
81
+ </Dropdown.HeaderTrailing>
82
+ </Dropdown.HeaderRow>
83
+ <Dropdown.Separator />
84
+ </Dropdown.Header>
85
+ <Dropdown.Item>
86
+ <Dropdown.ItemIcon as={LogOut} strokeWidth={2} />
87
+ Выйти
88
+ </Dropdown.Item>
89
+ </Dropdown.Block>
90
+ </Dropdown.Content>
91
+ </Dropdown.Root>
92
+ );
93
+ }
@@ -0,0 +1,31 @@
1
+ import { useState } from "react";
2
+ import { Button } from "@/components/button/Button";
3
+ import { Dropdown } from "@/components/dropdown/Dropdown";
4
+ import { Typography } from "@/components/typography/Typography";
5
+
6
+ import styles from "./dropdown-examples.module.css";
7
+
8
+ /** Контролируемое `open` / `onOpenChange` — как в `playground/snippets/dropdown/controlled.tsx`. */
9
+ export default function DropdownControlledExample() {
10
+ const [open, setOpen] = useState(false);
11
+
12
+ return (
13
+ <div className={styles.controlledRow}>
14
+ <Dropdown.Root open={open} onOpenChange={setOpen}>
15
+ <Dropdown.Trigger>
16
+ <Button.Root type="button" size="m" variant="neutral" mode="stroke">
17
+ Шаг 2 из 4
18
+ </Button.Root>
19
+ </Dropdown.Trigger>
20
+ <Dropdown.Content align="start">
21
+ <Dropdown.Item onSelect={() => setOpen(false)}>Шаг 1</Dropdown.Item>
22
+ <Dropdown.Item onSelect={() => setOpen(false)}>Шаг 2</Dropdown.Item>
23
+ <Dropdown.Item onSelect={() => setOpen(false)}>Шаг 3</Dropdown.Item>
24
+ </Dropdown.Content>
25
+ </Dropdown.Root>
26
+ <Typography.Root as="span" variant="body-small" tone="muted">
27
+ Меню {open ? "открыто" : "закрыто"}
28
+ </Typography.Root>
29
+ </div>
30
+ );
31
+ }
@@ -0,0 +1,33 @@
1
+ /* Примеры Dropdown: только var(--prime-sys-*), без инлайнов. */
2
+
3
+ .controlledRow {
4
+ display: flex;
5
+ flex-wrap: wrap;
6
+ align-items: center;
7
+ gap: var(--prime-sys-spacing-m);
8
+ }
9
+
10
+ .sizeRow {
11
+ display: flex;
12
+ flex-wrap: wrap;
13
+ align-items: flex-start;
14
+ gap: var(--prime-sys-spacing-m);
15
+ }
16
+
17
+ .linkTrigger {
18
+ cursor: pointer;
19
+ text-decoration: underline;
20
+ }
21
+
22
+ .iconTriggerMin {
23
+ min-width: calc(
24
+ var(--prime-sys-spacing-4xl) +
25
+ var(--prime-sys-spacing-3xl) +
26
+ var(--prime-sys-spacing-m) +
27
+ var(--prime-sys-spacing-xs)
28
+ );
29
+ }
30
+
31
+ .insetNoteTight {
32
+ padding-inline: var(--prime-sys-spacing-x2);
33
+ }
@@ -0,0 +1,28 @@
1
+ import { Button } from "@/components/button/Button";
2
+ import { Dropdown } from "@/components/dropdown/Dropdown";
3
+
4
+ import styles from "./dropdown-examples.module.css";
5
+
6
+ /** `sameMinWidthAsTrigger` — как в `playground/snippets/dropdown/full-width.tsx`. */
7
+ export default function DropdownFullWidthExample() {
8
+ return (
9
+ <Dropdown.Root>
10
+ <Dropdown.Trigger>
11
+ <Button.Root
12
+ type="button"
13
+ size="m"
14
+ variant="neutral"
15
+ mode="stroke"
16
+ aria-label="Действия со строкой"
17
+ className={styles.iconTriggerMin}
18
+ >
19
+
20
+ </Button.Root>
21
+ </Dropdown.Trigger>
22
+ <Dropdown.Content sameMinWidthAsTrigger>
23
+ <Dropdown.Item>Очень длинная подпись пункта меню в одну строку</Dropdown.Item>
24
+ <Dropdown.Item>Второй пункт</Dropdown.Item>
25
+ </Dropdown.Content>
26
+ </Dropdown.Root>
27
+ );
28
+ }
@@ -0,0 +1,51 @@
1
+ import { Button } from "@/components/button/Button";
2
+ import { Dropdown } from "@/components/dropdown/Dropdown";
3
+ import { Typography } from "@/components/typography/Typography";
4
+
5
+ import styles from "./dropdown-examples.module.css";
6
+
7
+ /** `Dropdown.Inset` с `padding` и `gap` — как в `playground/snippets/dropdown/inset.tsx`. */
8
+ export default function DropdownInsetExample() {
9
+ return (
10
+ <>
11
+ <Dropdown.Root>
12
+ <Dropdown.Trigger>
13
+ <Button.Root type="button" size="m" variant="neutral" mode="stroke">
14
+ С отступами по умолчанию
15
+ </Button.Root>
16
+ </Dropdown.Trigger>
17
+ <Dropdown.Content>
18
+ <Dropdown.Inset>
19
+ <Typography.Root as="div" variant="body-compact" tone="muted">
20
+ Короткая заметка над списком.
21
+ </Typography.Root>
22
+ <Dropdown.Item>Первый пункт</Dropdown.Item>
23
+ <Dropdown.Item>Второй пункт</Dropdown.Item>
24
+ </Dropdown.Inset>
25
+ </Dropdown.Content>
26
+ </Dropdown.Root>
27
+
28
+ <Dropdown.Root>
29
+ <Dropdown.Trigger>
30
+ <Button.Root type="button" size="m" variant="neutral" mode="stroke">
31
+ Плотная вставка
32
+ </Button.Root>
33
+ </Dropdown.Trigger>
34
+ <Dropdown.Content>
35
+ <Dropdown.Inset padding="none" gap="x2">
36
+ <Typography.Root
37
+ as="div"
38
+ variant="body-compact"
39
+ tone="muted"
40
+ className={styles.insetNoteTight}
41
+ >
42
+ Без внешнего inset-padding, меньший gap.
43
+ </Typography.Root>
44
+ <Dropdown.Item>Действие A</Dropdown.Item>
45
+ <Dropdown.Item>Действие B</Dropdown.Item>
46
+ </Dropdown.Inset>
47
+ </Dropdown.Content>
48
+ </Dropdown.Root>
49
+ </>
50
+ );
51
+ }