@rookcom/monarch-react 0.2.0 → 0.3.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 (673) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/dist/components/{button.d.ts → actions/button/button.d.ts} +9 -1
  3. package/dist/components/actions/button/button.d.ts.map +1 -0
  4. package/dist/components/actions/button/button.js +69 -0
  5. package/dist/components/actions/button/button.js.map +1 -0
  6. package/dist/components/actions/button/index.d.ts +2 -0
  7. package/dist/components/actions/button/index.d.ts.map +1 -0
  8. package/dist/components/actions/button/index.js +2 -0
  9. package/dist/components/actions/button/index.js.map +1 -0
  10. package/dist/components/actions/copy-button/copy-button.d.ts +71 -0
  11. package/dist/components/actions/copy-button/copy-button.d.ts.map +1 -0
  12. package/dist/components/actions/copy-button/copy-button.js +150 -0
  13. package/dist/components/actions/copy-button/copy-button.js.map +1 -0
  14. package/dist/components/actions/copy-button/index.d.ts +2 -0
  15. package/dist/components/actions/copy-button/index.d.ts.map +1 -0
  16. package/dist/components/actions/copy-button/index.js +2 -0
  17. package/dist/components/actions/copy-button/index.js.map +1 -0
  18. package/dist/components/actions/copy-field/copy-field.d.ts +47 -0
  19. package/dist/components/actions/copy-field/copy-field.d.ts.map +1 -0
  20. package/dist/components/actions/copy-field/copy-field.js +37 -0
  21. package/dist/components/actions/copy-field/copy-field.js.map +1 -0
  22. package/dist/components/actions/copy-field/index.d.ts +2 -0
  23. package/dist/components/actions/copy-field/index.d.ts.map +1 -0
  24. package/dist/components/actions/copy-field/index.js +2 -0
  25. package/dist/components/actions/copy-field/index.js.map +1 -0
  26. package/dist/components/billing/money/index.d.ts +2 -0
  27. package/dist/components/billing/money/index.d.ts.map +1 -0
  28. package/dist/components/billing/money/index.js +2 -0
  29. package/dist/components/billing/money/index.js.map +1 -0
  30. package/dist/components/billing/money/money.d.ts +44 -0
  31. package/dist/components/billing/money/money.d.ts.map +1 -0
  32. package/dist/components/billing/money/money.js +75 -0
  33. package/dist/components/billing/money/money.js.map +1 -0
  34. package/dist/components/data-display/accordion/accordion.d.ts +17 -0
  35. package/dist/components/data-display/accordion/accordion.d.ts.map +1 -0
  36. package/dist/components/data-display/accordion/accordion.js +23 -0
  37. package/dist/components/data-display/accordion/accordion.js.map +1 -0
  38. package/dist/components/data-display/accordion/index.d.ts +2 -0
  39. package/dist/components/data-display/accordion/index.d.ts.map +1 -0
  40. package/dist/components/data-display/accordion/index.js +2 -0
  41. package/dist/components/data-display/accordion/index.js.map +1 -0
  42. package/dist/components/data-display/badge/badge.d.ts.map +1 -0
  43. package/dist/components/{badge.js → data-display/badge/badge.js} +1 -1
  44. package/dist/components/data-display/badge/badge.js.map +1 -0
  45. package/dist/components/data-display/badge/index.d.ts +2 -0
  46. package/dist/components/data-display/badge/index.d.ts.map +1 -0
  47. package/dist/components/data-display/badge/index.js +2 -0
  48. package/dist/components/data-display/badge/index.js.map +1 -0
  49. package/dist/components/data-display/card/card.d.ts.map +1 -0
  50. package/dist/components/{card.js → data-display/card/card.js} +1 -1
  51. package/dist/components/data-display/card/card.js.map +1 -0
  52. package/dist/components/data-display/card/index.d.ts +2 -0
  53. package/dist/components/data-display/card/index.d.ts.map +1 -0
  54. package/dist/components/data-display/card/index.js +2 -0
  55. package/dist/components/data-display/card/index.js.map +1 -0
  56. package/dist/components/data-display/description-list/description-list.d.ts.map +1 -0
  57. package/dist/{patterns → components/data-display/description-list}/description-list.js +1 -1
  58. package/dist/components/data-display/description-list/description-list.js.map +1 -0
  59. package/dist/components/data-display/description-list/index.d.ts +2 -0
  60. package/dist/components/data-display/description-list/index.d.ts.map +1 -0
  61. package/dist/components/data-display/description-list/index.js +2 -0
  62. package/dist/components/data-display/description-list/index.js.map +1 -0
  63. package/dist/components/data-display/progress-bar/index.d.ts +2 -0
  64. package/dist/components/data-display/progress-bar/index.d.ts.map +1 -0
  65. package/dist/components/data-display/progress-bar/index.js +2 -0
  66. package/dist/components/data-display/progress-bar/index.js.map +1 -0
  67. package/dist/components/data-display/progress-bar/progress-bar.d.ts +57 -0
  68. package/dist/components/data-display/progress-bar/progress-bar.d.ts.map +1 -0
  69. package/dist/components/data-display/progress-bar/progress-bar.js +57 -0
  70. package/dist/components/data-display/progress-bar/progress-bar.js.map +1 -0
  71. package/dist/components/data-display/relative-time/index.d.ts +2 -0
  72. package/dist/components/data-display/relative-time/index.d.ts.map +1 -0
  73. package/dist/components/data-display/relative-time/index.js +2 -0
  74. package/dist/components/data-display/relative-time/index.js.map +1 -0
  75. package/dist/components/data-display/relative-time/relative-time.d.ts +66 -0
  76. package/dist/components/data-display/relative-time/relative-time.d.ts.map +1 -0
  77. package/dist/components/data-display/relative-time/relative-time.js +102 -0
  78. package/dist/components/data-display/relative-time/relative-time.js.map +1 -0
  79. package/dist/components/data-display/stat-card/index.d.ts +2 -0
  80. package/dist/components/data-display/stat-card/index.d.ts.map +1 -0
  81. package/dist/components/data-display/stat-card/index.js +2 -0
  82. package/dist/components/data-display/stat-card/index.js.map +1 -0
  83. package/dist/components/data-display/stat-card/stat-card.d.ts.map +1 -0
  84. package/dist/{patterns → components/data-display/stat-card}/stat-card.js +2 -2
  85. package/dist/components/data-display/stat-card/stat-card.js.map +1 -0
  86. package/dist/components/data-display/status-badge/index.d.ts +2 -0
  87. package/dist/components/data-display/status-badge/index.d.ts.map +1 -0
  88. package/dist/components/data-display/status-badge/index.js +2 -0
  89. package/dist/components/data-display/status-badge/index.js.map +1 -0
  90. package/dist/components/data-display/status-badge/status-badge.d.ts +169 -0
  91. package/dist/components/data-display/status-badge/status-badge.d.ts.map +1 -0
  92. package/dist/components/data-display/status-badge/status-badge.js +139 -0
  93. package/dist/components/data-display/status-badge/status-badge.js.map +1 -0
  94. package/dist/components/{table.d.ts → data-grid/data-table/data-table.d.ts} +2 -2
  95. package/dist/components/data-grid/data-table/data-table.d.ts.map +1 -0
  96. package/dist/components/{table.js → data-grid/data-table/data-table.js} +4 -4
  97. package/dist/components/data-grid/data-table/data-table.js.map +1 -0
  98. package/dist/components/data-grid/data-table/index.d.ts +2 -0
  99. package/dist/components/data-grid/data-table/index.d.ts.map +1 -0
  100. package/dist/components/data-grid/data-table/index.js +2 -0
  101. package/dist/components/data-grid/data-table/index.js.map +1 -0
  102. package/dist/components/data-grid/load-more/index.d.ts +2 -0
  103. package/dist/components/data-grid/load-more/index.d.ts.map +1 -0
  104. package/dist/components/data-grid/load-more/index.js +2 -0
  105. package/dist/components/data-grid/load-more/index.js.map +1 -0
  106. package/dist/components/data-grid/load-more/load-more.d.ts +97 -0
  107. package/dist/components/data-grid/load-more/load-more.d.ts.map +1 -0
  108. package/dist/components/data-grid/load-more/load-more.js +184 -0
  109. package/dist/components/data-grid/load-more/load-more.js.map +1 -0
  110. package/dist/components/feedback/alert/alert.d.ts.map +1 -0
  111. package/dist/components/{alert.js → feedback/alert/alert.js} +2 -2
  112. package/dist/components/feedback/alert/alert.js.map +1 -0
  113. package/dist/components/feedback/alert/index.d.ts +2 -0
  114. package/dist/components/feedback/alert/index.d.ts.map +1 -0
  115. package/dist/components/feedback/alert/index.js +2 -0
  116. package/dist/components/feedback/alert/index.js.map +1 -0
  117. package/dist/components/feedback/callout-banner/callout-banner.d.ts +66 -0
  118. package/dist/components/feedback/callout-banner/callout-banner.d.ts.map +1 -0
  119. package/dist/components/feedback/callout-banner/callout-banner.js +35 -0
  120. package/dist/components/feedback/callout-banner/callout-banner.js.map +1 -0
  121. package/dist/components/feedback/callout-banner/index.d.ts +2 -0
  122. package/dist/components/feedback/callout-banner/index.d.ts.map +1 -0
  123. package/dist/components/feedback/callout-banner/index.js +2 -0
  124. package/dist/components/feedback/callout-banner/index.js.map +1 -0
  125. package/dist/components/feedback/empty-state/empty-state.d.ts +59 -0
  126. package/dist/components/feedback/empty-state/empty-state.d.ts.map +1 -0
  127. package/dist/components/feedback/empty-state/empty-state.js +16 -0
  128. package/dist/components/feedback/empty-state/empty-state.js.map +1 -0
  129. package/dist/components/feedback/empty-state/index.d.ts +2 -0
  130. package/dist/components/feedback/empty-state/index.d.ts.map +1 -0
  131. package/dist/components/feedback/empty-state/index.js +2 -0
  132. package/dist/components/feedback/empty-state/index.js.map +1 -0
  133. package/dist/components/feedback/error-page/error-page.d.ts +66 -0
  134. package/dist/components/feedback/error-page/error-page.d.ts.map +1 -0
  135. package/dist/components/feedback/error-page/error-page.js +43 -0
  136. package/dist/components/feedback/error-page/error-page.js.map +1 -0
  137. package/dist/components/feedback/error-page/index.d.ts +2 -0
  138. package/dist/components/feedback/error-page/index.d.ts.map +1 -0
  139. package/dist/components/feedback/error-page/index.js +2 -0
  140. package/dist/components/feedback/error-page/index.js.map +1 -0
  141. package/dist/components/feedback/error-state/error-state.boundary.d.ts +45 -0
  142. package/dist/components/feedback/error-state/error-state.boundary.d.ts.map +1 -0
  143. package/dist/components/feedback/error-state/error-state.boundary.js +40 -0
  144. package/dist/components/feedback/error-state/error-state.boundary.js.map +1 -0
  145. package/dist/components/feedback/error-state/error-state.d.ts +51 -0
  146. package/dist/components/feedback/error-state/error-state.d.ts.map +1 -0
  147. package/dist/components/feedback/error-state/error-state.js +47 -0
  148. package/dist/components/feedback/error-state/error-state.js.map +1 -0
  149. package/dist/components/feedback/error-state/index.d.ts +3 -0
  150. package/dist/components/feedback/error-state/index.d.ts.map +1 -0
  151. package/dist/components/feedback/error-state/index.js +3 -0
  152. package/dist/components/feedback/error-state/index.js.map +1 -0
  153. package/dist/components/feedback/inline-error-retry/index.d.ts +2 -0
  154. package/dist/components/feedback/inline-error-retry/index.d.ts.map +1 -0
  155. package/dist/components/feedback/inline-error-retry/index.js +2 -0
  156. package/dist/components/feedback/inline-error-retry/index.js.map +1 -0
  157. package/dist/components/feedback/inline-error-retry/inline-error-retry.d.ts +41 -0
  158. package/dist/components/feedback/inline-error-retry/inline-error-retry.d.ts.map +1 -0
  159. package/dist/components/feedback/inline-error-retry/inline-error-retry.js +75 -0
  160. package/dist/components/feedback/inline-error-retry/inline-error-retry.js.map +1 -0
  161. package/dist/components/feedback/inline-notice/index.d.ts +2 -0
  162. package/dist/components/feedback/inline-notice/index.d.ts.map +1 -0
  163. package/dist/components/feedback/inline-notice/index.js +2 -0
  164. package/dist/components/feedback/inline-notice/index.js.map +1 -0
  165. package/dist/components/feedback/inline-notice/inline-notice.d.ts +40 -0
  166. package/dist/components/feedback/inline-notice/inline-notice.d.ts.map +1 -0
  167. package/dist/components/feedback/inline-notice/inline-notice.js +29 -0
  168. package/dist/components/feedback/inline-notice/inline-notice.js.map +1 -0
  169. package/dist/components/feedback/loading-state/index.d.ts +2 -0
  170. package/dist/components/feedback/loading-state/index.d.ts.map +1 -0
  171. package/dist/components/feedback/loading-state/index.js +2 -0
  172. package/dist/components/feedback/loading-state/index.js.map +1 -0
  173. package/dist/components/feedback/loading-state/loading-state.d.ts +17 -0
  174. package/dist/components/feedback/loading-state/loading-state.d.ts.map +1 -0
  175. package/dist/components/feedback/loading-state/loading-state.js +12 -0
  176. package/dist/components/feedback/loading-state/loading-state.js.map +1 -0
  177. package/dist/components/feedback/skeleton/index.d.ts +2 -0
  178. package/dist/components/feedback/skeleton/index.d.ts.map +1 -0
  179. package/dist/components/feedback/skeleton/index.js +2 -0
  180. package/dist/components/feedback/skeleton/index.js.map +1 -0
  181. package/dist/components/feedback/skeleton/skeleton.d.ts.map +1 -0
  182. package/dist/components/{skeleton.js → feedback/skeleton/skeleton.js} +1 -1
  183. package/dist/components/feedback/skeleton/skeleton.js.map +1 -0
  184. package/dist/components/feedback/spinner/index.d.ts +2 -0
  185. package/dist/components/feedback/spinner/index.d.ts.map +1 -0
  186. package/dist/components/feedback/spinner/index.js +2 -0
  187. package/dist/components/feedback/spinner/index.js.map +1 -0
  188. package/dist/components/feedback/spinner/spinner.d.ts.map +1 -0
  189. package/dist/components/{spinner.js → feedback/spinner/spinner.js} +1 -1
  190. package/dist/components/feedback/spinner/spinner.js.map +1 -0
  191. package/dist/components/feedback/toast/index.d.ts +2 -0
  192. package/dist/components/feedback/toast/index.d.ts.map +1 -0
  193. package/dist/components/feedback/toast/index.js +2 -0
  194. package/dist/components/feedback/toast/index.js.map +1 -0
  195. package/dist/components/feedback/toast/toast.d.ts +109 -0
  196. package/dist/components/feedback/toast/toast.d.ts.map +1 -0
  197. package/dist/components/feedback/toast/toast.js +187 -0
  198. package/dist/components/feedback/toast/toast.js.map +1 -0
  199. package/dist/components/forms/checkbox/checkbox.d.ts.map +1 -0
  200. package/dist/components/{checkbox.js → forms/checkbox/checkbox.js} +3 -3
  201. package/dist/components/forms/checkbox/checkbox.js.map +1 -0
  202. package/dist/components/forms/checkbox/index.d.ts +2 -0
  203. package/dist/components/forms/checkbox/index.d.ts.map +1 -0
  204. package/dist/components/forms/checkbox/index.js +2 -0
  205. package/dist/components/forms/checkbox/index.js.map +1 -0
  206. package/dist/components/forms/combobox/combobox.d.ts.map +1 -0
  207. package/dist/components/{combobox.js → forms/combobox/combobox.js} +4 -4
  208. package/dist/components/forms/combobox/combobox.js.map +1 -0
  209. package/dist/components/forms/combobox/index.d.ts +2 -0
  210. package/dist/components/forms/combobox/index.d.ts.map +1 -0
  211. package/dist/components/forms/combobox/index.js +2 -0
  212. package/dist/components/forms/combobox/index.js.map +1 -0
  213. package/dist/components/{field.d.ts → forms/form-field/form-field.d.ts} +42 -3
  214. package/dist/components/forms/form-field/form-field.d.ts.map +1 -0
  215. package/dist/components/{field.js → forms/form-field/form-field.js} +17 -4
  216. package/dist/components/forms/form-field/form-field.js.map +1 -0
  217. package/dist/components/forms/form-field/index.d.ts +2 -0
  218. package/dist/components/forms/form-field/index.d.ts.map +1 -0
  219. package/dist/components/forms/form-field/index.js +2 -0
  220. package/dist/components/forms/form-field/index.js.map +1 -0
  221. package/dist/components/forms/inline-edit-text/index.d.ts +2 -0
  222. package/dist/components/forms/inline-edit-text/index.d.ts.map +1 -0
  223. package/dist/components/forms/inline-edit-text/index.js +2 -0
  224. package/dist/components/forms/inline-edit-text/index.js.map +1 -0
  225. package/dist/components/forms/inline-edit-text/inline-edit-text.d.ts +63 -0
  226. package/dist/components/forms/inline-edit-text/inline-edit-text.d.ts.map +1 -0
  227. package/dist/components/forms/inline-edit-text/inline-edit-text.js +175 -0
  228. package/dist/components/forms/inline-edit-text/inline-edit-text.js.map +1 -0
  229. package/dist/components/forms/otp-pin-input/index.d.ts +2 -0
  230. package/dist/components/forms/otp-pin-input/index.d.ts.map +1 -0
  231. package/dist/components/forms/otp-pin-input/index.js +2 -0
  232. package/dist/components/forms/otp-pin-input/index.js.map +1 -0
  233. package/dist/components/forms/otp-pin-input/otp-pin-input.d.ts +32 -0
  234. package/dist/components/forms/otp-pin-input/otp-pin-input.d.ts.map +1 -0
  235. package/dist/components/forms/otp-pin-input/otp-pin-input.js +73 -0
  236. package/dist/components/forms/otp-pin-input/otp-pin-input.js.map +1 -0
  237. package/dist/components/forms/segmented-control/index.d.ts +2 -0
  238. package/dist/components/forms/segmented-control/index.d.ts.map +1 -0
  239. package/dist/components/forms/segmented-control/index.js +2 -0
  240. package/dist/components/forms/segmented-control/index.js.map +1 -0
  241. package/dist/components/forms/segmented-control/segmented-control.d.ts +62 -0
  242. package/dist/components/forms/segmented-control/segmented-control.d.ts.map +1 -0
  243. package/dist/components/forms/segmented-control/segmented-control.js +139 -0
  244. package/dist/components/forms/segmented-control/segmented-control.js.map +1 -0
  245. package/dist/components/forms/select/index.d.ts +2 -0
  246. package/dist/components/forms/select/index.d.ts.map +1 -0
  247. package/dist/components/forms/select/index.js +2 -0
  248. package/dist/components/forms/select/index.js.map +1 -0
  249. package/dist/components/forms/select/select.d.ts.map +1 -0
  250. package/dist/components/{select.js → forms/select/select.js} +3 -3
  251. package/dist/components/forms/select/select.js.map +1 -0
  252. package/dist/components/forms/switch/index.d.ts +2 -0
  253. package/dist/components/forms/switch/index.d.ts.map +1 -0
  254. package/dist/components/forms/switch/index.js +2 -0
  255. package/dist/components/forms/switch/index.js.map +1 -0
  256. package/dist/components/forms/switch/switch.d.ts.map +1 -0
  257. package/dist/components/{switch.js → forms/switch/switch.js} +2 -2
  258. package/dist/components/forms/switch/switch.js.map +1 -0
  259. package/dist/components/forms/switch-settings-list/index.d.ts +2 -0
  260. package/dist/components/forms/switch-settings-list/index.d.ts.map +1 -0
  261. package/dist/components/forms/switch-settings-list/index.js +2 -0
  262. package/dist/components/forms/switch-settings-list/index.js.map +1 -0
  263. package/dist/components/forms/switch-settings-list/switch-settings-list.d.ts +58 -0
  264. package/dist/components/forms/switch-settings-list/switch-settings-list.d.ts.map +1 -0
  265. package/dist/components/forms/switch-settings-list/switch-settings-list.js +123 -0
  266. package/dist/components/forms/switch-settings-list/switch-settings-list.js.map +1 -0
  267. package/dist/components/forms/tag-input/index.d.ts +2 -0
  268. package/dist/components/forms/tag-input/index.d.ts.map +1 -0
  269. package/dist/components/forms/tag-input/index.js +2 -0
  270. package/dist/components/forms/tag-input/index.js.map +1 -0
  271. package/dist/components/forms/tag-input/tag-input.d.ts +60 -0
  272. package/dist/components/forms/tag-input/tag-input.d.ts.map +1 -0
  273. package/dist/components/forms/tag-input/tag-input.js +258 -0
  274. package/dist/components/forms/tag-input/tag-input.js.map +1 -0
  275. package/dist/components/forms/text-field/index.d.ts +2 -0
  276. package/dist/components/forms/text-field/index.d.ts.map +1 -0
  277. package/dist/components/forms/text-field/index.js +2 -0
  278. package/dist/components/forms/text-field/index.js.map +1 -0
  279. package/dist/components/{input.d.ts → forms/text-field/text-field.d.ts} +1 -1
  280. package/dist/components/forms/text-field/text-field.d.ts.map +1 -0
  281. package/dist/components/{input.js → forms/text-field/text-field.js} +3 -3
  282. package/dist/components/forms/text-field/text-field.js.map +1 -0
  283. package/dist/components/geo/location-fields/index.d.ts +2 -0
  284. package/dist/components/geo/location-fields/index.d.ts.map +1 -0
  285. package/dist/components/geo/location-fields/index.js +2 -0
  286. package/dist/components/geo/location-fields/index.js.map +1 -0
  287. package/dist/components/geo/location-fields/location-fields.d.ts +104 -0
  288. package/dist/components/geo/location-fields/location-fields.d.ts.map +1 -0
  289. package/dist/components/geo/location-fields/location-fields.js +248 -0
  290. package/dist/components/geo/location-fields/location-fields.js.map +1 -0
  291. package/dist/components/identity/avatar/avatar.d.ts +68 -0
  292. package/dist/components/identity/avatar/avatar.d.ts.map +1 -0
  293. package/dist/components/identity/avatar/avatar.js +73 -0
  294. package/dist/components/identity/avatar/avatar.js.map +1 -0
  295. package/dist/components/identity/avatar/index.d.ts +2 -0
  296. package/dist/components/identity/avatar/index.d.ts.map +1 -0
  297. package/dist/components/identity/avatar/index.js +2 -0
  298. package/dist/components/identity/avatar/index.js.map +1 -0
  299. package/dist/components/identity/username-availability-input/index.d.ts +2 -0
  300. package/dist/components/identity/username-availability-input/index.d.ts.map +1 -0
  301. package/dist/components/identity/username-availability-input/index.js +2 -0
  302. package/dist/components/identity/username-availability-input/index.js.map +1 -0
  303. package/dist/components/identity/username-availability-input/username-availability-input.d.ts +71 -0
  304. package/dist/components/identity/username-availability-input/username-availability-input.d.ts.map +1 -0
  305. package/dist/components/identity/username-availability-input/username-availability-input.js +110 -0
  306. package/dist/components/identity/username-availability-input/username-availability-input.js.map +1 -0
  307. package/dist/components/layout/section-header/index.d.ts +2 -0
  308. package/dist/components/layout/section-header/index.d.ts.map +1 -0
  309. package/dist/components/layout/section-header/index.js +2 -0
  310. package/dist/components/layout/section-header/index.js.map +1 -0
  311. package/dist/components/layout/section-header/section-header.d.ts +49 -0
  312. package/dist/components/layout/section-header/section-header.d.ts.map +1 -0
  313. package/dist/components/layout/section-header/section-header.js +39 -0
  314. package/dist/components/layout/section-header/section-header.js.map +1 -0
  315. package/dist/components/layout/separator/index.d.ts +2 -0
  316. package/dist/components/layout/separator/index.d.ts.map +1 -0
  317. package/dist/components/layout/separator/index.js +2 -0
  318. package/dist/components/layout/separator/index.js.map +1 -0
  319. package/dist/components/layout/separator/separator.d.ts.map +1 -0
  320. package/dist/components/{separator.js → layout/separator/separator.js} +1 -1
  321. package/dist/components/layout/separator/separator.js.map +1 -0
  322. package/dist/components/layout/visually-hidden/index.d.ts +2 -0
  323. package/dist/components/layout/visually-hidden/index.d.ts.map +1 -0
  324. package/dist/components/layout/visually-hidden/index.js +2 -0
  325. package/dist/components/layout/visually-hidden/index.js.map +1 -0
  326. package/dist/components/layout/visually-hidden/visually-hidden.d.ts.map +1 -0
  327. package/dist/components/{visually-hidden.js → layout/visually-hidden/visually-hidden.js} +1 -1
  328. package/dist/components/layout/visually-hidden/visually-hidden.js.map +1 -0
  329. package/dist/components/navigation/back-link/back-link.d.ts +18 -0
  330. package/dist/components/navigation/back-link/back-link.d.ts.map +1 -0
  331. package/dist/components/navigation/back-link/back-link.js +16 -0
  332. package/dist/components/navigation/back-link/back-link.js.map +1 -0
  333. package/dist/components/navigation/back-link/index.d.ts +2 -0
  334. package/dist/components/navigation/back-link/index.d.ts.map +1 -0
  335. package/dist/components/navigation/back-link/index.js +2 -0
  336. package/dist/components/navigation/back-link/index.js.map +1 -0
  337. package/dist/components/navigation/breadcrumb/breadcrumb.d.ts.map +1 -0
  338. package/dist/components/{breadcrumb.js → navigation/breadcrumb/breadcrumb.js} +3 -3
  339. package/dist/components/navigation/breadcrumb/breadcrumb.js.map +1 -0
  340. package/dist/components/navigation/breadcrumb/index.d.ts +2 -0
  341. package/dist/components/navigation/breadcrumb/index.d.ts.map +1 -0
  342. package/dist/components/navigation/breadcrumb/index.js +2 -0
  343. package/dist/components/navigation/breadcrumb/index.js.map +1 -0
  344. package/dist/components/navigation/link/index.d.ts +2 -0
  345. package/dist/components/navigation/link/index.d.ts.map +1 -0
  346. package/dist/components/navigation/link/index.js +2 -0
  347. package/dist/components/navigation/link/index.js.map +1 -0
  348. package/dist/components/navigation/link/link.d.ts.map +1 -0
  349. package/dist/components/{link.js → navigation/link/link.js} +2 -2
  350. package/dist/components/navigation/link/link.js.map +1 -0
  351. package/dist/components/navigation/pagination/index.d.ts +2 -0
  352. package/dist/components/navigation/pagination/index.d.ts.map +1 -0
  353. package/dist/components/navigation/pagination/index.js +2 -0
  354. package/dist/components/navigation/pagination/index.js.map +1 -0
  355. package/dist/components/navigation/pagination/pagination.d.ts.map +1 -0
  356. package/dist/components/{pagination.js → navigation/pagination/pagination.js} +3 -3
  357. package/dist/components/navigation/pagination/pagination.js.map +1 -0
  358. package/dist/components/navigation/tabs/index.d.ts +2 -0
  359. package/dist/components/navigation/tabs/index.d.ts.map +1 -0
  360. package/dist/components/navigation/tabs/index.js +2 -0
  361. package/dist/components/navigation/tabs/index.js.map +1 -0
  362. package/dist/components/navigation/tabs/tabs.d.ts +121 -0
  363. package/dist/components/navigation/tabs/tabs.d.ts.map +1 -0
  364. package/dist/components/navigation/tabs/tabs.js +127 -0
  365. package/dist/components/navigation/tabs/tabs.js.map +1 -0
  366. package/dist/components/overlays/confirm-dialog/confirm-dialog.d.ts +107 -0
  367. package/dist/components/overlays/confirm-dialog/confirm-dialog.d.ts.map +1 -0
  368. package/dist/components/overlays/confirm-dialog/confirm-dialog.js +186 -0
  369. package/dist/components/overlays/confirm-dialog/confirm-dialog.js.map +1 -0
  370. package/dist/components/overlays/confirm-dialog/index.d.ts +2 -0
  371. package/dist/components/overlays/confirm-dialog/index.d.ts.map +1 -0
  372. package/dist/components/overlays/confirm-dialog/index.js +2 -0
  373. package/dist/components/overlays/confirm-dialog/index.js.map +1 -0
  374. package/dist/components/{dialog.d.ts → overlays/dialog/dialog.d.ts} +27 -1
  375. package/dist/components/overlays/dialog/dialog.d.ts.map +1 -0
  376. package/dist/components/{dialog.js → overlays/dialog/dialog.js} +6 -4
  377. package/dist/components/overlays/dialog/dialog.js.map +1 -0
  378. package/dist/components/overlays/dialog/index.d.ts +2 -0
  379. package/dist/components/overlays/dialog/index.d.ts.map +1 -0
  380. package/dist/components/overlays/dialog/index.js +2 -0
  381. package/dist/components/overlays/dialog/index.js.map +1 -0
  382. package/dist/components/overlays/dropdown-menu/dropdown-menu.d.ts.map +1 -0
  383. package/dist/components/{dropdown-menu.js → overlays/dropdown-menu/dropdown-menu.js} +2 -2
  384. package/dist/components/overlays/dropdown-menu/dropdown-menu.js.map +1 -0
  385. package/dist/components/overlays/dropdown-menu/index.d.ts +2 -0
  386. package/dist/components/overlays/dropdown-menu/index.d.ts.map +1 -0
  387. package/dist/components/overlays/dropdown-menu/index.js +2 -0
  388. package/dist/components/overlays/dropdown-menu/index.js.map +1 -0
  389. package/dist/components/overlays/popover/index.d.ts +2 -0
  390. package/dist/components/overlays/popover/index.d.ts.map +1 -0
  391. package/dist/components/overlays/popover/index.js +2 -0
  392. package/dist/components/overlays/popover/index.js.map +1 -0
  393. package/dist/components/overlays/popover/popover.d.ts.map +1 -0
  394. package/dist/components/{popover.js → overlays/popover/popover.js} +1 -1
  395. package/dist/components/overlays/popover/popover.js.map +1 -0
  396. package/dist/components/overlays/responsive-dialog/index.d.ts +2 -0
  397. package/dist/components/overlays/responsive-dialog/index.d.ts.map +1 -0
  398. package/dist/components/overlays/responsive-dialog/index.js +2 -0
  399. package/dist/components/overlays/responsive-dialog/index.js.map +1 -0
  400. package/dist/components/overlays/responsive-dialog/responsive-dialog.d.ts +25 -0
  401. package/dist/components/overlays/responsive-dialog/responsive-dialog.d.ts.map +1 -0
  402. package/dist/components/overlays/responsive-dialog/responsive-dialog.js +22 -0
  403. package/dist/components/overlays/responsive-dialog/responsive-dialog.js.map +1 -0
  404. package/dist/components/overlays/sheet/index.d.ts +2 -0
  405. package/dist/components/overlays/sheet/index.d.ts.map +1 -0
  406. package/dist/components/overlays/sheet/index.js +2 -0
  407. package/dist/components/overlays/sheet/index.js.map +1 -0
  408. package/dist/components/overlays/sheet/sheet.d.ts +53 -0
  409. package/dist/components/overlays/sheet/sheet.d.ts.map +1 -0
  410. package/dist/components/overlays/sheet/sheet.js +43 -0
  411. package/dist/components/overlays/sheet/sheet.js.map +1 -0
  412. package/dist/components/overlays/tooltip/index.d.ts +2 -0
  413. package/dist/components/overlays/tooltip/index.d.ts.map +1 -0
  414. package/dist/components/overlays/tooltip/index.js +2 -0
  415. package/dist/components/overlays/tooltip/index.js.map +1 -0
  416. package/dist/components/overlays/tooltip/tooltip.d.ts.map +1 -0
  417. package/dist/components/overlays/tooltip/tooltip.js.map +1 -0
  418. package/dist/components/search/search-input/index.d.ts +2 -0
  419. package/dist/components/search/search-input/index.d.ts.map +1 -0
  420. package/dist/components/search/search-input/index.js +2 -0
  421. package/dist/components/search/search-input/index.js.map +1 -0
  422. package/dist/components/search/search-input/search-input.d.ts +48 -0
  423. package/dist/components/search/search-input/search-input.d.ts.map +1 -0
  424. package/dist/components/search/search-input/search-input.js +140 -0
  425. package/dist/components/search/search-input/search-input.js.map +1 -0
  426. package/dist/components/technical/secret-field/index.d.ts +2 -0
  427. package/dist/components/technical/secret-field/index.d.ts.map +1 -0
  428. package/dist/components/technical/secret-field/index.js +2 -0
  429. package/dist/components/technical/secret-field/index.js.map +1 -0
  430. package/dist/components/technical/secret-field/secret-field.d.ts +38 -0
  431. package/dist/components/technical/secret-field/secret-field.d.ts.map +1 -0
  432. package/dist/components/technical/secret-field/secret-field.js +42 -0
  433. package/dist/components/technical/secret-field/secret-field.js.map +1 -0
  434. package/dist/components/typography/kbd/index.d.ts +2 -0
  435. package/dist/components/typography/kbd/index.d.ts.map +1 -0
  436. package/dist/components/typography/kbd/index.js +2 -0
  437. package/dist/components/typography/kbd/index.js.map +1 -0
  438. package/dist/components/typography/kbd/kbd.d.ts.map +1 -0
  439. package/dist/components/{kbd.js → typography/kbd/kbd.js} +1 -1
  440. package/dist/components/typography/kbd/kbd.js.map +1 -0
  441. package/dist/entries/marketing.d.ts +9 -0
  442. package/dist/entries/marketing.d.ts.map +1 -0
  443. package/dist/entries/marketing.js +9 -0
  444. package/dist/entries/marketing.js.map +1 -0
  445. package/dist/index.d.ts +62 -29
  446. package/dist/index.d.ts.map +1 -1
  447. package/dist/index.js +62 -29
  448. package/dist/index.js.map +1 -1
  449. package/dist/internal/dismiss.d.ts +23 -0
  450. package/dist/internal/dismiss.d.ts.map +1 -0
  451. package/dist/internal/dismiss.js +36 -0
  452. package/dist/internal/dismiss.js.map +1 -0
  453. package/dist/internal/dismissible.d.ts +26 -0
  454. package/dist/internal/dismissible.d.ts.map +1 -0
  455. package/dist/internal/dismissible.js +82 -0
  456. package/dist/internal/dismissible.js.map +1 -0
  457. package/dist/internal/icons.d.ts +14 -0
  458. package/dist/internal/icons.d.ts.map +1 -1
  459. package/dist/internal/icons.js +40 -0
  460. package/dist/internal/icons.js.map +1 -1
  461. package/dist/internal/inert.d.ts +7 -0
  462. package/dist/internal/inert.d.ts.map +1 -0
  463. package/dist/internal/inert.js +10 -0
  464. package/dist/internal/inert.js.map +1 -0
  465. package/dist/manifest.json +6003 -1285
  466. package/dist/patterns/actions/toolbar/index.d.ts +2 -0
  467. package/dist/patterns/actions/toolbar/index.d.ts.map +1 -0
  468. package/dist/patterns/actions/toolbar/index.js +2 -0
  469. package/dist/patterns/actions/toolbar/index.js.map +1 -0
  470. package/dist/patterns/actions/toolbar/toolbar.d.ts.map +1 -0
  471. package/dist/patterns/{toolbar.js → actions/toolbar/toolbar.js} +1 -1
  472. package/dist/patterns/actions/toolbar/toolbar.js.map +1 -0
  473. package/dist/patterns/layout/marketing-hero/index.d.ts +2 -0
  474. package/dist/patterns/layout/marketing-hero/index.d.ts.map +1 -0
  475. package/dist/patterns/layout/marketing-hero/index.js +2 -0
  476. package/dist/patterns/layout/marketing-hero/index.js.map +1 -0
  477. package/dist/patterns/layout/marketing-hero/marketing-hero.d.ts +24 -0
  478. package/dist/patterns/layout/marketing-hero/marketing-hero.d.ts.map +1 -0
  479. package/dist/patterns/layout/marketing-hero/marketing-hero.js +7 -0
  480. package/dist/patterns/layout/marketing-hero/marketing-hero.js.map +1 -0
  481. package/dist/patterns/layout/marketing-section-blocks/index.d.ts +7 -0
  482. package/dist/patterns/layout/marketing-section-blocks/index.d.ts.map +1 -0
  483. package/dist/patterns/layout/marketing-section-blocks/index.js +7 -0
  484. package/dist/patterns/layout/marketing-section-blocks/index.js.map +1 -0
  485. package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.cta-band.d.ts +15 -0
  486. package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.cta-band.d.ts.map +1 -0
  487. package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.cta-band.js +7 -0
  488. package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.cta-band.js.map +1 -0
  489. package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.d.ts +37 -0
  490. package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.d.ts.map +1 -0
  491. package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.faq.d.ts +23 -0
  492. package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.faq.d.ts.map +1 -0
  493. package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.faq.js +15 -0
  494. package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.faq.js.map +1 -0
  495. package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.feature-grid.d.ts +25 -0
  496. package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.feature-grid.d.ts.map +1 -0
  497. package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.feature-grid.js +10 -0
  498. package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.feature-grid.js.map +1 -0
  499. package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.js +14 -0
  500. package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.js.map +1 -0
  501. package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.product-frame.d.ts +25 -0
  502. package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.product-frame.d.ts.map +1 -0
  503. package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.product-frame.js +12 -0
  504. package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.product-frame.js.map +1 -0
  505. package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.stat-strip.d.ts +14 -0
  506. package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.stat-strip.d.ts.map +1 -0
  507. package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.stat-strip.js +7 -0
  508. package/dist/patterns/layout/marketing-section-blocks/marketing-section-blocks.stat-strip.js.map +1 -0
  509. package/dist/patterns/layout/marketing-site-shell/index.d.ts +4 -0
  510. package/dist/patterns/layout/marketing-site-shell/index.d.ts.map +1 -0
  511. package/dist/patterns/layout/marketing-site-shell/index.js +3 -0
  512. package/dist/patterns/layout/marketing-site-shell/index.js.map +1 -0
  513. package/dist/patterns/layout/marketing-site-shell/marketing-site-shell.d.ts +31 -0
  514. package/dist/patterns/layout/marketing-site-shell/marketing-site-shell.d.ts.map +1 -0
  515. package/dist/patterns/layout/marketing-site-shell/marketing-site-shell.footer.d.ts +33 -0
  516. package/dist/patterns/layout/marketing-site-shell/marketing-site-shell.footer.d.ts.map +1 -0
  517. package/dist/patterns/layout/marketing-site-shell/marketing-site-shell.footer.js +11 -0
  518. package/dist/patterns/layout/marketing-site-shell/marketing-site-shell.footer.js.map +1 -0
  519. package/dist/patterns/layout/marketing-site-shell/marketing-site-shell.js +32 -0
  520. package/dist/patterns/layout/marketing-site-shell/marketing-site-shell.js.map +1 -0
  521. package/dist/patterns/layout/marketing-site-shell/marketing-site-shell.link.d.ts +10 -0
  522. package/dist/patterns/layout/marketing-site-shell/marketing-site-shell.link.d.ts.map +1 -0
  523. package/dist/patterns/layout/marketing-site-shell/marketing-site-shell.link.js +8 -0
  524. package/dist/patterns/layout/marketing-site-shell/marketing-site-shell.link.js.map +1 -0
  525. package/dist/patterns/layout/marketing-site-shell/marketing-site-shell.types.d.ts +24 -0
  526. package/dist/patterns/layout/marketing-site-shell/marketing-site-shell.types.d.ts.map +1 -0
  527. package/dist/patterns/layout/marketing-site-shell/marketing-site-shell.types.js +4 -0
  528. package/dist/patterns/layout/marketing-site-shell/marketing-site-shell.types.js.map +1 -0
  529. package/dist/patterns/layout/page-header/index.d.ts +2 -0
  530. package/dist/patterns/layout/page-header/index.d.ts.map +1 -0
  531. package/dist/patterns/layout/page-header/index.js +2 -0
  532. package/dist/patterns/layout/page-header/index.js.map +1 -0
  533. package/dist/patterns/layout/page-header/page-header.d.ts.map +1 -0
  534. package/dist/patterns/{page-header.js → layout/page-header/page-header.js} +1 -1
  535. package/dist/patterns/layout/page-header/page-header.js.map +1 -0
  536. package/dist/patterns/layout/settings-section/index.d.ts +2 -0
  537. package/dist/patterns/layout/settings-section/index.d.ts.map +1 -0
  538. package/dist/patterns/layout/settings-section/index.js +2 -0
  539. package/dist/patterns/layout/settings-section/index.js.map +1 -0
  540. package/dist/patterns/{settings.d.ts → layout/settings-section/settings-section.d.ts} +1 -1
  541. package/dist/patterns/layout/settings-section/settings-section.d.ts.map +1 -0
  542. package/dist/patterns/{settings.js → layout/settings-section/settings-section.js} +3 -3
  543. package/dist/patterns/layout/settings-section/settings-section.js.map +1 -0
  544. package/dist/patterns/layout/split-layout/index.d.ts +2 -0
  545. package/dist/patterns/layout/split-layout/index.d.ts.map +1 -0
  546. package/dist/patterns/layout/split-layout/index.js +2 -0
  547. package/dist/patterns/layout/split-layout/index.js.map +1 -0
  548. package/dist/patterns/layout/split-layout/split-layout.d.ts.map +1 -0
  549. package/dist/patterns/{split-layout.js → layout/split-layout/split-layout.js} +3 -3
  550. package/dist/patterns/layout/split-layout/split-layout.js.map +1 -0
  551. package/dist/patterns/search/filter-bar/filter-bar.d.ts.map +1 -0
  552. package/dist/patterns/{filter-bar.js → search/filter-bar/filter-bar.js} +2 -2
  553. package/dist/patterns/search/filter-bar/filter-bar.js.map +1 -0
  554. package/dist/patterns/search/filter-bar/index.d.ts +2 -0
  555. package/dist/patterns/search/filter-bar/index.d.ts.map +1 -0
  556. package/dist/patterns/search/filter-bar/index.js +2 -0
  557. package/dist/patterns/search/filter-bar/index.js.map +1 -0
  558. package/dist/styles.css +3648 -11
  559. package/package.json +7 -2
  560. package/dist/components/alert.d.ts.map +0 -1
  561. package/dist/components/alert.js.map +0 -1
  562. package/dist/components/avatar.d.ts +0 -16
  563. package/dist/components/avatar.d.ts.map +0 -1
  564. package/dist/components/avatar.js +0 -28
  565. package/dist/components/avatar.js.map +0 -1
  566. package/dist/components/badge.d.ts.map +0 -1
  567. package/dist/components/badge.js.map +0 -1
  568. package/dist/components/breadcrumb.d.ts.map +0 -1
  569. package/dist/components/breadcrumb.js.map +0 -1
  570. package/dist/components/button.d.ts.map +0 -1
  571. package/dist/components/button.js +0 -30
  572. package/dist/components/button.js.map +0 -1
  573. package/dist/components/card.d.ts.map +0 -1
  574. package/dist/components/card.js.map +0 -1
  575. package/dist/components/checkbox.d.ts.map +0 -1
  576. package/dist/components/checkbox.js.map +0 -1
  577. package/dist/components/combobox.d.ts.map +0 -1
  578. package/dist/components/combobox.js.map +0 -1
  579. package/dist/components/dialog.d.ts.map +0 -1
  580. package/dist/components/dialog.js.map +0 -1
  581. package/dist/components/dropdown-menu.d.ts.map +0 -1
  582. package/dist/components/dropdown-menu.js.map +0 -1
  583. package/dist/components/empty-state.d.ts +0 -17
  584. package/dist/components/empty-state.d.ts.map +0 -1
  585. package/dist/components/empty-state.js +0 -10
  586. package/dist/components/empty-state.js.map +0 -1
  587. package/dist/components/field.d.ts.map +0 -1
  588. package/dist/components/field.js.map +0 -1
  589. package/dist/components/input.d.ts.map +0 -1
  590. package/dist/components/input.js.map +0 -1
  591. package/dist/components/kbd.d.ts.map +0 -1
  592. package/dist/components/kbd.js.map +0 -1
  593. package/dist/components/link.d.ts.map +0 -1
  594. package/dist/components/link.js.map +0 -1
  595. package/dist/components/pagination.d.ts.map +0 -1
  596. package/dist/components/pagination.js.map +0 -1
  597. package/dist/components/popover.d.ts.map +0 -1
  598. package/dist/components/popover.js.map +0 -1
  599. package/dist/components/progress.d.ts +0 -14
  600. package/dist/components/progress.d.ts.map +0 -1
  601. package/dist/components/progress.js +0 -12
  602. package/dist/components/progress.js.map +0 -1
  603. package/dist/components/select.d.ts.map +0 -1
  604. package/dist/components/select.js.map +0 -1
  605. package/dist/components/separator.d.ts.map +0 -1
  606. package/dist/components/separator.js.map +0 -1
  607. package/dist/components/skeleton.d.ts.map +0 -1
  608. package/dist/components/skeleton.js.map +0 -1
  609. package/dist/components/spinner.d.ts.map +0 -1
  610. package/dist/components/spinner.js.map +0 -1
  611. package/dist/components/switch.d.ts.map +0 -1
  612. package/dist/components/switch.js.map +0 -1
  613. package/dist/components/table.d.ts.map +0 -1
  614. package/dist/components/table.js.map +0 -1
  615. package/dist/components/tabs.d.ts +0 -12
  616. package/dist/components/tabs.d.ts.map +0 -1
  617. package/dist/components/tabs.js +0 -17
  618. package/dist/components/tabs.js.map +0 -1
  619. package/dist/components/toast.d.ts +0 -40
  620. package/dist/components/toast.d.ts.map +0 -1
  621. package/dist/components/toast.js +0 -67
  622. package/dist/components/toast.js.map +0 -1
  623. package/dist/components/tooltip.d.ts.map +0 -1
  624. package/dist/components/tooltip.js.map +0 -1
  625. package/dist/components/visually-hidden.d.ts.map +0 -1
  626. package/dist/components/visually-hidden.js.map +0 -1
  627. package/dist/patterns/description-list.d.ts.map +0 -1
  628. package/dist/patterns/description-list.js.map +0 -1
  629. package/dist/patterns/filter-bar.d.ts.map +0 -1
  630. package/dist/patterns/filter-bar.js.map +0 -1
  631. package/dist/patterns/index.d.ts +0 -9
  632. package/dist/patterns/index.d.ts.map +0 -1
  633. package/dist/patterns/index.js +0 -9
  634. package/dist/patterns/index.js.map +0 -1
  635. package/dist/patterns/page-header.d.ts.map +0 -1
  636. package/dist/patterns/page-header.js.map +0 -1
  637. package/dist/patterns/settings.d.ts.map +0 -1
  638. package/dist/patterns/settings.js.map +0 -1
  639. package/dist/patterns/split-layout.d.ts.map +0 -1
  640. package/dist/patterns/split-layout.js.map +0 -1
  641. package/dist/patterns/stat-card.d.ts.map +0 -1
  642. package/dist/patterns/stat-card.js.map +0 -1
  643. package/dist/patterns/states.d.ts +0 -23
  644. package/dist/patterns/states.d.ts.map +0 -1
  645. package/dist/patterns/states.js +0 -15
  646. package/dist/patterns/states.js.map +0 -1
  647. package/dist/patterns/toolbar.d.ts.map +0 -1
  648. package/dist/patterns/toolbar.js.map +0 -1
  649. /package/dist/components/{badge.d.ts → data-display/badge/badge.d.ts} +0 -0
  650. /package/dist/components/{card.d.ts → data-display/card/card.d.ts} +0 -0
  651. /package/dist/{patterns → components/data-display/description-list}/description-list.d.ts +0 -0
  652. /package/dist/{patterns → components/data-display/stat-card}/stat-card.d.ts +0 -0
  653. /package/dist/components/{alert.d.ts → feedback/alert/alert.d.ts} +0 -0
  654. /package/dist/components/{skeleton.d.ts → feedback/skeleton/skeleton.d.ts} +0 -0
  655. /package/dist/components/{spinner.d.ts → feedback/spinner/spinner.d.ts} +0 -0
  656. /package/dist/components/{checkbox.d.ts → forms/checkbox/checkbox.d.ts} +0 -0
  657. /package/dist/components/{combobox.d.ts → forms/combobox/combobox.d.ts} +0 -0
  658. /package/dist/components/{select.d.ts → forms/select/select.d.ts} +0 -0
  659. /package/dist/components/{switch.d.ts → forms/switch/switch.d.ts} +0 -0
  660. /package/dist/components/{separator.d.ts → layout/separator/separator.d.ts} +0 -0
  661. /package/dist/components/{visually-hidden.d.ts → layout/visually-hidden/visually-hidden.d.ts} +0 -0
  662. /package/dist/components/{breadcrumb.d.ts → navigation/breadcrumb/breadcrumb.d.ts} +0 -0
  663. /package/dist/components/{link.d.ts → navigation/link/link.d.ts} +0 -0
  664. /package/dist/components/{pagination.d.ts → navigation/pagination/pagination.d.ts} +0 -0
  665. /package/dist/components/{dropdown-menu.d.ts → overlays/dropdown-menu/dropdown-menu.d.ts} +0 -0
  666. /package/dist/components/{popover.d.ts → overlays/popover/popover.d.ts} +0 -0
  667. /package/dist/components/{tooltip.d.ts → overlays/tooltip/tooltip.d.ts} +0 -0
  668. /package/dist/components/{tooltip.js → overlays/tooltip/tooltip.js} +0 -0
  669. /package/dist/components/{kbd.d.ts → typography/kbd/kbd.d.ts} +0 -0
  670. /package/dist/patterns/{toolbar.d.ts → actions/toolbar/toolbar.d.ts} +0 -0
  671. /package/dist/patterns/{page-header.d.ts → layout/page-header/page-header.d.ts} +0 -0
  672. /package/dist/patterns/{split-layout.d.ts → layout/split-layout/split-layout.d.ts} +0 -0
  673. /package/dist/patterns/{filter-bar.d.ts → search/filter-bar/filter-bar.d.ts} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,48 @@
