@wordpress/ui 0.4.0 → 0.5.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 (420) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/LICENSE.md +1 -1
  3. package/README.md +18 -0
  4. package/build/badge/badge.cjs +95 -0
  5. package/build/badge/badge.cjs.map +7 -0
  6. package/build/{lock-unlock.js → badge/index.cjs} +8 -14
  7. package/build/badge/index.cjs.map +7 -0
  8. package/build/badge/types.cjs +19 -0
  9. package/build/badge/types.cjs.map +7 -0
  10. package/build/box/{box.js → box.cjs} +7 -6
  11. package/build/box/box.cjs.map +7 -0
  12. package/build/box/{index.js → index.cjs} +2 -2
  13. package/build/box/{types.js → types.cjs} +1 -1
  14. package/build/box/types.cjs.map +7 -0
  15. package/build/button/button.cjs +401 -0
  16. package/build/button/button.cjs.map +7 -0
  17. package/build/{utils/element.js → button/icon.cjs} +22 -20
  18. package/build/button/icon.cjs.map +7 -0
  19. package/build/button/index.cjs +39 -0
  20. package/build/button/index.cjs.map +7 -0
  21. package/build/button/types.cjs +19 -0
  22. package/build/button/types.cjs.map +7 -0
  23. package/build/form/primitives/field/control.cjs +38 -0
  24. package/build/form/primitives/field/control.cjs.map +7 -0
  25. package/build/form/primitives/field/description.cjs +92 -0
  26. package/build/form/primitives/field/description.cjs.map +7 -0
  27. package/build/form/primitives/field/details.cjs +99 -0
  28. package/build/form/primitives/field/details.cjs.map +7 -0
  29. package/build/form/primitives/field/index.cjs +46 -0
  30. package/build/form/primitives/field/index.cjs.map +7 -0
  31. package/build/form/primitives/field/item.cjs +36 -0
  32. package/build/form/primitives/field/item.cjs.map +7 -0
  33. package/build/form/primitives/field/label.cjs +98 -0
  34. package/build/form/primitives/field/label.cjs.map +7 -0
  35. package/build/form/primitives/field/root.cjs +79 -0
  36. package/build/form/primitives/field/root.cjs.map +7 -0
  37. package/build/form/primitives/field/types.cjs +19 -0
  38. package/build/form/primitives/field/types.cjs.map +7 -0
  39. package/build/form/primitives/fieldset/context.cjs +40 -0
  40. package/build/form/primitives/fieldset/context.cjs.map +7 -0
  41. package/build/form/primitives/fieldset/description.cjs +101 -0
  42. package/build/form/primitives/fieldset/description.cjs.map +7 -0
  43. package/build/form/primitives/fieldset/details.cjs +103 -0
  44. package/build/form/primitives/fieldset/details.cjs.map +7 -0
  45. package/build/form/primitives/fieldset/index.cjs +40 -0
  46. package/build/form/primitives/fieldset/index.cjs.map +7 -0
  47. package/build/form/primitives/fieldset/legend.cjs +94 -0
  48. package/build/form/primitives/fieldset/legend.cjs.map +7 -0
  49. package/build/form/primitives/fieldset/root.cjs +86 -0
  50. package/build/form/primitives/fieldset/root.cjs.map +7 -0
  51. package/build/form/primitives/fieldset/types.cjs +19 -0
  52. package/build/form/primitives/fieldset/types.cjs.map +7 -0
  53. package/build/form/primitives/index.cjs +50 -0
  54. package/build/form/primitives/index.cjs.map +7 -0
  55. package/build/form/primitives/input/index.cjs +31 -0
  56. package/build/form/primitives/input/index.cjs.map +7 -0
  57. package/build/form/primitives/input/input.cjs +148 -0
  58. package/build/form/primitives/input/input.cjs.map +7 -0
  59. package/build/form/primitives/input/types.cjs +19 -0
  60. package/build/form/primitives/input/types.cjs.map +7 -0
  61. package/build/form/primitives/input-layout/context.cjs +49 -0
  62. package/build/form/primitives/input-layout/context.cjs.map +7 -0
  63. package/build/form/primitives/input-layout/index.cjs +35 -0
  64. package/build/form/primitives/input-layout/index.cjs.map +7 -0
  65. package/build/form/primitives/input-layout/input-layout.cjs +196 -0
  66. package/build/form/primitives/input-layout/input-layout.cjs.map +7 -0
  67. package/build/form/primitives/input-layout/slot.cjs +165 -0
  68. package/build/form/primitives/input-layout/slot.cjs.map +7 -0
  69. package/build/form/primitives/input-layout/types.cjs +19 -0
  70. package/build/form/primitives/input-layout/types.cjs.map +7 -0
  71. package/build/icon/icon.cjs +46 -0
  72. package/build/icon/icon.cjs.map +7 -0
  73. package/build/{index.js → icon/index.cjs} +13 -7
  74. package/build/icon/index.cjs.map +7 -0
  75. package/build/icon/types.cjs +19 -0
  76. package/build/icon/types.cjs.map +7 -0
  77. package/build/index.cjs +37 -0
  78. package/build/index.cjs.map +7 -0
  79. package/build/stack/{index.js → index.cjs} +2 -2
  80. package/build/stack/index.cjs.map +7 -0
  81. package/build/stack/{stack.js → stack.cjs} +6 -18
  82. package/build/stack/stack.cjs.map +7 -0
  83. package/build/stack/{types.js → types.cjs} +1 -1
  84. package/build/stack/types.cjs.map +7 -0
  85. package/build/types/css-modules.d.cjs +2 -0
  86. package/build/types/css-modules.d.cjs.map +7 -0
  87. package/build/types/{react.d.js → react.d.cjs} +1 -1
  88. package/build/utils/{types.js → types.cjs} +1 -1
  89. package/build/visually-hidden/index.cjs +31 -0
  90. package/build/visually-hidden/index.cjs.map +7 -0
  91. package/build/visually-hidden/types.cjs +19 -0
  92. package/build/visually-hidden/types.cjs.map +7 -0
  93. package/build/visually-hidden/visually-hidden.cjs +69 -0
  94. package/build/visually-hidden/visually-hidden.cjs.map +7 -0
  95. package/build-module/badge/badge.mjs +70 -0
  96. package/build-module/badge/badge.mjs.map +7 -0
  97. package/build-module/badge/index.mjs +6 -0
  98. package/build-module/badge/index.mjs.map +7 -0
  99. package/build-module/badge/types.mjs +1 -0
  100. package/build-module/box/{box.js → box.mjs} +7 -6
  101. package/build-module/box/box.mjs.map +7 -0
  102. package/build-module/box/index.mjs +6 -0
  103. package/build-module/box/types.mjs +1 -0
  104. package/build-module/button/button.mjs +366 -0
  105. package/build-module/button/button.mjs.map +7 -0
  106. package/build-module/button/icon.mjs +22 -0
  107. package/build-module/button/icon.mjs.map +7 -0
  108. package/build-module/button/index.mjs +14 -0
  109. package/build-module/button/index.mjs.map +7 -0
  110. package/build-module/button/types.mjs +1 -0
  111. package/build-module/form/primitives/field/control.mjs +13 -0
  112. package/build-module/form/primitives/field/control.mjs.map +7 -0
  113. package/build-module/form/primitives/field/description.mjs +57 -0
  114. package/build-module/form/primitives/field/description.mjs.map +7 -0
  115. package/build-module/form/primitives/field/details.mjs +64 -0
  116. package/build-module/form/primitives/field/details.mjs.map +7 -0
  117. package/build-module/form/primitives/field/index.mjs +16 -0
  118. package/build-module/form/primitives/field/index.mjs.map +7 -0
  119. package/build-module/form/primitives/field/item.mjs +11 -0
  120. package/build-module/form/primitives/field/item.mjs.map +7 -0
  121. package/build-module/form/primitives/field/label.mjs +63 -0
  122. package/build-module/form/primitives/field/label.mjs.map +7 -0
  123. package/build-module/form/primitives/field/root.mjs +44 -0
  124. package/build-module/form/primitives/field/root.mjs.map +7 -0
  125. package/build-module/form/primitives/field/types.mjs +1 -0
  126. package/build-module/form/primitives/fieldset/context.mjs +14 -0
  127. package/build-module/form/primitives/fieldset/context.mjs.map +7 -0
  128. package/build-module/form/primitives/fieldset/description.mjs +66 -0
  129. package/build-module/form/primitives/fieldset/description.mjs.map +7 -0
  130. package/build-module/form/primitives/fieldset/details.mjs +68 -0
  131. package/build-module/form/primitives/fieldset/details.mjs.map +7 -0
  132. package/build-module/form/primitives/fieldset/index.mjs +12 -0
  133. package/build-module/form/primitives/fieldset/index.mjs.map +7 -0
  134. package/build-module/form/primitives/fieldset/legend.mjs +59 -0
  135. package/build-module/form/primitives/fieldset/legend.mjs.map +7 -0
  136. package/build-module/form/primitives/fieldset/root.mjs +51 -0
  137. package/build-module/form/primitives/fieldset/root.mjs.map +7 -0
  138. package/build-module/form/primitives/fieldset/types.mjs +1 -0
  139. package/build-module/form/primitives/index.mjs +12 -0
  140. package/build-module/form/primitives/index.mjs.map +7 -0
  141. package/build-module/form/primitives/input/index.mjs +6 -0
  142. package/build-module/form/primitives/input/index.mjs.map +7 -0
  143. package/build-module/form/primitives/input/input.mjs +113 -0
  144. package/build-module/form/primitives/input/input.mjs.map +7 -0
  145. package/build-module/form/primitives/input/types.mjs +1 -0
  146. package/build-module/form/primitives/input/types.mjs.map +7 -0
  147. package/build-module/form/primitives/input-layout/context.mjs +22 -0
  148. package/build-module/form/primitives/input-layout/context.mjs.map +7 -0
  149. package/build-module/form/primitives/input-layout/index.mjs +10 -0
  150. package/build-module/form/primitives/input-layout/index.mjs.map +7 -0
  151. package/build-module/form/primitives/input-layout/input-layout.mjs +161 -0
  152. package/build-module/form/primitives/input-layout/input-layout.mjs.map +7 -0
  153. package/build-module/form/primitives/input-layout/slot.mjs +130 -0
  154. package/build-module/form/primitives/input-layout/slot.mjs.map +7 -0
  155. package/build-module/form/primitives/input-layout/types.mjs +1 -0
  156. package/build-module/form/primitives/input-layout/types.mjs.map +7 -0
  157. package/build-module/icon/icon.mjs +21 -0
  158. package/build-module/icon/icon.mjs.map +7 -0
  159. package/build-module/icon/index.mjs +6 -0
  160. package/build-module/icon/index.mjs.map +7 -0
  161. package/build-module/icon/types.mjs +1 -0
  162. package/build-module/icon/types.mjs.map +7 -0
  163. package/build-module/index.mjs +9 -0
  164. package/build-module/index.mjs.map +7 -0
  165. package/build-module/stack/index.mjs +6 -0
  166. package/build-module/stack/index.mjs.map +7 -0
  167. package/build-module/stack/{stack.js → stack.mjs} +6 -8
  168. package/build-module/stack/stack.mjs.map +7 -0
  169. package/build-module/stack/types.mjs +1 -0
  170. package/build-module/stack/types.mjs.map +7 -0
  171. package/build-module/types/css-modules.d.mjs +1 -0
  172. package/build-module/types/css-modules.d.mjs.map +7 -0
  173. package/build-module/types/{react.d.js → react.d.mjs} +1 -1
  174. package/build-module/utils/types.mjs +1 -0
  175. package/build-module/utils/types.mjs.map +7 -0
  176. package/build-module/visually-hidden/index.mjs +6 -0
  177. package/build-module/visually-hidden/index.mjs.map +7 -0
  178. package/build-module/visually-hidden/types.mjs +1 -0
  179. package/build-module/visually-hidden/types.mjs.map +7 -0
  180. package/build-module/visually-hidden/visually-hidden.mjs +44 -0
  181. package/build-module/visually-hidden/visually-hidden.mjs.map +7 -0
  182. package/build-types/badge/badge.d.ts +7 -0
  183. package/build-types/badge/badge.d.ts.map +1 -0
  184. package/build-types/badge/index.d.ts +2 -0
  185. package/build-types/badge/index.d.ts.map +1 -0
  186. package/build-types/badge/stories/index.story.d.ts +15 -0
  187. package/build-types/badge/stories/index.story.d.ts.map +1 -0
  188. package/build-types/badge/types.d.ts +14 -0
  189. package/build-types/badge/types.d.ts.map +1 -0
  190. package/build-types/box/box.d.ts +0 -3
  191. package/build-types/box/box.d.ts.map +1 -1
  192. package/build-types/box/stories/index.story.d.ts +1 -11
  193. package/build-types/box/stories/index.story.d.ts.map +1 -1
  194. package/build-types/box/types.d.ts +8 -15
  195. package/build-types/box/types.d.ts.map +1 -1
  196. package/build-types/button/button.d.ts +3 -0
  197. package/build-types/button/button.d.ts.map +1 -0
  198. package/build-types/button/icon.d.ts +10 -0
  199. package/build-types/button/icon.d.ts.map +1 -0
  200. package/build-types/button/index.d.ts +10 -0
  201. package/build-types/button/index.d.ts.map +1 -0
  202. package/build-types/button/stories/index.story.d.ts +23 -0
  203. package/build-types/button/stories/index.story.d.ts.map +1 -0
  204. package/build-types/button/test/button.test.d.ts +2 -0
  205. package/build-types/button/test/button.test.d.ts.map +1 -0
  206. package/build-types/button/test/icon.test.d.ts +2 -0
  207. package/build-types/button/test/icon.test.d.ts.map +1 -0
  208. package/build-types/button/types.d.ts +63 -0
  209. package/build-types/button/types.d.ts.map +1 -0
  210. package/build-types/form/primitives/field/control.d.ts +6 -0
  211. package/build-types/form/primitives/field/control.d.ts.map +1 -0
  212. package/build-types/form/primitives/field/description.d.ts +9 -0
  213. package/build-types/form/primitives/field/description.d.ts.map +1 -0
  214. package/build-types/form/primitives/field/details.d.ts +21 -0
  215. package/build-types/form/primitives/field/details.d.ts.map +1 -0
  216. package/build-types/form/primitives/field/index.d.ts +8 -0
  217. package/build-types/form/primitives/field/index.d.ts.map +1 -0
  218. package/build-types/form/primitives/field/item.d.ts +3 -0
  219. package/build-types/form/primitives/field/item.d.ts.map +1 -0
  220. package/build-types/form/primitives/field/label.d.ts +11 -0
  221. package/build-types/form/primitives/field/label.d.ts.map +1 -0
  222. package/build-types/form/primitives/field/root.d.ts +15 -0
  223. package/build-types/form/primitives/field/root.d.ts.map +1 -0
  224. package/build-types/form/primitives/field/stories/index.story.d.ts +39 -0
  225. package/build-types/form/primitives/field/stories/index.story.d.ts.map +1 -0
  226. package/build-types/form/primitives/field/test/index.test.d.ts +2 -0
  227. package/build-types/form/primitives/field/test/index.test.d.ts.map +1 -0
  228. package/build-types/form/primitives/field/types.d.ts +62 -0
  229. package/build-types/form/primitives/field/types.d.ts.map +1 -0
  230. package/build-types/form/primitives/fieldset/context.d.ts +8 -0
  231. package/build-types/form/primitives/fieldset/context.d.ts.map +1 -0
  232. package/build-types/form/primitives/fieldset/description.d.ts +9 -0
  233. package/build-types/form/primitives/fieldset/description.d.ts.map +1 -0
  234. package/build-types/form/primitives/fieldset/details.d.ts +21 -0
  235. package/build-types/form/primitives/fieldset/details.d.ts.map +1 -0
  236. package/build-types/form/primitives/fieldset/index.d.ts +6 -0
  237. package/build-types/form/primitives/fieldset/index.d.ts.map +1 -0
  238. package/build-types/form/primitives/fieldset/legend.d.ts +9 -0
  239. package/build-types/form/primitives/fieldset/legend.d.ts.map +1 -0
  240. package/build-types/form/primitives/fieldset/root.d.ts +15 -0
  241. package/build-types/form/primitives/fieldset/root.d.ts.map +1 -0
  242. package/build-types/form/primitives/fieldset/stories/index.story.d.ts +18 -0
  243. package/build-types/form/primitives/fieldset/stories/index.story.d.ts.map +1 -0
  244. package/build-types/form/primitives/fieldset/test/index.test.d.ts +2 -0
  245. package/build-types/form/primitives/fieldset/test/index.test.d.ts.map +1 -0
  246. package/build-types/form/primitives/fieldset/types.d.ts +32 -0
  247. package/build-types/form/primitives/fieldset/types.d.ts.map +1 -0
  248. package/build-types/form/primitives/index.d.ts +5 -0
  249. package/build-types/form/primitives/index.d.ts.map +1 -0
  250. package/build-types/form/primitives/input/index.d.ts +2 -0
  251. package/build-types/form/primitives/input/index.d.ts.map +1 -0
  252. package/build-types/form/primitives/input/input.d.ts +10 -0
  253. package/build-types/form/primitives/input/input.d.ts.map +1 -0
  254. package/build-types/form/primitives/input/stories/index.story.d.ts +13 -0
  255. package/build-types/form/primitives/input/stories/index.story.d.ts.map +1 -0
  256. package/build-types/form/primitives/input/test/index.test.d.ts +2 -0
  257. package/build-types/form/primitives/input/test/index.test.d.ts.map +1 -0
  258. package/build-types/form/primitives/input/types.d.ts +27 -0
  259. package/build-types/form/primitives/input/types.d.ts.map +1 -0
  260. package/build-types/form/primitives/input-layout/context.d.ts +17 -0
  261. package/build-types/form/primitives/input-layout/context.d.ts.map +1 -0
  262. package/build-types/form/primitives/input-layout/index.d.ts +4 -0
  263. package/build-types/form/primitives/input-layout/index.d.ts.map +1 -0
  264. package/build-types/form/primitives/input-layout/input-layout.d.ts +7 -0
  265. package/build-types/form/primitives/input-layout/input-layout.d.ts.map +1 -0
  266. package/build-types/form/primitives/input-layout/slot.d.ts +6 -0
  267. package/build-types/form/primitives/input-layout/slot.d.ts.map +1 -0
  268. package/build-types/form/primitives/input-layout/stories/index.story.d.ts +24 -0
  269. package/build-types/form/primitives/input-layout/stories/index.story.d.ts.map +1 -0
  270. package/build-types/form/primitives/input-layout/test/index.test.d.ts +2 -0
  271. package/build-types/form/primitives/input-layout/test/index.test.d.ts.map +1 -0
  272. package/build-types/form/primitives/input-layout/types.d.ts +41 -0
  273. package/build-types/form/primitives/input-layout/types.d.ts.map +1 -0
  274. package/build-types/icon/icon.d.ts +14 -0
  275. package/build-types/icon/icon.d.ts.map +1 -0
  276. package/build-types/icon/index.d.ts +2 -0
  277. package/build-types/icon/index.d.ts.map +1 -0
  278. package/build-types/icon/stories/index.story.d.ts +11 -0
  279. package/build-types/icon/stories/index.story.d.ts.map +1 -0
  280. package/build-types/icon/test/icon.test.d.ts +2 -0
  281. package/build-types/icon/test/icon.test.d.ts.map +1 -0
  282. package/build-types/icon/types.d.ts +15 -0
  283. package/build-types/icon/types.d.ts.map +1 -0
  284. package/build-types/index.d.ts +6 -0
  285. package/build-types/index.d.ts.map +1 -1
  286. package/build-types/stack/index.d.ts +0 -3
  287. package/build-types/stack/index.d.ts.map +1 -1
  288. package/build-types/stack/stack.d.ts.map +1 -1
  289. package/build-types/stack/stories/index.story.d.ts +1 -11
  290. package/build-types/stack/stories/index.story.d.ts.map +1 -1
  291. package/build-types/stack/types.d.ts +2 -5
  292. package/build-types/stack/types.d.ts.map +1 -1
  293. package/build-types/test/index.test.d.ts +2 -0
  294. package/build-types/test/index.test.d.ts.map +1 -0
  295. package/build-types/visually-hidden/index.d.ts +2 -0
  296. package/build-types/visually-hidden/index.d.ts.map +1 -0
  297. package/build-types/visually-hidden/stories/index.story.d.ts +7 -0
  298. package/build-types/visually-hidden/stories/index.story.d.ts.map +1 -0
  299. package/build-types/visually-hidden/test/visually-hidden.test.d.ts +2 -0
  300. package/build-types/visually-hidden/test/visually-hidden.test.d.ts.map +1 -0
  301. package/build-types/visually-hidden/types.d.ts +8 -0
  302. package/build-types/visually-hidden/types.d.ts.map +1 -0
  303. package/build-types/visually-hidden/visually-hidden.d.ts +7 -0
  304. package/build-types/visually-hidden/visually-hidden.d.ts.map +1 -0
  305. package/package.json +26 -9
  306. package/src/badge/badge.tsx +88 -0
  307. package/src/badge/index.ts +1 -0
  308. package/src/badge/stories/choosing-intent.mdx +112 -0
  309. package/src/badge/stories/index.story.tsx +120 -0
  310. package/src/badge/types.ts +22 -0
  311. package/src/box/box.tsx +11 -23
  312. package/src/box/stories/index.story.tsx +3 -15
  313. package/src/box/types.ts +16 -59
  314. package/src/button/button.tsx +57 -0
  315. package/src/button/icon.tsx +24 -0
  316. package/src/button/index.ts +16 -0
  317. package/src/button/stories/index.story.tsx +192 -0
  318. package/src/button/style.module.css +232 -0
  319. package/src/button/test/button.test.tsx +89 -0
  320. package/src/button/test/icon.test.tsx +13 -0
  321. package/src/button/types.ts +72 -0
  322. package/src/form/primitives/field/control.tsx +9 -0
  323. package/src/form/primitives/field/description.tsx +18 -0
  324. package/src/form/primitives/field/details.tsx +36 -0
  325. package/src/form/primitives/field/index.ts +8 -0
  326. package/src/form/primitives/field/item.tsx +9 -0
  327. package/src/form/primitives/field/label.tsx +21 -0
  328. package/src/form/primitives/field/root.tsx +33 -0
  329. package/src/form/primitives/field/stories/index.story.tsx +132 -0
  330. package/src/form/primitives/field/test/index.test.tsx +36 -0
  331. package/src/form/primitives/field/types.ts +82 -0
  332. package/src/form/primitives/fieldset/context.tsx +13 -0
  333. package/src/form/primitives/fieldset/description.tsx +36 -0
  334. package/src/form/primitives/fieldset/details.tsx +46 -0
  335. package/src/form/primitives/fieldset/index.ts +6 -0
  336. package/src/form/primitives/fieldset/legend.tsx +17 -0
  337. package/src/form/primitives/fieldset/root.tsx +42 -0
  338. package/src/form/primitives/fieldset/stories/index.story.tsx +67 -0
  339. package/src/form/primitives/fieldset/style.module.css +12 -0
  340. package/src/form/primitives/fieldset/test/index.test.tsx +135 -0
  341. package/src/form/primitives/fieldset/types.ts +35 -0
  342. package/src/form/primitives/index.ts +4 -0
  343. package/src/form/primitives/input/index.ts +1 -0
  344. package/src/form/primitives/input/input.tsx +28 -0
  345. package/src/form/primitives/input/stories/index.story.tsx +40 -0
  346. package/src/form/primitives/input/style.module.css +34 -0
  347. package/src/form/primitives/input/test/index.test.tsx +13 -0
  348. package/src/form/primitives/input/types.ts +31 -0
  349. package/src/form/primitives/input-layout/context.tsx +36 -0
  350. package/src/form/primitives/input-layout/index.ts +6 -0
  351. package/src/form/primitives/input-layout/input-layout.tsx +49 -0
  352. package/src/form/primitives/input-layout/slot.tsx +39 -0
  353. package/src/form/primitives/input-layout/stories/index.story.tsx +67 -0
  354. package/src/form/primitives/input-layout/style.module.css +82 -0
  355. package/src/form/primitives/input-layout/test/index.test.tsx +23 -0
  356. package/src/form/primitives/input-layout/types.ts +44 -0
  357. package/src/icon/icon.tsx +30 -0
  358. package/src/icon/index.ts +1 -0
  359. package/src/icon/stories/index.story.tsx +47 -0
  360. package/src/icon/test/icon.test.tsx +13 -0
  361. package/src/icon/types.ts +14 -0
  362. package/src/index.ts +6 -0
  363. package/src/stack/index.ts +0 -3
  364. package/src/stack/stack.tsx +5 -18
  365. package/src/stack/stories/index.story.tsx +1 -14
  366. package/src/stack/test/stack.test.tsx +22 -12
  367. package/src/stack/types.ts +2 -6
  368. package/src/stories/introduction.mdx +6 -0
  369. package/src/test/index.test.ts +22 -0
  370. package/src/utils/css/field.module.css +27 -0
  371. package/src/utils/css/focus.module.css +31 -0
  372. package/src/utils/css/resets.module.css +13 -0
  373. package/src/visually-hidden/index.ts +1 -0
  374. package/src/visually-hidden/stories/index.story.tsx +22 -0
  375. package/src/visually-hidden/style.module.css +15 -0
  376. package/src/visually-hidden/test/visually-hidden.test.tsx +59 -0
  377. package/src/visually-hidden/types.ts +8 -0
  378. package/src/visually-hidden/visually-hidden.tsx +23 -0
  379. package/build/box/box.js.map +0 -7
  380. package/build/box/types.js.map +0 -7
  381. package/build/index.js.map +0 -7
  382. package/build/lock-unlock.js.map +0 -7
  383. package/build/stack/index.js.map +0 -7
  384. package/build/stack/stack.js.map +0 -7
  385. package/build/stack/types.js.map +0 -7
  386. package/build/types/css-modules.d.js +0 -2
  387. package/build/utils/element.js.map +0 -7
  388. package/build-module/box/box.js.map +0 -7
  389. package/build-module/box/index.js +0 -6
  390. package/build-module/box/types.js +0 -1
  391. package/build-module/index.js +0 -3
  392. package/build-module/index.js.map +0 -7
  393. package/build-module/lock-unlock.js +0 -11
  394. package/build-module/lock-unlock.js.map +0 -7
  395. package/build-module/stack/index.js +0 -6
  396. package/build-module/stack/index.js.map +0 -7
  397. package/build-module/stack/stack.js.map +0 -7
  398. package/build-module/stack/types.js +0 -1
  399. package/build-module/types/css-modules.d.js +0 -1
  400. package/build-module/utils/element.js +0 -20
  401. package/build-module/utils/element.js.map +0 -7
  402. package/build-module/utils/types.js +0 -1
  403. package/build-types/lock-unlock.d.ts +0 -2
  404. package/build-types/lock-unlock.d.ts.map +0 -1
  405. package/build-types/utils/element.d.ts +0 -25
  406. package/build-types/utils/element.d.ts.map +0 -1
  407. package/src/lock-unlock.ts +0 -10
  408. package/src/utils/element.ts +0 -51
  409. package/tsconfig.json +0 -13
  410. package/tsconfig.tsbuildinfo +0 -1
  411. /package/build/box/{index.js.map → index.cjs.map} +0 -0
  412. /package/build/types/{react.d.js.map → react.d.cjs.map} +0 -0
  413. /package/build/utils/{types.js.map → types.cjs.map} +0 -0
  414. /package/build-module/{box/types.js.map → badge/types.mjs.map} +0 -0
  415. /package/build-module/box/{index.js.map → index.mjs.map} +0 -0
  416. /package/build-module/{stack/types.js.map → box/types.mjs.map} +0 -0
  417. /package/build-module/{types/css-modules.d.js.map → button/types.mjs.map} +0 -0
  418. /package/build-module/{utils/types.js.map → form/primitives/field/types.mjs.map} +0 -0
  419. /package/{build/types/css-modules.d.js.map → build-module/form/primitives/fieldset/types.mjs.map} +0 -0
  420. /package/build-module/types/{react.d.js.map → react.d.mjs.map} +0 -0
