@getitdone-gmbh/kette-design-community 0.0.0-stage → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (759) hide show
  1. package/CHANGELOG.md +154 -0
  2. package/LICENSE +9 -0
  3. package/README.md +133 -2
  4. package/THIRD_PARTY_NOTICES.md +29 -0
  5. package/dist/components/ui/accordion.d.ts +10 -0
  6. package/dist/components/ui/accordion.js +112 -0
  7. package/dist/components/ui/accordion.js.map +1 -0
  8. package/dist/components/ui/action-bar.d.ts +69 -0
  9. package/dist/components/ui/action-bar.js +169 -0
  10. package/dist/components/ui/action-bar.js.map +1 -0
  11. package/dist/components/ui/activity-feed.d.ts +80 -0
  12. package/dist/components/ui/activity-feed.js +254 -0
  13. package/dist/components/ui/activity-feed.js.map +1 -0
  14. package/dist/components/ui/alert.d.ts +18 -0
  15. package/dist/components/ui/alert.js +143 -0
  16. package/dist/components/ui/alert.js.map +1 -0
  17. package/dist/components/ui/autosave-status.d.ts +13 -0
  18. package/dist/components/ui/autosave-status.js +56 -0
  19. package/dist/components/ui/autosave-status.js.map +1 -0
  20. package/dist/components/ui/avatar.d.ts +141 -0
  21. package/dist/components/ui/avatar.js +268 -0
  22. package/dist/components/ui/avatar.js.map +1 -0
  23. package/dist/components/ui/badge.d.ts +16 -0
  24. package/dist/components/ui/badge.js +108 -0
  25. package/dist/components/ui/badge.js.map +1 -0
  26. package/dist/components/ui/blockquote.d.ts +11 -0
  27. package/dist/components/ui/blockquote.js +50 -0
  28. package/dist/components/ui/blockquote.js.map +1 -0
  29. package/dist/components/ui/bottom-navigation.d.ts +19 -0
  30. package/dist/components/ui/bottom-navigation.js +108 -0
  31. package/dist/components/ui/bottom-navigation.js.map +1 -0
  32. package/dist/components/ui/breadcrumb.d.ts +24 -0
  33. package/dist/components/ui/breadcrumb.js +107 -0
  34. package/dist/components/ui/breadcrumb.js.map +1 -0
  35. package/dist/components/ui/button-close.d.ts +11 -0
  36. package/dist/components/ui/button-close.js +50 -0
  37. package/dist/components/ui/button-close.js.map +1 -0
  38. package/dist/components/ui/button-group.d.ts +11 -0
  39. package/dist/components/ui/button-group.js +63 -0
  40. package/dist/components/ui/button-group.js.map +1 -0
  41. package/dist/components/ui/button.d.ts +27 -0
  42. package/dist/components/ui/button.js +243 -0
  43. package/dist/components/ui/button.js.map +1 -0
  44. package/dist/components/ui/calendar-grid.d.ts +103 -0
  45. package/dist/components/ui/calendar-grid.js +343 -0
  46. package/dist/components/ui/calendar-grid.js.map +1 -0
  47. package/dist/components/ui/calendar.d.ts +8 -0
  48. package/dist/components/ui/calendar.js +63 -0
  49. package/dist/components/ui/calendar.js.map +1 -0
  50. package/dist/components/ui/card/Card.d.ts +3 -0
  51. package/dist/components/ui/card/Card.js +142 -0
  52. package/dist/components/ui/card/Card.js.map +1 -0
  53. package/dist/components/ui/card/card.interface.d.ts +47 -0
  54. package/dist/components/ui/card/index.d.ts +2 -0
  55. package/dist/components/ui/card.d.ts +66 -0
  56. package/dist/components/ui/card.js +185 -0
  57. package/dist/components/ui/card.js.map +1 -0
  58. package/dist/components/ui/carousel.d.ts +47 -0
  59. package/dist/components/ui/carousel.js +234 -0
  60. package/dist/components/ui/carousel.js.map +1 -0
  61. package/dist/components/ui/cell-grid.d.ts +57 -0
  62. package/dist/components/ui/cell-grid.js +47 -0
  63. package/dist/components/ui/cell-grid.js.map +1 -0
  64. package/dist/components/ui/chart.d.ts +200 -0
  65. package/dist/components/ui/chart.js +586 -0
  66. package/dist/components/ui/chart.js.map +1 -0
  67. package/dist/components/ui/chat-window.d.ts +45 -0
  68. package/dist/components/ui/chat-window.js +112 -0
  69. package/dist/components/ui/chat-window.js.map +1 -0
  70. package/dist/components/ui/checkbox-group.d.ts +30 -0
  71. package/dist/components/ui/checkbox-group.js +173 -0
  72. package/dist/components/ui/checkbox-group.js.map +1 -0
  73. package/dist/components/ui/checkbox.d.ts +5 -0
  74. package/dist/components/ui/checkbox.js +58 -0
  75. package/dist/components/ui/checkbox.js.map +1 -0
  76. package/dist/components/ui/chip.d.ts +73 -0
  77. package/dist/components/ui/chip.js +364 -0
  78. package/dist/components/ui/chip.js.map +1 -0
  79. package/dist/components/ui/code-highlight.d.ts +33 -0
  80. package/dist/components/ui/code-highlight.js +108 -0
  81. package/dist/components/ui/code-highlight.js.map +1 -0
  82. package/dist/components/ui/code-snippet.d.ts +44 -0
  83. package/dist/components/ui/code-snippet.js +235 -0
  84. package/dist/components/ui/code-snippet.js.map +1 -0
  85. package/dist/components/ui/collapsible.d.ts +5 -0
  86. package/dist/components/ui/collapsible.js +9 -0
  87. package/dist/components/ui/collapsible.js.map +1 -0
  88. package/dist/components/ui/color-picker.d.ts +47 -0
  89. package/dist/components/ui/color-picker.js +230 -0
  90. package/dist/components/ui/color-picker.js.map +1 -0
  91. package/dist/components/ui/command.d.ts +113 -0
  92. package/dist/components/ui/command.js +157 -0
  93. package/dist/components/ui/command.js.map +1 -0
  94. package/dist/components/ui/confirm-dialog.d.ts +25 -0
  95. package/dist/components/ui/confirm-dialog.js +80 -0
  96. package/dist/components/ui/confirm-dialog.js.map +1 -0
  97. package/dist/components/ui/content-divider.d.ts +11 -0
  98. package/dist/components/ui/content-divider.js +44 -0
  99. package/dist/components/ui/content-divider.js.map +1 -0
  100. package/dist/components/ui/cookie-consent.d.ts +42 -0
  101. package/dist/components/ui/cookie-consent.js +173 -0
  102. package/dist/components/ui/cookie-consent.js.map +1 -0
  103. package/dist/components/ui/countdown.d.ts +20 -0
  104. package/dist/components/ui/countdown.js +51 -0
  105. package/dist/components/ui/countdown.js.map +1 -0
  106. package/dist/components/ui/data-grid.d.ts +69 -0
  107. package/dist/components/ui/data-grid.js +188 -0
  108. package/dist/components/ui/data-grid.js.map +1 -0
  109. package/dist/components/ui/data-state-panel.d.ts +16 -0
  110. package/dist/components/ui/data-state-panel.js +54 -0
  111. package/dist/components/ui/data-state-panel.js.map +1 -0
  112. package/dist/components/ui/date-picker.d.ts +91 -0
  113. package/dist/components/ui/date-picker.js +220 -0
  114. package/dist/components/ui/date-picker.js.map +1 -0
  115. package/dist/components/ui/description-list.d.ts +55 -0
  116. package/dist/components/ui/description-list.js +131 -0
  117. package/dist/components/ui/description-list.js.map +1 -0
  118. package/dist/components/ui/design-system-provider.d.ts +16 -0
  119. package/dist/components/ui/design-system-provider.js +27 -0
  120. package/dist/components/ui/design-system-provider.js.map +1 -0
  121. package/dist/components/ui/dialog.d.ts +49 -0
  122. package/dist/components/ui/dialog.js +233 -0
  123. package/dist/components/ui/dialog.js.map +1 -0
  124. package/dist/components/ui/document-surface.d.ts +7 -0
  125. package/dist/components/ui/document-surface.js +21 -0
  126. package/dist/components/ui/document-surface.js.map +1 -0
  127. package/dist/components/ui/drawer.d.ts +16 -0
  128. package/dist/components/ui/drawer.js +78 -0
  129. package/dist/components/ui/drawer.js.map +1 -0
  130. package/dist/components/ui/dropdown-menu.d.ts +98 -0
  131. package/dist/components/ui/dropdown-menu.js +169 -0
  132. package/dist/components/ui/dropdown-menu.js.map +1 -0
  133. package/dist/components/ui/edge.d.ts +2 -0
  134. package/dist/components/ui/edge.js +8 -0
  135. package/dist/components/ui/edge.js.map +1 -0
  136. package/dist/components/ui/empty-state.d.ts +22 -0
  137. package/dist/components/ui/empty-state.js +74 -0
  138. package/dist/components/ui/empty-state.js.map +1 -0
  139. package/dist/components/ui/facet-filter.d.ts +55 -0
  140. package/dist/components/ui/facet-filter.js +169 -0
  141. package/dist/components/ui/facet-filter.js.map +1 -0
  142. package/dist/components/ui/featured-icon.d.ts +13 -0
  143. package/dist/components/ui/featured-icon.js +41 -0
  144. package/dist/components/ui/featured-icon.js.map +1 -0
  145. package/dist/components/ui/feed-item.d.ts +32 -0
  146. package/dist/components/ui/feed-item.js +100 -0
  147. package/dist/components/ui/feed-item.js.map +1 -0
  148. package/dist/components/ui/file-icon.d.ts +37 -0
  149. package/dist/components/ui/file-icon.js +153 -0
  150. package/dist/components/ui/file-icon.js.map +1 -0
  151. package/dist/components/ui/file-upload.d.ts +44 -0
  152. package/dist/components/ui/file-upload.js +251 -0
  153. package/dist/components/ui/file-upload.js.map +1 -0
  154. package/dist/components/ui/filter-chip-bar.d.ts +18 -0
  155. package/dist/components/ui/filter-chip-bar.js +69 -0
  156. package/dist/components/ui/filter-chip-bar.js.map +1 -0
  157. package/dist/components/ui/form-section.d.ts +25 -0
  158. package/dist/components/ui/form-section.js +75 -0
  159. package/dist/components/ui/form-section.js.map +1 -0
  160. package/dist/components/ui/form.d.ts +27 -0
  161. package/dist/components/ui/form.js +89 -0
  162. package/dist/components/ui/form.js.map +1 -0
  163. package/dist/components/ui/grid/Grid.d.ts +4 -0
  164. package/dist/components/ui/grid/Grid.js +108 -0
  165. package/dist/components/ui/grid/Grid.js.map +1 -0
  166. package/dist/components/ui/grid/grid.interface.d.ts +19 -0
  167. package/dist/components/ui/grid/index.d.ts +2 -0
  168. package/dist/components/ui/heading-tag.d.ts +1 -0
  169. package/dist/components/ui/heatmap.d.ts +51 -0
  170. package/dist/components/ui/heatmap.js +148 -0
  171. package/dist/components/ui/heatmap.js.map +1 -0
  172. package/dist/components/ui/help-icon.d.ts +14 -0
  173. package/dist/components/ui/help-icon.js +40 -0
  174. package/dist/components/ui/help-icon.js.map +1 -0
  175. package/dist/components/ui/hero-section.d.ts +13 -0
  176. package/dist/components/ui/hero-section.js +38 -0
  177. package/dist/components/ui/hero-section.js.map +1 -0
  178. package/dist/components/ui/hover-card.d.ts +10 -0
  179. package/dist/components/ui/hover-card.js +47 -0
  180. package/dist/components/ui/hover-card.js.map +1 -0
  181. package/dist/components/ui/illustration.d.ts +22 -0
  182. package/dist/components/ui/illustration.js +45 -0
  183. package/dist/components/ui/illustration.js.map +1 -0
  184. package/dist/components/ui/inline-cta.d.ts +11 -0
  185. package/dist/components/ui/inline-cta.js +33 -0
  186. package/dist/components/ui/inline-cta.js.map +1 -0
  187. package/dist/components/ui/inline-edit.d.ts +19 -0
  188. package/dist/components/ui/inline-edit.js +67 -0
  189. package/dist/components/ui/inline-edit.js.map +1 -0
  190. package/dist/components/ui/input-digit.d.ts +25 -0
  191. package/dist/components/ui/input-digit.js +163 -0
  192. package/dist/components/ui/input-digit.js.map +1 -0
  193. package/dist/components/ui/input.d.ts +33 -0
  194. package/dist/components/ui/input.js +157 -0
  195. package/dist/components/ui/input.js.map +1 -0
  196. package/dist/components/ui/kanban-move-to-menu.d.ts +24 -0
  197. package/dist/components/ui/kanban-move-to-menu.js +39 -0
  198. package/dist/components/ui/kanban-move-to-menu.js.map +1 -0
  199. package/dist/components/ui/kanban-move.d.ts +17 -0
  200. package/dist/components/ui/kanban-move.js +20 -0
  201. package/dist/components/ui/kanban-move.js.map +1 -0
  202. package/dist/components/ui/kanban.d.ts +105 -0
  203. package/dist/components/ui/kanban.js +559 -0
  204. package/dist/components/ui/kanban.js.map +1 -0
  205. package/dist/components/ui/kbd.d.ts +15 -0
  206. package/dist/components/ui/kbd.js +44 -0
  207. package/dist/components/ui/kbd.js.map +1 -0
  208. package/dist/components/ui/label.d.ts +3 -0
  209. package/dist/components/ui/label.js +22 -0
  210. package/dist/components/ui/label.js.map +1 -0
  211. package/dist/components/ui/labels-context.d.ts +18 -0
  212. package/dist/components/ui/labels-context.js +18 -0
  213. package/dist/components/ui/labels-context.js.map +1 -0
  214. package/dist/components/ui/labels-de.d.ts +3 -0
  215. package/dist/components/ui/labels-de.js +369 -0
  216. package/dist/components/ui/labels-de.js.map +1 -0
  217. package/dist/components/ui/labels-en.d.ts +3 -0
  218. package/dist/components/ui/labels-en.js +364 -0
  219. package/dist/components/ui/labels-en.js.map +1 -0
  220. package/dist/components/ui/labels.d.ts +341 -0
  221. package/dist/components/ui/labels.js +12 -0
  222. package/dist/components/ui/labels.js.map +1 -0
  223. package/dist/components/ui/layout.d.ts +32 -0
  224. package/dist/components/ui/layout.js +74 -0
  225. package/dist/components/ui/layout.js.map +1 -0
  226. package/dist/components/ui/link-card.d.ts +17 -0
  227. package/dist/components/ui/link-card.js +55 -0
  228. package/dist/components/ui/link-card.js.map +1 -0
  229. package/dist/components/ui/link.d.ts +21 -0
  230. package/dist/components/ui/link.js +91 -0
  231. package/dist/components/ui/link.js.map +1 -0
  232. package/dist/components/ui/list/List.d.ts +24 -0
  233. package/dist/components/ui/list/List.js +90 -0
  234. package/dist/components/ui/list/List.js.map +1 -0
  235. package/dist/components/ui/list/index.d.ts +2 -0
  236. package/dist/components/ui/list/list.interface.d.ts +9 -0
  237. package/dist/components/ui/list-item.d.ts +17 -0
  238. package/dist/components/ui/list-item.js +76 -0
  239. package/dist/components/ui/list-item.js.map +1 -0
  240. package/dist/components/ui/loading-overlay.d.ts +13 -0
  241. package/dist/components/ui/loading-overlay.js +41 -0
  242. package/dist/components/ui/loading-overlay.js.map +1 -0
  243. package/dist/components/ui/loading-spinner.d.ts +74 -0
  244. package/dist/components/ui/loading-spinner.js +97 -0
  245. package/dist/components/ui/loading-spinner.js.map +1 -0
  246. package/dist/components/ui/logo-tile.d.ts +16 -0
  247. package/dist/components/ui/logo-tile.js +48 -0
  248. package/dist/components/ui/logo-tile.js.map +1 -0
  249. package/dist/components/ui/message.d.ts +42 -0
  250. package/dist/components/ui/message.js +174 -0
  251. package/dist/components/ui/message.js.map +1 -0
  252. package/dist/components/ui/metric-panel.d.ts +76 -0
  253. package/dist/components/ui/metric-panel.js +54 -0
  254. package/dist/components/ui/metric-panel.js.map +1 -0
  255. package/dist/components/ui/metric.d.ts +38 -0
  256. package/dist/components/ui/metric.js +160 -0
  257. package/dist/components/ui/metric.js.map +1 -0
  258. package/dist/components/ui/multiselect.d.ts +195 -0
  259. package/dist/components/ui/multiselect.js +1026 -0
  260. package/dist/components/ui/multiselect.js.map +1 -0
  261. package/dist/components/ui/navigation-menu.d.ts +19 -0
  262. package/dist/components/ui/navigation-menu.js +167 -0
  263. package/dist/components/ui/navigation-menu.js.map +1 -0
  264. package/dist/components/ui/notification-matrix.d.ts +30 -0
  265. package/dist/components/ui/notification-matrix.js +59 -0
  266. package/dist/components/ui/notification-matrix.js.map +1 -0
  267. package/dist/components/ui/notification.d.ts +34 -0
  268. package/dist/components/ui/notification.js +143 -0
  269. package/dist/components/ui/notification.js.map +1 -0
  270. package/dist/components/ui/object-icon.d.ts +14 -0
  271. package/dist/components/ui/object-icon.js +58 -0
  272. package/dist/components/ui/object-icon.js.map +1 -0
  273. package/dist/components/ui/page-header.d.ts +23 -0
  274. package/dist/components/ui/page-header.js +87 -0
  275. package/dist/components/ui/page-header.js.map +1 -0
  276. package/dist/components/ui/pagination-dot-group.d.ts +16 -0
  277. package/dist/components/ui/pagination-dot-group.js +92 -0
  278. package/dist/components/ui/pagination-dot-group.js.map +1 -0
  279. package/dist/components/ui/pagination.d.ts +43 -0
  280. package/dist/components/ui/pagination.js +272 -0
  281. package/dist/components/ui/pagination.js.map +1 -0
  282. package/dist/components/ui/phone-input/countries.d.ts +5 -0
  283. package/dist/components/ui/phone-input/countries.js +249 -0
  284. package/dist/components/ui/phone-input/countries.js.map +1 -0
  285. package/dist/components/ui/phone-input/index.d.ts +25 -0
  286. package/dist/components/ui/phone-input/index.js +143 -0
  287. package/dist/components/ui/phone-input/index.js.map +1 -0
  288. package/dist/components/ui/phone-input/use-state-history.d.ts +10 -0
  289. package/dist/components/ui/phone-input/use-state-history.js +34 -0
  290. package/dist/components/ui/phone-input/use-state-history.js.map +1 -0
  291. package/dist/components/ui/popover.d.ts +7 -0
  292. package/dist/components/ui/popover.js +37 -0
  293. package/dist/components/ui/popover.js.map +1 -0
  294. package/dist/components/ui/progress-circle.d.ts +25 -0
  295. package/dist/components/ui/progress-circle.js +120 -0
  296. package/dist/components/ui/progress-circle.js.map +1 -0
  297. package/dist/components/ui/progress.d.ts +29 -0
  298. package/dist/components/ui/progress.js +113 -0
  299. package/dist/components/ui/progress.js.map +1 -0
  300. package/dist/components/ui/radio-cards.d.ts +15 -0
  301. package/dist/components/ui/radio-cards.js +69 -0
  302. package/dist/components/ui/radio-cards.js.map +1 -0
  303. package/dist/components/ui/radio-group.d.ts +8 -0
  304. package/dist/components/ui/radio-group.js +51 -0
  305. package/dist/components/ui/radio-group.js.map +1 -0
  306. package/dist/components/ui/rating-input.d.ts +19 -0
  307. package/dist/components/ui/rating-input.js +80 -0
  308. package/dist/components/ui/rating-input.js.map +1 -0
  309. package/dist/components/ui/rich-text-editor.d.ts +18 -0
  310. package/dist/components/ui/rich-text-editor.js +190 -0
  311. package/dist/components/ui/rich-text-editor.js.map +1 -0
  312. package/dist/components/ui/rich-text-markdown.d.ts +10 -0
  313. package/dist/components/ui/rich-text-markdown.js +75 -0
  314. package/dist/components/ui/rich-text-markdown.js.map +1 -0
  315. package/dist/components/ui/rich-text-toolbar.d.ts +23 -0
  316. package/dist/components/ui/rich-text-toolbar.js +178 -0
  317. package/dist/components/ui/rich-text-toolbar.js.map +1 -0
  318. package/dist/components/ui/scroll-area.d.ts +4 -0
  319. package/dist/components/ui/scroll-area.js +32 -0
  320. package/dist/components/ui/scroll-area.js.map +1 -0
  321. package/dist/components/ui/secondary-nav.d.ts +41 -0
  322. package/dist/components/ui/secondary-nav.js +83 -0
  323. package/dist/components/ui/secondary-nav.js.map +1 -0
  324. package/dist/components/ui/secret-field.d.ts +19 -0
  325. package/dist/components/ui/secret-field.js +72 -0
  326. package/dist/components/ui/secret-field.js.map +1 -0
  327. package/dist/components/ui/section/section.d.ts +3 -0
  328. package/dist/components/ui/section/section.interface.d.ts +9 -0
  329. package/dist/components/ui/section/section.js +49 -0
  330. package/dist/components/ui/section/section.js.map +1 -0
  331. package/dist/components/ui/section-footer.d.ts +13 -0
  332. package/dist/components/ui/section-footer.js +37 -0
  333. package/dist/components/ui/section-footer.js.map +1 -0
  334. package/dist/components/ui/section-header.d.ts +16 -0
  335. package/dist/components/ui/section-header.js +33 -0
  336. package/dist/components/ui/section-header.js.map +1 -0
  337. package/dist/components/ui/section-label.d.ts +12 -0
  338. package/dist/components/ui/section-label.js +25 -0
  339. package/dist/components/ui/section-label.js.map +1 -0
  340. package/dist/components/ui/select.d.ts +27 -0
  341. package/dist/components/ui/select.js +198 -0
  342. package/dist/components/ui/select.js.map +1 -0
  343. package/dist/components/ui/separator.d.ts +13 -0
  344. package/dist/components/ui/separator.js +26 -0
  345. package/dist/components/ui/separator.js.map +1 -0
  346. package/dist/components/ui/sheet.d.ts +101 -0
  347. package/dist/components/ui/sheet.js +357 -0
  348. package/dist/components/ui/sheet.js.map +1 -0
  349. package/dist/components/ui/sidebar-nav.d.ts +101 -0
  350. package/dist/components/ui/sidebar-nav.js +313 -0
  351. package/dist/components/ui/sidebar-nav.js.map +1 -0
  352. package/dist/components/ui/sidebar.d.ts +134 -0
  353. package/dist/components/ui/sidebar.js +510 -0
  354. package/dist/components/ui/sidebar.js.map +1 -0
  355. package/dist/components/ui/signature-box.d.ts +13 -0
  356. package/dist/components/ui/signature-box.js +70 -0
  357. package/dist/components/ui/signature-box.js.map +1 -0
  358. package/dist/components/ui/signature-pad.d.ts +15 -0
  359. package/dist/components/ui/signature-pad.js +102 -0
  360. package/dist/components/ui/signature-pad.js.map +1 -0
  361. package/dist/components/ui/singleselect.d.ts +55 -0
  362. package/dist/components/ui/singleselect.js +753 -0
  363. package/dist/components/ui/singleselect.js.map +1 -0
  364. package/dist/components/ui/skeleton.d.ts +9 -0
  365. package/dist/components/ui/skeleton.js +77 -0
  366. package/dist/components/ui/skeleton.js.map +1 -0
  367. package/dist/components/ui/skill-category.d.ts +1 -0
  368. package/dist/components/ui/slider.d.ts +33 -0
  369. package/dist/components/ui/slider.js +241 -0
  370. package/dist/components/ui/slider.js.map +1 -0
  371. package/dist/components/ui/spacing/Spacing.d.ts +10 -0
  372. package/dist/components/ui/spacing/Spacing.js +85 -0
  373. package/dist/components/ui/spacing/Spacing.js.map +1 -0
  374. package/dist/components/ui/spacing/index.d.ts +4 -0
  375. package/dist/components/ui/spacing/spacer.d.ts +32 -0
  376. package/dist/components/ui/spacing/spacer.js +52 -0
  377. package/dist/components/ui/spacing/spacer.js.map +1 -0
  378. package/dist/components/ui/spacing/spacing.interface.d.ts +9 -0
  379. package/dist/components/ui/status-dot.d.ts +13 -0
  380. package/dist/components/ui/status-dot.js +40 -0
  381. package/dist/components/ui/status-dot.js.map +1 -0
  382. package/dist/components/ui/step-marker.d.ts +15 -0
  383. package/dist/components/ui/step-marker.js +55 -0
  384. package/dist/components/ui/step-marker.js.map +1 -0
  385. package/dist/components/ui/stepper/context.d.ts +27 -0
  386. package/dist/components/ui/stepper/context.js +41 -0
  387. package/dist/components/ui/stepper/context.js.map +1 -0
  388. package/dist/components/ui/stepper/horizontal-step.d.ts +4 -0
  389. package/dist/components/ui/stepper/horizontal-step.js +93 -0
  390. package/dist/components/ui/stepper/horizontal-step.js.map +1 -0
  391. package/dist/components/ui/stepper/index.d.ts +7 -0
  392. package/dist/components/ui/stepper/index.js +121 -0
  393. package/dist/components/ui/stepper/index.js.map +1 -0
  394. package/dist/components/ui/stepper/step-button-container.d.ts +8 -0
  395. package/dist/components/ui/stepper/step-button-container.js +60 -0
  396. package/dist/components/ui/stepper/step-button-container.js.map +1 -0
  397. package/dist/components/ui/stepper/step-icon.d.ts +15 -0
  398. package/dist/components/ui/stepper/step-icon.js +49 -0
  399. package/dist/components/ui/stepper/step-icon.js.map +1 -0
  400. package/dist/components/ui/stepper/step-label.d.ts +8 -0
  401. package/dist/components/ui/stepper/step-label.js +66 -0
  402. package/dist/components/ui/stepper/step-label.js.map +1 -0
  403. package/dist/components/ui/stepper/step.d.ts +4 -0
  404. package/dist/components/ui/stepper/step.js +52 -0
  405. package/dist/components/ui/stepper/step.js.map +1 -0
  406. package/dist/components/ui/stepper/types.d.ts +79 -0
  407. package/dist/components/ui/stepper/use-media-query.d.ts +1 -0
  408. package/dist/components/ui/stepper/use-media-query.js +17 -0
  409. package/dist/components/ui/stepper/use-media-query.js.map +1 -0
  410. package/dist/components/ui/stepper/use-stepper.d.ts +50 -0
  411. package/dist/components/ui/stepper/use-stepper.js +28 -0
  412. package/dist/components/ui/stepper/use-stepper.js.map +1 -0
  413. package/dist/components/ui/stepper/vertical-step.d.ts +6 -0
  414. package/dist/components/ui/stepper/vertical-step.js +149 -0
  415. package/dist/components/ui/stepper/vertical-step.js.map +1 -0
  416. package/dist/components/ui/switch.d.ts +23 -0
  417. package/dist/components/ui/switch.js +56 -0
  418. package/dist/components/ui/switch.js.map +1 -0
  419. package/dist/components/ui/table-cells.d.ts +127 -0
  420. package/dist/components/ui/table-cells.js +417 -0
  421. package/dist/components/ui/table-cells.js.map +1 -0
  422. package/dist/components/ui/table-of-contents.d.ts +18 -0
  423. package/dist/components/ui/table-of-contents.js +66 -0
  424. package/dist/components/ui/table-of-contents.js.map +1 -0
  425. package/dist/components/ui/table.d.ts +134 -0
  426. package/dist/components/ui/table.js +443 -0
  427. package/dist/components/ui/table.js.map +1 -0
  428. package/dist/components/ui/tabs.d.ts +44 -0
  429. package/dist/components/ui/tabs.js +138 -0
  430. package/dist/components/ui/tabs.js.map +1 -0
  431. package/dist/components/ui/tag-input.d.ts +24 -0
  432. package/dist/components/ui/tag-input.js +173 -0
  433. package/dist/components/ui/tag-input.js.map +1 -0
  434. package/dist/components/ui/textarea.d.ts +9 -0
  435. package/dist/components/ui/textarea.js +74 -0
  436. package/dist/components/ui/textarea.js.map +1 -0
  437. package/dist/components/ui/toast.d.ts +26 -0
  438. package/dist/components/ui/toast.js +145 -0
  439. package/dist/components/ui/toast.js.map +1 -0
  440. package/dist/components/ui/toaster.d.ts +1 -0
  441. package/dist/components/ui/toaster.js +24 -0
  442. package/dist/components/ui/toaster.js.map +1 -0
  443. package/dist/components/ui/toggle-group.d.ts +27 -0
  444. package/dist/components/ui/toggle-group.js +94 -0
  445. package/dist/components/ui/toggle-group.js.map +1 -0
  446. package/dist/components/ui/toggle.d.ts +14 -0
  447. package/dist/components/ui/toggle.js +44 -0
  448. package/dist/components/ui/toggle.js.map +1 -0
  449. package/dist/components/ui/tooltip.d.ts +32 -0
  450. package/dist/components/ui/tooltip.js +60 -0
  451. package/dist/components/ui/tooltip.js.map +1 -0
  452. package/dist/components/ui/topbar.d.ts +132 -0
  453. package/dist/components/ui/topbar.js +424 -0
  454. package/dist/components/ui/topbar.js.map +1 -0
  455. package/dist/components/ui/use-scroll-region.d.ts +4 -0
  456. package/dist/components/ui/use-scroll-region.js +17 -0
  457. package/dist/components/ui/use-scroll-region.js.map +1 -0
  458. package/dist/components/ui/use-toast.d.ts +44 -0
  459. package/dist/components/ui/use-toast.js +97 -0
  460. package/dist/components/ui/use-toast.js.map +1 -0
  461. package/dist/components/ui/verified-tick.d.ts +18 -0
  462. package/dist/components/ui/verified-tick.js +41 -0
  463. package/dist/components/ui/verified-tick.js.map +1 -0
  464. package/dist/components/ui/versions.d.ts +40 -0
  465. package/dist/components/ui/versions.js +127 -0
  466. package/dist/components/ui/versions.js.map +1 -0
  467. package/dist/index.d.ts +139 -0
  468. package/dist/index.js +637 -0
  469. package/dist/index.js.map +1 -0
  470. package/dist/lib/dangling-controls.d.ts +3 -0
  471. package/dist/lib/dangling-controls.js +22 -0
  472. package/dist/lib/dangling-controls.js.map +1 -0
  473. package/dist/lib/is-mobile.d.ts +1 -0
  474. package/dist/lib/is-mobile.js +10 -0
  475. package/dist/lib/is-mobile.js.map +1 -0
  476. package/dist/lib/nested-layer.d.ts +14 -0
  477. package/dist/lib/nested-layer.js +32 -0
  478. package/dist/lib/nested-layer.js.map +1 -0
  479. package/dist/lib/recipes.d.ts +23 -0
  480. package/dist/lib/recipes.js +145 -0
  481. package/dist/lib/recipes.js.map +1 -0
  482. package/dist/lib/return-focus.d.ts +9 -0
  483. package/dist/lib/return-focus.js +41 -0
  484. package/dist/lib/return-focus.js.map +1 -0
  485. package/dist/lib/sticky-inset.d.ts +6 -0
  486. package/dist/lib/sticky-inset.js +31 -0
  487. package/dist/lib/sticky-inset.js.map +1 -0
  488. package/dist/lib/use-escape-key.d.ts +1 -0
  489. package/dist/lib/use-escape-key.js +18 -0
  490. package/dist/lib/use-escape-key.js.map +1 -0
  491. package/dist/lib/utils.d.ts +5 -0
  492. package/dist/lib/utils.js +120 -0
  493. package/dist/lib/utils.js.map +1 -0
  494. package/dist/styles.css +3 -0
  495. package/flags/ad.svg +150 -0
  496. package/flags/ae.svg +6 -0
  497. package/flags/af.svg +81 -0
  498. package/flags/ag.svg +14 -0
  499. package/flags/ai.svg +29 -0
  500. package/flags/al.svg +5 -0
  501. package/flags/am.svg +5 -0
  502. package/flags/ao.svg +13 -0
  503. package/flags/aq.svg +5 -0
  504. package/flags/ar.svg +32 -0
  505. package/flags/as.svg +72 -0
  506. package/flags/at.svg +6 -0
  507. package/flags/au.svg +8 -0
  508. package/flags/aw.svg +186 -0
  509. package/flags/ax.svg +18 -0
  510. package/flags/az.svg +8 -0
  511. package/flags/ba.svg +12 -0
  512. package/flags/bb.svg +6 -0
  513. package/flags/bd.svg +4 -0
  514. package/flags/be.svg +7 -0
  515. package/flags/bf.svg +7 -0
  516. package/flags/bg.svg +7 -0
  517. package/flags/bh.svg +4 -0
  518. package/flags/bi.svg +15 -0
  519. package/flags/bj.svg +14 -0
  520. package/flags/bl.svg +5 -0
  521. package/flags/bm.svg +97 -0
  522. package/flags/bn.svg +36 -0
  523. package/flags/bo.svg +674 -0
  524. package/flags/bq.svg +5 -0
  525. package/flags/br.svg +45 -0
  526. package/flags/bs.svg +13 -0
  527. package/flags/bt.svg +89 -0
  528. package/flags/bv.svg +13 -0
  529. package/flags/bw.svg +7 -0
  530. package/flags/by.svg +18 -0
  531. package/flags/bz.svg +145 -0
  532. package/flags/ca.svg +4 -0
  533. package/flags/cc.svg +19 -0
  534. package/flags/cd.svg +5 -0
  535. package/flags/cf.svg +15 -0
  536. package/flags/cg.svg +12 -0
  537. package/flags/ch.svg +9 -0
  538. package/flags/ci.svg +7 -0
  539. package/flags/ck.svg +9 -0
  540. package/flags/cl.svg +13 -0
  541. package/flags/cm.svg +15 -0
  542. package/flags/cn.svg +11 -0
  543. package/flags/co.svg +7 -0
  544. package/flags/cp.svg +7 -0
  545. package/flags/cr.svg +7 -0
  546. package/flags/cu.svg +13 -0
  547. package/flags/cv.svg +13 -0
  548. package/flags/cw.svg +14 -0
  549. package/flags/cx.svg +15 -0
  550. package/flags/cy.svg +6 -0
  551. package/flags/cz.svg +5 -0
  552. package/flags/de.svg +5 -0
  553. package/flags/dg.svg +130 -0
  554. package/flags/dj.svg +13 -0
  555. package/flags/dk.svg +5 -0
  556. package/flags/dm.svg +152 -0
  557. package/flags/do.svg +121 -0
  558. package/flags/dz.svg +5 -0
  559. package/flags/ec.svg +138 -0
  560. package/flags/ee.svg +7 -0
  561. package/flags/eg.svg +38 -0
  562. package/flags/eh.svg +16 -0
  563. package/flags/er.svg +8 -0
  564. package/flags/es.svg +544 -0
  565. package/flags/et.svg +14 -0
  566. package/flags/eu.svg +28 -0
  567. package/flags/fi.svg +5 -0
  568. package/flags/fj.svg +120 -0
  569. package/flags/fk.svg +90 -0
  570. package/flags/fm.svg +11 -0
  571. package/flags/fo.svg +12 -0
  572. package/flags/fr.svg +5 -0
  573. package/flags/ga.svg +7 -0
  574. package/flags/gb.svg +7 -0
  575. package/flags/gd.svg +27 -0
  576. package/flags/ge.svg +6 -0
  577. package/flags/gf.svg +5 -0
  578. package/flags/gg.svg +9 -0
  579. package/flags/gh.svg +6 -0
  580. package/flags/gi.svg +32 -0
  581. package/flags/gl.svg +4 -0
  582. package/flags/gm.svg +14 -0
  583. package/flags/gn.svg +7 -0
  584. package/flags/gp.svg +5 -0
  585. package/flags/gq.svg +23 -0
  586. package/flags/gr.svg +16 -0
  587. package/flags/gs.svg +133 -0
  588. package/flags/gt.svg +204 -0
  589. package/flags/gu.svg +23 -0
  590. package/flags/gw.svg +13 -0
  591. package/flags/gy.svg +9 -0
  592. package/flags/hk.svg +8 -0
  593. package/flags/hm.svg +8 -0
  594. package/flags/hn.svg +18 -0
  595. package/flags/hr.svg +58 -0
  596. package/flags/ht.svg +116 -0
  597. package/flags/hu.svg +7 -0
  598. package/flags/ic.svg +7 -0
  599. package/flags/id.svg +4 -0
  600. package/flags/ie.svg +7 -0
  601. package/flags/il.svg +14 -0
  602. package/flags/im.svg +36 -0
  603. package/flags/in.svg +25 -0
  604. package/flags/io.svg +130 -0
  605. package/flags/iq.svg +10 -0
  606. package/flags/ir.svg +219 -0
  607. package/flags/is.svg +12 -0
  608. package/flags/it.svg +7 -0
  609. package/flags/je.svg +62 -0
  610. package/flags/jm.svg +8 -0
  611. package/flags/jo.svg +16 -0
  612. package/flags/jp.svg +11 -0
  613. package/flags/ke.svg +23 -0
  614. package/flags/kg.svg +15 -0
  615. package/flags/kh.svg +61 -0
  616. package/flags/ki.svg +36 -0
  617. package/flags/km.svg +16 -0
  618. package/flags/kn.svg +14 -0
  619. package/flags/kp.svg +15 -0
  620. package/flags/kr.svg +24 -0
  621. package/flags/kw.svg +13 -0
  622. package/flags/ky.svg +103 -0
  623. package/flags/kz.svg +36 -0
  624. package/flags/la.svg +12 -0
  625. package/flags/lb.svg +15 -0
  626. package/flags/lc.svg +8 -0
  627. package/flags/li.svg +43 -0
  628. package/flags/lk.svg +22 -0
  629. package/flags/lr.svg +14 -0
  630. package/flags/ls.svg +8 -0
  631. package/flags/lt.svg +7 -0
  632. package/flags/lu.svg +5 -0
  633. package/flags/lv.svg +6 -0
  634. package/flags/ly.svg +13 -0
  635. package/flags/ma.svg +4 -0
  636. package/flags/mc.svg +6 -0
  637. package/flags/md.svg +70 -0
  638. package/flags/me.svg +116 -0
  639. package/flags/mf.svg +5 -0
  640. package/flags/mg.svg +7 -0
  641. package/flags/mh.svg +7 -0
  642. package/flags/mk.svg +5 -0
  643. package/flags/ml.svg +7 -0
  644. package/flags/mm.svg +12 -0
  645. package/flags/mn.svg +14 -0
  646. package/flags/mo.svg +9 -0
  647. package/flags/mp.svg +86 -0
  648. package/flags/mq.svg +5 -0
  649. package/flags/mr.svg +6 -0
  650. package/flags/ms.svg +29 -0
  651. package/flags/mt.svg +49 -0
  652. package/flags/mu.svg +8 -0
  653. package/flags/mv.svg +6 -0
  654. package/flags/mw.svg +10 -0
  655. package/flags/mx.svg +382 -0
  656. package/flags/my.svg +26 -0
  657. package/flags/mz.svg +21 -0
  658. package/flags/na.svg +16 -0
  659. package/flags/nc.svg +13 -0
  660. package/flags/ne.svg +6 -0
  661. package/flags/nf.svg +9 -0
  662. package/flags/ng.svg +6 -0
  663. package/flags/ni.svg +129 -0
  664. package/flags/nl.svg +5 -0
  665. package/flags/no.svg +7 -0
  666. package/flags/np.svg +13 -0
  667. package/flags/nr.svg +12 -0
  668. package/flags/nu.svg +10 -0
  669. package/flags/nz.svg +36 -0
  670. package/flags/om.svg +115 -0
  671. package/flags/pa.svg +14 -0
  672. package/flags/pc.svg +33 -0
  673. package/flags/pe.svg +4 -0
  674. package/flags/pf.svg +19 -0
  675. package/flags/pg.svg +9 -0
  676. package/flags/ph.svg +6 -0
  677. package/flags/pk.svg +15 -0
  678. package/flags/pl.svg +6 -0
  679. package/flags/pm.svg +5 -0
  680. package/flags/pn.svg +53 -0
  681. package/flags/pr.svg +13 -0
  682. package/flags/ps.svg +15 -0
  683. package/flags/pt.svg +57 -0
  684. package/flags/pw.svg +11 -0
  685. package/flags/py.svg +157 -0
  686. package/flags/qa.svg +4 -0
  687. package/flags/re.svg +5 -0
  688. package/flags/ro.svg +7 -0
  689. package/flags/rs.svg +292 -0
  690. package/flags/ru.svg +7 -0
  691. package/flags/rw.svg +13 -0
  692. package/flags/sa.svg +25 -0
  693. package/flags/sb.svg +13 -0
  694. package/flags/sc.svg +7 -0
  695. package/flags/sd.svg +13 -0
  696. package/flags/se.svg +4 -0
  697. package/flags/sg.svg +13 -0
  698. package/flags/sh.svg +7 -0
  699. package/flags/si.svg +18 -0
  700. package/flags/sj.svg +7 -0
  701. package/flags/sk.svg +9 -0
  702. package/flags/sl.svg +7 -0
  703. package/flags/sm.svg +75 -0
  704. package/flags/sn.svg +8 -0
  705. package/flags/so.svg +11 -0
  706. package/flags/sr.svg +6 -0
  707. package/flags/ss.svg +8 -0
  708. package/flags/st.svg +16 -0
  709. package/flags/sv.svg +594 -0
  710. package/flags/sx.svg +56 -0
  711. package/flags/sy.svg +6 -0
  712. package/flags/sz.svg +34 -0
  713. package/flags/tc.svg +50 -0
  714. package/flags/td.svg +7 -0
  715. package/flags/tf.svg +15 -0
  716. package/flags/tg.svg +14 -0
  717. package/flags/th.svg +7 -0
  718. package/flags/tj.svg +22 -0
  719. package/flags/tk.svg +5 -0
  720. package/flags/tl.svg +13 -0
  721. package/flags/tm.svg +204 -0
  722. package/flags/tn.svg +4 -0
  723. package/flags/to.svg +10 -0
  724. package/flags/tr.svg +8 -0
  725. package/flags/tt.svg +5 -0
  726. package/flags/tv.svg +9 -0
  727. package/flags/tw.svg +34 -0
  728. package/flags/tz.svg +13 -0
  729. package/flags/ua.svg +6 -0
  730. package/flags/ug.svg +30 -0
  731. package/flags/um.svg +9 -0
  732. package/flags/un.svg +16 -0
  733. package/flags/us.svg +9 -0
  734. package/flags/uy.svg +28 -0
  735. package/flags/uz.svg +30 -0
  736. package/flags/va.svg +190 -0
  737. package/flags/vc.svg +8 -0
  738. package/flags/ve.svg +26 -0
  739. package/flags/vg.svg +59 -0
  740. package/flags/vi.svg +28 -0
  741. package/flags/vn.svg +11 -0
  742. package/flags/vu.svg +21 -0
  743. package/flags/wf.svg +5 -0
  744. package/flags/ws.svg +7 -0
  745. package/flags/xk.svg +5 -0
  746. package/flags/xx.svg +4 -0
  747. package/flags/ye.svg +7 -0
  748. package/flags/yt.svg +5 -0
  749. package/flags/za.svg +17 -0
  750. package/flags/zm.svg +27 -0
  751. package/flags/zw.svg +21 -0
  752. package/package.json +147 -4
  753. package/styles/animation.css +90 -0
  754. package/styles/build.css +7 -0
  755. package/styles/document-surface.css +408 -0
  756. package/styles/theme.css +3365 -0
  757. package/tailwind/preset.cjs +208 -0
  758. package/tailwind/tailwind.preset.cjs +7317 -0
  759. package/tailwind/tailwind.theme.cjs +2996 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,154 @@