1
1
  # @rookcom/monarch-react
2
2
 
3
+ ## 0.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 02ded2b: Marketing layer. Tokens: fluid display scale, lead size, section rhythm, content widths, derived gradients (`--mn-gradient-wash`, `--mn-gradient-accent`, `--mn-gradient-inverse`), inverse-surface roles (`text-inverse-muted`, `border-inverse`) and the `strong-inverse` intent role, all contrast-tested for every product. React: SiteHeader, MarketingHero, MarketingSection, MarketingSectionHeader, FeatureGrid, ProductFrame, StatStrip, CTABand, FAQ and SiteFooter from the new `@rookcom/monarch-react/marketing` entry; Accordion from the root entry.
8
+
9
+ Fix: a product's light-theme accent now wins over the light theme regardless of CSS load order (the light theme selector uses `:where()`).
10
+
11
+ - 59005b3: Wave 1 (actions group): add `CopyButton` with `useCopyToClipboard` and `writeToClipboard`, `CopyField`, `SecretField`, `StatusBadge` with a typed status registry (`builtInStatuses`, `defineStatuses`, `StatusRegistryProvider`, `resolveStatus`, `formatStatusLabel`) and a contrast guard for custom colours (`checkStatusColor`), and `SegmentedControl` (radio group with roving focus) with its multi-select sibling `ToggleGroup` (`aria-pressed`).
12
+ - d83f6e5: Wave 1 core components and upgrades:
13
+
14
+ - **InlineEditText** (new): click or Enter to edit, Enter or blur saves, Escape cancels; async save with pending and error states (the draft is kept), `validate`, controlled `editing`, `multiline` with Save/Cancel, and an `onSaveError` / `error` path for product-owned conflict handling.
15
+ - **SectionHeader** and **SectionHeaderLink** (new): unboxed section title with description, meta, actions, a trailing "View all" link, a busy state and a configurable heading level; with `children` it renders the labelled `<section>`.
16
+ - **SwitchSettingsList** and **SwitchSettingsItem** (new): on/off settings that save per row, with optimistic toggle, rollback on failure, retry, and announced "Saved" / error results.
17
+ - **Button**: `success`, `warning` and `brand` variants. `brand` takes `brandColor` and derives fill and text for every theme with the tokens contrast engine (`deriveIntent`), so text meets WCAG AA (7:1 in more contrast). `@rookcom/monarch-tokens` is now imported at runtime (it was already a peer dependency).
18
+ - **Field**: `layout="row"` for a switch (or checkbox) with a description beside it, and **NativeSelect**, the platform `<select>` wired to Field, with a compact `size="sm"` and inline `label` for toolbars.
19
+ - **Tabs**: `count` / `countTone` on TabsTrigger, `scrollable` on TabsList, **TabsNav** + **TabsLink** for route tabs (`aria-current`, router-agnostic `asChild`), **TabsFilter** for filter tabs without per-tab panels, and **useTabsUrlBinding** to bind any tab set to injected URL state.
20
+
21
+ All changes to existing exports are additive; existing props, classes and markup are unchanged.
22
+
23
+ - 6a19dbb: Wave 1 display components:
24
+
25
+ - **RelativeTime** (new): `<time datetime>` with `Intl.RelativeTimeFormat` text, the absolute time on hover and focus, optional live updates, injectable `now` for SSR, and `locale` / `timeZone`. Helpers `formatRelativeTime` and `relativeTimeParts`.
26
+ - **Money** (new): `Intl.NumberFormat` currency amounts with minor units (bigint and decimal strings exact), compact notation with an accessible full value, sign display, accounting sign and an opt-in negative tone. Helpers `formatMoney` and `currencyDigits`.
27
+ - **LoadMore** and **useLoadMore** (new): cursor pagination footer with loading, error and retry, end of list, polite announcements and optional auto-load that keeps the button.
28
+ - **BackLink** (new): parent-page link with a back arrow; works with any router through `asChild`.
29
+ - **Avatar** (additive): forwards its ref; numeric `size`, `seed`, `palette="tokens"`, `fallback="icon"` and `icon`, `status` with `statusLabel`; new `AvatarGroup` with "+N" overflow and `avatarPaletteIndex`. A failed image is retried when `src` changes, and a name with no letters or digits now shows the icon instead of "?".
30
+ - **Progress** (additive): `semantics="meter"` (`role="meter"`, `thresholds`, over-limit danger tone), stacked `segments`, and `valueText`. The default progress bar output is unchanged.
31
+
32
+ Note: meters (`semantics="meter"`) default to a new `neutral` tone instead of the product accent, so a normal quota never reads as a warning or error.
33
+
34
+ - c2156fc: Add five input components: `SearchInput` (icon, clear button, debounce, pending state, shortcut), `TagInput` (chips, Enter/comma entry, paste splitting, validator, suggestions listbox, keyboard removal), `UsernameAvailabilityInput` with the `useAsyncValidation` hook (injected debounced validator, status adornment, announced result), `OTPPinInput` (configurable length, paste, `autocomplete="one-time-code"`, numeric keypad, `onComplete`, mask) and `LocationFields` (country / region / city / postal code with the data source injected through `LocationAdapter`).
35
+ - 31753b0: Wave 2 (notices): add `CalloutBanner` (page- or section-level banner with tones, `page`/`section` placement, a `scope` variant, an action slot with `end` or `inline` placement, a landmark choice, `live` announcements, and controlled or uncontrolled dismissal that leaves persistence to the product) and `InlineNotice` (one-line tone message with a trailing action, `subtle`/`plain` variants, tone-based `live` and dismissal). Toast: fix the live-region bug (the toast `<li>` no longer carries `role="status"`/`role="alert"`, which broke the viewport list and announced twice; politeness now follows the tone through Radix's announcer, overridable with `politeness`); the region is named with its hotkey ("Notifications (F8)"); new `hotkey`, `durationScale` (WCAG 2.2.1), `limit` and `dismissLabel` provider props; toasts with an action default to 10s; Dismiss buttons are described by their toast title; `action.altText`, `onDismiss`, `toast.success/error/warning/info` shorthands, `dismiss()` for all; and `getErrorMessage()` to turn API errors into readable text.
36
+ - a69e649: Wave 2 overlays: new `ConfirmDialog` (with `useConfirm`), `Sheet` and `ResponsiveDialog`. `DialogContent` gains `footer`, `busy`, `closeOnOutsideClick`, `escapeGuard` and `fullScreenOnPhone`; destructive `DropdownMenuItem`s now tint their icon too, and the DropdownMenu docs are complete.
37
+
38
+ Behaviour note: `escapeGuard` is on by default for `DialogContent` (and `SheetContent`). Escape pressed while focus is on a combobox or menu button whose own popup is open (`aria-expanded="true"`) no longer also closes the dialog; only the popup closes. This only changes what was previously a bug. Pass `escapeGuard={false}` to restore the old behaviour.
39
+
40
+ - dfba367: Wave 2 feedback states: new `ErrorPage` (404, 403, 500, offline and maintenance pages that work without the app shell) and `InlineErrorRetry` (compact inline failure with a pending retry, re-announcement and focus return). `EmptyState` gains `kind` (first-run, filtered with Clear filters, success), `layout="line"`, `size="compact"`, `tip`, children and more heading levels. `ErrorState` gains `kind`, `retrying`, `requestId`, plus `ErrorStateBoundary`, `errorKindFromStatus` and `errorKindIcon`. `LoadingState` moves to its own `loading-state` folder (same export, props and class names) and gains the `rows` and `spinner` variants. All three now forward refs.
41
+
42
+ ### Patch Changes
43
+
44
+ - e6865ac: Input, Textarea and every control built on `.mn-input` (Select trigger, Combobox, SearchInput) now use `box-sizing: border-box`, so `width: 100%` fills the container instead of overflowing it by its padding and border in apps without a global box-sizing reset.
45
+
3
46
  ## 0.2.0
4
47
 
5
48
  ### Minor Changes
@@ -1,5 +1,5 @@
1
1
  import { type ButtonHTMLAttributes, type ReactNode } from 'react';
2
- export type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'danger' | 'danger-subtle';
2
+ export type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'danger' | 'danger-subtle' | 'success' | 'warning' | 'brand';
3
3
  export type ButtonSize = 'xs' | 'sm' | 'md' | 'lg';
4
4
  export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
5
5
  /** Visual weight. Use one `primary` per view region. Default `secondary`. */
@@ -14,6 +14,14 @@ export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
14
14
  block?: boolean;
15
15
  /** Render the child element (e.g. a Next.js <Link>) with button styling. */
16
16
  asChild?: boolean;
17
+ /**
18
+ * Brand or tenant colour for `variant="brand"`, as `#rrggbb` or `#rgb`.
19
+ * The fill and text are derived per theme by the tokens contrast engine, so
20
+ * the label always meets WCAG AA (7:1 in more-contrast themes); the colour
21
+ * may be darkened or lightened to get there. Ignored by other variants. An
22
+ * invalid or missing colour falls back to the product accent.
23
+ */
24
+ brandColor?: string;
17
25
  }