@@ -0,0 +1,27 @@
1
+ import type { Input } from '@base-ui/react/input';
2
+ import type { InputLayoutProps } from '../input-layout/types';
3
+ import type { ComponentProps } from '../../../utils/types';
4
+ export type InputProps = Omit<ComponentProps<typeof Input>, 'value' | 'defaultValue' | 'type' | 'disabled' | 'prefix' | 'size'> & Pick<InputLayoutProps, 'prefix' | 'suffix'> & {
5
+ /**
6
+ * Whether the field is disabled.
7
+ */
8
+ disabled?: boolean;
9
+ } & {
10
+ /**
11
+ * The type of the input element.
12
+ */
13
+ type?: Input.Props['type'];
14
+ /**
15
+ * The default value to use in uncontrolled mode.
16
+ */
17
+ defaultValue?: Input.Props['defaultValue'];
18
+ /**
19
+ * The value to use in controlled mode.
20
+ */
21
+ value?: Input.Props['value'];
22
+ /**
23
+ * The size of the field.
24
+ */
25
+ size?: Exclude<InputLayoutProps['size'], 'small'>;
26
+ };
27
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/form/primitives/input/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,MAAM,UAAU,GAAG,IAAI,CAC5B,cAAc,CAAE,OAAO,KAAK,CAAE,EAC9B,OAAO,GAAG,cAAc,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,CAClE,GACA,IAAI,CAAE,gBAAgB,EAAE,QAAQ,GAAG,QAAQ,CAAE,GAAG;IAC/C;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG;IACH;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,KAAK,CAAE,MAAM,CAAE,CAAC;IAC7B;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,KAAK,CAAE,cAAc,CAAE,CAAC;IAC7C;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAE,OAAO,CAAE,CAAC;IAC/B;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAE,gBAAgB,CAAE,MAAM,CAAE,EAAE,OAAO,CAAE,CAAC;CACtD,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { InputLayoutSlotType } from './types';
2
+ /**
3
+ * Context for providing slot type information to child components.
4
+ */
5
+ export declare const InputLayoutSlotTypeContext: import("react").Context<InputLayoutSlotType | null>;
6
+ /**
7
+ * Hook to access the current slot context.
8
+ */
9
+ export declare function useInputLayoutSlotContext(): InputLayoutSlotType | null;
10
+ /**
11
+ * Wrapper component that provides slot type context for prefix and suffix slots.
12
+ */
13
+ export declare function SlotContextProvider({ type, children, }: {
14
+ type: InputLayoutSlotType;
15
+ children: React.ReactNode;
16
+ }): import("react").JSX.Element | null;
17
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/form/primitives/input-layout/context.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD;;GAEG;AACH,eAAO,MAAM,0BAA0B,qDACa,CAAC;AAErD;;GAEG;AACH,wBAAgB,yBAAyB,+BAExC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAE,EACpC,IAAI,EACJ,QAAQ,GACR,EAAE;IACF,IAAI,EAAE,mBAAmB,CAAC;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B,sCAUA"}
@@ -0,0 +1,4 @@
1
+ export declare const InputLayout: import("react").ForwardRefExoticComponent<import("./types").InputLayoutProps & import("react").RefAttributes<HTMLDivElement>> & {
2
+ Slot: import("react").ForwardRefExoticComponent<import("./types").InputLayoutSlotProps & import("react").RefAttributes<HTMLDivElement>>;
3
+ };
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/form/primitives/input-layout/index.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,WAAW;;CAErB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { InputLayoutProps } from './types';
2
+ /**
3
+ * A low-level component that handles the visual layout of an input-like field,
4
+ * including disabled states and standard prefix/suffix slots.
5
+ */
6
+ export declare const InputLayout: import("react").ForwardRefExoticComponent<InputLayoutProps & import("react").RefAttributes<HTMLDivElement>>;
7
+ //# sourceMappingURL=input-layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-layout.d.ts","sourceRoot":"","sources":["../../../../src/form/primitives/input-layout/input-layout.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAGhD;;;GAGG;AACH,eAAO,MAAM,WAAW,6GAqCvB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { InputLayoutSlotProps } from './types';
2
+ /**
3
+ * A layout helper to add paddings in a prefix or suffix.
4
+ */
5
+ export declare const InputLayoutSlot: import("react").ForwardRefExoticComponent<InputLayoutSlotProps & import("react").RefAttributes<HTMLDivElement>>;
6
+ //# sourceMappingURL=slot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slot.d.ts","sourceRoot":"","sources":["../../../../src/form/primitives/input-layout/slot.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAGpD;;GAEG;AACH,eAAO,MAAM,eAAe,iHA2BzB,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { InputLayout } from '../../../..';
3
+ declare const meta: Meta<typeof InputLayout>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof InputLayout>;
6
+ export declare const Default: Story;
7
+ /**
8
+ * By default, the `prefix` and `suffix` slots are rendered with no padding.
9
+ */
10
+ export declare const WithPrefix: Story;
11
+ /**
12
+ * The `InputLayout.Slot` component can be used to add standard padding in
13
+ * the `prefix` or `suffix` slot.
14
+ *
15
+ * The `padding="minimal"` setting will work best when the slot content is a button or icon.
16
+ */
17
+ export declare const WithPaddedPrefix: Story;
18
+ export declare const Compact: Story;
19
+ /**
20
+ * The `small` size is intended only for rare cases like the trigger
21
+ * button of a low-profile `select` element.
22
+ */
23
+ export declare const Small: Story;
24
+ //# sourceMappingURL=index.story.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.story.d.ts","sourceRoot":"","sources":["../../../../../src/form/primitives/input-layout/stories/index.story.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAE,OAAO,WAAW,CAMnC,CAAC;AACF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAE,OAAO,WAAW,CAAE,CAAC;AAE5C,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,KAiBxB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAI9B,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAInB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../../../src/form/primitives/input-layout/test/index.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,41 @@
1
+ export interface InputLayoutProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'prefix'> {
2
+ /**
3
+ * Whether the field should be visually styled as disabled.
4
+ */
5
+ visuallyDisabled?: boolean;
6
+ /**
7
+ * The size of the field.
8
+ *
9
+ * @default 'default'
10
+ */
11
+ size?: 'default' | 'compact' | 'small';
12
+ /**
13
+ * Whether the field should hide the border.
14
+ */
15
+ isBorderless?: boolean;
16
+ /**
17
+ * Element to render before the input.
18
+ */
19
+ prefix?: React.ReactNode;
20
+ /**
21
+ * Element to render after the input.
22
+ */
23
+ suffix?: React.ReactNode;
24
+ }
25
+ export type InputLayoutSlotType = 'prefix' | 'suffix';
26
+ export interface InputLayoutSlotProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'type'> {
27
+ /**
28
+ * The type of the slot.
29
+ *
30
+ * When not provided, the type will be automatically inferred from the
31
+ * `InputLayout` context if the slot is used within a `prefix` or `suffix`.
32
+ */
33
+ type?: InputLayoutSlotType;
34
+ /**
35
+ * The padding of the slot.
36
+ *
37
+ * `minimal` will work best when the slot content is a button or icon.
38
+ */
39
+ padding?: 'default' | 'minimal';
40
+ }
41
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/form/primitives/input-layout/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAChB,SAAQ,IAAI,CAAE,KAAK,CAAC,cAAc,CAAE,cAAc,CAAE,EAAE,QAAQ,CAAE;IAChE;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACvC;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACzB;AAED,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEtD,MAAM,WAAW,oBAChB,SAAQ,IAAI,CAAE,KAAK,CAAC,cAAc,CAAE,cAAc,CAAE,EAAE,MAAM,CAAE;IAC9D;;;;;OAKG;IACH,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CAChC"}
@@ -0,0 +1,14 @@
1
+ import type { IconProps } from './types';
2
+ /**
3
+ * Renders an SVG icon with a 24px default size.
4
+ *
5
+ * If no `fill` colors are explicitly set on the icon itself, it will be rendered with a `currentColor` fill.
6
+ *
7
+ * ```jsx
8
+ * import { wordpress } from '@wordpress/icons';
9
+ *
10
+ * <Icon icon={ wordpress } />
11
+ * ```
12
+ */
13
+ export declare const Icon: import("react").ForwardRefExoticComponent<Omit<IconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
14
+ //# sourceMappingURL=icon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../../src/icon/icon.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,IAAI,kHAcd,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { Icon } from './icon';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/icon/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { Icon } from '../index';
3
+ declare const meta: Meta<typeof Icon>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Icon>;
6
+ export declare const Default: Story;
7
+ /**
8
+ * Explicit `fill` colors in the icon will be preserved.
9
+ */
10
+ export declare const WithIntrinsicFillColor: Story;
11
+ //# sourceMappingURL=index.story.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.story.d.ts","sourceRoot":"","sources":["../../../src/icon/stories/index.story.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAE,OAAO,IAAI,CAgB5B,CAAC;AACF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAE,OAAO,IAAI,CAAE,CAAC;AAErC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,KAYpC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=icon.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon.test.d.ts","sourceRoot":"","sources":["../../../src/icon/test/icon.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ export type IconProps = React.ComponentProps<'svg'> & {
2
+ /**
3
+ * The icon to render, which must be an svg element or an `SVG` from `@wordpress/primitives`.
4
+ *
5
+ * In most cases, you should use an icon from
6
+ * [the `@wordpress/icons` package](https://wordpress.github.io/gutenberg/?path=/story/icons-icon--library).
7
+ */
8
+ icon: React.ReactElement<React.ComponentProps<'svg'>>;
9
+ /**
10
+ * The size (width and height) of the icon.
11
+ * @default 24
12
+ */
13
+ size?: number;
14
+ };
15
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/icon/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,CAAE,KAAK,CAAE,GAAG;IACvD;;;;;OAKG;IACH,IAAI,EAAE,KAAK,CAAC,YAAY,CAAE,KAAK,CAAC,cAAc,CAAE,KAAK,CAAE,CAAE,CAAC;IAC1D;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACd,CAAC"}
@@ -1,2 +1,8 @@
1
+ export * from './badge';
1
2
  export * from './box';
