@rookcom/monarch-react 0.0.0-canary-20261103180711

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 (345) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +5 -0
  3. package/dist/components/actions/button/button.d.ts +32 -0
  4. package/dist/components/actions/button/button.d.ts.map +1 -0
  5. package/dist/components/actions/button/button.js +30 -0
  6. package/dist/components/actions/button/button.js.map +1 -0
  7. package/dist/components/actions/button/index.d.ts +2 -0
  8. package/dist/components/actions/button/index.d.ts.map +1 -0
  9. package/dist/components/actions/button/index.js +2 -0
  10. package/dist/components/actions/button/index.js.map +1 -0
  11. package/dist/components/actions/copy-button/copy-button.d.ts +71 -0
  12. package/dist/components/actions/copy-button/copy-button.d.ts.map +1 -0
  13. package/dist/components/actions/copy-button/copy-button.js +150 -0
  14. package/dist/components/actions/copy-button/copy-button.js.map +1 -0
  15. package/dist/components/actions/copy-button/index.d.ts +2 -0
  16. package/dist/components/actions/copy-button/index.d.ts.map +1 -0
  17. package/dist/components/actions/copy-button/index.js +2 -0
  18. package/dist/components/actions/copy-button/index.js.map +1 -0
  19. package/dist/components/actions/copy-field/copy-field.d.ts +47 -0
  20. package/dist/components/actions/copy-field/copy-field.d.ts.map +1 -0
  21. package/dist/components/actions/copy-field/copy-field.js +37 -0
  22. package/dist/components/actions/copy-field/copy-field.js.map +1 -0
  23. package/dist/components/actions/copy-field/index.d.ts +2 -0
  24. package/dist/components/actions/copy-field/index.d.ts.map +1 -0
  25. package/dist/components/actions/copy-field/index.js +2 -0
  26. package/dist/components/actions/copy-field/index.js.map +1 -0
  27. package/dist/components/data-display/badge/badge.d.ts +13 -0
  28. package/dist/components/data-display/badge/badge.d.ts.map +1 -0
  29. package/dist/components/data-display/badge/badge.js +7 -0
  30. package/dist/components/data-display/badge/badge.js.map +1 -0
  31. package/dist/components/data-display/badge/index.d.ts +2 -0
  32. package/dist/components/data-display/badge/index.d.ts.map +1 -0
  33. package/dist/components/data-display/badge/index.js +2 -0
  34. package/dist/components/data-display/badge/index.js.map +1 -0
  35. package/dist/components/data-display/card/card.d.ts +18 -0
  36. package/dist/components/data-display/card/card.d.ts.map +1 -0
  37. package/dist/components/data-display/card/card.js +21 -0
  38. package/dist/components/data-display/card/card.js.map +1 -0
  39. package/dist/components/data-display/card/index.d.ts +2 -0
  40. package/dist/components/data-display/card/index.d.ts.map +1 -0
  41. package/dist/components/data-display/card/index.js +2 -0
  42. package/dist/components/data-display/card/index.js.map +1 -0
  43. package/dist/components/data-display/description-list/description-list.d.ts +17 -0
  44. package/dist/components/data-display/description-list/description-list.d.ts.map +1 -0
  45. package/dist/components/data-display/description-list/description-list.js +10 -0
  46. package/dist/components/data-display/description-list/description-list.js.map +1 -0
  47. package/dist/components/data-display/description-list/index.d.ts +2 -0
  48. package/dist/components/data-display/description-list/index.d.ts.map +1 -0
  49. package/dist/components/data-display/description-list/index.js +2 -0
  50. package/dist/components/data-display/description-list/index.js.map +1 -0
  51. package/dist/components/data-display/progress-bar/index.d.ts +2 -0
  52. package/dist/components/data-display/progress-bar/index.d.ts.map +1 -0
  53. package/dist/components/data-display/progress-bar/index.js +2 -0
  54. package/dist/components/data-display/progress-bar/index.js.map +1 -0
  55. package/dist/components/data-display/progress-bar/progress-bar.d.ts +14 -0
  56. package/dist/components/data-display/progress-bar/progress-bar.d.ts.map +1 -0
  57. package/dist/components/data-display/progress-bar/progress-bar.js +12 -0
  58. package/dist/components/data-display/progress-bar/progress-bar.js.map +1 -0
  59. package/dist/components/data-display/stat-card/index.d.ts +2 -0
  60. package/dist/components/data-display/stat-card/index.d.ts.map +1 -0
  61. package/dist/components/data-display/stat-card/index.js +2 -0
  62. package/dist/components/data-display/stat-card/index.js.map +1 -0
  63. package/dist/components/data-display/stat-card/stat-card.d.ts +19 -0
  64. package/dist/components/data-display/stat-card/stat-card.d.ts.map +1 -0
  65. package/dist/components/data-display/stat-card/stat-card.js +11 -0
  66. package/dist/components/data-display/stat-card/stat-card.js.map +1 -0
  67. package/dist/components/data-display/status-badge/index.d.ts +2 -0
  68. package/dist/components/data-display/status-badge/index.d.ts.map +1 -0
  69. package/dist/components/data-display/status-badge/index.js +2 -0
  70. package/dist/components/data-display/status-badge/index.js.map +1 -0
  71. package/dist/components/data-display/status-badge/status-badge.d.ts +169 -0
  72. package/dist/components/data-display/status-badge/status-badge.d.ts.map +1 -0
  73. package/dist/components/data-display/status-badge/status-badge.js +139 -0
  74. package/dist/components/data-display/status-badge/status-badge.js.map +1 -0
  75. package/dist/components/data-grid/data-table/data-table.d.ts +53 -0
  76. package/dist/components/data-grid/data-table/data-table.d.ts.map +1 -0
  77. package/dist/components/data-grid/data-table/data-table.js +47 -0
  78. package/dist/components/data-grid/data-table/data-table.js.map +1 -0
  79. package/dist/components/data-grid/data-table/index.d.ts +2 -0
  80. package/dist/components/data-grid/data-table/index.d.ts.map +1 -0
  81. package/dist/components/data-grid/data-table/index.js +2 -0
  82. package/dist/components/data-grid/data-table/index.js.map +1 -0
  83. package/dist/components/feedback/alert/alert.d.ts +17 -0
  84. package/dist/components/feedback/alert/alert.d.ts.map +1 -0
  85. package/dist/components/feedback/alert/alert.js +17 -0
  86. package/dist/components/feedback/alert/alert.js.map +1 -0
  87. package/dist/components/feedback/alert/index.d.ts +2 -0
  88. package/dist/components/feedback/alert/index.d.ts.map +1 -0
  89. package/dist/components/feedback/alert/index.js +2 -0
  90. package/dist/components/feedback/alert/index.js.map +1 -0
  91. package/dist/components/feedback/empty-state/empty-state.d.ts +17 -0
  92. package/dist/components/feedback/empty-state/empty-state.d.ts.map +1 -0
  93. package/dist/components/feedback/empty-state/empty-state.js +10 -0
  94. package/dist/components/feedback/empty-state/empty-state.js.map +1 -0
  95. package/dist/components/feedback/empty-state/index.d.ts +2 -0
  96. package/dist/components/feedback/empty-state/index.d.ts.map +1 -0
  97. package/dist/components/feedback/empty-state/index.js +2 -0
  98. package/dist/components/feedback/empty-state/index.js.map +1 -0
  99. package/dist/components/feedback/error-state/error-state.d.ts +23 -0
  100. package/dist/components/feedback/error-state/error-state.d.ts.map +1 -0
  101. package/dist/components/feedback/error-state/error-state.js +15 -0
  102. package/dist/components/feedback/error-state/error-state.js.map +1 -0
  103. package/dist/components/feedback/error-state/index.d.ts +2 -0
  104. package/dist/components/feedback/error-state/index.d.ts.map +1 -0
  105. package/dist/components/feedback/error-state/index.js +2 -0
  106. package/dist/components/feedback/error-state/index.js.map +1 -0
  107. package/dist/components/feedback/skeleton/index.d.ts +2 -0
  108. package/dist/components/feedback/skeleton/index.d.ts.map +1 -0
  109. package/dist/components/feedback/skeleton/index.js +2 -0
  110. package/dist/components/feedback/skeleton/index.js.map +1 -0
  111. package/dist/components/feedback/skeleton/skeleton.d.ts +12 -0
  112. package/dist/components/feedback/skeleton/skeleton.d.ts.map +1 -0
  113. package/dist/components/feedback/skeleton/skeleton.js +10 -0
  114. package/dist/components/feedback/skeleton/skeleton.js.map +1 -0
  115. package/dist/components/feedback/spinner/index.d.ts +2 -0
  116. package/dist/components/feedback/spinner/index.d.ts.map +1 -0
  117. package/dist/components/feedback/spinner/index.js +2 -0
  118. package/dist/components/feedback/spinner/index.js.map +1 -0
  119. package/dist/components/feedback/spinner/spinner.d.ts +12 -0
  120. package/dist/components/feedback/spinner/spinner.d.ts.map +1 -0
  121. package/dist/components/feedback/spinner/spinner.js +10 -0
  122. package/dist/components/feedback/spinner/spinner.js.map +1 -0
  123. package/dist/components/feedback/toast/index.d.ts +2 -0
  124. package/dist/components/feedback/toast/index.d.ts.map +1 -0
  125. package/dist/components/feedback/toast/index.js +2 -0
  126. package/dist/components/feedback/toast/index.js.map +1 -0
  127. package/dist/components/feedback/toast/toast.d.ts +40 -0
  128. package/dist/components/feedback/toast/toast.d.ts.map +1 -0
  129. package/dist/components/feedback/toast/toast.js +67 -0
  130. package/dist/components/feedback/toast/toast.js.map +1 -0
  131. package/dist/components/forms/checkbox/checkbox.d.ts +15 -0
  132. package/dist/components/forms/checkbox/checkbox.d.ts.map +1 -0
  133. package/dist/components/forms/checkbox/checkbox.js +23 -0
  134. package/dist/components/forms/checkbox/checkbox.js.map +1 -0
  135. package/dist/components/forms/checkbox/index.d.ts +2 -0
  136. package/dist/components/forms/checkbox/index.d.ts.map +1 -0
  137. package/dist/components/forms/checkbox/index.js +2 -0
  138. package/dist/components/forms/checkbox/index.js.map +1 -0
  139. package/dist/components/forms/combobox/combobox.d.ts +35 -0
  140. package/dist/components/forms/combobox/combobox.d.ts.map +1 -0
  141. package/dist/components/forms/combobox/combobox.js +152 -0
  142. package/dist/components/forms/combobox/combobox.js.map +1 -0
  143. package/dist/components/forms/combobox/index.d.ts +2 -0
  144. package/dist/components/forms/combobox/index.d.ts.map +1 -0
  145. package/dist/components/forms/combobox/index.js +2 -0
  146. package/dist/components/forms/combobox/index.js.map +1 -0
  147. package/dist/components/forms/form-field/form-field.d.ts +65 -0
  148. package/dist/components/forms/form-field/form-field.d.ts.map +1 -0
  149. package/dist/components/forms/form-field/form-field.js +101 -0
  150. package/dist/components/forms/form-field/form-field.js.map +1 -0
  151. package/dist/components/forms/form-field/index.d.ts +2 -0
  152. package/dist/components/forms/form-field/index.d.ts.map +1 -0
  153. package/dist/components/forms/form-field/index.js +2 -0
  154. package/dist/components/forms/form-field/index.js.map +1 -0
  155. package/dist/components/forms/segmented-control/index.d.ts +2 -0
  156. package/dist/components/forms/segmented-control/index.d.ts.map +1 -0
  157. package/dist/components/forms/segmented-control/index.js +2 -0
  158. package/dist/components/forms/segmented-control/index.js.map +1 -0
  159. package/dist/components/forms/segmented-control/segmented-control.d.ts +62 -0
  160. package/dist/components/forms/segmented-control/segmented-control.d.ts.map +1 -0
  161. package/dist/components/forms/segmented-control/segmented-control.js +139 -0
  162. package/dist/components/forms/segmented-control/segmented-control.js.map +1 -0
  163. package/dist/components/forms/select/index.d.ts +2 -0
  164. package/dist/components/forms/select/index.d.ts.map +1 -0
  165. package/dist/components/forms/select/index.js +2 -0
  166. package/dist/components/forms/select/index.js.map +1 -0
  167. package/dist/components/forms/select/select.d.ts +27 -0
  168. package/dist/components/forms/select/select.d.ts.map +1 -0
  169. package/dist/components/forms/select/select.js +39 -0
  170. package/dist/components/forms/select/select.js.map +1 -0
  171. package/dist/components/forms/switch/index.d.ts +2 -0
  172. package/dist/components/forms/switch/index.d.ts.map +1 -0
  173. package/dist/components/forms/switch/index.js +2 -0
  174. package/dist/components/forms/switch/index.js.map +1 -0
  175. package/dist/components/forms/switch/switch.d.ts +13 -0
  176. package/dist/components/forms/switch/switch.d.ts.map +1 -0
  177. package/dist/components/forms/switch/switch.js +21 -0
  178. package/dist/components/forms/switch/switch.js.map +1 -0
  179. package/dist/components/forms/text-field/index.d.ts +2 -0
  180. package/dist/components/forms/text-field/index.d.ts.map +1 -0
  181. package/dist/components/forms/text-field/index.js +2 -0
  182. package/dist/components/forms/text-field/index.js.map +1 -0
  183. package/dist/components/forms/text-field/text-field.d.ts +15 -0
  184. package/dist/components/forms/text-field/text-field.d.ts.map +1 -0
  185. package/dist/components/forms/text-field/text-field.js +14 -0
  186. package/dist/components/forms/text-field/text-field.js.map +1 -0
  187. package/dist/components/identity/avatar/avatar.d.ts +16 -0
  188. package/dist/components/identity/avatar/avatar.d.ts.map +1 -0
  189. package/dist/components/identity/avatar/avatar.js +28 -0
  190. package/dist/components/identity/avatar/avatar.js.map +1 -0
  191. package/dist/components/identity/avatar/index.d.ts +2 -0
  192. package/dist/components/identity/avatar/index.d.ts.map +1 -0
  193. package/dist/components/identity/avatar/index.js +2 -0
  194. package/dist/components/identity/avatar/index.js.map +1 -0
  195. package/dist/components/layout/separator/index.d.ts +2 -0
  196. package/dist/components/layout/separator/index.d.ts.map +1 -0
  197. package/dist/components/layout/separator/index.js +2 -0
  198. package/dist/components/layout/separator/index.js.map +1 -0
  199. package/dist/components/layout/separator/separator.d.ts +4 -0
  200. package/dist/components/layout/separator/separator.d.ts.map +1 -0
  201. package/dist/components/layout/separator/separator.js +9 -0
  202. package/dist/components/layout/separator/separator.js.map +1 -0
  203. package/dist/components/layout/visually-hidden/index.d.ts +2 -0
  204. package/dist/components/layout/visually-hidden/index.d.ts.map +1 -0
  205. package/dist/components/layout/visually-hidden/index.js +2 -0
  206. package/dist/components/layout/visually-hidden/index.js.map +1 -0
  207. package/dist/components/layout/visually-hidden/visually-hidden.d.ts +4 -0
  208. package/dist/components/layout/visually-hidden/visually-hidden.d.ts.map +1 -0
  209. package/dist/components/layout/visually-hidden/visually-hidden.js +7 -0
  210. package/dist/components/layout/visually-hidden/visually-hidden.js.map +1 -0
  211. package/dist/components/navigation/breadcrumb/breadcrumb.d.ts +19 -0
  212. package/dist/components/navigation/breadcrumb/breadcrumb.d.ts.map +1 -0
  213. package/dist/components/navigation/breadcrumb/breadcrumb.js +19 -0
  214. package/dist/components/navigation/breadcrumb/breadcrumb.js.map +1 -0
  215. package/dist/components/navigation/breadcrumb/index.d.ts +2 -0
  216. package/dist/components/navigation/breadcrumb/index.d.ts.map +1 -0
  217. package/dist/components/navigation/breadcrumb/index.js +2 -0
  218. package/dist/components/navigation/breadcrumb/index.js.map +1 -0
  219. package/dist/components/navigation/link/index.d.ts +2 -0
  220. package/dist/components/navigation/link/index.d.ts.map +1 -0
  221. package/dist/components/navigation/link/index.js +2 -0
  222. package/dist/components/navigation/link/index.js.map +1 -0
  223. package/dist/components/navigation/link/link.d.ts +13 -0
  224. package/dist/components/navigation/link/link.d.ts.map +1 -0
  225. package/dist/components/navigation/link/link.js +18 -0
  226. package/dist/components/navigation/link/link.js.map +1 -0
  227. package/dist/components/navigation/pagination/index.d.ts +2 -0
  228. package/dist/components/navigation/pagination/index.d.ts.map +1 -0
  229. package/dist/components/navigation/pagination/index.js +2 -0
  230. package/dist/components/navigation/pagination/index.js.map +1 -0
  231. package/dist/components/navigation/pagination/pagination.d.ts +18 -0
  232. package/dist/components/navigation/pagination/pagination.d.ts.map +1 -0
  233. package/dist/components/navigation/pagination/pagination.js +40 -0
  234. package/dist/components/navigation/pagination/pagination.js.map +1 -0
  235. package/dist/components/navigation/tabs/index.d.ts +2 -0
  236. package/dist/components/navigation/tabs/index.d.ts.map +1 -0
  237. package/dist/components/navigation/tabs/index.js +2 -0
  238. package/dist/components/navigation/tabs/index.js.map +1 -0
  239. package/dist/components/navigation/tabs/tabs.d.ts +12 -0
  240. package/dist/components/navigation/tabs/tabs.d.ts.map +1 -0
  241. package/dist/components/navigation/tabs/tabs.js +17 -0
  242. package/dist/components/navigation/tabs/tabs.js.map +1 -0
  243. package/dist/components/overlays/dialog/dialog.d.ts +22 -0
  244. package/dist/components/overlays/dialog/dialog.d.ts.map +1 -0
  245. package/dist/components/overlays/dialog/dialog.js +33 -0
  246. package/dist/components/overlays/dialog/dialog.js.map +1 -0
  247. package/dist/components/overlays/dialog/index.d.ts +2 -0
  248. package/dist/components/overlays/dialog/index.d.ts.map +1 -0
  249. package/dist/components/overlays/dialog/index.js +2 -0
  250. package/dist/components/overlays/dialog/index.js.map +1 -0
  251. package/dist/components/overlays/dropdown-menu/dropdown-menu.d.ts +24 -0
  252. package/dist/components/overlays/dropdown-menu/dropdown-menu.d.ts.map +1 -0
  253. package/dist/components/overlays/dropdown-menu/dropdown-menu.js +41 -0
  254. package/dist/components/overlays/dropdown-menu/dropdown-menu.js.map +1 -0
  255. package/dist/components/overlays/dropdown-menu/index.d.ts +2 -0
  256. package/dist/components/overlays/dropdown-menu/index.d.ts.map +1 -0
  257. package/dist/components/overlays/dropdown-menu/index.js +2 -0
  258. package/dist/components/overlays/dropdown-menu/index.js.map +1 -0
  259. package/dist/components/overlays/popover/index.d.ts +2 -0
  260. package/dist/components/overlays/popover/index.d.ts.map +1 -0
  261. package/dist/components/overlays/popover/index.js +2 -0
  262. package/dist/components/overlays/popover/index.js.map +1 -0
  263. package/dist/components/overlays/popover/popover.d.ts +8 -0
  264. package/dist/components/overlays/popover/popover.d.ts.map +1 -0
  265. package/dist/components/overlays/popover/popover.js +14 -0
  266. package/dist/components/overlays/popover/popover.js.map +1 -0
  267. package/dist/components/overlays/tooltip/index.d.ts +2 -0
  268. package/dist/components/overlays/tooltip/index.d.ts.map +1 -0
  269. package/dist/components/overlays/tooltip/index.js +2 -0
  270. package/dist/components/overlays/tooltip/index.js.map +1 -0
  271. package/dist/components/overlays/tooltip/tooltip.d.ts +20 -0
  272. package/dist/components/overlays/tooltip/tooltip.d.ts.map +1 -0
  273. package/dist/components/overlays/tooltip/tooltip.js +12 -0
  274. package/dist/components/overlays/tooltip/tooltip.js.map +1 -0
  275. package/dist/components/technical/secret-field/index.d.ts +2 -0
  276. package/dist/components/technical/secret-field/index.d.ts.map +1 -0
  277. package/dist/components/technical/secret-field/index.js +2 -0
  278. package/dist/components/technical/secret-field/index.js.map +1 -0
  279. package/dist/components/technical/secret-field/secret-field.d.ts +38 -0
  280. package/dist/components/technical/secret-field/secret-field.d.ts.map +1 -0
  281. package/dist/components/technical/secret-field/secret-field.js +42 -0
  282. package/dist/components/technical/secret-field/secret-field.js.map +1 -0
  283. package/dist/components/typography/kbd/index.d.ts +2 -0
  284. package/dist/components/typography/kbd/index.d.ts.map +1 -0
  285. package/dist/components/typography/kbd/index.js +2 -0
  286. package/dist/components/typography/kbd/index.js.map +1 -0
  287. package/dist/components/typography/kbd/kbd.d.ts +4 -0
  288. package/dist/components/typography/kbd/kbd.d.ts.map +1 -0
  289. package/dist/components/typography/kbd/kbd.js +7 -0
  290. package/dist/components/typography/kbd/kbd.js.map +1 -0
  291. package/dist/index.d.ts +43 -0
  292. package/dist/index.d.ts.map +1 -0
  293. package/dist/index.js +46 -0
  294. package/dist/index.js.map +1 -0
  295. package/dist/internal/cx.d.ts +3 -0
  296. package/dist/internal/cx.d.ts.map +1 -0
  297. package/dist/internal/cx.js +6 -0
  298. package/dist/internal/cx.js.map +1 -0
  299. package/dist/internal/icons.d.ts +20 -0
  300. package/dist/internal/icons.d.ts.map +1 -0
  301. package/dist/internal/icons.js +63 -0
  302. package/dist/internal/icons.js.map +1 -0
  303. package/dist/manifest.json +4484 -0
  304. package/dist/patterns/actions/toolbar/index.d.ts +2 -0
  305. package/dist/patterns/actions/toolbar/index.d.ts.map +1 -0
  306. package/dist/patterns/actions/toolbar/index.js +2 -0
  307. package/dist/patterns/actions/toolbar/index.js.map +1 -0
  308. package/dist/patterns/actions/toolbar/toolbar.d.ts +20 -0
  309. package/dist/patterns/actions/toolbar/toolbar.d.ts.map +1 -0
  310. package/dist/patterns/actions/toolbar/toolbar.js +46 -0
  311. package/dist/patterns/actions/toolbar/toolbar.js.map +1 -0
  312. package/dist/patterns/layout/page-header/index.d.ts +2 -0
  313. package/dist/patterns/layout/page-header/index.d.ts.map +1 -0
  314. package/dist/patterns/layout/page-header/index.js +2 -0
  315. package/dist/patterns/layout/page-header/index.js.map +1 -0
  316. package/dist/patterns/layout/page-header/page-header.d.ts +17 -0
  317. package/dist/patterns/layout/page-header/page-header.d.ts.map +1 -0
  318. package/dist/patterns/layout/page-header/page-header.js +7 -0
  319. package/dist/patterns/layout/page-header/page-header.js.map +1 -0
  320. package/dist/patterns/layout/settings-section/index.d.ts +2 -0
  321. package/dist/patterns/layout/settings-section/index.d.ts.map +1 -0
  322. package/dist/patterns/layout/settings-section/index.js +2 -0
  323. package/dist/patterns/layout/settings-section/index.js.map +1 -0
  324. package/dist/patterns/layout/settings-section/settings-section.d.ts +33 -0
  325. package/dist/patterns/layout/settings-section/settings-section.d.ts.map +1 -0
  326. package/dist/patterns/layout/settings-section/settings-section.js +15 -0
  327. package/dist/patterns/layout/settings-section/settings-section.js.map +1 -0
  328. package/dist/patterns/layout/split-layout/index.d.ts +2 -0
  329. package/dist/patterns/layout/split-layout/index.d.ts.map +1 -0
  330. package/dist/patterns/layout/split-layout/index.js +2 -0
  331. package/dist/patterns/layout/split-layout/index.js.map +1 -0
  332. package/dist/patterns/layout/split-layout/split-layout.d.ts +21 -0
  333. package/dist/patterns/layout/split-layout/split-layout.d.ts.map +1 -0
  334. package/dist/patterns/layout/split-layout/split-layout.js +10 -0
  335. package/dist/patterns/layout/split-layout/split-layout.js.map +1 -0
  336. package/dist/patterns/search/filter-bar/filter-bar.d.ts +25 -0
  337. package/dist/patterns/search/filter-bar/filter-bar.d.ts.map +1 -0
  338. package/dist/patterns/search/filter-bar/filter-bar.js +13 -0
  339. package/dist/patterns/search/filter-bar/filter-bar.js.map +1 -0
  340. package/dist/patterns/search/filter-bar/index.d.ts +2 -0
  341. package/dist/patterns/search/filter-bar/index.d.ts.map +1 -0
  342. package/dist/patterns/search/filter-bar/index.js +2 -0
  343. package/dist/patterns/search/filter-bar/index.js.map +1 -0
  344. package/dist/styles.css +2437 -0
  345. package/package.json +72 -0