1
+ # Changelog
2
+
3
+ This package is a copy of the general components of the Get IT Done design system. Each release names the library and token versions it was synced from. Only changes to components that are part of this package are listed.
4
+
5
+ ## 0.4.0
6
+
7
+ Renamed from `@getitdone-gmbh/kette-design` to `@getitdone-gmbh/kette-design-community`, repo `getitdone-gmbh/kette-design-community`. Synced from component-library-react 0.26.23 and figma-design-tokens 5.16.0, the same as 0.3.7.
8
+
9
+ ### Migration
10
+
11
+ - `npm uninstall @getitdone-gmbh/kette-design && npm install @getitdone-gmbh/kette-design-community`
12
+ - Replace `@getitdone-gmbh/kette-design` with `@getitdone-gmbh/kette-design-community` in imports, CSS `@import`s, the Tailwind `presets` entry and the Tailwind `content` path (`./node_modules/@getitdone-gmbh/kette-design-community/dist/**/*.js`).
13
+ - No component, theme or preset changes. `@getitdone-gmbh/kette-design` stays at 0.3.7 and is deprecated with a pointer to the new name.
14
+ - The shadcn registry at `zero-design.itdone.de/r` keeps its URLs.
15
+
16
+ ## 0.3.7
17
+
18
+ Synced from component-library-react 0.26.23 and figma-design-tokens 5.16.0 (was 0.26.22 and 5.15.0).
19
+
20
+ ### Components
21
+
22
+ - **`NavigationMenu` placement**: the open panel is placed on the first open, when its content changes, on window resize and on page scroll. Before, it moved only on resize.
23
+ - **`NavigationMenu` layer**: the open panel renders in a portal on `body` on the dropdown layer (`z-dropdown`, 65), so a header on the chrome layer no longer clips it and a cookie banner (`z-banner`, 40) can no longer cover its last rows. The viewport anchor is now `position: fixed` with viewport coordinates for `left` and `top` (before: an offset from the root). A header that wrapped the panel in its own `z-index` or a resize workaround can drop it.
24
+ - **`NavigationMenu` height**: the panel is capped to the viewport height below the trigger minus `collisionPadding` (`--navigation-menu-available-height`) and scrolls inside, reachable by keyboard.
25
+ - **Page chrome layer**: the fixed `Sidebar` uses `z-chrome` (30, was a raw 30). Put `sticky top-0 z-chrome` on your own app header or `TopBar`.
26
+ - **Sticky bars in `Sheet`, `Dialog` and `Drawer`**: a sticky or fixed `SheetHeader`, `SheetFooter`, `DialogHeader`, `DialogFooter`, `DrawerHeader` or `DrawerFooter` reports its height as `--sticky-inset-top` or `--sticky-inset-bottom` on the content. The content panel, `SheetBody` and `DialogBody` use it as scroll padding, so a focused element is never hidden under the bar (WCAG 2.4.11). A bar in normal flow adds no padding. The six parts now forward a `ref`. New helper `src/lib/sticky-inset.ts`, in the shadcn registry as `sticky-inset` (pulled in by `sheet`, `dialog` and `drawer`).
27
+ - **Focus return**: an opener that is re-created with a new key while a controlled overlay is open gets focus back on close. It is found again by id, else by tag, accessible name and text.
28
+ - Tests: `navigation-menu.test.tsx`, `src/lib/overlay-behaviour.test.tsx`, `src/lib/css-selectors.test.ts`, `src/lib/z-layers.test.ts` (chrome layer), `src/lib/icon-stroke.test.tsx`.
29
+
30
+ ### Theme and Tailwind preset
31
+
32
+ - New token from 5.16.0: `--z-chrome` (30, `z-chrome`).
33
+ - **Fix: malformed selector in `dist/styles.css` and the preset.** The 2.25 rule for 12px glyphs is now three rules with one selector each, and the size classes are matched as `[class~='h-icon-2xs']` and `[class~='size-icon-2xs']`. Before, Tailwind treated the class selector in the base rule as a utility and re-emitted it under `[&>svg]:h-icon-2xs`, which produced the dead selector `...h-icon-2xs>svgsvg.lucide`. The new test `src/lib/css-selectors.test.ts` builds the package CSS and parses every selector. `postcss-selector-parser` is a new dev dependency for that test.
34
+
35
+ ### Stories
36
+
37
+ - New: Dialog `StickyHeaderAndFooter`, Navigation Menu `LongPanelAboveBanner`, Sheet `StickyHeaderReverseTab`. 128 story files with 1027 stories.
38
+
39
+ ## 0.3.6
40
+
41
+ Synced from component-library-react 0.26.22 and figma-design-tokens 5.15.0 (was 0.26.18 and 5.13.0).
42
+
43
+ ### Components
44
+
45
+ - **`LogoTile` initials** use the logo tile font sizes and weight 700 (`font-bold`): `xs` (24px) `text-logo-tile-24` (11px), `sm` (32px) `text-logo-tile-32` (13px), `md` (40px) `text-logo-tile-40` (16px). Was the avatar-xs role (10px, weight 600) for `xs` and the ui-semibold role (weight 600) for `sm` and `md`. `DescriptionList` uses `LogoTile` and follows.
46
+ - **`Sidebar` workspace switcher**: the trigger logo (24px) uses `rounded-logo-tile-24 text-logo-tile-24` instead of `rounded-[6px]` and `text-micro` (same pixels, weight 700). The menu item logo (20px) uses `rounded-logo-tile-20 text-logo-tile-20 font-bold leading-none` (radius 5, 10px, weight 700), was `rounded-item text-micro`.
47
+ - **`CookieConsent`**: `titleAs` also accepts `p` (new exported type `CookieConsentTitleTag`, `HeadingTag | 'p'`). With `titleAs="p"` the banner title is a plain paragraph, the region keeps its accessible name and the banner adds no heading to the page. Default stays `h2`.
48
+ - **Layering**: one z-index order for fixed and overlay components, see `docs/layering.md`. Page chrome (below 40), banners (40), sheet (50), dialog (60), menus and popovers (65), toast (70), tooltip (80). `CookieConsent` and the floating `ChatWindow` use `z-banner` (40, was 50), so every sheet and dialog now covers them (WCAG 2.4.11). `Sheet` and `Drawer` use `z-sheet`, `Toast` uses `z-toast` (70, was a raw 100), `HoverCard` content uses `z-dropdown` (65, was a raw 250) and its backdrop `z-dialog`, `Table` uses `z-sticky` and `z-raised`, the `NavigationMenu` root and indicator `z-sticky` and `z-raised`. Consumers that wrap a banner in their own z-index above 40 should drop that value.
49
+ - **`NavigationMenu`**: the open panel stays inside the viewport. It is shifted left when it would pass the right edge and right when it would pass the left edge. New prop `collisionPadding` (px, default 16) on `NavigationMenu` and `NavigationMenuViewport`. The panel width is capped at the viewport width minus that margin.
50
+ - `cn()` knows the `text-logo-tile-20/24/32/40/48` font sizes, so a later text colour class no longer merges them away.
51
+ - Tests: Logo Tile, Sidebar logo tiles, Cookie Consent `titleAs="p"`, `navigation-menu.test.tsx`, `src/lib/z-layers.test.ts` (no raw z-index of 40 or more in a component, banner below the modal layers).
52
+
53
+ ### Theme and Tailwind preset
54
+
55
+ - New tokens from 5.14.0 and 5.15.0: `--fontSize-logo-tile-20` to `-48` (`text-logo-tile-*`), `--borderRadius-logo-tile-20` (`rounded-logo-tile-20`), `--z-banner` (40, `z-banner`).
56
+ - Icon stroke: the 2.25 rule for 12px glyphs in this package's preset now has the same `:not([data-stroke="fixed"])` opt-out as the 1.75 rule. Icons marked `data-stroke="fixed"` keep their own stroke inside 12px wrappers.
57
+
58
+ ### Stories
59
+
60
+ - New: Cookie Consent `TitleAsParagraph` and `BelowOpenSheet`, Navigation Menu `RightAlignedNearEdge`. 128 story files with 1024 stories.
61
+
62
+ ## 0.3.5
63
+
64
+ Synced from component-library-react 0.26.18 and figma-design-tokens 5.13.0 (was 0.26.16 and 5.12.0).
65
+
66
+ ### Components
67
+
68
+ - **Behaviour change: `AlertTitle` renders a `<p>`, not an `<h5>`**. An alert title is rarely a real section heading, and the old default caused heading-order skips. The typography stays (`font-semibold leading-none`). `titleAs` still renders any `h1` to `h6`: where the title belongs to the document outline, pass `titleAs="h3"` (or the level that fits the page). Tests or selectors that looked up `role="heading"` for an alert title need `titleAs` or should query the text. `AlertTitleProps` now extends `React.HTMLAttributes<HTMLElement>`, the ref type is `HTMLElement`.
69
+ - **`LogoTile` radius is fixed per size** (size x 0.25, as in the prototype): `xs` (24px) `rounded-logo-tile-24` (6px), `sm` (32px) `rounded-logo-tile-32` (8px), `md` (40px) `rounded-logo-tile-40` (10px). Was `rounded-item` for all sizes. The radius no longer follows the theme radius roles; it is 0 in the windows-95 theme. `DescriptionList` uses `LogoTile` and follows.
70
+
71
+ ### Theme and Tailwind preset
72
+
73
+ - New tokens from 5.13.0: `--borderRadius-logo-tile-24`, `--borderRadius-logo-tile-32`, `--borderRadius-logo-tile-48` next to `--borderRadius-logo-tile-40` (`rounded-logo-tile-24/-32/-40/-48`).
74
+ - Icon stroke opt-out: the 1.75 base rule from the token preset is now `:where(svg.lucide[stroke-width="2"]:not([data-stroke="fixed"]))`. An icon that deliberately sets `strokeWidth={2}` keeps stroke 2 with `data-stroke="fixed"`. Specificity stays zero.
75
+
76
+ ## 0.3.4
77
+
78
+ Synced from component-library-react 0.26.16 and figma-design-tokens 5.12.0 (was 0.26.14 and 5.10.0).
79
+
80
+ ### Components
81
+
82
+ - **Icon stroke**: lucide icons that keep their default `stroke-width="2"` render with the prototype stroke `var(--size-icon-stroke, 1.75)`, 12px glyphs (`h-icon-2xs`, `size-icon-2xs` or the direct `svg` child of such a wrapper, for example `StepMarker` sm) with `var(--size-icon-stroke-sm, 2.25)`. An explicit `strokeWidth` prop such as `1.5` is kept. Both rules are wrapped in `:where()`, so a utility class still wins. This is a slight visible change: icons are thinner than before (was 2).
83
+ - **Check marks**: `Checkbox`, the `CheckboxGroup` card tick, the completed `Stepper` step and `StepMarker` draw the check with `var(--size-icon-stroke-check, 3)`. `Checkbox` now uses the lucide `Check` instead of the Radix check glyph, same 12px (`sm`) and 16px sizes.
84
+ - **Navigation icons are 15px** (`icon-nav`): `SecondaryNav` item icons (wrapper and the svg inside it) and the icons in vertical `Tabs` triggers. Was 16px for `SecondaryNav`.
85
+
86
+ ### Theme and Tailwind preset
87
+
88
+ - New tokens from 5.11.0 to 5.12.0: `--size-icon-nav` (15px, `h-icon-nav`, `w-icon-nav`, `size-icon-nav`), `--size-icon-stroke`, `--size-icon-stroke-sm`, `--size-icon-stroke-check` and the Figma pixel strokes `--size-icon-stroke-px-*`, `--borderRadius-logo-tile-40` (`rounded-logo-tile-40`).
89
+ - The preset (`@getitdone-gmbh/kette-design/tailwind/preset`) carries the stroke rules as base styles plus `safelist: ['lucide']`, so apps that build their own Tailwind with the preset get them without importing `styles.css`. The 1.75 rule comes from the token preset, the 2.25 rule for 12px glyphs is added by this package's preset; `dist/styles.css` and Storybook are built from the same preset, so each rule exists exactly once.
90
+
91
+ ## 0.3.3
92
+
93
+ Synced from component-library-react 0.26.14 and figma-design-tokens 5.10.0 (was 0.26.13 and 5.9.0).
94
+
95
+ ### Components
96
+
97
+ - **NotificationMatrix**: new `selected` prop on `NotificationMatrixRow` and `NotificationMatrixCell`. A selected row uses the brand row tint `bg-background-selected-row` (also on hover, active and pinned cells), its description switches to `text-text-subtle-on-selected` for AA contrast. The row keeps `data-state="selected"` and `aria-selected`. New story Selected Row.
98
+
99
+ ### Theme
100
+
101
+ - New roles from tokens 5.10.0: `background-selected-row` and `text-subtle-on-selected` (zero theme, light and dark, also in `document-surface.css`). The Tailwind preset gains `blue.950`.
102
+
103
+ ### Docs
104
+
105
+ - The README no longer names the synced library and token versions; it links to the sync history in `docs/MAINTAINING.md`.
106
+
107
+ ## 0.3.2
108
+
109
+ Synced from component-library-react 0.26.13 and figma-design-tokens 5.9.0 (was 0.26.12 and 5.8.0).
110
+
111
+ ### Components
112
+
113
+ - **Text roles instead of alpha on text**: the new roles `text-text-inverse-subtle` and `text-text-on-inverse-static-subtle` replace the `text-*/NN` alpha colours in `TopBarBrand` (inverse byline), `MetricPanel` (`inverse` muted text; `inverse-fixed` muted text is now `text-text-subtle`), `HeroSection` (inverse supporting text), `CodeSnippet` (inverse gutter and label) and the inverse code highlight palette (comments, punctuation, numbers, properties, variables).
114
+ - **Tooltip** and **HelpIcon**: supporting text on the dark tooltip uses `text-text-inverse-subtle`, which restores the hierarchy at AA contrast.
115
+ - **Toast**: the destructive close icon uses the full `text-general-error-on` colour.
116
+
117
+ ### Theme
118
+
119
+ - New roles from tokens 5.9.0: `text-inverse-subtle` and `text-on-inverse-static-subtle` (zero theme, light and dark, also in `document-surface.css`).
120
+
121
+ ## 0.3.1
122
+
123
+ Synced from component-library-react 0.26.12 and figma-design-tokens 5.8.0 (was 0.26.7 and 5.5.0).
124
+
125
+ ### Components
126
+
127
+ - **Heading level props** (`titleAs`, default stays the current level): `AlertTitle` (h5), `CardTitle` (h3), `KanbanColumn` (h3), `Attributes` (h3), `SheetSection` (h3), `NotificationList` (h2), `ChatWindow` (h2), `CookieConsent` (h2), `FacetFilter` (h2), `FacetGroup` (h3). New shared type `HeadingTag`.
128
+ - **SingleSelect** and **MultiSelect**: single values can be invalid. New option field `invalid`, new props `invalidValues` and `isValueInvalid`. A selected id that is not in `options` is invalid and shown with its id as label. Invalid chips and values use the destructive style, screen readers get the `invalidSuffix` label text, the trigger gets `aria-invalid`.
129
+ - **FileIcon**: the document variant has the extension tag across the lower left edge, the tag uses the new `typography-file-tag` role and a solid type colour with the matching `on-default` text in light and dark.
130
+ - **FileUploadItem** and **MessageAttachment** show a FileIcon instead of their own round tile. `FileUploadItem` derives the file type from the file name when `kind` is not set and shows the error look for `status="error"`.
131
+ - **Accordion**: new `inset` prop on `Accordion` and `AccordionItem`. Inside a `Card` the inset is dropped by default so labels align with the card heading; `inset` overrides either way.
132
+ - **KanbanCard**: a grabbed card stays at full opacity and is marked by a dashed focus border (the reduced opacity broke text contrast).
133
+ - **KanbanMoveToMenu**: the menu is non-modal, so the board around it is not hidden from assistive technology.
134
+ - **BottomNavigationItem** with `count`: the accessible name starts with the visible label, the count is no longer hidden from screen readers.
135
+ - **Stepper**, **Tooltip**, **HelpIcon**: supporting text no longer uses reduced opacity, contrast no longer depends on the surface.
136
+ - **KpiStrip** `surface="raised"` uses the `bg-surface-strip-raised` role. Rendering is unchanged.
137
+ - **TopBarMobileMenu**, **Sheet** and **Dialog** close buttons are a fixed 40x40 in every theme and preset. Items of a non-collapsible menu group get the same indent as an expanded group.
138
+
139
+ ### Theme
140
+
141
+ - File type colours (`colors.data.file.<type>.default`) are solid and mode-stable, new `on-default` roles for every type. Image is green instead of violet, PDF follows the document colour.
142
+ - New roles: `surface-strip-raised`, `typography-file-tag`, `size-textarea-compact`.
143
+
144
+ ### Storybook
145
+
146
+ - 128 story files with 1020 stories (was 1015): new stories for Accordion in a Card, FileIcon, Multiselect and Single Select invalid values.
147
+
148
+ ## 0.3.0
149
+
150
+ Synced from component-library-react 0.26.7 and figma-design-tokens 5.5.0. Storybook with the library stories, package renamed from `@getitdone-gmbh/ui` to `@getitdone-gmbh/kette-design`. Theme roles data rose, surface inverse static, text on inverse static, monospace stack. New props in Cookie Consent (`initialConsent`, `value`, `onValueChange`), Top Bar mobile menu (collapsible groups, footer) and the Message inverse static tone.
151
+
152
+ ## 0.2.0
153
+
154
+ 87 general components added (synced from component-library-react 0.26.4 and figma-design-tokens 5.2.0).
package/LICENSE ADDED
@@ -0,0 +1,9 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2023-2026 Get IT Done GmbH
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
+
7
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package/README.md CHANGED
@@ -1,3 +1,134 @@
1
- # Temporary Holding Version
1
+ # @getitdone-gmbh/kette-design-community
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ [![npm](https://img.shields.io/npm/v/@getitdone-gmbh/kette-design-community?label=npm&color=cb3837)](https://www.npmjs.com/package/@getitdone-gmbh/kette-design-community) [![license](https://img.shields.io/npm/l/@getitdone-gmbh/kette-design-community)](LICENSE)
4
+
5
+ Free React components from the Get IT Done design system: the primitives plus the general components we build business software with. They are built on shadcn/ui and Radix UI, styled with Tailwind CSS, written in TypeScript, and they include a light and a dark theme.
6
+
7
+ We build business software with many screens, tables, forms and states. These components are the base layer of that system. We are sharing them in case they are useful to others working on similar products.
8
+
9
+ ## Editions
10
+
11
+ | Edition | What you get | Licence | Where |
12
+ | --- | --- | --- | --- |
13
+ | **Community** | This package: 127 components, the zero theme and a Tailwind preset | MIT, free | [npm](https://www.npmjs.com/package/@getitdone-gmbh/kette-design-community) |
14
+ | **Enterprise (Die Kette)** | The complete chain: all components, design tokens, domain components, page templates, Figma files, agents and the rule set | Commercial, with every Die Kette licence | [kette.itdone.de](https://kette.itdone.de) |
15
+
16
+ ## What is included
17
+
18
+ 127 components: 40 primitives and 87 general components, plus the `useToast` hook, German and English labels and their helpers.
19
+
20
+ **Primitives (40):** Accordion, Alert, Avatar, Badge, Breadcrumb, Button, Calendar, Card, Carousel, Checkbox, Collapsible, Command, Dialog, Drawer, Dropdown Menu, Form, Hover Card, Input, Kbd, Label, Navigation Menu, Pagination, Popover, Progress, Radio Group, Scroll Area, Select, Separator, Sheet, Skeleton, Slider, Switch, Table, Tabs, Textarea, Toast, Toaster, Toggle, Toggle Group, Tooltip.
21
+
22
+ **General components (87):** Action Bar, Activity Feed (Timeline, Notification List), Autosave Status, Blockquote, Bottom Navigation, Button Close, Button Group, Calendar Grid (Week Grid, Month Grid), Card Default, Cell Grid, Charts (line and bar, pie, radar, histogram, treemap, sparkline, bar list, gauge), Chat Window, Checkbox Group, Chip, Code Snippet, Color Picker, Confirm Dialog, Content Divider, Cookie Consent, Countdown, Data Grid, Data State Panel, Date Picker, Description List (Attributes, Summary List), Design System Provider, Document Surface, Empty State, Facet Filter, Featured Icon, Feed Item, File Icon, File Upload, Filter Chip Bar, Form Section, Grid, Heatmap, Help Icon, Hero Section, Illustration, Inline CTA, Inline Edit, Input Digit, Kanban (with Move To Menu), Layout (Stack, Cluster, Tile Grid, Split View), Link, Link Card, List, List Item, Loading Overlay, Loading Spinner, Logo Tile, Message, Metric (KPI Strip), Metric Panel, Multiselect, Notification, Notification Matrix, Object Icon, Page Header, Pagination Dot Group, Phone Input, Progress Circle, Radio Cards, Rating Input, Rich Text Editor, Rich Text Toolbar, Secondary Nav, Secret Field, Section, Section Footer, Section Header, Section Label, Sidebar, Sidebar Nav, Signature Box, Signature Pad, Single Select, Spacing (Spacing, Spacer), Status Dot, Step Marker, Stepper, Table Cells, Table of Contents, Tag Input, Top Bar, Verified Tick, Versions.
23
+
24
+ Plus the zero theme as CSS variables (typography, colours, radii, elevation, light and dark) and a Tailwind CSS 3 preset.
25
+
26
+ Every component with a story in the library comes with it: 128 story files with 1027 stories, see [Storybook](#storybook).
27
+
28
+ The library and token versions each release is synced from are listed in one place, the [sync history](docs/MAINTAINING.md#sync-history). What changed per release is in [CHANGELOG.md](CHANGELOG.md).
29
+
30
+ ## Install
31
+
32
+ ### As an npm package
33
+
34
+ ```bash
35
+ npm install @getitdone-gmbh/kette-design-community
36
+ ```
37
+
38
+ ```js
39
+ // tailwind.config.cjs
40
+ module.exports = {
41
+ presets: [require('@getitdone-gmbh/kette-design-community/tailwind/preset')],
42
+ darkMode: ['class'],
43
+ content: ['./src/**/*.{ts,tsx}', './node_modules/@getitdone-gmbh/kette-design-community/dist/**/*.js'],
44
+ };
45
+ ```
46
+
47
+ ```css
48
+ /* app.css */
49
+ @import '@getitdone-gmbh/kette-design-community/theme.css';
50
+ @import '@getitdone-gmbh/kette-design-community/animation.css';
51
+ /* Only needed for DocumentSurface: keeps the paper light inside a dark app. */
52
+ @import '@getitdone-gmbh/kette-design-community/document-surface.css';
53
+
54
+ @tailwind base;
55
+ @tailwind components;
56
+ @tailwind utilities;
57
+ ```
58
+
59
+ ```tsx
60
+ import { Button, Card, CardContent, CardHeader, CardTitle } from '@getitdone-gmbh/kette-design-community';
61
+
62
+ export function Example() {
63
+ return (
64
+ <Card>
65
+ <CardHeader>
66
+ <CardTitle>Project Atlas</CardTitle>
67
+ </CardHeader>
68
+ <CardContent>
69
+ <Button>Open</Button>
70
+ </CardContent>
71
+ </Card>
72
+ );
73
+ }
74
+ ```
75
+
76
+ No Tailwind in your app? Import the prebuilt stylesheet instead: `import '@getitdone-gmbh/kette-design-community/styles.css'`.
77
+
78
+ Dark mode follows the `dark` class on `<html>`, or the system setting when no class is set.
79
+
80
+ `PhoneInput` shows country flags from `/flags/<code>.svg`. Copy `node_modules/@getitdone-gmbh/kette-design-community/flags` into your public folder, or point `flagBasePath` to where you serve them. Missing flags are hidden.
81
+
82
+ `MultiSelect` and `SingleSelect` open only inside a `MultiSelectProvider` or `SingleSelectProvider` (one per page is enough, it keeps a single list open at a time).
83
+
84
+ Texts are English by default. Wrap your app in `<DesignSystemProvider locale="de">` for German, or pass your own labels.
85
+
86
+ ### With the shadcn CLI
87
+
88
+ Every component is also available from our registry, so you can copy the source into your project and change it:
89
+
90
+ ```bash
91
+ npx shadcn@latest add https://zero-design.itdone.de/r/theme.json https://zero-design.itdone.de/r/button.json
92
+ ```
93
+
94
+ The `theme` item adds `styles/getitdone/theme.css`, `styles/getitdone/animation.css`, `styles/getitdone/document-surface.css` and the Tailwind preset in `tailwind/getitdone/` (inside `src/` when your project has one). Import both CSS files in your global CSS and add the preset to `presets` in your Tailwind config, as shown above. Components pull in their helpers automatically.
95
+
96
+ ## The rest of the system
97
+
98
+ This package is one layer. The full design system goes further, from single components to complete application screens and the rules behind them. These parts are not open source, but you can browse all of them:
99
+
100
+ | Layer | What it is | Browse |
101
+ | --- | --- | --- |
102
+ | Design system and drafts | UI and UX rules for complex software with dos and don'ts, plus exploratory drafts of real product screens | [zero-design.itdone.de](https://zero-design.itdone.de) |
103
+ | Primitives | The full primitive library this package is taken from, with every variant and state as a story | [components.itdone.de](https://components.itdone.de) |
104
+ | Complex application components | Domain components built on the primitives: task boards, time grids, goal and capacity cards, pipelines, file views | [zero.itdone.de](https://zero.itdone.de) |
105
+ | Page templates | Complete pages: app frame, dashboard, data grid, guided processes, settings, calendar, mobile, with a build guide per page | [zero-pages.itdone.de](https://zero-pages.itdone.de) |
106
+
107
+ The complete chain (tokens, primitives, domain components, page templates, Figma files and the rule set) is the Enterprise edition, available through [Die Kette](https://kette.itdone.de).
108
+
109
+ ## Storybook
110
+
111
+ The stories sit next to the components (`src/components/ui/**/*.stories.tsx`). They are not part of the npm package or the shadcn registry. Start Storybook locally, with light and dark mode and German or English labels in the toolbar:
112
+
113
+ ```bash
114
+ npm install
115
+ npm run storybook
116
+ ```
117
+
118
+ `npm run build-storybook` writes a static build to `storybook-static/`. The complete documentation of the full library is at [components.itdone.de](https://components.itdone.de).
119
+
120
+ ## Development
121
+
122
+ ```bash
123
+ npm install
124
+ npm run typecheck
125
+ npm test
126
+ npm run build
127
+ npm run build-storybook
128
+ ```
129
+
130
+ ## Licence
131
+
132
+ MIT, see [LICENSE](LICENSE). Parts are derived from shadcn/ui, and the country flags come from flag-icons (MIT), see [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md).
133
+
134
+ Made by [Get IT Done GmbH](https://itdone.de). Questions and feedback are welcome as GitHub issues.
@@ -0,0 +1,29 @@
1
+ # Third party notices
2
+
3
+ Everything in this package is original work of Get IT Done GmbH under the MIT licence in `LICENSE`, except the material listed below. npm dependencies (Radix UI primitives, `lucide-react`, `cmdk`, `vaul`, `react-day-picker`, `embla-carousel-react`, `@dnd-kit/core`, `react-dnd`, `libphonenumber-js` and others) are not bundled. They are installed by the consumer and keep their own licences.
4
+
5
+ | Material | Where | Source | Licence |
6
+ | --- | --- | --- | --- |
7
+ | Component source derived from shadcn/ui (for example accordion, button, calendar, card, carousel, command, dialog, drawer, dropdown menu, form, popover, select, sheet, table, tabs, toast, tooltip) | `src/components/ui`, compiled into `dist/` | shadcn/ui, https://ui.shadcn.com | MIT, Copyright (c) 2023 shadcn |
8
+ | Country flags (257 SVG files, 4x3 set, used by `PhoneInput`) | `flags/*.svg` | flag-icons by Panayiotis Lipiridis, https://github.com/lipis/flag-icons (the files carry the `flag-icons-<code>` id) | MIT, Copyright (c) 2013 Panayiotis Lipiridis |
9
+
10
+ ## MIT (shadcn/ui)
11
+
12
+ Copyright (c) 2023 shadcn
13
+
14
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
17
+
18
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
19
+
20
+
21
+ ## MIT (flag-icons)
22
+
23
+ Copyright (c) 2013 Panayiotis Lipiridis
24
+
25
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
26
+
27
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
28
+
29
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,10 @@
1
+ import * as AccordionPrimitive from '@radix-ui/react-accordion';
2
+ import * as React from 'react';
3
+ type AccordionInsetProp = {
4
+ inset?: boolean;
5
+ };
6
+ declare const Accordion: React.ForwardRefExoticComponent<((Omit<AccordionPrimitive.AccordionSingleProps & React.RefAttributes<HTMLDivElement>, "ref"> | Omit<AccordionPrimitive.AccordionMultipleProps & React.RefAttributes<HTMLDivElement>, "ref">) & AccordionInsetProp) & React.RefAttributes<HTMLDivElement>>;
7
+ declare const AccordionItem: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & AccordionInsetProp & React.RefAttributes<HTMLDivElement>>;
8
+ declare const AccordionTrigger: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
9
+ declare const AccordionContent: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
10
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger };
@@ -0,0 +1,112 @@
1
+ 'use client';
2
+ import { jsx as o, jsxs as p } from "react/jsx-runtime";
3
+ import * as i from "@radix-ui/react-accordion";
4
+ import { ChevronDown as g } from "lucide-react";
5
+ import * as e from "react";
6
+ import { cn as l } from "../../lib/utils.js";
7
+ import { InsideCardContext as b } from "./card.js";
8
+ import { usePreset as m } from "./labels-context.js";
9
+ const c = e.createContext(void 0), v = e.forwardRef(({ inset: r, ...t }, n) => /* @__PURE__ */ o(c.Provider, { value: r, children: /* @__PURE__ */ o(i.Root, { ref: n, ...t }) }));
10
+ v.displayName = "Accordion";
11
+ const h = e.forwardRef(({ className: r, inset: t, ...n }, a) => {
12
+ const s = m() === "zero", d = e.useContext(c), u = e.useContext(b), f = t ?? d ?? !u;
13
+ return /* @__PURE__ */ o(c.Provider, { value: f, children: /* @__PURE__ */ o(
14
+ i.Item,
15
+ {
16
+ ref: a,
17
+ className: l(
18
+ // Dedicated Accordion surface tokens (Design Tokens "colors/accordion/background/default" +
19
+ // "colors/accordion/foreground/default") — replaces the previous implicit (unstyled) surface
20
+ // and the raw `border-slate-200` palette value (ACCORDION-MAT-01: no raw hex/palette in
21
+ // product code). `border-form-border-default` is the same general-purpose content-divider
22
+ // token already used for this exact role by Card/Dialog/Popover/Tooltip/NavigationMenu/
23
+ // Drawer/Toast/DropdownMenu.
24
+ "border-b border-solid bg-transparent text-foreground",
25
+ // Zero: the default border role, the other themes keep the hairline.
26
+ s ? "border-border-default" : "border-hairline",
27
+ r
28
+ ),
29
+ ...n
30
+ }
31
+ ) });
32
+ });
33
+ h.displayName = "AccordionItem";
34
+ const x = e.forwardRef(({ className: r, children: t, ...n }, a) => {
35
+ const s = m() === "zero", d = e.useContext(c) ?? !0;
36
+ return /* @__PURE__ */ o(i.Header, { className: "flex", children: /* @__PURE__ */ p(
37
+ i.Trigger,
38
+ {
39
+ ref: a,
40
+ className: l(
41
+ // `text-left` corrects the default `<button>` UA style (`text-align: center`) — Radix
42
+ // renders the Trigger as a real button (see react-collapsible's `Collapsible.Trigger`), and
43
+ // without this a wrapping multi-line header label would center instead of following the
44
+ // left-aligned "label | chevron" row every other disclosure/menu trigger in this system uses.
45
+ "flex flex-1 items-center justify-between gap-2 py-4 text-left transition-all [&[data-state=open]>svg]:rotate-180",
46
+ // Type comes from the dedicated `typography-accordion-title` role (size/weight/line-height/
47
+ // letter-spacing token, currently 16px/500/24px) rather than the ad hoc `font-medium` this
48
+ // used before. `leading-normal` is required alongside it because Tailwind Preflight resets
49
+ // `line-height: inherit` on real `<button>` elements — same reset `button.tsx`/`input.tsx`/
50
+ // `tabs.tsx` already work around for the same reason.
51
+ d && "px-3",
52
+ s ? "typography-ui-medium min-h-row py-0" : "typography-accordion-title leading-normal",
53
+ // Hover — underline is the non-color-dependent cue (WCAG "don't rely on color alone");
54
+ // paired with a full-row background wash so the entire clickable header shows affordance,
55
+ // not just the text. No dedicated `accordion-*-hover` token exists yet (ACCORDION-MAT-02,
56
+ // flagged below) — reuses the general-purpose `background-muted` surface wash, the same
57
+ // fallback Chip's `default`/`secondary` variants already use for an identical gap.
58
+ "hover:underline hover:bg-background-neutral-default",
59
+ // Press feedback (mouse-down) — same generic fallback as Chip's `active:bg-background-neutral-default
60
+ // active:brightness-95` for the same "no dedicated active token" gap.
61
+ "active:bg-background-neutral-default active:brightness-95",
62
+ // Keyboard focus ring — the system-standard treatment (matches Button, Tabs, Alert, Chip,
63
+ // Dialog, Select, …). Previously this had no focus-visible treatment at all (WCAG 2.4.7).
64
+ "rounded-item",
65
+ "focus-visible:outline-none",
66
+ "focus-visible:ring-focus",
67
+ "focus-visible:ring-offset-focus",
68
+ "focus-visible:ring-offset-background",
69
+ "focus-visible:ring-ring-default",
70
+ // Disabled — Radix's `Collapsible.Trigger` sets both a real `disabled` attribute and
71
+ // `data-disabled` when the parent `AccordionItem` has `disabled` (ACCORDION-A11Y-01:
72
+ // previously unsupported — a `disabled` item rendered fully interactive/clickable).
73
+ "disabled:pointer-events-none disabled:opacity-disabled",
74
+ r
75
+ ),
76
+ ...n,
77
+ children: [
78
+ t,
79
+ /* @__PURE__ */ o(g, { "aria-hidden": "true", className: "h-4 w-4 shrink-0 transition-transform duration-200" })
80
+ ]
81
+ }
82
+ ) });
83
+ });
84
+ x.displayName = i.Trigger.displayName;
85
+ const y = e.forwardRef(({ className: r, children: t, ...n }, a) => {
86
+ const s = m() === "zero", d = e.useContext(c) ?? !0;
87
+ return /* @__PURE__ */ o(
88
+ i.Content,
89
+ {
90
+ ref: a,
91
+ className: l(
92
+ // Type comes from the dedicated `typography-accordion-content` role (size/weight/line-height/
93
+ // letter-spacing token, currently 14px/400/24px), replacing the ad hoc `text-sm`.
94
+ "overflow-hidden transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
95
+ // Reduced motion — instant show/hide instead of the height animation, matching
96
+ // DropdownMenuContent/SelectContent/TooltipContent's identical `motion-reduce:` fallback.
97
+ "motion-reduce:animate-none motion-reduce:transition-none",
98
+ s ? "typography-ui-relaxed" : "typography-accordion-content"
99
+ ),
100
+ ...n,
101
+ children: /* @__PURE__ */ o("div", { className: l(d && "px-3", "pb-4 pt-0", r), children: t })
102
+ }
103
+ );
104
+ });
105
+ y.displayName = i.Content.displayName;
106
+ export {
107
+ v as Accordion,
108
+ y as AccordionContent,
109
+ h as AccordionItem,
110
+ x as AccordionTrigger
111
+ };
112
+ //# sourceMappingURL=accordion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accordion.js","sources":["../../../src/components/ui/accordion.tsx"],"sourcesContent":["'use client';\n\nimport * as AccordionPrimitive from '@radix-ui/react-accordion';\nimport { ChevronDown } from 'lucide-react';\nimport * as React from 'react';\n\nimport { cn } from '../../lib/utils';\nimport { InsideCardContext } from './card';\nimport { usePreset } from './labels-context';\n\n// Horizontal inset of trigger and content. Set on the root or per item, the item wins. Undefined means follow the context: inset on a standalone accordion, none inside a Card.\nconst AccordionInsetContext = React.createContext<boolean | undefined>(undefined);\n\ntype AccordionInsetProp = {\n // Horizontal padding (px-3) of trigger and content. Default follows the context: true standalone (page, menu, panel), false inside a Card so the labels align with the card heading (the workload.zero prototype aligns card content with the card heading). Set true or false to override.\n inset?: boolean;\n};\n\nconst Accordion = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Root> & AccordionInsetProp\n>(({ inset, ...props }, ref) => (\n <AccordionInsetContext.Provider value={inset}>\n <AccordionPrimitive.Root ref={ref} {...(props as React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Root>)} />\n </AccordionInsetContext.Provider>\n));\nAccordion.displayName = 'Accordion';\n\nconst AccordionItem = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item> & AccordionInsetProp\n>(({ className, inset: insetProp, ...props }, ref) => {\n const zero = usePreset() === 'zero';\n const rootInset = React.useContext(AccordionInsetContext);\n const inCard = React.useContext(InsideCardContext);\n const inset = insetProp ?? rootInset ?? !inCard;\n return (\n <AccordionInsetContext.Provider value={inset}>\n <AccordionPrimitive.Item\n ref={ref}\n className={cn(\n // Dedicated Accordion surface tokens (Design Tokens \"colors/accordion/background/default\" +\n // \"colors/accordion/foreground/default\") — replaces the previous implicit (unstyled) surface\n // and the raw `border-slate-200` palette value (ACCORDION-MAT-01: no raw hex/palette in\n // product code). `border-form-border-default` is the same general-purpose content-divider\n // token already used for this exact role by Card/Dialog/Popover/Tooltip/NavigationMenu/\n // Drawer/Toast/DropdownMenu.\n 'border-b border-solid bg-transparent text-foreground',\n // Zero: the default border role, the other themes keep the hairline.\n zero ? 'border-border-default' : 'border-hairline',\n className,\n )}\n {...props}\n />\n </AccordionInsetContext.Provider>\n );\n});\nAccordionItem.displayName = 'AccordionItem';\n\nconst AccordionTrigger = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => {\n const zero = usePreset() === 'zero';\n const inset = React.useContext(AccordionInsetContext) ?? true;\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n ref={ref}\n className={cn(\n // `text-left` corrects the default `<button>` UA style (`text-align: center`) — Radix\n // renders the Trigger as a real button (see react-collapsible's `Collapsible.Trigger`), and\n // without this a wrapping multi-line header label would center instead of following the\n // left-aligned \"label | chevron\" row every other disclosure/menu trigger in this system uses.\n 'flex flex-1 items-center justify-between gap-2 py-4 text-left transition-all [&[data-state=open]>svg]:rotate-180',\n // Type comes from the dedicated `typography-accordion-title` role (size/weight/line-height/\n // letter-spacing token, currently 16px/500/24px) rather than the ad hoc `font-medium` this\n // used before. `leading-normal` is required alongside it because Tailwind Preflight resets\n // `line-height: inherit` on real `<button>` elements — same reset `button.tsx`/`input.tsx`/\n // `tabs.tsx` already work around for the same reason.\n inset && 'px-3',\n zero ? 'typography-ui-medium min-h-row py-0' : 'typography-accordion-title leading-normal',\n // Hover — underline is the non-color-dependent cue (WCAG \"don't rely on color alone\");\n // paired with a full-row background wash so the entire clickable header shows affordance,\n // not just the text. No dedicated `accordion-*-hover` token exists yet (ACCORDION-MAT-02,\n // flagged below) — reuses the general-purpose `background-muted` surface wash, the same\n // fallback Chip's `default`/`secondary` variants already use for an identical gap.\n 'hover:underline hover:bg-background-neutral-default',\n // Press feedback (mouse-down) — same generic fallback as Chip's `active:bg-background-neutral-default\n // active:brightness-95` for the same \"no dedicated active token\" gap.\n 'active:bg-background-neutral-default active:brightness-95',\n // Keyboard focus ring — the system-standard treatment (matches Button, Tabs, Alert, Chip,\n // Dialog, Select, …). Previously this had no focus-visible treatment at all (WCAG 2.4.7).\n 'rounded-item',\n 'focus-visible:outline-none',\n 'focus-visible:ring-focus',\n 'focus-visible:ring-offset-focus',\n 'focus-visible:ring-offset-background',\n 'focus-visible:ring-ring-default',\n // Disabled — Radix's `Collapsible.Trigger` sets both a real `disabled` attribute and\n // `data-disabled` when the parent `AccordionItem` has `disabled` (ACCORDION-A11Y-01:\n // previously unsupported — a `disabled` item rendered fully interactive/clickable).\n 'disabled:pointer-events-none disabled:opacity-disabled',\n className,\n )}\n {...props}\n >\n {children}\n <ChevronDown aria-hidden=\"true\" className=\"h-4 w-4 shrink-0 transition-transform duration-200\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n );\n});\nAccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;\n\nconst AccordionContent = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>\n>(({ className, children, ...props }, ref) => {\n const zero = usePreset() === 'zero';\n const inset = React.useContext(AccordionInsetContext) ?? true;\n return (\n <AccordionPrimitive.Content\n ref={ref}\n className={cn(\n // Type comes from the dedicated `typography-accordion-content` role (size/weight/line-height/\n // letter-spacing token, currently 14px/400/24px), replacing the ad hoc `text-sm`.\n 'overflow-hidden transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down',\n // Reduced motion — instant show/hide instead of the height animation, matching\n // DropdownMenuContent/SelectContent/TooltipContent's identical `motion-reduce:` fallback.\n 'motion-reduce:animate-none motion-reduce:transition-none',\n zero ? 'typography-ui-relaxed' : 'typography-accordion-content',\n )}\n {...props}\n >\n {/* Same horizontal padding as the trigger so the content text stays aligned with the header label. */}\n <div className={cn(inset && 'px-3', 'pb-4 pt-0', className)}>{children}</div>\n </AccordionPrimitive.Content>\n );\n});\nAccordionContent.displayName = AccordionPrimitive.Content.displayName;\n\nexport { Accordion, AccordionContent, AccordionItem, AccordionTrigger };\n\n// --- KNOWN TOKEN / SPEC GAPS (component-library-maintainer cannot close these from accordion.tsx —\n// they are either color VALUES owned by the design tokens, or a missing Figma\n// frame; this file only consumes token names and must not hardcode a raw hex/palette value or\n// fabricate a state matrix that isn't backed by a real spec) ---\n//\n// 1. ACCORDION-A11Y-02 / ACCORDION-A11Y-03 (light/dark parity): re-verified 2026-07-09 against the\n// installed the design tokens (the only version published to the\n// registry — the token package returns just \"3.4.10\") —\n// its `dist/theme.css` still defines `--colors-accordion-background-default` and\n// `--colors-accordion-foreground-default` exactly once, in `:root`, with no `.dark` /\n// `prefers-color-scheme: dark` override, so hover:/active:bg-background-neutral-default (which DOES\n// invert in dark) is paired against a foreground that never adapts — contrast collapses to\n// ~1.2:1 in dark mode (needs >=4.5:1, WCAG 1.4.3 AA).\n// IMPORTANT: the source of truth is already fixed — `figma-tokens/default_theme_dark.json` in\n// the figma-design-tokens repo already carries distinct dark values (accordion/background →\n// slate.900, accordion/foreground → slate.50), and running `npm run build:css-vars` from that\n// repo's current HEAD locally reproduces the correct `.dark`/media overrides. The gap is purely\n// that the last published package (3.4.10) was not rebuilt/republished after that source fix\n// landed, so consumers are stuck on stale compiled output. BLOCKED on design-tokens-maintainer\n// cutting a new release (rebuild + `npm publish`, human release approval required) — no change\n// is possible or needed in accordion.tsx, which already consumes the correct token names. Same\n// published-vs-source staleness likely affects every other component whose only Figma-driven\n// delta is a single default-state key (e.g. dropdown-menu.tsx's own flagged token gap) and is\n// worth a repo-wide re-publish rather than a per-component patch.\n//\n// 2. ACCORDION-MAT-02 (no dedicated hover/active tokens): unlike Dropdown/Select's \"_list item\"\n// component sets, the Figma Component Library file has no Accordion frame with\n// Hover/Focus/Disabled state symbols to source exact values from — only the two surface color\n// tokens above plus the `typography/accordion-title` and `typography/accordion-content` text\n// styles exist for this component. The hover/active treatment above reuses the same\n// `background-muted` / `brightness-95` fallback Chip already uses for an identical gap, rather\n// than inventing a new one-off value.\n//\n// 3. \"Invalid\" state — not applicable: Accordion is a disclosure widget with no form-validation\n// semantics (like DropdownMenuItem), so `invalid` is intentionally not modeled here.\n//\n// 4. Missing Figma spec frame (routed to figma-design-sync / design-system-usage maintainers): a\n// `search_design_system` query for \"Accordion\" against this file (bzBnRLfRJNknGg9UYJIHb0) only\n// surfaces a stale \"FAQ section\" component_set hit (last updated 2024-07-23) that is not reachable\n// from any of the file's current top-level pages (Welcome, Avatars, Button, Select, Tooltips,\n// CardMetrics, Logos, Icons, Misc icons, Utilities) — i.e. no live Accordion/FAQ frame exists in\n// the file today, only the token pair + two text styles consumed above. Recommend either\n// re-adding an explicit Accordion component frame (with Hover/Focus/Disabled symbols) to the\n// Component Library file, or removing the stale search-index entry, so a future alignment pass\n// has a real states matrix to verify against instead of the Material/repo-precedent fallback\n// used here.\n"],"names":["Accordion","AccordionItem","AccordionTrigger","AccordionContent"],"mappings":";;;;;;;;AAWA;AAeAA;AAEA;AAIE;AAIA;AAEA;AAAoB;AAAnB;AACC;AACW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOT;AAAA;AAEiC;AACjC;AAAA;AAEE;AAAA;AAIR;AACAC;AAEA;AAIE;AAEA;AAEE;AAAoB;AAAnB;AACC;AACW;AAAA;AAAA;AAAA;AAAA;AAKT;AAAA;AAAA;AAAA;AAAA;AAAA;AAMS;AACsC;AAAA;AAAA;AAAA;AAAA;AAAA;AAM/C;AAAA;AAAA;AAGA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAIA;AACA;AAAA;AAEE;AAEH;AAAA;AAC8F;AAAA;AAAA;AAIrG;AACAC;AAEA;AAIE;AAEA;AACA;AAAoB;AAAnB;AACC;AACW;AAAA;AAAA;AAGT;AAAA;AAAA;AAGA;AACiC;AAAA;AAE/B;AAGmE;AAAA;AAG3E;AACAC;;;;;;;"}
@@ -0,0 +1,69 @@
1
+ import { InputProps } from './input';
2
+ import * as React from 'react';
3
+ declare const ActionBar: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
4
+ declare const ActionBarRow: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
5
+ declare const ActionBarSpacer: () => React.JSX.Element;
6
+ export type ActionBarSearchProps = Omit<InputProps, 'variant' | 'size' | 'aria-label'> & {
7
+ 'aria-label': string;
8
+ };
9
+ declare const ActionBarSearch: React.ForwardRefExoticComponent<Omit<InputProps, "size" | "variant" | "aria-label"> & {
10
+ 'aria-label': string;
11
+ } & React.RefAttributes<HTMLInputElement>>;
12
+ export interface ActionBarFilterTag {
13
+ id: string;
14
+ label: string;
15
+ onRemove: () => void;
16
+ }
17
+ export interface ActionBarFilterTagsProps extends React.HTMLAttributes<HTMLUListElement> {
18
+ tags: ActionBarFilterTag[];
19
+ /** Renders the Reset link when provided and at least one tag exists. */
20
+ onReset?: () => void;
21
+ resetLabel?: string;
22
+ }
23
+ declare const ActionBarFilterTags: React.ForwardRefExoticComponent<ActionBarFilterTagsProps & React.RefAttributes<HTMLUListElement>>;
24
+ export interface BatchBarAction {
25
+ id: string;
26
+ label: string;
27
+ icon?: React.ReactNode;
28
+ onSelect?: () => void;
29
+ destructive?: boolean;
30
+ disabled?: boolean;
31
+ render?: (button: React.ReactElement) => React.ReactNode;
32
+ }
33
+ export interface BatchBarProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> {
34
+ /** Number of selected rows. Mount the bar only while at least one row is selected. */
35
+ selectedCount: number;
36
+ /** Called by Clear and by the leading checkbox. */
37
+ onClear: () => void;
38
+ /** Inline actions, shown as outlined buttons up to `maxInline`; the rest moves into the More menu. */
39
+ actions?: BatchBarAction[];
40
+ /** Always in the More menu. */
41
+ moreActions?: BatchBarAction[];
42
+ /** Inline actions shown before overflowing into the More menu. Default 3. */
43
+ maxInline?: number;
44
+ /** Text of the count, `{count} selected` by default. */
45
+ countLabel?: (count: number) => string;
46
+ clearLabel?: string;
47
+ moreLabel?: string;
48
+ /** Chip slot after the count, for example a `Chip` naming the selection scope ("All 120 matches") or its status. Pass visible text. */
49
+ chip?: React.ReactNode;
50
+ }
51
+ declare const BatchBar: React.ForwardRefExoticComponent<BatchBarProps & React.RefAttributes<HTMLDivElement>>;
52
+ export interface ActionBarDataSwitchOption {
53
+ value: string;
54
+ label: string;
55
+ }
56
+ export interface ActionBarDataSwitchProps {
57
+ options: ActionBarDataSwitchOption[];
58
+ value?: string;
59
+ defaultValue?: string;
60
+ onValueChange?: (value: string) => void;
61
+ icon?: React.ReactNode;
62
+ 'aria-label': string;
63
+ className?: string;
64
+ }
65
+ declare const ActionBarDataSwitch: {
66
+ ({ options, value, defaultValue, onValueChange, icon, "aria-label": ariaLabel, className }: ActionBarDataSwitchProps): React.JSX.Element;
67
+ displayName: string;
68
+ };
69
+ export { ActionBar, ActionBarDataSwitch, ActionBarFilterTags, ActionBarRow, ActionBarSearch, ActionBarSpacer, BatchBar };