3
+ export * from './button';
4
+ export * from './form/primitives';
5
+ export * from './icon';
6
+ export * from './stack';
7
+ export * from './visually-hidden';
2
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC"}
@@ -1,5 +1,2 @@
1
- /**
2
- * Internal dependencies
3
- */
4
1
  export { Stack } from './stack';
5
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/stack/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/stack/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../src/stack/stack.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAG1C;;;GAGG;AACH,eAAO,MAAM,KAAK,uGAoBf,CAAC"}
1
+ {"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../src/stack/stack.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAG1C;;;GAGG;AACH,eAAO,MAAM,KAAK,uGAmBf,CAAC"}
@@ -1,14 +1,4 @@
1
- /**
2
- * External dependencies
3
- */
4
- import type { Meta, StoryObj } from '@storybook/react';
5
- /**
6
- * WordPress dependencies
7
- */
8
- import '@wordpress/theme/design-tokens.css';
9
- /**
10
- * Internal dependencies
11
- */
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
12
2
  import { Stack } from '../index';
13
3
  declare const meta: Meta<typeof Stack>;
14
4
  export default meta;
@@ -1 +1 @@
1
- {"version":3,"file":"index.story.d.ts","sourceRoot":"","sources":["../../../src/stack/stories/index.story.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;GAEG;AACH,OAAO,oCAAoC,CAAC;AAE5C;;GAEG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAE,OAAO,KAAK,CAI7B,CAAC;AACF,eAAe,IAAI,CAAC;AAYpB,KAAK,KAAK,GAAG,QAAQ,CAAE,OAAO,KAAK,CAAE,CAAC;AAEtC,eAAO,MAAM,OAAO,EAAE,KA4DrB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAsBpB,CAAC"}
1
+ {"version":3,"file":"index.story.d.ts","sourceRoot":"","sources":["../../../src/stack/stories/index.story.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAE,OAAO,KAAK,CAG7B,CAAC;AACF,eAAe,IAAI,CAAC;AAYpB,KAAK,KAAK,GAAG,QAAQ,CAAE,OAAO,KAAK,CAAE,CAAC;AAEtC,eAAO,MAAM,OAAO,EAAE,KA4DrB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAsBpB,CAAC"}
@@ -1,8 +1,5 @@
1
- /**
2
- * Internal dependencies
3
- */
1
+ import { type GapSize } from '@wordpress/theme';
4
2
  import { type ComponentProps } from '../utils/types';
5
- export type SizeToken = '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
6
3
  export interface StackProps extends ComponentProps<'div'> {
7
4
  /**
8
5
  * The direction of the stack.
@@ -13,7 +10,7 @@ export interface StackProps extends ComponentProps<'div'> {
13
10
  *
14
11
  * @default undefined
15
12
  */
16
- gap?: SizeToken;
13
+ gap?: GapSize;
17
14
  /**
18
15
  * The alignment of the stack items along the cross axis.
19
16
  *
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/stack/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEjE,MAAM,WAAW,UAAW,SAAQ,cAAc,CAAE,KAAK,CAAE;IAC1D;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAClB,KAAK,CAAC,aAAa,CAAE,eAAe,CAAE,EACtC,aAAa,GAAG,gBAAgB,CAChC,CAAC;IAEF;;;;OAIG;IACH,GAAG,CAAC,EAAE,SAAS,CAAC;IAEhB;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAE,YAAY,CAAE,CAAC;IAE5C;;;;OAIG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,aAAa,CAAE,gBAAgB,CAAE,CAAC;IAElD;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAE,KAAK,CAAC,aAAa,CAAE,UAAU,CAAE,EAAE,cAAc,CAAE,CAAC;IAEpE;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/stack/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,WAAW,UAAW,SAAQ,cAAc,CAAE,KAAK,CAAE;IAC1D;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAClB,KAAK,CAAC,aAAa,CAAE,eAAe,CAAE,EACtC,aAAa,GAAG,gBAAgB,CAChC,CAAC;IAEF;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAE,YAAY,CAAE,CAAC;IAE5C;;;;OAIG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,aAAa,CAAE,gBAAgB,CAAE,CAAC;IAElD;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAE,KAAK,CAAC,aAAa,CAAE,UAAU,CAAE,EAAE,cAAc,CAAE,CAAC;IAEpE;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/test/index.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export { VisuallyHidden } from './visually-hidden';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/visually-hidden/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { VisuallyHidden } from '../';
3
+ declare const meta: Meta<typeof VisuallyHidden>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof VisuallyHidden>;
6
+ export declare const Default: Story;
7
+ //# sourceMappingURL=index.story.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.story.d.ts","sourceRoot":"","sources":["../../../src/visually-hidden/stories/index.story.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAErC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAE,OAAO,cAAc,CAGtC,CAAC;AACF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAE,OAAO,cAAc,CAAE,CAAC;AAE/C,eAAO,MAAM,OAAO,EAAE,KAUrB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=visually-hidden.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visually-hidden.test.d.ts","sourceRoot":"","sources":["../../../src/visually-hidden/test/visually-hidden.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import type { ComponentProps } from '../utils/types';
2
+ export interface VisuallyHiddenProps extends ComponentProps<'div'> {
3
+ /**
4
+ * The content to be rendered inside the component.
5
+ */
6
+ children?: React.ReactNode;
7
+ }
8
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/visually-hidden/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,WAAW,mBAAoB,SAAQ,cAAc,CAAE,KAAK,CAAE;IACnE;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B"}
@@ -0,0 +1,7 @@
1
+ import type { VisuallyHiddenProps } from './types';
2
+ /**
3
+ * Visually hides content while keeping it accessible to screen readers.
4
+ * Useful when providing context that's only meaningful to assistive technology.
5
+ */
6
+ export declare const VisuallyHidden: import("react").ForwardRefExoticComponent<VisuallyHiddenProps & import("react").RefAttributes<HTMLDivElement>>;
7
+ //# sourceMappingURL=visually-hidden.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visually-hidden.d.ts","sourceRoot":"","sources":["../../src/visually-hidden/visually-hidden.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAGnD;;;GAGG;AACH,eAAO,MAAM,cAAc,gHAa1B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/ui",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "Themeable React UI components for the WordPress Design System.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -22,13 +22,20 @@
22
22
  "node": ">=20.10.0",
23
23
  "npm": ">=10.2.3"
24
24
  },
25
- "main": "build/index.js",
26
- "module": "build-module/index.js",
25
+ "files": [
26
+ "src",
27
+ "build",
28
+ "build-module",
29
+ "build-types",
30
+ "*.md"
31
+ ],
32
+ "main": "build/index.cjs",
33
+ "module": "build-module/index.mjs",
27
34
  "exports": {
28
35
  ".": {
29
36
  "types": "./build-types/index.d.ts",
30
- "import": "./build-module/index.js",
31
- "default": "./build/index.js"
37
+ "import": "./build-module/index.mjs",
38
+ "default": "./build/index.cjs"
32
39
  },
33
40
  "./package.json": "./package.json"
34
41
  },
@@ -36,12 +43,22 @@
36
43
  "types": "build-types",
37
44
  "sideEffects": false,
38
45
  "dependencies": {
39
- "@wordpress/element": "^6.37.0",
40
- "@wordpress/private-apis": "^1.37.0",
46
+ "@base-ui/react": "^1.0.0",
47
+ "@wordpress/a11y": "^4.38.0",
48
+ "@wordpress/element": "^6.38.0",
49
+ "@wordpress/i18n": "^6.11.0",
50
+ "@wordpress/icons": "^11.5.0",
51
+ "@wordpress/primitives": "^4.38.0",
41
52
  "clsx": "^2.1.1"
42
53
  },
43
54
  "devDependencies": {
44
- "@wordpress/theme": "^0.4.0"
55
+ "@storybook/addon-docs": "^10.1.11",
56
+ "@storybook/react-vite": "^10.1.11",
57
+ "@testing-library/jest-dom": "^6.6.3",
58
+ "@types/jest": "^29.5.14",
59
+ "@types/node": "^20.17.10",
60
+ "@wordpress/theme": "^0.5.0",
61
+ "storybook": "^10.1.11"
45
62
  },
46
63
  "peerDependencies": {
47
64
  "react": "^18.0.0",
@@ -50,5 +67,5 @@
50
67
  "publishConfig": {
51
68
  "access": "public"
52
69
  },
53
- "gitHead": "2cf13ec6cf86153c9b3cf369bf5c59046f5cd950"
70
+ "gitHead": "50c4c0f51e4797c217946ce42adfaa5eb026f33f"
54
71
  }
@@ -0,0 +1,88 @@
1
+ import { forwardRef } from '@wordpress/element';
2
+ import { Box } from '../box';
3
+ import { type BoxProps } from '../box/types';
4
+ import { type BadgeProps } from './types';
5
+
6
+ /**
7
+ * Default render function that renders a span element with the given props.
8
+ */
9
+ const DEFAULT_RENDER = ( props: React.ComponentPropsWithoutRef< 'span' > ) => (
10
+ <span { ...props } />
11
+ );
12
+
13
+ /**
14
+ * Maps intent values to Box backgroundColor and color props.
15
+ * Uses strong emphasis styles (as emphasis prop has been removed).
16
+ */
17
+ const getIntentStyles = (
18
+ intent: BadgeProps[ 'intent' ]
19
+ ): Partial< BoxProps > => {
20
+ switch ( intent ) {
21
+ case 'high':
22
+ return {
23
+ backgroundColor: 'error',
24
+ color: 'error',
25
+ };
26
+ case 'medium':
27
+ return {
28
+ backgroundColor: 'warning',
29
+ color: 'warning',
30
+ };
31
+ case 'low':
32
+ return {
33
+ backgroundColor: 'caution',
34
+ color: 'caution',
35
+ };
36
+ case 'stable':
37
+ return {
38
+ backgroundColor: 'success',
39
+ color: 'success',
40
+ };
41
+ case 'informational':
42
+ return {
43
+ backgroundColor: 'info',
44
+ color: 'info',
45
+ };
46
+ case 'draft':
47
+ return {
48
+ backgroundColor: 'neutral-weak',
49
+ color: 'neutral',
50
+ };
51
+ case 'none':
52
+ default:
53
+ return {
54
+ backgroundColor: 'neutral',
55
+ color: 'neutral-weak',
56
+ };
57
+ }
58
+ };
59
+
60
+ /**
61
+ * A badge component for displaying labels with semantic intent.
62
+ * Built on the Box primitive for consistent theming and accessibility.
63
+ */
64
+ export const Badge = forwardRef< HTMLDivElement, BadgeProps >( function Badge(
65
+ { children, intent = 'none', render = DEFAULT_RENDER, ...props },
66
+ ref
67
+ ) {
68
+ const intentStyles = getIntentStyles( intent );
69
+
70
+ return (
71
+ <Box
72
+ { ...intentStyles }
73
+ padding={ { inline: 'xs', block: '2xs' } }
74
+ borderRadius="lg"
75
+ render={ render }
76
+ style={ {
77
+ fontFamily: 'var(--wpds-font-family-body)',
78
+ fontSize: 'var(--wpds-font-size-sm)',
79
+ fontWeight: 'var(--wpds-font-weight-regular)',
80
+ lineHeight: 'var(--wpds-font-line-height-xs)',
81
+ ...props.style,
82
+ } }
83
+ ref={ ref }
84
+ >
85
+ { children }
86
+ </Box>
87
+ );
88
+ } );
@@ -0,0 +1 @@
1
+ export { Badge } from './badge';