@@ -0,0 +1,17 @@
1
+ import type { HTMLAttributes, ReactNode } from 'react';
2
+ export interface DescriptionListProps extends HTMLAttributes<HTMLDListElement> {
3
+ columns?: 1 | 2 | 3;
4
+ /** `stacked` (default) puts the term above the value; `inline` side by side. */
5
+ layout?: 'stacked' | 'inline';
6
+ }
7
+ /** Key/value facts on detail pages (owner, stage, created, …). */
8
+ export declare function DescriptionList({ columns, layout, className, ...rest }: DescriptionListProps): import("react").JSX.Element;
9
+ export interface DescriptionItemProps {
10
+ term: ReactNode;
11
+ children: ReactNode;
12
+ /** Span all columns. */
13
+ wide?: boolean;
14
+ className?: string;
15
+ }
16
+ export declare function DescriptionItem({ term, children, wide, className }: DescriptionItemProps): import("react").JSX.Element;
17
+ //# sourceMappingURL=description-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"description-list.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/description-list/description-list.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvD,MAAM,WAAW,oBAAqB,SAAQ,cAAc,CAAC,gBAAgB,CAAC;IAC5E,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpB,gFAAgF;IAChF,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;CAC/B;AAED,kEAAkE;AAClE,wBAAgB,eAAe,CAAC,EAC9B,OAAW,EACX,MAAkB,EAClB,SAAS,EACT,GAAG,IAAI,EACR,EAAE,oBAAoB,+BAItB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,SAAS,CAAC;IACpB,wBAAwB;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,oBAAoB,+BAOxF"}
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cx } from '../../../internal/cx.js';
3
+ /** Key/value facts on detail pages (owner, stage, created, …). */
4
+ export function DescriptionList({ columns = 2, layout = 'stacked', className, ...rest }) {
5
+ return (_jsx("dl", { ...rest, "data-columns": columns, "data-layout": layout, className: cx('mn-dl', className) }));
6
+ }
7
+ export function DescriptionItem({ term, children, wide, className }) {
8
+ return (_jsxs("div", { className: cx('mn-dl__item', className), "data-wide": wide || undefined, children: [_jsx("dt", { className: "mn-dl__term", children: term }), _jsx("dd", { className: "mn-dl__value", children: children })] }));
9
+ }
10
+ //# sourceMappingURL=description-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"description-list.js","sourceRoot":"","sources":["../../../../src/components/data-display/description-list/description-list.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,yBAAyB,CAAC;AAQ7C,kEAAkE;AAClE,MAAM,UAAU,eAAe,CAAC,EAC9B,OAAO,GAAG,CAAC,EACX,MAAM,GAAG,SAAS,EAClB,SAAS,EACT,GAAG,IAAI,EACc;IACrB,OAAO,CACL,gBAAQ,IAAI,kBAAgB,OAAO,iBAAe,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,GAAI,CAChG,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,eAAe,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAwB;IACvF,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,eAAa,IAAI,IAAI,SAAS,aACxE,aAAI,SAAS,EAAC,aAAa,YAAE,IAAI,GAAM,EACvC,aAAI,SAAS,EAAC,cAAc,YAAE,QAAQ,GAAM,IACxC,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './description-list.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/description-list/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './description-list.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/data-display/description-list/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './progress-bar.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/progress-bar/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './progress-bar.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/data-display/progress-bar/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { type ComponentPropsWithoutRef } from 'react';
2
+ import * as ProgressPrimitive from '@radix-ui/react-progress';
3
+ export interface ProgressProps extends Omit<ComponentPropsWithoutRef<typeof ProgressPrimitive.Root>, 'value'> {
4
+ /** 0–`max`. Omit for indeterminate. */
5
+ value?: number | null;
6
+ max?: number;
7
+ /** Accessible name, e.g. "Upload progress". Required unless aria-labelledby is set. */
8
+ label?: string;
9
+ size?: 'sm' | 'md';
10
+ tone?: 'accent' | 'success' | 'warning' | 'danger';
11
+ }
12
+ /** Linear progress bar; `value` undefined renders an indeterminate animation. */
13
+ export declare const Progress: import("react").ForwardRefExoticComponent<ProgressProps & import("react").RefAttributes<HTMLDivElement>>;
14
+ //# sourceMappingURL=progress-bar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress-bar.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/progress-bar/progress-bar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,wBAAwB,EAAmB,MAAM,OAAO,CAAC;AACnF,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAG9D,MAAM,WAAW,aAAc,SAAQ,IAAI,CACzC,wBAAwB,CAAC,OAAO,iBAAiB,CAAC,IAAI,CAAC,EACvD,OAAO,CACR;IACC,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uFAAuF;IACvF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;CACpD;AAED,iFAAiF;AACjF,eAAO,MAAM,QAAQ,0GA4BpB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { forwardRef } from 'react';
3
+ import * as ProgressPrimitive from '@radix-ui/react-progress';
4
+ import { cx } from '../../../internal/cx.js';
5
+ /** Linear progress bar; `value` undefined renders an indeterminate animation. */
6
+ export const Progress = forwardRef(function Progress({ value, max = 100, label, size = 'md', tone = 'accent', className, ...rest }, ref) {
7
+ const pct = value === undefined || value === null
8
+ ? undefined
9
+ : Math.min(100, Math.max(0, (value / max) * 100));
10
+ return (_jsx(ProgressPrimitive.Root, { ref: ref, value: value ?? null, max: max, "aria-label": label, ...rest, "data-size": size, "data-tone": tone, "data-indeterminate": pct === undefined || undefined, className: cx('mn-progress', className), children: _jsx(ProgressPrimitive.Indicator, { className: "mn-progress__bar", style: pct === undefined ? undefined : { width: `${pct}%` } }) }));
11
+ });
12
+ //# sourceMappingURL=progress-bar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress-bar.js","sourceRoot":"","sources":["../../../../src/components/data-display/progress-bar/progress-bar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAkD,MAAM,OAAO,CAAC;AACnF,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,yBAAyB,CAAC;AAe7C,iFAAiF;AACjF,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAChC,SAAS,QAAQ,CACf,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAC7E,GAAG;IAEH,MAAM,GAAG,GACP,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QACnC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACtD,OAAO,CACL,KAAC,iBAAiB,CAAC,IAAI,IACrB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,IAAI,IAAI,EACpB,GAAG,EAAE,GAAG,gBACI,KAAK,KACb,IAAI,eACG,IAAI,eACJ,IAAI,wBACK,GAAG,KAAK,SAAS,IAAI,SAAS,EAClD,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,YAEvC,KAAC,iBAAiB,CAAC,SAAS,IAC1B,SAAS,EAAC,kBAAkB,EAC5B,KAAK,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,EAAE,GAC3D,GACqB,CAC1B,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './stat-card.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/stat-card/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './stat-card.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/data-display/stat-card/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { HTMLAttributes, ReactNode } from 'react';
2
+ export interface StatCardProps extends HTMLAttributes<HTMLDivElement> {
3
+ label: ReactNode;
4
+ /** Formatted value, e.g. "₹12.4L" or "143". */
5
+ value: ReactNode;
6
+ /** Change versus the previous period, e.g. "+12%". */
7
+ delta?: ReactNode;
8
+ /** Direction of the change; `up` is success unless `deltaTone` says otherwise. */
9
+ deltaDirection?: 'up' | 'down' | 'flat';
10
+ /** Override the colour of the delta, e.g. `danger` when up is bad (churn). */
11
+ deltaTone?: 'success' | 'danger' | 'neutral';
12
+ /** Period label, e.g. "vs last 30 days". */
13
+ caption?: ReactNode;
14
+ /** Sparkline or icon slot. */
15
+ visual?: ReactNode;
16
+ }
17
+ /** Single KPI for dashboards (Dots pipelines, Pulse). */
18
+ export declare function StatCard({ label, value, delta, deltaDirection, deltaTone, caption, visual, className, ...rest }: StatCardProps): import("react").JSX.Element;
19
+ //# sourceMappingURL=stat-card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stat-card.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/stat-card/stat-card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvD,MAAM,WAAW,aAAc,SAAQ,cAAc,CAAC,cAAc,CAAC;IACnE,KAAK,EAAE,SAAS,CAAC;IACjB,+CAA+C;IAC/C,KAAK,EAAE,SAAS,CAAC;IACjB,sDAAsD;IACtD,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,kFAAkF;IAClF,cAAc,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IACxC,8EAA8E;IAC9E,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC7C,4CAA4C;IAC5C,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,yDAAyD;AACzD,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,KAAK,EACL,KAAK,EACL,cAAuB,EACvB,SAAS,EACT,OAAO,EACP,MAAM,EACN,SAAS,EACT,GAAG,IAAI,EACR,EAAE,aAAa,+BAiCf"}
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cx } from '../../../internal/cx.js';
3
+ import { VisuallyHidden } from '../../layout/visually-hidden/index.js';
4
+ /** Single KPI for dashboards (Dots pipelines, Pulse). */
5
+ export function StatCard({ label, value, delta, deltaDirection = 'flat', deltaTone, caption, visual, className, ...rest }) {
6
+ const tone = deltaTone ??
7
+ (deltaDirection === 'up' ? 'success' : deltaDirection === 'down' ? 'danger' : 'neutral');
8
+ const srDirection = deltaDirection === 'up' ? 'increase' : deltaDirection === 'down' ? 'decrease' : 'no change';
9
+ return (_jsxs("div", { ...rest, className: cx('mn-stat', className), children: [_jsxs("div", { className: "mn-stat__body", children: [_jsx("p", { className: "mn-stat__label", children: label }), _jsx("p", { className: "mn-stat__value", children: value }), delta !== undefined || caption ? (_jsxs("p", { className: "mn-stat__footer", children: [delta !== undefined ? (_jsxs("span", { className: "mn-stat__delta", "data-tone": tone, "data-direction": deltaDirection, children: [_jsx("span", { "aria-hidden": true, children: deltaDirection === 'up' ? '↑' : deltaDirection === 'down' ? '↓' : '→' }), _jsxs(VisuallyHidden, { children: [srDirection, " "] }), delta] })) : null, caption ? _jsx("span", { className: "mn-stat__caption", children: caption }) : null] })) : null] }), visual ? (_jsx("div", { className: "mn-stat__visual", "aria-hidden": true, children: visual })) : null] }));
10
+ }
11
+ //# sourceMappingURL=stat-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stat-card.js","sourceRoot":"","sources":["../../../../src/components/data-display/stat-card/stat-card.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,yBAAyB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAkBvE,yDAAyD;AACzD,MAAM,UAAU,QAAQ,CAAC,EACvB,KAAK,EACL,KAAK,EACL,KAAK,EACL,cAAc,GAAG,MAAM,EACvB,SAAS,EACT,OAAO,EACP,MAAM,EACN,SAAS,EACT,GAAG,IAAI,EACO;IACd,MAAM,IAAI,GACR,SAAS;QACT,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC3F,MAAM,WAAW,GACf,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;IAC9F,OAAO,CACL,kBAAS,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,aAChD,eAAK,SAAS,EAAC,eAAe,aAC5B,YAAG,SAAS,EAAC,gBAAgB,YAAE,KAAK,GAAK,EACzC,YAAG,SAAS,EAAC,gBAAgB,YAAE,KAAK,GAAK,EACxC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,CAChC,aAAG,SAAS,EAAC,iBAAiB,aAC3B,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CACrB,gBAAM,SAAS,EAAC,gBAAgB,eAAY,IAAI,oBAAkB,cAAc,aAC9E,8CACG,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GACjE,EACP,MAAC,cAAc,eAAE,WAAW,SAAmB,EAC9C,KAAK,IACD,CACR,CAAC,CAAC,CAAC,IAAI,EACP,OAAO,CAAC,CAAC,CAAC,eAAM,SAAS,EAAC,kBAAkB,YAAE,OAAO,GAAQ,CAAC,CAAC,CAAC,IAAI,IACnE,CACL,CAAC,CAAC,CAAC,IAAI,IACJ,EACL,MAAM,CAAC,CAAC,CAAC,CACR,cAAK,SAAS,EAAC,iBAAiB,iCAC7B,MAAM,GACH,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './status-badge.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/status-badge/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './status-badge.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/data-display/status-badge/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,169 @@
1
+ import { type HTMLAttributes, type ReactNode } from 'react';
2
+ /** The semantic tones a status maps to. They are Monarch intent tokens, so every theme works. */
3
+ export type StatusTone = 'neutral' | 'accent' | 'info' | 'success' | 'warning' | 'danger';
4
+ export interface StatusDefinition {
5
+ /** Human label shown in the badge ("Partial outage"), never the raw enum. */
6
+ label: string;
7
+ tone: StatusTone;
8
+ /**
9
+ * Decorative icon. A distinct shape per status means colour is never the
10
+ * only signal. `null` for none.
11
+ */
12
+ icon?: ReactNode;
13
+ /**
14
+ * Custom colour as `#rrggbb` (for example a workspace-defined ticket
15
+ * status). Used for the dot, icon and border only; the text stays a theme
16
+ * token. Adjusted per theme until it reaches 3:1 against the surface
17
+ * (WCAG 1.4.11); see `checkStatusColor`.
18
+ */
19
+ color?: string;
20
+ /** One line explaining the status, for a tooltip or legend the product renders. */
21
+ description?: string;
22
+ }
23
+ export type StatusRegistry<K extends string = string> = Readonly<Record<K, StatusDefinition>>;
24
+ /** The statuses Monarch ships. Service health first, then the generic set. */
25
+ export declare const builtInStatuses: {
26
+ readonly operational: {
27
+ readonly label: "Operational";
28
+ readonly tone: "success";
29
+ readonly icon: import("react").JSX.Element;
30
+ };
31
+ readonly degraded: {
32
+ readonly label: "Degraded";
33
+ readonly tone: "warning";
34
+ readonly icon: import("react").JSX.Element;
35
+ };
36
+ readonly partial: {
37
+ readonly label: "Partial outage";
38
+ readonly tone: "warning";
39
+ readonly icon: import("react").JSX.Element;
40
+ };
41
+ readonly down: {
42
+ readonly label: "Down";
43
+ readonly tone: "danger";
44
+ readonly icon: import("react").JSX.Element;
45
+ };
46
+ readonly maintenance: {
47
+ readonly label: "Maintenance";
48
+ readonly tone: "info";
49
+ readonly icon: import("react").JSX.Element;
50
+ };
51
+ readonly unknown: {
52
+ readonly label: "Unknown";
53
+ readonly tone: "neutral";
54
+ readonly icon: import("react").JSX.Element;
55
+ };
56
+ readonly success: {
57
+ readonly label: "Success";
58
+ readonly tone: "success";
59
+ readonly icon: import("react").JSX.Element;
60
+ };
61
+ readonly warning: {
62
+ readonly label: "Warning";
63
+ readonly tone: "warning";
64
+ readonly icon: import("react").JSX.Element;
65
+ };
66
+ readonly danger: {
67
+ readonly label: "Error";
68
+ readonly tone: "danger";
69
+ readonly icon: import("react").JSX.Element;
70
+ };
71
+ readonly info: {
72
+ readonly label: "Info";
73
+ readonly tone: "info";
74
+ readonly icon: import("react").JSX.Element;
75
+ };
76
+ readonly neutral: {
77
+ readonly label: "Neutral";
78
+ readonly tone: "neutral";
79
+ readonly icon: import("react").JSX.Element;
80
+ };
81
+ };
82
+ export type BuiltInStatus = keyof typeof builtInStatuses;
83
+ /** Result of the contrast guard for a custom colour. */
84
+ export interface StatusColorCheck {
85
+ /** The colour as given. */
86
+ input: string;
87
+ /** Colour for light and more-contrast light themes. */
88
+ light: string;
89
+ /** Colour for dark and more-contrast dark themes. */
90
+ dark: string;
91
+ /** Text colour for a solid fill of `light` (4.5:1 or more). */
92
+ onLight: string;
93
+ /** Text colour for a solid fill of `dark` (4.5:1 or more). */
94
+ onDark: string;
95
+ /** True when the input had to be darkened or lightened for at least one theme. */
96
+ adjusted: boolean;
97
+ /** Contrast of the input against each theme's surface. */
98
+ ratios: {
99
+ light: number;
100
+ dark: number;
101
+ 'hc-light': number;
102
+ 'hc-dark': number;
103
+ };
104
+ }
105
+ /**
106
+ * The contrast guard. Measures `#rrggbb` against the surface of every Monarch
107
+ * theme and, where it is below the theme's non-text target (3:1, or more in
108
+ * the more-contrast themes), moves its lightness until it passes. Hue and
109
+ * saturation are kept, so a workspace's colour stays recognisable. Returns
110
+ * `null` for anything that is not `#rrggbb`.
111
+ */
112
+ export declare function checkStatusColor(color: string): StatusColorCheck | null;
113
+ /**
114
+ * Defines a product's own statuses, typed by key. Custom colours are checked
115
+ * up front: an invalid one throws here, in development, instead of rendering
116
+ * an unreadable badge.
117
+ *
118
+ * const ticketStatuses = defineStatuses({
119
+ * open: { label: 'Open', tone: 'info' },
120
+ * waiting: { label: 'Waiting on customer', tone: 'warning', icon: <Clock /> },
121
+ * });
122
+ */
123
+ export declare function defineStatuses<K extends string>(definitions: Record<K, StatusDefinition>): StatusRegistry<K>;
124
+ /** With `{ extend: true }` the result also contains the built-in statuses. */
125
+ export declare function defineStatuses<K extends string>(definitions: Record<K, StatusDefinition>, options: {
126
+ extend: true;
127
+ }): StatusRegistry<K | BuiltInStatus>;
128
+ export interface StatusRegistryProviderProps {
129
+ /** Statuses added to (and overriding) the built-in set for everything inside. */
130
+ statuses: StatusRegistry;
131
+ children: ReactNode;
132
+ }
133
+ /** Makes a product's statuses available to every StatusBadge below it. Nested providers add up. */
134
+ export declare function StatusRegistryProvider({ statuses, children }: StatusRegistryProviderProps): import("react").JSX.Element;
135
+ /** "pending_delete" → "Pending delete". Used for statuses that are not in the registry. */
136
+ export declare function formatStatusLabel(status: string): string;
137
+ /**
138
+ * Looks up a status: the `statuses` argument first, then the nearest
139
+ * StatusRegistryProvider, then the built-in set. Unknown values resolve to
140
+ * the neutral "unknown" look with a readable label, never a raw enum.
141
+ */
142
+ export declare function resolveStatus(status: string | null | undefined, ...registries: (StatusRegistry | null | undefined)[]): StatusDefinition & {
143
+ known: boolean;
144
+ };
145
+ export interface StatusBadgeProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'color'> {
146
+ /** The status key: a built-in one or one from `statuses` / a StatusRegistryProvider. */
147
+ status: BuiltInStatus | (string & {}) | null | undefined;
148
+ /** Statuses for this badge only, checked before the provider and the built-in set. */
149
+ statuses?: StatusRegistry;
150
+ /** Overrides the registry label, for example with a translated string. */
151
+ label?: ReactNode;
152
+ /**
153
+ * `subtle` (default) tinted pill; `outline` for dense tables; `solid` for a
154
+ * single prominent status; `dot` for a quiet coloured dot plus text.
155
+ */
156
+ variant?: 'subtle' | 'outline' | 'solid' | 'dot';
157
+ size?: 'sm' | 'md';
158
+ /** Replaces the registry icon. `false` hides it (the text still carries the meaning). */
159
+ icon?: ReactNode | false;
160
+ /** Overrides the registry colour (`#rrggbb`), passed through the contrast guard. */
161
+ color?: string;
162
+ }
163
+ /**
164
+ * A status shown as text plus a tone and a distinct icon or dot, so colour is
165
+ * never the only signal. Statuses come from a typed registry that products
166
+ * extend with `defineStatuses` and `StatusRegistryProvider`.
167
+ */
168
+ export declare const StatusBadge: import("react").ForwardRefExoticComponent<StatusBadgeProps & import("react").RefAttributes<HTMLSpanElement>>;
169
+ //# sourceMappingURL=status-badge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-badge.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/status-badge/status-badge.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,139 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { createContext, forwardRef, useContext, useMemo, } from 'react';
4
+ import { bestForeground, contrast, ensureContrast, fromHex, themes, toHex, } from '@rookcom/monarch-tokens';
5
+ import { cx } from '../../../internal/cx.js';
6
+ import { DotGlyph, ErrorGlyph, HelpGlyph, InfoGlyph, PartialGlyph, SuccessGlyph, WarningGlyph, WrenchGlyph, } from '../../../internal/icons.js';
7
+ /** The statuses Monarch ships. Service health first, then the generic set. */
8
+ export const builtInStatuses = {
9
+ operational: { label: 'Operational', tone: 'success', icon: _jsx(SuccessGlyph, {}) },
10
+ degraded: { label: 'Degraded', tone: 'warning', icon: _jsx(WarningGlyph, {}) },
11
+ partial: { label: 'Partial outage', tone: 'warning', icon: _jsx(PartialGlyph, {}) },
12
+ down: { label: 'Down', tone: 'danger', icon: _jsx(ErrorGlyph, {}) },
13
+ maintenance: { label: 'Maintenance', tone: 'info', icon: _jsx(WrenchGlyph, {}) },
14
+ unknown: { label: 'Unknown', tone: 'neutral', icon: _jsx(HelpGlyph, {}) },
15
+ success: { label: 'Success', tone: 'success', icon: _jsx(SuccessGlyph, {}) },
16
+ warning: { label: 'Warning', tone: 'warning', icon: _jsx(WarningGlyph, {}) },
17
+ danger: { label: 'Error', tone: 'danger', icon: _jsx(ErrorGlyph, {}) },
18
+ info: { label: 'Info', tone: 'info', icon: _jsx(InfoGlyph, {}) },
19
+ neutral: { label: 'Neutral', tone: 'neutral', icon: _jsx(DotGlyph, {}) },
20
+ };
21
+ const HEX = /^#[0-9a-f]{6}$/i;
22
+ const TEXT_CANDIDATES = [
23
+ themes.light.neutrals['text-default'],
24
+ themes.light.neutrals['text-inverse'],
25
+ ];
26
+ const BLACK_WHITE = [fromHex('#000000'), fromHex('#ffffff')];
27
+ /** Dark or light text, whichever reads better on `hex`; always 4.5:1 or more. */
28
+ function readableOn(hex) {
29
+ const bg = fromHex(hex);
30
+ const best = bestForeground(bg, TEXT_CANDIDATES);
31
+ return toHex(best.ratio >= 4.5 ? best.color : bestForeground(bg, BLACK_WHITE).color);
32
+ }
33
+ const guardCache = new Map();
34
+ /**
35
+ * The contrast guard. Measures `#rrggbb` against the surface of every Monarch
36
+ * theme and, where it is below the theme's non-text target (3:1, or more in
37
+ * the more-contrast themes), moves its lightness until it passes. Hue and
38
+ * saturation are kept, so a workspace's colour stays recognisable. Returns
39
+ * `null` for anything that is not `#rrggbb`.
40
+ */
41
+ export function checkStatusColor(color) {
42
+ const cached = guardCache.get(color);
43
+ if (cached !== undefined)
44
+ return cached;
45
+ let result = null;
46
+ if (HEX.test(color)) {
47
+ const c = fromHex(color);
48
+ const surface = (id) => themes[id].neutrals['bg-surface'];
49
+ const ratios = {
50
+ light: contrast(c, surface('light')),
51
+ dark: contrast(c, surface('dark')),
52
+ 'hc-light': contrast(c, surface('hc-light')),
53
+ 'hc-dark': contrast(c, surface('hc-dark')),
54
+ };
55
+ const fit = (ids, dir) => {
56
+ const target = Math.max(...ids.map((id) => themes[id].targets.ui));
57
+ const against = ids.map(surface);
58
+ if (against.every((bg) => contrast(c, bg) >= target))
59
+ return { hex: color.toLowerCase(), moved: false };
60
+ return { hex: toHex(ensureContrast(c, against, target, dir)), moved: true };
61
+ };
62
+ const light = fit(['light', 'hc-light'], 'darken');
63
+ const dark = fit(['dark', 'hc-dark'], 'lighten');
64
+ result = {
65
+ input: color,
66
+ light: light.hex,
67
+ dark: dark.hex,
68
+ onLight: readableOn(light.hex),
69
+ onDark: readableOn(dark.hex),
70
+ adjusted: light.moved || dark.moved,
71
+ ratios,
72
+ };
73
+ }
74
+ guardCache.set(color, result);
75
+ return result;
76
+ }
77
+ export function defineStatuses(definitions, options = {}) {
78
+ for (const [key, def] of Object.entries(definitions)) {
79
+ if (def.color !== undefined && checkStatusColor(def.color) === null) {
80
+ throw new Error(`defineStatuses: "${key}" has colour "${def.color}"; use #rrggbb.`);
81
+ }
82
+ }
83
+ return options.extend ? { ...builtInStatuses, ...definitions } : { ...definitions };
84
+ }
85
+ const StatusRegistryContext = createContext(null);
86
+ /** Makes a product's statuses available to every StatusBadge below it. Nested providers add up. */
87
+ export function StatusRegistryProvider({ statuses, children }) {
88
+ const parent = useContext(StatusRegistryContext);
89
+ const value = useMemo(() => ({ ...(parent ?? {}), ...statuses }), [parent, statuses]);
90
+ return _jsx(StatusRegistryContext.Provider, { value: value, children: children });
91
+ }
92
+ /** "pending_delete" → "Pending delete". Used for statuses that are not in the registry. */
93
+ export function formatStatusLabel(status) {
94
+ const words = status.replace(/[_-]+/g, ' ').trim().toLowerCase();
95
+ return words ? words.charAt(0).toUpperCase() + words.slice(1) : 'Unknown';
96
+ }
97
+ /**
98
+ * Looks up a status: the `statuses` argument first, then the nearest
99
+ * StatusRegistryProvider, then the built-in set. Unknown values resolve to
100
+ * the neutral "unknown" look with a readable label, never a raw enum.
101
+ */
102
+ export function resolveStatus(status, ...registries) {
103
+ const key = status ?? 'unknown';
104
+ for (const registry of [...registries, builtInStatuses]) {
105
+ const def = registry && Object.prototype.hasOwnProperty.call(registry, key) ? registry[key] : undefined;
106
+ if (def)
107
+ return { ...def, known: true };
108
+ }
109
+ return {
110
+ ...builtInStatuses.unknown,
111
+ label: status ? formatStatusLabel(status) : 'Unknown',
112
+ known: false,
113
+ };
114
+ }
115
+ /**
116
+ * A status shown as text plus a tone and a distinct icon or dot, so colour is
117
+ * never the only signal. Statuses come from a typed registry that products
118
+ * extend with `defineStatuses` and `StatusRegistryProvider`.
119
+ */
120
+ export const StatusBadge = forwardRef(function StatusBadge({ status, statuses, label, variant = 'subtle', size = 'md', icon, color, className, style, children, ...rest }, ref) {
121
+ const provided = useContext(StatusRegistryContext);
122
+ const def = resolveStatus(status, statuses, provided);
123
+ const custom = checkStatusColor(color ?? def.color ?? '');
124
+ // The dot variant shows a dot instead of the icon, unless an icon is passed explicitly.
125
+ const explicitIcon = icon !== undefined && icon !== false;
126
+ const shownIcon = icon === false ? null : explicitIcon ? icon : variant === 'dot' ? null : def.icon;
127
+ // A custom colour must be visible somewhere: without an icon it gets a dot.
128
+ const showDot = !explicitIcon && (variant === 'dot' || (custom !== null && !shownIcon));
129
+ const customStyle = custom
130
+ ? {
131
+ '--mn-status-light': custom.light,
132
+ '--mn-status-dark': custom.dark,
133
+ '--mn-status-on-light': custom.onLight,
134
+ '--mn-status-on-dark': custom.onDark,
135
+ }
136
+ : undefined;
137
+ return (_jsxs("span", { ref: ref, ...rest, className: cx('mn-status-badge', className), style: customStyle ? { ...customStyle, ...style } : style, "data-status": status ?? 'unknown', "data-tone": def.tone, "data-variant": variant, "data-size": size, "data-custom-color": custom ? '' : undefined, "data-known": def.known ? undefined : 'false', children: [showDot ? _jsx("span", { className: "mn-status-badge__dot", "aria-hidden": true }) : null, shownIcon ? (_jsx("span", { className: "mn-status-badge__icon", "aria-hidden": true, children: shownIcon })) : null, _jsx("span", { className: "mn-status-badge__label", children: label ?? children ?? def.label })] }));
138
+ });
139
+ //# sourceMappingURL=status-badge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-badge.js","sourceRoot":"","sources":["../../../../src/components/data-display/status-badge/status-badge.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import { type HTMLAttributes, type TableHTMLAttributes, type TdHTMLAttributes, type ThHTMLAttributes } from 'react';
2
+ import { type CheckboxProps } from '../../forms/checkbox/index.js';
3
+ export interface TableProps extends TableHTMLAttributes<HTMLTableElement> {
4
+ /** Row height. `compact` for dense data, `comfortable` (default) for mixed content. */
5
+ density?: 'compact' | 'comfortable';
6
+ /** Keep the header visible while the body scrolls (the wrapper needs a height). */
7
+ stickyHeader?: boolean;
8
+ }
9
+ /**
10
+ * Data table primitives. Wrap in `<Card flush>` for a framed table. Pass a
11
+ * `<TableCaption>` or `aria-label` so the table has an accessible name.
12
+ */
13
+ export declare const Table: import("react").ForwardRefExoticComponent<TableProps & import("react").RefAttributes<HTMLTableElement>>;
14
+ export declare function TableHeader({ className, ...rest }: HTMLAttributes<HTMLTableSectionElement>): import("react").JSX.Element;
15
+ export declare function TableBody({ className, ...rest }: HTMLAttributes<HTMLTableSectionElement>): import("react").JSX.Element;
16
+ export interface TableRowProps extends HTMLAttributes<HTMLTableRowElement> {
17
+ /** Highlights the row (also sets aria-selected). */
18
+ selected?: boolean;
19
+ /** Pointer affordance for rows that open something on click. Keep a real link or button inside. */
20
+ interactive?: boolean;
21
+ }
22
+ export declare function TableRow({ selected, interactive, className, ...rest }: TableRowProps): import("react").JSX.Element;
23
+ export type SortDirection = 'ascending' | 'descending' | 'none';
24
+ export interface TableHeadProps extends ThHTMLAttributes<HTMLTableCellElement> {
25
+ /** Current sort of this column. Renders a SortButton and sets aria-sort. */
26
+ sort?: SortDirection;
27
+ /** Called when the sort button is pressed. Required when `sort` is set. */
28
+ onSortChange?: (next: 'ascending' | 'descending') => void;
29
+ /** Right-align numbers. */
30
+ numeric?: boolean;
31
+ }
32
+ export declare function TableHead({ sort, onSortChange, numeric, className, children, scope, ...rest }: TableHeadProps): import("react").JSX.Element;
33
+ export interface SortButtonProps {
34
+ direction: SortDirection;
35
+ onClick: () => void;
36
+ children: React.ReactNode;
37
+ }
38
+ /** Column sort toggle; its accessible name states the current direction. */
39
+ export declare function SortButton({ direction, onClick, children }: SortButtonProps): import("react").JSX.Element;
40
+ export interface TableCellProps extends TdHTMLAttributes<HTMLTableCellElement> {
41
+ numeric?: boolean;
42
+ }
43
+ export declare function TableCell({ numeric, className, ...rest }: TableCellProps): import("react").JSX.Element;
44
+ export declare function TableCaption({ className, ...rest }: HTMLAttributes<HTMLTableCaptionElement>): import("react").JSX.Element;
45
+ export interface TableSelectCellProps extends Omit<CheckboxProps, 'label' | 'description'> {
46
+ /** Accessible name, e.g. "Select ticket 42" or "Select all". */
47
+ label: string;
48
+ /** Render as a header cell (for the select-all checkbox). */
49
+ header?: boolean;
50
+ }
51
+ /** Narrow checkbox column for row selection. */
52
+ export declare function TableSelectCell({ label, header, className, ...rest }: TableSelectCellProps): import("react").JSX.Element;
53
+ //# sourceMappingURL=data-table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-table.d.ts","sourceRoot":"","sources":["../../../../src/components/data-grid/data-table/data-table.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACtB,MAAM,OAAO,CAAC;AAGf,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE7E,MAAM,WAAW,UAAW,SAAQ,mBAAmB,CAAC,gBAAgB,CAAC;IACvE,uFAAuF;IACvF,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;IACpC,mFAAmF;IACnF,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,yGAehB,CAAC;AAEH,wBAAgB,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,cAAc,CAAC,uBAAuB,CAAC,+BAE1F;AAED,wBAAgB,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,cAAc,CAAC,uBAAuB,CAAC,+BAExF;AAED,MAAM,WAAW,aAAc,SAAQ,cAAc,CAAC,mBAAmB,CAAC;IACxE,oDAAoD;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mGAAmG;IACnG,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,aAAa,+BAUpF;AAED,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,YAAY,GAAG,MAAM,CAAC;AAEhE,MAAM,WAAW,cAAe,SAAQ,gBAAgB,CAAC,oBAAoB,CAAC;IAC5E,4EAA4E;IAC5E,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,GAAG,YAAY,KAAK,IAAI,CAAC;IAC1D,2BAA2B;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,YAAY,EACZ,OAAO,EACP,SAAS,EACT,QAAQ,EACR,KAAa,EACb,GAAG,IAAI,EACR,EAAE,cAAc,+BAsBhB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,aAAa,CAAC;IACzB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,4EAA4E;AAC5E,wBAAgB,UAAU,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,eAAe,+BAc3E;AAED,MAAM,WAAW,cAAe,SAAQ,gBAAgB,CAAC,oBAAoB,CAAC;IAC5E,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,SAAS,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,cAAc,+BAIxE;AAED,wBAAgB,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,cAAc,CAAC,uBAAuB,CAAC,+BAE3F;AAED,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,aAAa,CAAC;IACxF,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,gDAAgD;AAChD,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,MAAc,EACd,SAAS,EACT,GAAG,IAAI,EACR,EAAE,oBAAoB,+BAUtB"}