18
26
  /**
19
27
  * The primary action control.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/button/button.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,oBAAoB,EAEzB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAaf,MAAM,MAAM,aAAa,GACvB,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AACnG,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEnD,MAAM,WAAW,WAAY,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IAC1E,6EAA6E;IAC7E,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,sCAAsC;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAsCD;;;;;GAKG;AACH,eAAO,MAAM,MAAM,2GA+DjB,CAAC;AAEH,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAC3C,WAAW,EACX,aAAa,GAAG,cAAc,GAAG,UAAU,GAAG,OAAO,GAAG,YAAY,CACrE;IACC,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,qFAAqF;AACrF,eAAO,MAAM,UAAU,+GAmBrB,CAAC"}
@@ -0,0 +1,69 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { forwardRef, useMemo, } from 'react';
4
+ import { Slot, Slottable } from '@radix-ui/react-slot';
5
+ import { deriveIntent, fromHex, THEME_IDS, themes, toCss, } from '@rookcom/monarch-tokens';
6
+ import { cx } from '../../../internal/cx.js';
7
+ import { Spinner } from '../../feedback/spinner/index.js';
8
+ const THEME_KEY = {
9
+ light: 'l',
10
+ dark: 'd',
11
+ 'hc-light': 'hl',
12
+ 'hc-dark': 'hd',
13
+ };
14
+ /** Parses `#rgb` / `#rrggbb`; null when the value is not a hex colour. */
15
+ function parseHex(value) {
16
+ if (!value)
17
+ return null;
18
+ const v = value.trim().replace(/^#/, '');
19
+ const six = /^[0-9a-f]{3}$/i.test(v) ? v.replace(/./g, (c) => c + c) : v;
20
+ if (!/^[0-9a-f]{6}$/i.test(six))
21
+ return null;
22
+ return fromHex(six);
23
+ }
24
+ /**
25
+ * Per-theme custom properties for a brand colour: fill, hover, active and
26
+ * text for each of the four Monarch themes. button.css picks the set that
27
+ * matches the theme on an ancestor (`.dark`, `data-mn-theme`, `data-mn-contrast`).
28
+ */
29
+ function brandVars(color) {
30
+ const base = parseHex(color);
31
+ if (!base)
32
+ return undefined;
33
+ const vars = {};
34
+ for (const id of THEME_IDS) {
35
+ const { scale } = deriveIntent(base, themes[id]);
36
+ const k = THEME_KEY[id];
37
+ vars[`--_brand-${k}-bg`] = toCss(scale.solid);
38
+ vars[`--_brand-${k}-bg-hover`] = toCss(scale['solid-hover']);
39
+ vars[`--_brand-${k}-bg-active`] = toCss(scale['solid-active']);
40
+ vars[`--_brand-${k}-fg`] = toCss(scale['on-solid']);
41
+ }
42
+ return vars;
43
+ }
44
+ /**
45
+ * The primary action control.
46
+ *
47
+ * Defaults to `type="button"` so a button inside a form never submits by
48
+ * accident; pass `type="submit"` explicitly.
49
+ */
50
+ export const Button = forwardRef(function Button({ variant = 'secondary', size = 'md', loading = false, leadingIcon, trailingIcon, block = false, asChild = false, brandColor, disabled, type, className, style, children, onClick, ...rest }, ref) {
51
+ const Comp = asChild ? Slot : 'button';
52
+ const brand = variant === 'brand';
53
+ const derived = useMemo(() => (brand ? brandVars(brandColor) : undefined), [brand, brandColor]);
54
+ // A loading button stays focusable (aria-disabled, not disabled) so keyboard
55
+ // users do not lose their place while the action completes.
56
+ const blocked = disabled || loading;
57
+ return (_jsxs(Comp, { ref: ref, ...rest, ...(asChild ? {} : { type: type ?? 'button', disabled: disabled || undefined }), "aria-disabled": blocked || undefined, "aria-busy": loading || undefined, "data-variant": variant, "data-size": size, "data-loading": loading || undefined, "data-block": block || undefined, "data-brand": derived ? '' : undefined, style: derived ? { ...derived, ...style } : style, className: cx('mn-button', className), onClick: (event) => {
58
+ if (blocked) {
59
+ event.preventDefault();
60
+ return;
61
+ }
62
+ onClick?.(event);
63
+ }, children: [loading ? (_jsx(Spinner, { size: "sm", className: "mn-button__icon" })) : leadingIcon ? (_jsx("span", { className: "mn-button__icon", "aria-hidden": true, children: leadingIcon })) : null, _jsx(Slottable, { children: children }), trailingIcon ? (_jsx("span", { className: "mn-button__icon", "aria-hidden": true, children: trailingIcon })) : null] }));
64
+ });
65
+ /** Square button containing only an icon. `label` is required by the type system. */
66
+ export const IconButton = forwardRef(function IconButton({ label, icon, variant = 'ghost', className, ...rest }, ref) {
67
+ return (_jsx(Button, { ref: ref, ...rest, variant: variant, "aria-label": label, className: cx('mn-icon-button', className), children: rest.loading ? null : (_jsx("span", { className: "mn-button__icon", "aria-hidden": true, children: icon })) }));
68
+ });
69
+ //# sourceMappingURL=button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../../src/components/actions/button/button.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EACL,UAAU,EACV,OAAO,GAIR,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACL,YAAY,EACZ,OAAO,EACP,SAAS,EACT,MAAM,EACN,KAAK,GAEN,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,EAAE,EAAE,MAAM,yBAAyB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AA6B1D,MAAM,SAAS,GAA4B;IACzC,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,GAAG;IACT,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,IAAI;CAChB,CAAC;AAEF,0EAA0E;AAC1E,SAAS,QAAQ,CAAC,KAAyB;IACzC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CAAC,KAAyB;IAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3B,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;QACxB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,IAAqB,CAAC;AAC/B,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAiC,SAAS,MAAM,CAC9E,EACE,OAAO,GAAG,WAAW,EACrB,IAAI,GAAG,IAAI,EACX,OAAO,GAAG,KAAK,EACf,WAAW,EACX,YAAY,EACZ,KAAK,GAAG,KAAK,EACb,OAAO,GAAG,KAAK,EACf,UAAU,EACV,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,KAAK,EACL,QAAQ,EACR,OAAO,EACP,GAAG,IAAI,EACR,EACD,GAAG;IAEH,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;IACvC,MAAM,KAAK,GAAG,OAAO,KAAK,OAAO,CAAC;IAClC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IAChG,6EAA6E;IAC7E,4DAA4D;IAC5D,MAAM,OAAO,GAAG,QAAQ,IAAI,OAAO,CAAC;IACpC,OAAO,CACL,MAAC,IAAI,IACH,GAAG,EAAE,GAAG,KACJ,IAAI,KACJ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,QAAQ,EAAE,QAAQ,EAAE,QAAQ,IAAI,SAAS,EAAE,CAAC,mBACjE,OAAO,IAAI,SAAS,eACxB,OAAO,IAAI,SAAS,kBACjB,OAAO,eACV,IAAI,kBACD,OAAO,IAAI,SAAS,gBACtB,KAAK,IAAI,SAAS,gBAClB,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EACpC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,EACjD,SAAS,EAAE,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,EACrC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,IAAI,OAAO,EAAE,CAAC;gBACZ,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,OAAO;YACT,CAAC;YACD,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC,aAEA,OAAO,CAAC,CAAC,CAAC,CACT,KAAC,OAAO,IAAC,IAAI,EAAC,IAAI,EAAC,SAAS,EAAC,iBAAiB,GAAG,CAClD,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAChB,eAAM,SAAS,EAAC,iBAAiB,iCAC9B,WAAW,GACP,CACR,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,SAAS,cAAE,QAAQ,GAAa,EAChC,YAAY,CAAC,CAAC,CAAC,CACd,eAAM,SAAS,EAAC,iBAAiB,iCAC9B,YAAY,GACR,CACR,CAAC,CAAC,CAAC,IAAI,IACH,CACR,CAAC;AACJ,CAAC,CAAC,CAAC;AAWH,qFAAqF;AACrF,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAqC,SAAS,UAAU,CAC1F,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EACtD,GAAG;IAEH,OAAO,CACL,KAAC,MAAM,IACL,GAAG,EAAE,GAAG,KACJ,IAAI,EACR,OAAO,EAAE,OAAO,gBACJ,KAAK,EACjB,SAAS,EAAE,EAAE,CAAC,gBAAgB,EAAE,SAAS,CAAC,YAEzC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACrB,eAAM,SAAS,EAAC,iBAAiB,iCAC9B,IAAI,GACA,CACR,GACM,CACV,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './button.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/button/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './button.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/actions/button/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -0,0 +1,71 @@
1
+ import { type ReactNode } from 'react';
2
+ import { type ButtonProps } from '../button/index.js';
3
+ export type CopyStatus = 'idle' | 'copied' | 'error';
4
+ /** What to copy: a string, or a function that returns one (sync or async). */
5
+ export type CopyValue = string | (() => string | Promise<string>);
6
+ export interface UseCopyToClipboardOptions {
7
+ /** Milliseconds before `copied` or `error` returns to `idle`. `0` keeps the state. Default 2000. */
8
+ resetAfter?: number;
9
+ /** Called with the copied text after a successful copy. */
10
+ onCopy?: (text: string) => void;
11
+ /** Called when the clipboard is unavailable or the browser refuses the write. */
12
+ onError?: (error: Error) => void;
13
+ }
14
+ export interface UseCopyToClipboardResult {
15
+ /** Copies `value`. Resolves `true` on success; never rejects. */
16
+ copy: (value: CopyValue) => Promise<boolean>;
17
+ status: CopyStatus;
18
+ /** The last error, or `null`. */
19
+ error: Error | null;
20
+ /** Returns to `idle` immediately. */
21
+ reset: () => void;
22
+ }
23
+ /** Writes text to the clipboard: the async Clipboard API first, then the legacy fallback. */
24
+ export declare function writeToClipboard(text: string): Promise<void>;
25
+ /**
26
+ * Copies text and tracks the result. The state machine is
27
+ * `idle → copied | error → idle` (after `resetAfter`). It never throws:
28
+ * failures go to `onError` and `status: 'error'`, so the caller decides how
29
+ * to tell the user (inline, a toast, a manual-copy fallback).
30
+ */
31
+ export declare function useCopyToClipboard(options?: UseCopyToClipboardOptions): UseCopyToClipboardResult;
32
+ export interface CopyButtonProps extends Omit<ButtonProps, 'children' | 'value' | 'onError' | 'onCopy' | 'leadingIcon' | 'asChild'> {
33
+ /** The text to copy, or a function that produces it when clicked. */
34
+ value: CopyValue;
35
+ /** Visible label, and the accessible name. Default "Copy". */
36
+ label?: string;
37
+ /** Label while in the copied state. Default "Copied". */
38
+ copiedLabel?: string;
39
+ /** Label after a failed copy. Default "Couldn't copy". */
40
+ errorLabel?: string;
41
+ /**
42
+ * What is copied, for screen readers ("webhook URL"). Appended to the
43
+ * visible label as visually hidden text, so several copy buttons on one page
44
+ * have distinct names: "Copy webhook URL", "Copied webhook URL".
45
+ */
46
+ target?: string;
47
+ /**
48
+ * Hide the visible text and show only the icon. `label` stays the accessible
49
+ * name, so give it the object: "Copy API key".
50
+ */
51
+ iconOnly?: boolean;
52
+ /** Polite announcement after a successful copy. Default "Copied to clipboard". */
53
+ copiedMessage?: string;
54
+ /** Polite announcement after a failure. Default "Couldn't copy. Select the text and copy it manually." */
55
+ errorMessage?: string;
56
+ /** Replaces the copy icon. Decorative. */
57
+ icon?: ReactNode;
58
+ /** Milliseconds before the button returns to its idle look. Default 2000. */
59
+ resetAfter?: number;
60
+ /** Called with the copied text after a successful copy. */
61
+ onCopy?: (text: string) => void;
62
+ /** Called when copying fails. Use it to show a toast or a manual-copy fallback. */
63
+ onCopyError?: (error: Error) => void;
64
+ }
65
+ /**
66
+ * Copies a value to the clipboard, shows a short "Copied" state and announces
67
+ * the result through a polite live region. Errors are reported to the caller
68
+ * through `onCopyError`; the button never fails silently.
69
+ */
70
+ export declare const CopyButton: import("react").ForwardRefExoticComponent<CopyButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
71
+ //# sourceMappingURL=copy-button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy-button.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/copy-button/copy-button.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAwD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAG7F,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE9D,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAErD,8EAA8E;AAC9E,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;AAElE,MAAM,WAAW,yBAAyB;IACxC,oGAAoG;IACpG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,iFAAiF;IACjF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,wBAAwB;IACvC,iEAAiE;IACjE,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,EAAE,UAAU,CAAC;IACnB,iCAAiC;IACjC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,qCAAqC;IACrC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAqCD,6FAA6F;AAC7F,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAalE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,GAAE,yBAA8B,GACtC,wBAAwB,CAqD1B;AAED,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAC3C,WAAW,EACX,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,aAAa,GAAG,SAAS,CACxE;IACC,qEAAqE;IACrE,KAAK,EAAE,SAAS,CAAC;IACjB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kFAAkF;IAClF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0GAA0G;IAC1G,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0CAA0C;IAC1C,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,mFAAmF;IACnF,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACtC;AAED;;;;GAIG;AACH,eAAO,MAAM,UAAU,+GA+FrB,CAAC"}
@@ -0,0 +1,150 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { forwardRef, useCallback, useEffect, useRef, useState } from 'react';
4
+ import { cx } from '../../../internal/cx.js';
5
+ import { CheckGlyph, CopyGlyph, WarningGlyph } from '../../../internal/icons.js';
6
+ import { Button } from '../button/index.js';
7
+ /**
8
+ * Fallback for browsers or contexts without the async Clipboard API (for
9
+ * example an insecure origin). Uses a temporary off-screen textarea and
10
+ * restores the previous focus and selection.
11
+ */
12
+ function legacyCopy(text) {
13
+ if (typeof document === 'undefined' || typeof document.execCommand !== 'function')
14
+ return false;
15
+ const active = document.activeElement;
16
+ const selection = document.getSelection();
17
+ const range = selection && selection.rangeCount > 0 ? selection.getRangeAt(0) : null;
18
+ const area = document.createElement('textarea');
19
+ area.value = text;
20
+ area.setAttribute('readonly', '');
21
+ area.setAttribute('aria-hidden', 'true');
22
+ area.style.position = 'fixed';
23
+ area.style.top = '0';
24
+ area.style.left = '-9999px';
25
+ area.style.opacity = '0';
26
+ document.body.appendChild(area);
27
+ area.select();
28
+ let ok = false;
29
+ try {
30
+ ok = document.execCommand('copy');
31
+ }
32
+ catch {
33
+ ok = false;
34
+ }
35
+ area.remove();
36
+ if (range && selection) {
37
+ selection.removeAllRanges();
38
+ selection.addRange(range);
39
+ }
40
+ active?.focus?.({ preventScroll: true });
41
+ return ok;
42
+ }
43
+ /** Writes text to the clipboard: the async Clipboard API first, then the legacy fallback. */
44
+ export async function writeToClipboard(text) {
45
+ const clipboard = typeof navigator !== 'undefined' ? navigator.clipboard : undefined;
46
+ if (clipboard?.writeText) {
47
+ try {
48
+ await clipboard.writeText(text);
49
+ return;
50
+ }
51
+ catch (error) {
52
+ if (legacyCopy(text))
53
+ return;
54
+ throw error instanceof Error ? error : new Error(String(error));
55
+ }
56
+ }
57
+ if (legacyCopy(text))
58
+ return;
59
+ throw new Error('Clipboard is not available in this browser.');
60
+ }
61
+ /**
62
+ * Copies text and tracks the result. The state machine is
63
+ * `idle → copied | error → idle` (after `resetAfter`). It never throws:
64
+ * failures go to `onError` and `status: 'error'`, so the caller decides how
65
+ * to tell the user (inline, a toast, a manual-copy fallback).
66
+ */
67
+ export function useCopyToClipboard(options = {}) {
68
+ const { resetAfter = 2000 } = options;
69
+ const [status, setStatus] = useState('idle');
70
+ const [error, setError] = useState(null);
71
+ const timer = useRef(undefined);
72
+ const mounted = useRef(true);
73
+ const callbacks = useRef(options);
74
+ callbacks.current = options;
75
+ useEffect(() => {
76
+ mounted.current = true;
77
+ return () => {
78
+ mounted.current = false;
79
+ clearTimeout(timer.current);
80
+ };
81
+ }, []);
82
+ const reset = useCallback(() => {
83
+ clearTimeout(timer.current);
84
+ setStatus('idle');
85
+ setError(null);
86
+ }, []);
87
+ const copy = useCallback(async (value) => {
88
+ clearTimeout(timer.current);
89
+ let next;
90
+ try {
91
+ const text = typeof value === 'function' ? await value() : value;
92
+ await writeToClipboard(text);
93
+ if (!mounted.current)
94
+ return true;
95
+ setError(null);
96
+ next = 'copied';
97
+ callbacks.current.onCopy?.(text);
98
+ }
99
+ catch (raw) {
100
+ const err = raw instanceof Error ? raw : new Error(String(raw));
101
+ if (!mounted.current)
102
+ return false;
103
+ setError(err);
104
+ next = 'error';
105
+ callbacks.current.onError?.(err);
106
+ }
107
+ setStatus(next);
108
+ if (resetAfter > 0) {
109
+ timer.current = setTimeout(() => {
110
+ if (mounted.current)
111
+ setStatus('idle');
112
+ }, resetAfter);
113
+ }
114
+ return next === 'copied';
115
+ }, [resetAfter]);
116
+ return { copy, status, error, reset };
117
+ }
118
+ /**
119
+ * Copies a value to the clipboard, shows a short "Copied" state and announces
120
+ * the result through a polite live region. Errors are reported to the caller
121
+ * through `onCopyError`; the button never fails silently.
122
+ */
123
+ export const CopyButton = forwardRef(function CopyButton({ value, label = 'Copy', copiedLabel = 'Copied', errorLabel = "Couldn't copy", iconOnly = false, target, copiedMessage = 'Copied to clipboard', errorMessage = "Couldn't copy. Select the text and copy it manually.", icon, resetAfter = 2000, onCopy, onCopyError, onClick, variant = iconOnly ? 'ghost' : 'secondary', className, ...rest }, ref) {
124
+ const { copy, status } = useCopyToClipboard(onCopy || onCopyError
125
+ ? {
126
+ resetAfter,
127
+ ...(onCopy ? { onCopy } : {}),
128
+ ...(onCopyError ? { onError: onCopyError } : {}),
129
+ }
130
+ : { resetAfter });
131
+ // The live region keeps its text until the next attempt, then is cleared and
132
+ // refilled so repeated copies are announced each time.
133
+ const [message, setMessage] = useState('');
134
+ const glyph = status === 'copied' ? (_jsx(CheckGlyph, {})) : status === 'error' ? (_jsx(WarningGlyph, {})) : ((icon ?? _jsx(CopyGlyph, {})));
135
+ return (_jsxs(_Fragment, { children: [_jsxs(Button, { ref: ref, ...rest, variant: variant, "aria-label": iconOnly ? (target ? `${label} ${target}` : label) : undefined, title: rest.title ?? (iconOnly ? (target ? `${label} ${target}` : label) : undefined), "data-state": status, "data-icon-only": iconOnly || undefined, className: cx('mn-copy-button', className), onClick: (event) => {
136
+ onClick?.(event);
137
+ if (event.defaultPrevented)
138
+ return;
139
+ setMessage('');
140
+ void copy(value).then((ok) => setMessage(ok ? copiedMessage : errorMessage));
141
+ }, children: [_jsx("span", { className: "mn-copy-button__icon", "aria-hidden": true, children: glyph }), iconOnly ? null : (
142
+ // The idle and copied labels share one grid cell, so the button keeps
143
+ // the width of the longer one and does not jump on success. The rarer
144
+ // error label replaces them and may widen the button.
145
+ _jsx("span", { className: "mn-copy-button__label", children: status === 'error' ? (_jsx("span", { "data-active": "", children: errorLabel })) : ([
146
+ ['idle', label],
147
+ ['copied', copiedLabel],
148
+ ].map(([key, text]) => (_jsx("span", { "data-active": key === status || undefined, "aria-hidden": key === status ? undefined : true, children: text }, key)))) })), !iconOnly && target ? _jsxs("span", { className: "mn-visually-hidden", children: [" ", target] }) : null] }), _jsx("span", { className: "mn-visually-hidden", role: "status", "aria-live": "polite", "aria-atomic": "true", children: message })] }));
149
+ });
150
+ //# sourceMappingURL=copy-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy-button.js","sourceRoot":"","sources":["../../../../src/components/actions/copy-button/copy-button.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './copy-button.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/copy-button/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './copy-button.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/actions/copy-button/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { type HTMLAttributes } from 'react';
2
+ import { type CopyButtonProps } from '../copy-button/index.js';
3
+ import { type ControlSize } from '../../forms/text-field/index.js';
4
+ export interface CopyFieldProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onCopy'> {
5
+ /** The read-only value shown and copied. */
6
+ value: string;
7
+ /**
8
+ * What the value is ("Webhook URL"). Names the text box outside a Field
9
+ * (inside one, the FieldLabel does) and completes the copy button's name:
10
+ * "Copy webhook URL".
11
+ */
12
+ label: string;
13
+ /** Show the value in a multi-line text area (certificates, JSON, snippets). */
14
+ multiline?: boolean;
15
+ /** Visible rows when `multiline`. Default 3. */
16
+ rows?: number;
17
+ /** Monospace text for codes, keys, hostnames and DNS records. Default true. */
18
+ mono?: boolean;
19
+ size?: ControlSize;
20
+ /** Select the whole value when the text box gets focus. Default true. */
21
+ selectOnFocus?: boolean;
22
+ /** Show only the copy icon. The button is still named "Copy {label}". Default false. */
23
+ iconOnly?: boolean;
24
+ /** Visible text of the copy button. Default "Copy". */
25
+ copyLabel?: string;
26
+ /** Visible text of the copy button after copying. Default "Copied". */
27
+ copiedLabel?: string;
28
+ /** Milliseconds before the button returns to its idle look. Default 2000. */
29
+ resetAfter?: number;
30
+ /** Called with the copied text after a successful copy. */
31
+ onCopy?: (text: string) => void;
32
+ /**
33
+ * Called when copying fails. The value is selected first, so the user can
34
+ * copy it by hand; show a toast here if the product uses them.
35
+ */
36
+ onCopyError?: (error: Error) => void;
37
+ disabled?: boolean;
38
+ /** Extra props for the copy button, for example `variant`. */
39
+ copyButtonProps?: Omit<CopyButtonProps, 'value' | 'label' | 'target' | 'iconOnly' | 'onCopy' | 'onCopyError' | 'resetAfter' | 'size' | 'copiedLabel'>;
40
+ }
41
+ /**
42
+ * A read-only value with a copy button: webhook URLs, DNS records, embed
43
+ * snippets, calendar feed links. If copying fails, the value is focused and
44
+ * selected so the user can copy it by hand.
45
+ */
46
+ export declare const CopyField: import("react").ForwardRefExoticComponent<CopyFieldProps & import("react").RefAttributes<HTMLDivElement>>;
47
+ //# sourceMappingURL=copy-field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy-field.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/copy-field/copy-field.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAuC,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAEjF,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE3E,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAEpF,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC;IACpF,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,yEAAyE;IACzE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,wFAAwF;IACxF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8DAA8D;IAC9D,eAAe,CAAC,EAAE,IAAI,CACpB,eAAe,EACb,OAAO,GACP,OAAO,GACP,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,aAAa,GACb,YAAY,GACZ,MAAM,GACN,aAAa,CAChB,CAAC;CACH;AAKD;;;;GAIG;AACH,eAAO,MAAM,SAAS,2GAyEpB,CAAC"}
@@ -0,0 +1,37 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { forwardRef, useRef } from 'react';
4
+ import { cx } from '../../../internal/cx.js';
5
+ import { CopyButton } from '../copy-button/index.js';
6
+ import { useFieldContext } from '../../forms/form-field/index.js';
7
+ import { Input, Textarea } from '../../forms/text-field/index.js';
8
+ const selectAll = (event) => event.currentTarget.select();
9
+ /**
10
+ * A read-only value with a copy button: webhook URLs, DNS records, embed
11
+ * snippets, calendar feed links. If copying fails, the value is focused and
12
+ * selected so the user can copy it by hand.
13
+ */
14
+ export const CopyField = forwardRef(function CopyField({ value, label, multiline = false, rows = 3, mono = true, size = 'md', selectOnFocus = true, iconOnly = false, copyLabel = 'Copy', copiedLabel = 'Copied', resetAfter = 2000, onCopy, onCopyError, disabled, copyButtonProps, className, ...rest }, ref) {
15
+ const field = useFieldContext();
16
+ const controlRef = useRef(null);
17
+ const control = {
18
+ // Inside a Field the visible FieldLabel names the control; outside, `label` does.
19
+ ...(field ? {} : { 'aria-label': label }),
20
+ value,
21
+ readOnly: true,
22
+ disabled,
23
+ spellCheck: false,
24
+ autoComplete: 'off',
25
+ onFocus: selectOnFocus ? selectAll : undefined,
26
+ className: 'mn-copy-field__control',
27
+ };
28
+ return (_jsxs("div", { ref: ref, ...rest, className: cx('mn-copy-field', className), "data-multiline": multiline || undefined, "data-mono": mono || undefined, "data-size": size, children: [multiline ? (_jsx(Textarea, { ref: controlRef, ...control, rows: rows, resizable: false })) : (_jsx(Input, { ref: controlRef, ...control, size: size })), _jsx(CopyButton, { ...copyButtonProps, value: value, label: copyLabel, target: label, copiedLabel: copiedLabel, iconOnly: iconOnly, size: size, resetAfter: resetAfter, disabled: disabled, ...(onCopy ? { onCopy } : {}), onCopyError: (error) => {
29
+ const el = controlRef.current;
30
+ if (el) {
31
+ el.focus();
32
+ el.select();
33
+ }
34
+ onCopyError?.(error);
35
+ }, className: cx('mn-copy-field__button', copyButtonProps?.className) })] }));
36
+ });
37
+ //# sourceMappingURL=copy-field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy-field.js","sourceRoot":"","sources":["../../../../src/components/actions/copy-field/copy-field.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './copy-field.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/copy-field/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './copy-field.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/actions/copy-field/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './money.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/billing/money/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './money.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/billing/money/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -0,0 +1,44 @@
1
+ import { type HTMLAttributes } from 'react';
2
+ /** An amount: a number, a bigint (minor units) or an exact decimal string such as `"1234.50"`. */
3
+ export type MoneyAmount = number | bigint | string;
4
+ export interface FormatMoneyOptions {
5
+ /** BCP 47 locale, e.g. `en-IN`. Default: the runtime locale. */
6
+ locale?: string;
7
+ /** `amount` is in the currency's minor units (cents, paise): `1999` with USD is $19.99. */
8
+ minorUnits?: boolean;
9
+ /** `compact` writes $1.2M. Default `standard`. */
10
+ notation?: 'standard' | 'compact';
11
+ /** `Intl.NumberFormat` sign display. `exceptZero` shows +/− for gains and losses. Default `auto`. */
12
+ signDisplay?: 'auto' | 'always' | 'exceptZero' | 'never';
13
+ /** How the currency is written: `symbol` ($), `narrowSymbol`, `code` (USD) or `name` (US dollars). Default `symbol`. */
14
+ currencyDisplay?: 'symbol' | 'narrowSymbol' | 'code' | 'name';
15
+ /** `accounting` writes negatives in parentheses where the locale does. Default `standard`. */
16
+ currencySign?: 'standard' | 'accounting';
17
+ minimumFractionDigits?: number;
18
+ maximumFractionDigits?: number;
19
+ }
20
+ /** Number of minor-unit digits for an ISO 4217 currency (USD 2, JPY 0, KWD 3). */
21
+ export declare function currencyDigits(currency: string): number;
22
+ /** Formats an amount of one currency with `Intl.NumberFormat`. */
23
+ export declare function formatMoney(amount: MoneyAmount, currency: string, options?: FormatMoneyOptions): string;
24
+ export interface MoneyProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'children'>, FormatMoneyOptions {
25
+ /** The amount. `null` or `undefined` renders `emptyLabel`. */
26
+ amount: MoneyAmount | null | undefined;
27
+ /** ISO 4217 code, e.g. `USD`, `EUR`, `INR`. */
28
+ currency: string;
29
+ /**
30
+ * Colour negative amounts with the danger text colour (`data-negative` is
31
+ * set either way). The minus sign or parentheses always carry the meaning.
32
+ * Default `false`.
33
+ */
34
+ toneNegative?: boolean;
35
+ /** Shown when `amount` is missing. Default "—", read as "No amount". */
36
+ emptyLabel?: string;
37
+ }
38
+ /**
39
+ * A formatted amount in tabular figures. With `notation="compact"` the short
40
+ * form is shown and the full amount is given to assistive technology and as
41
+ * a hover title.
42
+ */
43
+ export declare const Money: import("react").ForwardRefExoticComponent<MoneyProps & import("react").RefAttributes<HTMLSpanElement>>;
44
+ //# sourceMappingURL=money.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"money.d.ts","sourceRoot":"","sources":["../../../../src/components/billing/money/money.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAIxD,kGAAkG;AAClG,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEnD,MAAM,WAAW,kBAAkB;IACjC,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2FAA2F;IAC3F,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAClC,qGAAqG;IACrG,WAAW,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,OAAO,CAAC;IACzD,wHAAwH;IACxH,eAAe,CAAC,EAAE,QAAQ,GAAG,cAAc,GAAG,MAAM,GAAG,MAAM,CAAC;IAC9D,8FAA8F;IAC9F,YAAY,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACzC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,kFAAkF;AAClF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKvD;AA4BD,kEAAkE;AAClE,wBAAgB,WAAW,CACzB,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,kBAAuB,GAC/B,MAAM,CAWR;AAED,MAAM,WAAW,UACf,SAAQ,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC,EAAE,kBAAkB;IAC7E,8DAA8D;IAC9D,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IACvC,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,eAAO,MAAM,KAAK,wGAkEhB,CAAC"}