@wordpress/components 19.7.0-next.e230fbab09.0 → 19.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (539) hide show
  1. package/CHANGELOG.md +57 -1
  2. package/README.md +38 -0
  3. package/build/base-control/index.js +41 -32
  4. package/build/base-control/index.js.map +1 -1
  5. package/build/base-control/styles/base-control-styles.js +43 -22
  6. package/build/base-control/styles/base-control-styles.js.map +1 -1
  7. package/build/base-control/types.js +6 -0
  8. package/build/base-control/types.js.map +1 -0
  9. package/build/border-box-control/border-box-control/component.js +124 -0
  10. package/build/border-box-control/border-box-control/component.js.map +1 -0
  11. package/build/border-box-control/border-box-control/hook.js +113 -0
  12. package/build/border-box-control/border-box-control/hook.js.map +1 -0
  13. package/build/border-box-control/border-box-control/index.js +24 -0
  14. package/build/border-box-control/border-box-control/index.js.map +1 -0
  15. package/build/border-box-control/border-box-control-linked-button/component.js +59 -0
  16. package/build/border-box-control/border-box-control-linked-button/component.js.map +1 -0
  17. package/build/border-box-control/border-box-control-linked-button/hook.js +41 -0
  18. package/build/border-box-control/border-box-control-linked-button/hook.js.map +1 -0
  19. package/build/border-box-control/border-box-control-linked-button/index.js +16 -0
  20. package/build/border-box-control/border-box-control-linked-button/index.js.map +1 -0
  21. package/build/border-box-control/border-box-control-split-controls/component.js +93 -0
  22. package/build/border-box-control/border-box-control-split-controls/component.js.map +1 -0
  23. package/build/border-box-control/border-box-control-split-controls/hook.js +45 -0
  24. package/build/border-box-control/border-box-control-split-controls/hook.js.map +1 -0
  25. package/build/border-box-control/border-box-control-split-controls/index.js +16 -0
  26. package/build/border-box-control/border-box-control-split-controls/index.js.map +1 -0
  27. package/build/border-box-control/border-box-control-visualizer/component.js +40 -0
  28. package/build/border-box-control/border-box-control-visualizer/component.js.map +1 -0
  29. package/build/border-box-control/border-box-control-visualizer/hook.js +43 -0
  30. package/build/border-box-control/border-box-control-visualizer/hook.js.map +1 -0
  31. package/build/border-box-control/border-box-control-visualizer/index.js +16 -0
  32. package/build/border-box-control/border-box-control-visualizer/index.js.map +1 -0
  33. package/build/border-box-control/index.js +44 -0
  34. package/build/border-box-control/index.js.map +1 -0
  35. package/build/border-box-control/styles.js +76 -0
  36. package/build/border-box-control/styles.js.map +1 -0
  37. package/build/border-box-control/types.js +6 -0
  38. package/build/border-box-control/types.js.map +1 -0
  39. package/build/border-box-control/utils.js +161 -0
  40. package/build/border-box-control/utils.js.map +1 -0
  41. package/build/border-control/border-control/component.js +119 -0
  42. package/build/border-control/border-control/component.js.map +1 -0
  43. package/build/border-control/border-control/hook.js +130 -0
  44. package/build/border-control/border-control/hook.js.map +1 -0
  45. package/build/border-control/border-control/index.js +24 -0
  46. package/build/border-control/border-control/index.js.map +1 -0
  47. package/build/border-control/border-control-dropdown/component.js +196 -0
  48. package/build/border-control/border-control-dropdown/component.js.map +1 -0
  49. package/build/border-control/border-control-dropdown/hook.js +105 -0
  50. package/build/border-control/border-control-dropdown/hook.js.map +1 -0
  51. package/build/border-control/border-control-dropdown/index.js +16 -0
  52. package/build/border-control/border-control-dropdown/index.js.map +1 -0
  53. package/build/border-control/border-control-style-picker/component.js +101 -0
  54. package/build/border-control/border-control-style-picker/component.js.map +1 -0
  55. package/build/border-control/border-control-style-picker/hook.js +45 -0
  56. package/build/border-control/border-control-style-picker/hook.js.map +1 -0
  57. package/build/border-control/border-control-style-picker/index.js +16 -0
  58. package/build/border-control/border-control-style-picker/index.js.map +1 -0
  59. package/build/border-control/index.js +24 -0
  60. package/build/border-control/index.js.map +1 -0
  61. package/build/border-control/styles.js +125 -0
  62. package/build/border-control/styles.js.map +1 -0
  63. package/build/border-control/types.js +6 -0
  64. package/build/border-control/types.js.map +1 -0
  65. package/build/box-control/all-input-control.js +3 -7
  66. package/build/box-control/all-input-control.js.map +1 -1
  67. package/build/box-control/axial-input-controls.js +20 -15
  68. package/build/box-control/axial-input-controls.js.map +1 -1
  69. package/build/box-control/input-controls.js +21 -16
  70. package/build/box-control/input-controls.js.map +1 -1
  71. package/build/box-control/utils.js +25 -11
  72. package/build/box-control/utils.js.map +1 -1
  73. package/build/card/styles.js +22 -17
  74. package/build/card/styles.js.map +1 -1
  75. package/build/checkbox-control/index.js +21 -1
  76. package/build/checkbox-control/index.js.map +1 -1
  77. package/build/color-palette/index.js +53 -4
  78. package/build/color-palette/index.js.map +1 -1
  79. package/build/custom-select-control/index.js +12 -4
  80. package/build/custom-select-control/index.js.map +1 -1
  81. package/build/divider/styles.js +28 -16
  82. package/build/divider/styles.js.map +1 -1
  83. package/build/focal-point-picker/controls.js +2 -3
  84. package/build/focal-point-picker/controls.js.map +1 -1
  85. package/build/form-file-upload/index.js +4 -1
  86. package/build/form-file-upload/index.js.map +1 -1
  87. package/build/guide/index.js +14 -8
  88. package/build/guide/index.js.map +1 -1
  89. package/build/index.js +40 -0
  90. package/build/index.js.map +1 -1
  91. package/build/input-control/input-field.js +21 -14
  92. package/build/input-control/input-field.js.map +1 -1
  93. package/build/input-control/reducer/actions.js +1 -3
  94. package/build/input-control/reducer/actions.js.map +1 -1
  95. package/build/input-control/reducer/reducer.js +1 -43
  96. package/build/input-control/reducer/reducer.js.map +1 -1
  97. package/build/item-group/styles.js +14 -14
  98. package/build/item-group/styles.js.map +1 -1
  99. package/build/mobile/picker/index.android.js +0 -3
  100. package/build/mobile/picker/index.android.js.map +1 -1
  101. package/build/number-control/index.js +15 -10
  102. package/build/number-control/index.js.map +1 -1
  103. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +4 -4
  104. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
  105. package/build/surface/styles.js +8 -8
  106. package/build/surface/styles.js.map +1 -1
  107. package/build/toggle-group-control/index.js +8 -0
  108. package/build/toggle-group-control/index.js.map +1 -1
  109. package/build/toggle-group-control/toggle-group-control/component.js +10 -1
  110. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  111. package/build/toggle-group-control/toggle-group-control/styles.js +14 -3
  112. package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  113. package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +90 -0
  114. package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -0
  115. package/build/toggle-group-control/toggle-group-control-option/component.js +9 -90
  116. package/build/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
  117. package/build/toggle-group-control/toggle-group-control-option-base/component.js +127 -0
  118. package/build/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -0
  119. package/build/toggle-group-control/toggle-group-control-option-base/index.js +16 -0
  120. package/build/toggle-group-control/toggle-group-control-option-base/index.js.map +1 -0
  121. package/build/toggle-group-control/toggle-group-control-option-base/styles.js +66 -0
  122. package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -0
  123. package/build/toggle-group-control/toggle-group-control-option-icon/component.js +55 -0
  124. package/build/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -0
  125. package/build/toggle-group-control/toggle-group-control-option-icon/index.js +16 -0
  126. package/build/toggle-group-control/toggle-group-control-option-icon/index.js.map +1 -0
  127. package/build/toolbar-dropdown-menu/index.js +1 -1
  128. package/build/toolbar-dropdown-menu/index.js.map +1 -1
  129. package/build/tree-grid/index.js +4 -1
  130. package/build/tree-grid/index.js.map +1 -1
  131. package/build/unit-control/index.js +56 -29
  132. package/build/unit-control/index.js.map +1 -1
  133. package/build/unit-control/unit-select-control.js +2 -4
  134. package/build/unit-control/unit-select-control.js.map +1 -1
  135. package/build/utils/colors-values.js +5 -3
  136. package/build/utils/colors-values.js.map +1 -1
  137. package/build/utils/config-values.js +9 -4
  138. package/build/utils/config-values.js.map +1 -1
  139. package/build-module/base-control/index.js +39 -35
  140. package/build-module/base-control/index.js.map +1 -1
  141. package/build-module/base-control/styles/base-control-styles.js +44 -16
  142. package/build-module/base-control/styles/base-control-styles.js.map +1 -1
  143. package/build-module/base-control/types.js +2 -0
  144. package/build-module/base-control/types.js.map +1 -0
  145. package/build-module/border-box-control/border-box-control/component.js +104 -0
  146. package/build-module/border-box-control/border-box-control/component.js.map +1 -0
  147. package/build-module/border-box-control/border-box-control/hook.js +97 -0
  148. package/build-module/border-box-control/border-box-control/hook.js.map +1 -0
  149. package/build-module/border-box-control/border-box-control/index.js +3 -0
  150. package/build-module/border-box-control/border-box-control/index.js.map +1 -0
  151. package/build-module/border-box-control/border-box-control-linked-button/component.js +42 -0
  152. package/build-module/border-box-control/border-box-control-linked-button/component.js.map +1 -0
  153. package/build-module/border-box-control/border-box-control-linked-button/hook.js +26 -0
  154. package/build-module/border-box-control/border-box-control-linked-button/hook.js.map +1 -0
  155. package/build-module/border-box-control/border-box-control-linked-button/index.js +2 -0
  156. package/build-module/border-box-control/border-box-control-linked-button/index.js.map +1 -0
  157. package/build-module/border-box-control/border-box-control-split-controls/component.js +77 -0
  158. package/build-module/border-box-control/border-box-control-split-controls/component.js.map +1 -0
  159. package/build-module/border-box-control/border-box-control-split-controls/hook.js +30 -0
  160. package/build-module/border-box-control/border-box-control-split-controls/hook.js.map +1 -0
  161. package/build-module/border-box-control/border-box-control-split-controls/index.js +2 -0
  162. package/build-module/border-box-control/border-box-control-split-controls/index.js.map +1 -0
  163. package/build-module/border-box-control/border-box-control-visualizer/component.js +27 -0
  164. package/build-module/border-box-control/border-box-control-visualizer/component.js.map +1 -0
  165. package/build-module/border-box-control/border-box-control-visualizer/hook.js +28 -0
  166. package/build-module/border-box-control/border-box-control-visualizer/hook.js.map +1 -0
  167. package/build-module/border-box-control/border-box-control-visualizer/index.js +2 -0
  168. package/build-module/border-box-control/border-box-control-visualizer/index.js.map +1 -0
  169. package/build-module/border-box-control/index.js +4 -0
  170. package/build-module/border-box-control/index.js.map +1 -0
  171. package/build-module/border-box-control/styles.js +66 -0
  172. package/build-module/border-box-control/styles.js.map +1 -0
  173. package/build-module/border-box-control/types.js +2 -0
  174. package/build-module/border-box-control/types.js.map +1 -0
  175. package/build-module/border-box-control/utils.js +127 -0
  176. package/build-module/border-box-control/utils.js.map +1 -0
  177. package/build-module/border-control/border-control/component.js +100 -0
  178. package/build-module/border-control/border-control/component.js.map +1 -0
  179. package/build-module/border-control/border-control/hook.js +115 -0
  180. package/build-module/border-control/border-control/hook.js.map +1 -0
  181. package/build-module/border-control/border-control/index.js +3 -0
  182. package/build-module/border-control/border-control/index.js.map +1 -0
  183. package/build-module/border-control/border-control-dropdown/component.js +174 -0
  184. package/build-module/border-control/border-control-dropdown/component.js.map +1 -0
  185. package/build-module/border-control/border-control-dropdown/hook.js +89 -0
  186. package/build-module/border-control/border-control-dropdown/hook.js.map +1 -0
  187. package/build-module/border-control/border-control-dropdown/index.js +2 -0
  188. package/build-module/border-control/border-control-dropdown/index.js.map +1 -0
  189. package/build-module/border-control/border-control-style-picker/component.js +81 -0
  190. package/build-module/border-control/border-control-style-picker/component.js.map +1 -0
  191. package/build-module/border-control/border-control-style-picker/hook.js +30 -0
  192. package/build-module/border-control/border-control-style-picker/hook.js.map +1 -0
  193. package/build-module/border-control/border-control-style-picker/index.js +2 -0
  194. package/build-module/border-control/border-control-style-picker/index.js.map +1 -0
  195. package/build-module/border-control/index.js +3 -0
  196. package/build-module/border-control/index.js.map +1 -0
  197. package/build-module/border-control/styles.js +90 -0
  198. package/build-module/border-control/styles.js.map +1 -0
  199. package/build-module/border-control/types.js +2 -0
  200. package/build-module/border-control/types.js.map +1 -0
  201. package/build-module/box-control/all-input-control.js +4 -8
  202. package/build-module/box-control/all-input-control.js.map +1 -1
  203. package/build-module/box-control/axial-input-controls.js +18 -14
  204. package/build-module/box-control/axial-input-controls.js.map +1 -1
  205. package/build-module/box-control/input-controls.js +18 -14
  206. package/build-module/box-control/input-controls.js.map +1 -1
  207. package/build-module/box-control/utils.js +25 -11
  208. package/build-module/box-control/utils.js.map +1 -1
  209. package/build-module/card/styles.js +23 -18
  210. package/build-module/card/styles.js.map +1 -1
  211. package/build-module/checkbox-control/index.js +24 -3
  212. package/build-module/checkbox-control/index.js.map +1 -1
  213. package/build-module/color-palette/index.js +52 -4
  214. package/build-module/color-palette/index.js.map +1 -1
  215. package/build-module/custom-select-control/index.js +12 -4
  216. package/build-module/custom-select-control/index.js.map +1 -1
  217. package/build-module/divider/styles.js +29 -10
  218. package/build-module/divider/styles.js.map +1 -1
  219. package/build-module/focal-point-picker/controls.js +2 -3
  220. package/build-module/focal-point-picker/controls.js.map +1 -1
  221. package/build-module/form-file-upload/index.js +4 -1
  222. package/build-module/form-file-upload/index.js.map +1 -1
  223. package/build-module/guide/index.js +14 -8
  224. package/build-module/guide/index.js.map +1 -1
  225. package/build-module/index.js +3 -1
  226. package/build-module/index.js.map +1 -1
  227. package/build-module/input-control/input-field.js +21 -13
  228. package/build-module/input-control/input-field.js.map +1 -1
  229. package/build-module/input-control/reducer/actions.js +0 -1
  230. package/build-module/input-control/reducer/actions.js.map +1 -1
  231. package/build-module/input-control/reducer/reducer.js +2 -39
  232. package/build-module/input-control/reducer/reducer.js.map +1 -1
  233. package/build-module/item-group/styles.js +14 -14
  234. package/build-module/item-group/styles.js.map +1 -1
  235. package/build-module/mobile/picker/index.android.js +0 -3
  236. package/build-module/mobile/picker/index.android.js.map +1 -1
  237. package/build-module/number-control/index.js +15 -9
  238. package/build-module/number-control/index.js.map +1 -1
  239. package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +4 -4
  240. package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
  241. package/build-module/surface/styles.js +8 -8
  242. package/build-module/surface/styles.js.map +1 -1
  243. package/build-module/toggle-group-control/index.js +1 -0
  244. package/build-module/toggle-group-control/index.js.map +1 -1
  245. package/build-module/toggle-group-control/toggle-group-control/component.js +8 -1
  246. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  247. package/build-module/toggle-group-control/toggle-group-control/styles.js +11 -3
  248. package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  249. package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +86 -0
  250. package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -0
  251. package/build-module/toggle-group-control/toggle-group-control-option/component.js +9 -79
  252. package/build-module/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
  253. package/build-module/toggle-group-control/toggle-group-control-option-base/component.js +105 -0
  254. package/build-module/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -0
  255. package/build-module/toggle-group-control/toggle-group-control-option-base/index.js +2 -0
  256. package/build-module/toggle-group-control/toggle-group-control-option-base/index.js.map +1 -0
  257. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +55 -0
  258. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -0
  259. package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js +50 -0
  260. package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -0
  261. package/build-module/toggle-group-control/toggle-group-control-option-icon/index.js +2 -0
  262. package/build-module/toggle-group-control/toggle-group-control-option-icon/index.js.map +1 -0
  263. package/build-module/toolbar-dropdown-menu/index.js +1 -1
  264. package/build-module/toolbar-dropdown-menu/index.js.map +1 -1
  265. package/build-module/tree-grid/index.js +4 -1
  266. package/build-module/tree-grid/index.js.map +1 -1
  267. package/build-module/unit-control/index.js +54 -27
  268. package/build-module/unit-control/index.js.map +1 -1
  269. package/build-module/unit-control/unit-select-control.js +2 -3
  270. package/build-module/unit-control/unit-select-control.js.map +1 -1
  271. package/build-module/utils/colors-values.js +5 -3
  272. package/build-module/utils/colors-values.js.map +1 -1
  273. package/build-module/utils/config-values.js +8 -4
  274. package/build-module/utils/config-values.js.map +1 -1
  275. package/build-style/style-rtl.css +33 -185
  276. package/build-style/style.css +33 -185
  277. package/build-types/base-control/index.d.ts +35 -71
  278. package/build-types/base-control/index.d.ts.map +1 -1
  279. package/build-types/base-control/stories/index.d.ts +25 -0
  280. package/build-types/base-control/stories/index.d.ts.map +1 -0
  281. package/build-types/base-control/styles/base-control-styles.d.ts +10 -5
  282. package/build-types/base-control/styles/base-control-styles.d.ts.map +1 -1
  283. package/build-types/base-control/types.d.ts +41 -0
  284. package/build-types/base-control/types.d.ts.map +1 -0
  285. package/build-types/border-box-control/border-box-control/component.d.ts +4 -0
  286. package/build-types/border-box-control/border-box-control/component.d.ts.map +1 -0
  287. package/build-types/border-box-control/border-box-control/hook.d.ts +282 -0
  288. package/build-types/border-box-control/border-box-control/hook.d.ts.map +1 -0
  289. package/build-types/border-box-control/border-box-control/index.d.ts +3 -0
  290. package/build-types/border-box-control/border-box-control/index.d.ts.map +1 -0
  291. package/build-types/border-box-control/border-box-control-linked-button/component.d.ts +4 -0
  292. package/build-types/border-box-control/border-box-control-linked-button/component.d.ts.map +1 -0
  293. package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts +266 -0
  294. package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts.map +1 -0
  295. package/build-types/border-box-control/border-box-control-linked-button/index.d.ts +2 -0
  296. package/build-types/border-box-control/border-box-control-linked-button/index.d.ts.map +1 -0
  297. package/build-types/border-box-control/border-box-control-split-controls/component.d.ts +4 -0
  298. package/build-types/border-box-control/border-box-control-split-controls/component.d.ts.map +1 -0
  299. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +274 -0
  300. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts.map +1 -0
  301. package/build-types/border-box-control/border-box-control-split-controls/index.d.ts +2 -0
  302. package/build-types/border-box-control/border-box-control-split-controls/index.d.ts.map +1 -0
  303. package/build-types/border-box-control/border-box-control-visualizer/component.d.ts +4 -0
  304. package/build-types/border-box-control/border-box-control-visualizer/component.d.ts.map +1 -0
  305. package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts +266 -0
  306. package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts.map +1 -0
  307. package/build-types/border-box-control/border-box-control-visualizer/index.d.ts +2 -0
  308. package/build-types/border-box-control/border-box-control-visualizer/index.d.ts.map +1 -0
  309. package/build-types/border-box-control/index.d.ts +4 -0
  310. package/build-types/border-box-control/index.d.ts.map +1 -0
  311. package/build-types/border-box-control/styles.d.ts +8 -0
  312. package/build-types/border-box-control/styles.d.ts.map +1 -0
  313. package/build-types/border-box-control/types.d.ts +91 -0
  314. package/build-types/border-box-control/types.d.ts.map +1 -0
  315. package/build-types/border-box-control/utils.d.ts +24 -0
  316. package/build-types/border-box-control/utils.d.ts.map +1 -0
  317. package/build-types/border-control/border-control/component.d.ts +4 -0
  318. package/build-types/border-control/border-control/component.d.ts.map +1 -0
  319. package/build-types/border-control/border-control/hook.d.ts +285 -0
  320. package/build-types/border-control/border-control/hook.d.ts.map +1 -0
  321. package/build-types/border-control/border-control/index.d.ts +3 -0
  322. package/build-types/border-control/border-control/index.d.ts.map +1 -0
  323. package/build-types/border-control/border-control-dropdown/component.d.ts +4 -0
  324. package/build-types/border-control/border-control-dropdown/component.d.ts.map +1 -0
  325. package/build-types/border-control/border-control-dropdown/hook.d.ts +280 -0
  326. package/build-types/border-control/border-control-dropdown/hook.d.ts.map +1 -0
  327. package/build-types/border-control/border-control-dropdown/index.d.ts +2 -0
  328. package/build-types/border-control/border-control-dropdown/index.d.ts.map +1 -0
  329. package/build-types/border-control/border-control-style-picker/component.d.ts +4 -0
  330. package/build-types/border-control/border-control-style-picker/component.d.ts.map +1 -0
  331. package/build-types/border-control/border-control-style-picker/hook.d.ts +269 -0
  332. package/build-types/border-control/border-control-style-picker/hook.d.ts.map +1 -0
  333. package/build-types/border-control/border-control-style-picker/index.d.ts +2 -0
  334. package/build-types/border-control/border-control-style-picker/index.d.ts.map +1 -0
  335. package/build-types/border-control/index.d.ts +3 -0
  336. package/build-types/border-control/index.d.ts.map +1 -0
  337. package/build-types/border-control/styles.d.ts +18 -0
  338. package/build-types/border-control/styles.d.ts.map +1 -0
  339. package/build-types/border-control/types.d.ts +163 -0
  340. package/build-types/border-control/types.d.ts.map +1 -0
  341. package/build-types/card/card-divider/hook.d.ts +1 -1
  342. package/build-types/card/styles.d.ts.map +1 -1
  343. package/build-types/color-indicator/index.d.ts +7 -0
  344. package/build-types/color-indicator/index.d.ts.map +1 -0
  345. package/build-types/color-palette/index.d.ts.map +1 -1
  346. package/build-types/color-picker/styles.d.ts +1 -1
  347. package/build-types/divider/stories/index.d.ts +1 -0
  348. package/build-types/divider/stories/index.d.ts.map +1 -1
  349. package/build-types/divider/styles.d.ts.map +1 -1
  350. package/build-types/divider/types.d.ts +8 -1
  351. package/build-types/divider/types.d.ts.map +1 -1
  352. package/build-types/input-control/input-field.d.ts.map +1 -1
  353. package/build-types/input-control/reducer/actions.d.ts +1 -3
  354. package/build-types/input-control/reducer/actions.d.ts.map +1 -1
  355. package/build-types/input-control/reducer/reducer.d.ts +3 -9
  356. package/build-types/input-control/reducer/reducer.d.ts.map +1 -1
  357. package/build-types/input-control/stories/index.d.ts +17 -0
  358. package/build-types/input-control/stories/index.d.ts.map +1 -0
  359. package/build-types/input-control/types.d.ts +2 -2
  360. package/build-types/input-control/types.d.ts.map +1 -1
  361. package/build-types/item-group/styles.d.ts.map +1 -1
  362. package/build-types/number-control/index.d.ts +3 -3
  363. package/build-types/number-control/index.d.ts.map +1 -1
  364. package/build-types/range-control/styles/range-control-styles.d.ts +1 -1
  365. package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts.map +1 -1
  366. package/build-types/spinner/styles/spinner-styles.d.ts +5 -0
  367. package/build-types/spinner/styles/spinner-styles.d.ts.map +1 -0
  368. package/build-types/toggle-group-control/index.d.ts +1 -0
  369. package/build-types/toggle-group-control/index.d.ts.map +1 -1
  370. package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
  371. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts +5 -0
  372. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
  373. package/build-types/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.d.ts +9 -0
  374. package/build-types/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.d.ts.map +1 -0
  375. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts +6 -2
  376. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts.map +1 -1
  377. package/build-types/toggle-group-control/toggle-group-control-option/styles.d.ts +0 -4
  378. package/build-types/toggle-group-control/toggle-group-control-option/styles.d.ts.map +1 -1
  379. package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts +25 -0
  380. package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts.map +1 -0
  381. package/build-types/toggle-group-control/toggle-group-control-option-base/index.d.ts +2 -0
  382. package/build-types/toggle-group-control/toggle-group-control-option-base/index.d.ts.map +1 -0
  383. package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts +15 -0
  384. package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts.map +1 -0
  385. package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts +37 -0
  386. package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts.map +1 -0
  387. package/build-types/toggle-group-control/toggle-group-control-option-icon/index.d.ts +2 -0
  388. package/build-types/toggle-group-control/toggle-group-control-option-icon/index.d.ts.map +1 -0
  389. package/build-types/toggle-group-control/types.d.ts +24 -8
  390. package/build-types/toggle-group-control/types.d.ts.map +1 -1
  391. package/build-types/ui/form-group/form-group.d.ts +2 -2
  392. package/build-types/unit-control/index.d.ts +12 -5
  393. package/build-types/unit-control/index.d.ts.map +1 -1
  394. package/build-types/unit-control/stories/index.d.ts +33 -0
  395. package/build-types/unit-control/stories/index.d.ts.map +1 -0
  396. package/build-types/unit-control/styles/unit-control-styles.d.ts +1 -1
  397. package/build-types/unit-control/types.d.ts +28 -7
  398. package/build-types/unit-control/types.d.ts.map +1 -1
  399. package/build-types/unit-control/unit-select-control.d.ts.map +1 -1
  400. package/build-types/utils/colors-values.d.ts +78 -18
  401. package/build-types/utils/colors-values.d.ts.map +1 -1
  402. package/build-types/utils/config-values.d.ts +71 -71
  403. package/build-types/utils/config-values.d.ts.map +1 -1
  404. package/package.json +17 -17
  405. package/src/animate/README.md +1 -1
  406. package/src/base-control/README.md +20 -12
  407. package/src/base-control/index.tsx +124 -0
  408. package/src/base-control/stories/index.tsx +80 -0
  409. package/src/base-control/styles/{base-control-styles.js → base-control-styles.ts} +23 -1
  410. package/src/base-control/types.ts +42 -0
  411. package/src/border-box-control/border-box-control/README.md +178 -0
  412. package/src/border-box-control/border-box-control/component.tsx +123 -0
  413. package/src/border-box-control/border-box-control/hook.ts +119 -0
  414. package/src/border-box-control/border-box-control/index.ts +2 -0
  415. package/src/border-box-control/border-box-control-linked-button/component.tsx +50 -0
  416. package/src/border-box-control/border-box-control-linked-button/hook.ts +30 -0
  417. package/src/border-box-control/border-box-control-linked-button/index.ts +1 -0
  418. package/src/border-box-control/border-box-control-split-controls/component.tsx +90 -0
  419. package/src/border-box-control/border-box-control-split-controls/hook.ts +34 -0
  420. package/src/border-box-control/border-box-control-split-controls/index.ts +1 -0
  421. package/src/border-box-control/border-box-control-visualizer/component.tsx +28 -0
  422. package/src/border-box-control/border-box-control-visualizer/hook.ts +30 -0
  423. package/src/border-box-control/border-box-control-visualizer/index.ts +1 -0
  424. package/src/border-box-control/index.ts +3 -0
  425. package/src/border-box-control/stories/index.js +104 -0
  426. package/src/border-box-control/styles.ts +69 -0
  427. package/src/border-box-control/test/index.js +354 -0
  428. package/src/border-box-control/test/utils.js +305 -0
  429. package/src/border-box-control/types.ts +98 -0
  430. package/src/border-box-control/utils.ts +151 -0
  431. package/src/border-control/border-control/README.md +181 -0
  432. package/src/border-control/border-control/component.tsx +112 -0
  433. package/src/border-control/border-control/hook.ts +145 -0
  434. package/src/border-control/border-control/index.ts +2 -0
  435. package/src/border-control/border-control-dropdown/component.tsx +252 -0
  436. package/src/border-control/border-control-dropdown/hook.ts +98 -0
  437. package/src/border-control/border-control-dropdown/index.ts +1 -0
  438. package/src/border-control/border-control-style-picker/component.tsx +89 -0
  439. package/src/border-control/border-control-style-picker/hook.ts +34 -0
  440. package/src/border-control/border-control-style-picker/index.ts +1 -0
  441. package/src/border-control/index.ts +2 -0
  442. package/src/border-control/stories/index.js +118 -0
  443. package/src/border-control/styles.ts +190 -0
  444. package/src/border-control/test/index.js +436 -0
  445. package/src/border-control/types.ts +173 -0
  446. package/src/box-control/all-input-control.js +2 -10
  447. package/src/box-control/axial-input-controls.js +32 -21
  448. package/src/box-control/input-controls.js +30 -19
  449. package/src/box-control/utils.js +29 -12
  450. package/src/card/styles.js +11 -5
  451. package/src/card/test/__snapshots__/index.js.snap +83 -66
  452. package/src/card/test/index.js +7 -5
  453. package/src/checkbox-control/index.js +34 -3
  454. package/src/checkbox-control/stories/index.js +44 -0
  455. package/src/checkbox-control/style.scss +4 -2
  456. package/src/color-palette/README.md +6 -0
  457. package/src/color-palette/index.js +73 -8
  458. package/src/color-palette/stories/index.js +69 -26
  459. package/src/color-palette/style.scss +11 -3
  460. package/src/color-palette/test/__snapshots__/index.js.snap +662 -12
  461. package/src/color-palette/test/index.js +1 -1
  462. package/src/custom-select-control/index.js +15 -3
  463. package/src/custom-select-control/stories/index.js +77 -74
  464. package/src/custom-select-control/style.scss +23 -4
  465. package/src/disabled/README.md +7 -10
  466. package/src/divider/stories/index.tsx +26 -23
  467. package/src/divider/styles.ts +9 -0
  468. package/src/divider/types.ts +11 -1
  469. package/src/flyout/test/__snapshots__/index.js.snap +7 -7
  470. package/src/focal-point-picker/controls.js +2 -3
  471. package/src/font-size-picker/test/index.js +0 -2
  472. package/src/form-file-upload/README.md +18 -0
  473. package/src/form-file-upload/index.js +3 -0
  474. package/src/form-file-upload/test/index.js +73 -11
  475. package/src/form-toggle/README.md +1 -1
  476. package/src/guide/index.js +12 -13
  477. package/src/guide/style.scss +0 -4
  478. package/src/index.js +8 -0
  479. package/src/input-control/input-field.tsx +23 -12
  480. package/src/input-control/reducer/actions.ts +1 -7
  481. package/src/input-control/reducer/reducer.ts +0 -29
  482. package/src/input-control/types.ts +2 -1
  483. package/src/item-group/styles.ts +1 -0
  484. package/src/item-group/test/__snapshots__/index.js.snap +11 -10
  485. package/src/mobile/picker/index.android.js +0 -1
  486. package/src/number-control/README.md +14 -0
  487. package/src/number-control/index.js +13 -12
  488. package/src/number-control/stories/index.js +14 -7
  489. package/src/number-control/test/index.js +79 -1
  490. package/src/range-control/stories/index.js +91 -119
  491. package/src/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +1 -0
  492. package/src/surface/styles.js +1 -1
  493. package/src/surface/test/__snapshots__/index.js.snap +11 -11
  494. package/src/toggle-group-control/index.ts +1 -0
  495. package/src/toggle-group-control/stories/index.js +37 -7
  496. package/src/toggle-group-control/test/__snapshots__/index.js.snap +269 -32
  497. package/src/toggle-group-control/test/index.js +43 -10
  498. package/src/toggle-group-control/toggle-group-control/component.tsx +10 -0
  499. package/src/toggle-group-control/toggle-group-control/styles.ts +14 -0
  500. package/src/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.tsx +86 -0
  501. package/src/toggle-group-control/toggle-group-control-option/README.md +8 -5
  502. package/src/toggle-group-control/toggle-group-control-option/component.tsx +18 -97
  503. package/src/toggle-group-control/toggle-group-control-option-base/README.md +27 -0
  504. package/src/toggle-group-control/toggle-group-control-option-base/component.tsx +129 -0
  505. package/src/toggle-group-control/toggle-group-control-option-base/index.ts +1 -0
  506. package/src/toggle-group-control/{toggle-group-control-option → toggle-group-control-option-base}/styles.ts +4 -13
  507. package/src/toggle-group-control/toggle-group-control-option-icon/README.md +56 -0
  508. package/src/toggle-group-control/toggle-group-control-option-icon/component.tsx +56 -0
  509. package/src/toggle-group-control/toggle-group-control-option-icon/index.ts +1 -0
  510. package/src/toggle-group-control/types.ts +33 -8
  511. package/src/toolbar-dropdown-menu/index.js +1 -1
  512. package/src/toolbar-group/style.scss +0 -73
  513. package/src/tools-panel/test/__snapshots__/index.js.snap +8 -8
  514. package/src/tree-grid/README.md +1 -1
  515. package/src/tree-grid/index.js +4 -0
  516. package/src/tree-grid/test/index.js +61 -17
  517. package/src/unit-control/README.md +7 -3
  518. package/src/unit-control/index.tsx +65 -31
  519. package/src/unit-control/stories/index.tsx +170 -0
  520. package/src/unit-control/test/index.js +263 -100
  521. package/src/unit-control/types.ts +65 -42
  522. package/src/unit-control/unit-select-control.tsx +2 -3
  523. package/src/utils/colors-values.js +4 -3
  524. package/src/utils/config-values.js +9 -4
  525. package/tsconfig.json +3 -0
  526. package/tsconfig.tsbuildinfo +1 -1
  527. package/build/guide/finish-button.js +0 -44
  528. package/build/guide/finish-button.js.map +0 -1
  529. package/build/toggle-group-control/toggle-group-control-option/styles.js +0 -73
  530. package/build/toggle-group-control/toggle-group-control-option/styles.js.map +0 -1
  531. package/build-module/guide/finish-button.js +0 -34
  532. package/build-module/guide/finish-button.js.map +0 -1
  533. package/build-module/toggle-group-control/toggle-group-control-option/styles.js +0 -61
  534. package/build-module/toggle-group-control/toggle-group-control-option/styles.js.map +0 -1
  535. package/src/base-control/index.js +0 -111
  536. package/src/base-control/stories/index.js +0 -81
  537. package/src/guide/finish-button.js +0 -26
  538. package/src/guide/test/finish-button.js +0 -49
  539. package/src/unit-control/stories/index.js +0 -127
@@ -1,85 +1,19 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import { createElement, Fragment } from "@wordpress/element";
2
+ import { createElement } from "@wordpress/element";
3
3
 
4
- /**
5
- * External dependencies
6
- */
7
- // eslint-disable-next-line no-restricted-imports
8
- import { Radio } from 'reakit';
9
- /**
10
- * WordPress dependencies
11
- */
12
-
13
- import { useInstanceId } from '@wordpress/compose';
14
4
  /**
15
5
  * Internal dependencies
16
6
  */
17
-
18
- import { contextConnect, useContextSystem } from '../../ui/context';
19
- import { useToggleGroupControlContext } from '../context';
20
- import * as styles from './styles';
21
- import { useCx } from '../../utils/hooks';
22
- import Tooltip from '../../tooltip';
23
- const {
24
- ButtonContentView,
25
- LabelPlaceholderView,
26
- LabelView
27
- } = styles;
28
-
29
- const WithToolTip = _ref => {
30
- let {
31
- showTooltip,
32
- text,
33
- children
34
- } = _ref;
35
-
36
- if (showTooltip && text) {
37
- return createElement(Tooltip, {
38
- text: text,
39
- position: "top center"
40
- }, children);
41
- }
42
-
43
- return createElement(Fragment, null, children);
44
- };
45
-
46
- function ToggleGroupControlOption(props, forwardedRef) {
47
- const toggleGroupControlContext = useToggleGroupControlContext();
48
- const id = useInstanceId(ToggleGroupControlOption, toggleGroupControlContext.baseId || 'toggle-group-control-option');
49
- const buttonProps = useContextSystem({ ...props,
50
- id
51
- }, 'ToggleGroupControlOption');
7
+ import { ToggleGroupControlOptionBase } from '../toggle-group-control-option-base';
8
+ export default function ToggleGroupControlOption(props) {
52
9
  const {
53
- className,
54
- isBlock = false,
55
10
  label,
56
- value,
57
- showTooltip = false,
58
- ...radioProps
59
- } = { ...toggleGroupControlContext,
60
- ...buttonProps
61
- };
62
- const isActive = radioProps.state === value;
63
- const cx = useCx();
64
- const labelViewClasses = cx(isBlock && styles.labelBlock);
65
- const classes = cx(styles.buttonView, className, isActive && styles.buttonActive);
66
- const optionLabel = !!radioProps['aria-label'] ? radioProps['aria-label'] : label;
67
- return createElement(LabelView, {
68
- className: labelViewClasses,
69
- "data-active": isActive
70
- }, createElement(WithToolTip, {
71
- showTooltip: showTooltip,
72
- text: optionLabel
73
- }, createElement(Radio, _extends({}, radioProps, {
74
- as: "button",
75
- "aria-label": optionLabel,
76
- className: classes,
77
- "data-value": value,
78
- ref: forwardedRef,
79
- value: value
80
- }), createElement(ButtonContentView, null, label), createElement(LabelPlaceholderView, {
81
- "aria-hidden": true
82
- }, label))));
11
+ ...restProps
12
+ } = props;
13
+ const optionLabel = restProps['aria-label'] || label;
14
+ return createElement(ToggleGroupControlOptionBase, _extends({}, restProps, {
15
+ "aria-label": optionLabel
16
+ }), label);
83
17
  }
84
18
  /**
85
19
  * `ToggleGroupControlOption` is a form component and is meant to be used as a
@@ -102,8 +36,4 @@ function ToggleGroupControlOption(props, forwardedRef) {
102
36
  * }
103
37
  * ```
104
38
  */
105
-
106
-
107
- const ConnectedToggleGroupControlOption = contextConnect(ToggleGroupControlOption, 'ToggleGroupControlOption');
108
- export default ConnectedToggleGroupControlOption;
109
39
  //# sourceMappingURL=component.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/toggle-group-control/toggle-group-control-option/component.tsx"],"names":["Radio","useInstanceId","contextConnect","useContextSystem","useToggleGroupControlContext","styles","useCx","Tooltip","ButtonContentView","LabelPlaceholderView","LabelView","WithToolTip","showTooltip","text","children","ToggleGroupControlOption","props","forwardedRef","toggleGroupControlContext","id","baseId","buttonProps","className","isBlock","label","value","radioProps","isActive","state","cx","labelViewClasses","labelBlock","classes","buttonView","buttonActive","optionLabel","ConnectedToggleGroupControlOption"],"mappings":";;;AAAA;AACA;AACA;AAEA;AACA,SAASA,KAAT,QAAsB,QAAtB;AAEA;AACA;AACA;;AACA,SAASC,aAAT,QAA8B,oBAA9B;AAEA;AACA;AACA;;AACA,SACCC,cADD,EAECC,gBAFD,QAIO,kBAJP;AAMA,SAASC,4BAAT,QAA6C,YAA7C;AACA,OAAO,KAAKC,MAAZ,MAAwB,UAAxB;AACA,SAASC,KAAT,QAAsB,mBAAtB;AACA,OAAOC,OAAP,MAAoB,eAApB;AAEA,MAAM;AAAEC,EAAAA,iBAAF;AAAqBC,EAAAA,oBAArB;AAA2CC,EAAAA;AAA3C,IAAyDL,MAA/D;;AAEA,MAAMM,WAAW,GAAG,QAAyD;AAAA,MAAvD;AAAEC,IAAAA,WAAF;AAAeC,IAAAA,IAAf;AAAqBC,IAAAA;AAArB,GAAuD;;AAC5E,MAAKF,WAAW,IAAIC,IAApB,EAA2B;AAC1B,WACC,cAAC,OAAD;AAAS,MAAA,IAAI,EAAGA,IAAhB;AAAuB,MAAA,QAAQ,EAAC;AAAhC,OACGC,QADH,CADD;AAKA;;AACD,SAAO,8BAAIA,QAAJ,CAAP;AACA,CATD;;AAWA,SAASC,wBAAT,CACCC,KADD,EAECC,YAFD,EAGE;AACD,QAAMC,yBAAyB,GAAGd,4BAA4B,EAA9D;AACA,QAAMe,EAAE,GAAGlB,aAAa,CACvBc,wBADuB,EAEvBG,yBAAyB,CAACE,MAA1B,IAAoC,6BAFb,CAAxB;AAIA,QAAMC,WAAW,GAAGlB,gBAAgB,CACnC,EAAE,GAAGa,KAAL;AAAYG,IAAAA;AAAZ,GADmC,EAEnC,0BAFmC,CAApC;AAKA,QAAM;AACLG,IAAAA,SADK;AAELC,IAAAA,OAAO,GAAG,KAFL;AAGLC,IAAAA,KAHK;AAILC,IAAAA,KAJK;AAKLb,IAAAA,WAAW,GAAG,KALT;AAML,OAAGc;AANE,MAOF,EACH,GAAGR,yBADA;AAEH,OAAGG;AAFA,GAPJ;AAYA,QAAMM,QAAQ,GAAGD,UAAU,CAACE,KAAX,KAAqBH,KAAtC;AACA,QAAMI,EAAE,GAAGvB,KAAK,EAAhB;AACA,QAAMwB,gBAAgB,GAAGD,EAAE,CAAEN,OAAO,IAAIlB,MAAM,CAAC0B,UAApB,CAA3B;AACA,QAAMC,OAAO,GAAGH,EAAE,CACjBxB,MAAM,CAAC4B,UADU,EAEjBX,SAFiB,EAGjBK,QAAQ,IAAItB,MAAM,CAAC6B,YAHF,CAAlB;AAKA,QAAMC,WAAW,GAAG,CAAC,CAAET,UAAU,CAAE,YAAF,CAAb,GACjBA,UAAU,CAAE,YAAF,CADO,GAEjBF,KAFH;AAIA,SACC,cAAC,SAAD;AAAW,IAAA,SAAS,EAAGM,gBAAvB;AAA0C,mBAAcH;AAAxD,KACC,cAAC,WAAD;AAAa,IAAA,WAAW,EAAGf,WAA3B;AAAyC,IAAA,IAAI,EAAGuB;AAAhD,KACC,cAAC,KAAD,eACMT,UADN;AAEC,IAAA,EAAE,EAAC,QAFJ;AAGC,kBAAaS,WAHd;AAIC,IAAA,SAAS,EAAGH,OAJb;AAKC,kBAAaP,KALd;AAMC,IAAA,GAAG,EAAGR,YANP;AAOC,IAAA,KAAK,EAAGQ;AAPT,MASC,cAAC,iBAAD,QAAqBD,KAArB,CATD,EAUC,cAAC,oBAAD;AAAsB;AAAtB,KACGA,KADH,CAVD,CADD,CADD,CADD;AAoBA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMY,iCAAiC,GAAGlC,cAAc,CACvDa,wBADuD,EAEvD,0BAFuD,CAAxD;AAKA,eAAeqB,iCAAf","sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\n// eslint-disable-next-line no-restricted-imports\nimport { Radio } from 'reakit';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport {\n\tcontextConnect,\n\tuseContextSystem,\n\tWordPressComponentProps,\n} from '../../ui/context';\nimport type { ToggleGroupControlOptionProps, WithToolTipProps } from '../types';\nimport { useToggleGroupControlContext } from '../context';\nimport * as styles from './styles';\nimport { useCx } from '../../utils/hooks';\nimport Tooltip from '../../tooltip';\n\nconst { ButtonContentView, LabelPlaceholderView, LabelView } = styles;\n\nconst WithToolTip = ( { showTooltip, text, children }: WithToolTipProps ) => {\n\tif ( showTooltip && text ) {\n\t\treturn (\n\t\t\t<Tooltip text={ text } position=\"top center\">\n\t\t\t\t{ children }\n\t\t\t</Tooltip>\n\t\t);\n\t}\n\treturn <>{ children }</>;\n};\n\nfunction ToggleGroupControlOption(\n\tprops: WordPressComponentProps< ToggleGroupControlOptionProps, 'button' >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst toggleGroupControlContext = useToggleGroupControlContext();\n\tconst id = useInstanceId(\n\t\tToggleGroupControlOption,\n\t\ttoggleGroupControlContext.baseId || 'toggle-group-control-option'\n\t) as string;\n\tconst buttonProps = useContextSystem(\n\t\t{ ...props, id },\n\t\t'ToggleGroupControlOption'\n\t);\n\n\tconst {\n\t\tclassName,\n\t\tisBlock = false,\n\t\tlabel,\n\t\tvalue,\n\t\tshowTooltip = false,\n\t\t...radioProps\n\t} = {\n\t\t...toggleGroupControlContext,\n\t\t...buttonProps,\n\t};\n\n\tconst isActive = radioProps.state === value;\n\tconst cx = useCx();\n\tconst labelViewClasses = cx( isBlock && styles.labelBlock );\n\tconst classes = cx(\n\t\tstyles.buttonView,\n\t\tclassName,\n\t\tisActive && styles.buttonActive\n\t);\n\tconst optionLabel = !! radioProps[ 'aria-label' ]\n\t\t? radioProps[ 'aria-label' ]\n\t\t: label;\n\n\treturn (\n\t\t<LabelView className={ labelViewClasses } data-active={ isActive }>\n\t\t\t<WithToolTip showTooltip={ showTooltip } text={ optionLabel }>\n\t\t\t\t<Radio\n\t\t\t\t\t{ ...radioProps }\n\t\t\t\t\tas=\"button\"\n\t\t\t\t\taria-label={ optionLabel }\n\t\t\t\t\tclassName={ classes }\n\t\t\t\t\tdata-value={ value }\n\t\t\t\t\tref={ forwardedRef }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t>\n\t\t\t\t\t<ButtonContentView>{ label }</ButtonContentView>\n\t\t\t\t\t<LabelPlaceholderView aria-hidden>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</LabelPlaceholderView>\n\t\t\t\t</Radio>\n\t\t\t</WithToolTip>\n\t\t</LabelView>\n\t);\n}\n\n/**\n * `ToggleGroupControlOption` is a form component and is meant to be used as a\n * child of `ToggleGroupControl`.\n *\n * @example\n * ```jsx\n * import {\n * __experimentalToggleGroupControl as ToggleGroupControl,\n * __experimentalToggleGroupControlOption as ToggleGroupControlOption,\n * } from '@wordpress/components';\n *\n * function Example() {\n * return (\n * <ToggleGroupControl label=\"my label\" value=\"vertical\" isBlock>\n * <ToggleGroupControlOption value=\"horizontal\" label=\"Horizontal\" />\n * <ToggleGroupControlOption value=\"vertical\" label=\"Vertical\" />\n * </ToggleGroupControl>\n * );\n * }\n * ```\n */\nconst ConnectedToggleGroupControlOption = contextConnect(\n\tToggleGroupControlOption,\n\t'ToggleGroupControlOption'\n);\n\nexport default ConnectedToggleGroupControlOption;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/toggle-group-control/toggle-group-control-option/component.tsx"],"names":["ToggleGroupControlOptionBase","ToggleGroupControlOption","props","label","restProps","optionLabel"],"mappings":";;;AAAA;AACA;AACA;AAGA,SAASA,4BAAT,QAA6C,qCAA7C;AAEA,eAAe,SAASC,wBAAT,CACdC,KADc,EAMb;AACD,QAAM;AAAEC,IAAAA,KAAF;AAAS,OAAGC;AAAZ,MAA0BF,KAAhC;AACA,QAAMG,WAAW,GAAGD,SAAS,CAAE,YAAF,CAAT,IAA6BD,KAAjD;AACA,SACC,cAAC,4BAAD,eACMC,SADN;AAEC,kBAAaC;AAFd,MAIGF,KAJH,CADD;AAQA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sourcesContent":["/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../../ui/context';\nimport type { ToggleGroupControlOptionProps } from '../types';\nimport { ToggleGroupControlOptionBase } from '../toggle-group-control-option-base';\n\nexport default function ToggleGroupControlOption(\n\tprops: WordPressComponentProps<\n\t\tToggleGroupControlOptionProps,\n\t\t'button',\n\t\tfalse\n\t>\n) {\n\tconst { label, ...restProps } = props;\n\tconst optionLabel = restProps[ 'aria-label' ] || label;\n\treturn (\n\t\t<ToggleGroupControlOptionBase\n\t\t\t{ ...restProps }\n\t\t\taria-label={ optionLabel }\n\t\t>\n\t\t\t{ label }\n\t\t</ToggleGroupControlOptionBase>\n\t);\n}\n\n/**\n * `ToggleGroupControlOption` is a form component and is meant to be used as a\n * child of `ToggleGroupControl`.\n *\n * @example\n * ```jsx\n * import {\n * __experimentalToggleGroupControl as ToggleGroupControl,\n * __experimentalToggleGroupControlOption as ToggleGroupControlOption,\n * } from '@wordpress/components';\n *\n * function Example() {\n * return (\n * <ToggleGroupControl label=\"my label\" value=\"vertical\" isBlock>\n * <ToggleGroupControlOption value=\"horizontal\" label=\"Horizontal\" />\n * <ToggleGroupControlOption value=\"vertical\" label=\"Vertical\" />\n * </ToggleGroupControl>\n * );\n * }\n * ```\n */\n"]}
@@ -0,0 +1,105 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import { createElement, Fragment } from "@wordpress/element";
3
+
4
+ /**
5
+ * External dependencies
6
+ */
7
+ // eslint-disable-next-line no-restricted-imports
8
+ import { Radio } from 'reakit';
9
+ /**
10
+ * WordPress dependencies
11
+ */
12
+
13
+ import { useInstanceId } from '@wordpress/compose';
14
+ /**
15
+ * Internal dependencies
16
+ */
17
+
18
+ import { contextConnect, useContextSystem } from '../../ui/context';
19
+ import { useToggleGroupControlContext } from '../context';
20
+ import * as styles from './styles';
21
+ import { useCx } from '../../utils/hooks';
22
+ import Tooltip from '../../tooltip';
23
+ const {
24
+ ButtonContentView,
25
+ LabelView
26
+ } = styles;
27
+
28
+ const WithToolTip = _ref => {
29
+ let {
30
+ showTooltip,
31
+ text,
32
+ children
33
+ } = _ref;
34
+
35
+ if (showTooltip && text) {
36
+ return createElement(Tooltip, {
37
+ text: text,
38
+ position: "top center"
39
+ }, children);
40
+ }
41
+
42
+ return createElement(Fragment, null, children);
43
+ };
44
+
45
+ function ToggleGroupControlOptionBase(props, forwardedRef) {
46
+ const toggleGroupControlContext = useToggleGroupControlContext();
47
+ const id = useInstanceId(ToggleGroupControlOptionBase, toggleGroupControlContext.baseId || 'toggle-group-control-option-base');
48
+ const buttonProps = useContextSystem({ ...props,
49
+ id
50
+ }, 'ToggleGroupControlOptionBase');
51
+ const {
52
+ className,
53
+ isBlock = false,
54
+ value,
55
+ children,
56
+ showTooltip = false,
57
+ ...radioProps
58
+ } = { ...toggleGroupControlContext,
59
+ ...buttonProps
60
+ };
61
+ const isActive = radioProps.state === value;
62
+ const cx = useCx();
63
+ const labelViewClasses = cx(isBlock && styles.labelBlock);
64
+ const classes = cx(styles.buttonView, className, isActive && styles.buttonActive);
65
+ return createElement(LabelView, {
66
+ className: labelViewClasses,
67
+ "data-active": isActive
68
+ }, createElement(WithToolTip, {
69
+ showTooltip: showTooltip,
70
+ text: radioProps['aria-label']
71
+ }, createElement(Radio, _extends({}, radioProps, {
72
+ as: "button",
73
+ "aria-label": radioProps['aria-label'],
74
+ className: classes,
75
+ "data-value": value,
76
+ ref: forwardedRef,
77
+ value: value
78
+ }), createElement(ButtonContentView, null, children))));
79
+ }
80
+ /**
81
+ * `ToggleGroupControlOptionBase` is a form component and is meant to be used as an internal,
82
+ * generic component for any children of `ToggleGroupControl`.
83
+ *
84
+ * @example
85
+ * ```jsx
86
+ * import {
87
+ * __experimentalToggleGroupControl as ToggleGroupControl,
88
+ * __experimentalToggleGroupControlOptionBase as ToggleGroupControlOptionBase,
89
+ * } from '@wordpress/components';
90
+ *
91
+ * function Example() {
92
+ * return (
93
+ * <ToggleGroupControl label="my label" value="vertical" isBlock>
94
+ * <ToggleGroupControlOption value="horizontal" label="Horizontal" />
95
+ * <ToggleGroupControlOption value="vertical" label="Vertical" />
96
+ * </ToggleGroupControl>
97
+ * );
98
+ * }
99
+ * ```
100
+ */
101
+
102
+
103
+ const ConnectedToggleGroupControlOptionBase = contextConnect(ToggleGroupControlOptionBase, 'ToggleGroupControlOptionBase');
104
+ export default ConnectedToggleGroupControlOptionBase;
105
+ //# sourceMappingURL=component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/components/src/toggle-group-control/toggle-group-control-option-base/component.tsx"],"names":["Radio","useInstanceId","contextConnect","useContextSystem","useToggleGroupControlContext","styles","useCx","Tooltip","ButtonContentView","LabelView","WithToolTip","showTooltip","text","children","ToggleGroupControlOptionBase","props","forwardedRef","toggleGroupControlContext","id","baseId","buttonProps","className","isBlock","value","radioProps","isActive","state","cx","labelViewClasses","labelBlock","classes","buttonView","buttonActive","ConnectedToggleGroupControlOptionBase"],"mappings":";;;AAAA;AACA;AACA;AAEA;AACA,SAASA,KAAT,QAAsB,QAAtB;AAEA;AACA;AACA;;AACA,SAASC,aAAT,QAA8B,oBAA9B;AAEA;AACA;AACA;;AACA,SACCC,cADD,EAECC,gBAFD,QAIO,kBAJP;AASA,SAASC,4BAAT,QAA6C,YAA7C;AACA,OAAO,KAAKC,MAAZ,MAAwB,UAAxB;AACA,SAASC,KAAT,QAAsB,mBAAtB;AACA,OAAOC,OAAP,MAAoB,eAApB;AAEA,MAAM;AAAEC,EAAAA,iBAAF;AAAqBC,EAAAA;AAArB,IAAmCJ,MAAzC;;AAEA,MAAMK,WAAW,GAAG,QAAyD;AAAA,MAAvD;AAAEC,IAAAA,WAAF;AAAeC,IAAAA,IAAf;AAAqBC,IAAAA;AAArB,GAAuD;;AAC5E,MAAKF,WAAW,IAAIC,IAApB,EAA2B;AAC1B,WACC,cAAC,OAAD;AAAS,MAAA,IAAI,EAAGA,IAAhB;AAAuB,MAAA,QAAQ,EAAC;AAAhC,OACGC,QADH,CADD;AAKA;;AACD,SAAO,8BAAIA,QAAJ,CAAP;AACA,CATD;;AAWA,SAASC,4BAAT,CACCC,KADD,EAMCC,YAND,EAOE;AACD,QAAMC,yBAAyB,GAAGb,4BAA4B,EAA9D;AACA,QAAMc,EAAE,GAAGjB,aAAa,CACvBa,4BADuB,EAEvBG,yBAAyB,CAACE,MAA1B,IAAoC,kCAFb,CAAxB;AAIA,QAAMC,WAAW,GAAGjB,gBAAgB,CACnC,EAAE,GAAGY,KAAL;AAAYG,IAAAA;AAAZ,GADmC,EAEnC,8BAFmC,CAApC;AAIA,QAAM;AACLG,IAAAA,SADK;AAELC,IAAAA,OAAO,GAAG,KAFL;AAGLC,IAAAA,KAHK;AAILV,IAAAA,QAJK;AAKLF,IAAAA,WAAW,GAAG,KALT;AAML,OAAGa;AANE,MAOF,EACH,GAAGP,yBADA;AAEH,OAAGG;AAFA,GAPJ;AAYA,QAAMK,QAAQ,GAAGD,UAAU,CAACE,KAAX,KAAqBH,KAAtC;AACA,QAAMI,EAAE,GAAGrB,KAAK,EAAhB;AACA,QAAMsB,gBAAgB,GAAGD,EAAE,CAAEL,OAAO,IAAIjB,MAAM,CAACwB,UAApB,CAA3B;AACA,QAAMC,OAAO,GAAGH,EAAE,CACjBtB,MAAM,CAAC0B,UADU,EAEjBV,SAFiB,EAGjBI,QAAQ,IAAIpB,MAAM,CAAC2B,YAHF,CAAlB;AAMA,SACC,cAAC,SAAD;AAAW,IAAA,SAAS,EAAGJ,gBAAvB;AAA0C,mBAAcH;AAAxD,KACC,cAAC,WAAD;AACC,IAAA,WAAW,EAAGd,WADf;AAEC,IAAA,IAAI,EAAGa,UAAU,CAAE,YAAF;AAFlB,KAIC,cAAC,KAAD,eACMA,UADN;AAEC,IAAA,EAAE,EAAC,QAFJ;AAGC,kBAAaA,UAAU,CAAE,YAAF,CAHxB;AAIC,IAAA,SAAS,EAAGM,OAJb;AAKC,kBAAaP,KALd;AAMC,IAAA,GAAG,EAAGP,YANP;AAOC,IAAA,KAAK,EAAGO;AAPT,MASC,cAAC,iBAAD,QAAqBV,QAArB,CATD,CAJD,CADD,CADD;AAoBA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMoB,qCAAqC,GAAG/B,cAAc,CAC3DY,4BAD2D,EAE3D,8BAF2D,CAA5D;AAKA,eAAemB,qCAAf","sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\n// eslint-disable-next-line no-restricted-imports\nimport { Radio } from 'reakit';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport {\n\tcontextConnect,\n\tuseContextSystem,\n\tWordPressComponentProps,\n} from '../../ui/context';\nimport type {\n\tToggleGroupControlOptionBaseProps,\n\tWithToolTipProps,\n} from '../types';\nimport { useToggleGroupControlContext } from '../context';\nimport * as styles from './styles';\nimport { useCx } from '../../utils/hooks';\nimport Tooltip from '../../tooltip';\n\nconst { ButtonContentView, LabelView } = styles;\n\nconst WithToolTip = ( { showTooltip, text, children }: WithToolTipProps ) => {\n\tif ( showTooltip && text ) {\n\t\treturn (\n\t\t\t<Tooltip text={ text } position=\"top center\">\n\t\t\t\t{ children }\n\t\t\t</Tooltip>\n\t\t);\n\t}\n\treturn <>{ children }</>;\n};\n\nfunction ToggleGroupControlOptionBase(\n\tprops: WordPressComponentProps<\n\t\tToggleGroupControlOptionBaseProps,\n\t\t'button',\n\t\tfalse\n\t>,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst toggleGroupControlContext = useToggleGroupControlContext();\n\tconst id = useInstanceId(\n\t\tToggleGroupControlOptionBase,\n\t\ttoggleGroupControlContext.baseId || 'toggle-group-control-option-base'\n\t) as string;\n\tconst buttonProps = useContextSystem(\n\t\t{ ...props, id },\n\t\t'ToggleGroupControlOptionBase'\n\t);\n\tconst {\n\t\tclassName,\n\t\tisBlock = false,\n\t\tvalue,\n\t\tchildren,\n\t\tshowTooltip = false,\n\t\t...radioProps\n\t} = {\n\t\t...toggleGroupControlContext,\n\t\t...buttonProps,\n\t};\n\n\tconst isActive = radioProps.state === value;\n\tconst cx = useCx();\n\tconst labelViewClasses = cx( isBlock && styles.labelBlock );\n\tconst classes = cx(\n\t\tstyles.buttonView,\n\t\tclassName,\n\t\tisActive && styles.buttonActive\n\t);\n\n\treturn (\n\t\t<LabelView className={ labelViewClasses } data-active={ isActive }>\n\t\t\t<WithToolTip\n\t\t\t\tshowTooltip={ showTooltip }\n\t\t\t\ttext={ radioProps[ 'aria-label' ] }\n\t\t\t>\n\t\t\t\t<Radio\n\t\t\t\t\t{ ...radioProps }\n\t\t\t\t\tas=\"button\"\n\t\t\t\t\taria-label={ radioProps[ 'aria-label' ] }\n\t\t\t\t\tclassName={ classes }\n\t\t\t\t\tdata-value={ value }\n\t\t\t\t\tref={ forwardedRef }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t>\n\t\t\t\t\t<ButtonContentView>{ children }</ButtonContentView>\n\t\t\t\t</Radio>\n\t\t\t</WithToolTip>\n\t\t</LabelView>\n\t);\n}\n\n/**\n * `ToggleGroupControlOptionBase` is a form component and is meant to be used as an internal,\n * generic component for any children of `ToggleGroupControl`.\n *\n * @example\n * ```jsx\n * import {\n * __experimentalToggleGroupControl as ToggleGroupControl,\n * __experimentalToggleGroupControlOptionBase as ToggleGroupControlOptionBase,\n * } from '@wordpress/components';\n *\n * function Example() {\n * return (\n * <ToggleGroupControl label=\"my label\" value=\"vertical\" isBlock>\n * <ToggleGroupControlOption value=\"horizontal\" label=\"Horizontal\" />\n * <ToggleGroupControlOption value=\"vertical\" label=\"Vertical\" />\n * </ToggleGroupControl>\n * );\n * }\n * ```\n */\nconst ConnectedToggleGroupControlOptionBase = contextConnect(\n\tToggleGroupControlOptionBase,\n\t'ToggleGroupControlOptionBase'\n);\n\nexport default ConnectedToggleGroupControlOptionBase;\n"]}
@@ -0,0 +1,2 @@
1
+ export { default as ToggleGroupControlOptionBase } from './component';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/components/src/toggle-group-control/toggle-group-control-option-base/index.ts"],"names":["default","ToggleGroupControlOptionBase"],"mappings":"AAAA,SAASA,OAAO,IAAIC,4BAApB,QAAwD,aAAxD","sourcesContent":["export { default as ToggleGroupControlOptionBase } from './component';\n"]}
@@ -0,0 +1,55 @@
1
+ import _styled from "@emotion/styled/base";
2
+
3
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
4
+
5
+ /**
6
+ * External dependencies
7
+ */
8
+ import { css } from '@emotion/react';
9
+
10
+ /**
11
+ * Internal dependencies
12
+ */
13
+ import { CONFIG, COLORS, reduceMotion } from '../../utils';
14
+ export const LabelView = _styled("div", process.env.NODE_ENV === "production" ? {
15
+ target: "et6ln9s1"
16
+ } : {
17
+ target: "et6ln9s1",
18
+ label: "LabelView"
19
+ })(process.env.NODE_ENV === "production" ? {
20
+ name: "sln1fl",
21
+ styles: "display:inline-flex;max-width:100%;min-width:0;position:relative"
22
+ } : {
23
+ name: "sln1fl",
24
+ styles: "display:inline-flex;max-width:100%;min-width:0;position:relative",
25
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvdG9nZ2xlLWdyb3VwLWNvbnRyb2wvdG9nZ2xlLWdyb3VwLWNvbnRyb2wtb3B0aW9uLWJhc2Uvc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVdtQyIsImZpbGUiOiJAd29yZHByZXNzL2NvbXBvbmVudHMvc3JjL3RvZ2dsZS1ncm91cC1jb250cm9sL3RvZ2dsZS1ncm91cC1jb250cm9sLW9wdGlvbi1iYXNlL3N0eWxlcy50cyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcblxuLyoqXG4gKiBJbnRlcm5hbCBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0IHsgQ09ORklHLCBDT0xPUlMsIHJlZHVjZU1vdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IExhYmVsVmlldyA9IHN0eWxlZC5kaXZgXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdG1pbi13aWR0aDogMDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuZXhwb3J0IGNvbnN0IGxhYmVsQmxvY2sgPSBjc3NgXG5cdGZsZXg6IDE7XG5gO1xuXG5leHBvcnQgY29uc3QgYnV0dG9uVmlldyA9IGNzc2Bcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0YXBwZWFyYW5jZTogbm9uZTtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogJHsgQ09ORklHLmNvbnRyb2xCb3JkZXJSYWRpdXMgfTtcblx0Y29sb3I6ICR7IENPTE9SUy5ncmF5WyA3MDAgXSB9O1xuXHRmaWxsOiBjdXJyZW50Q29sb3I7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0ZGlzcGxheTogZmxleDtcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cdGhlaWdodDogMTAwJTtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGxpbmUtaGVpZ2h0OiAxMDAlO1xuXHRvdXRsaW5lOiBub25lO1xuXHRwYWRkaW5nOiAwIDEycHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICR7IENPTkZJRy50cmFuc2l0aW9uRHVyYXRpb25GYXN0IH0gbGluZWFyLFxuXHRcdGNvbG9yICR7IENPTkZJRy50cmFuc2l0aW9uRHVyYXRpb25GYXN0IH0gbGluZWFyLCBmb250LXdlaWdodCA2MG1zIGxpbmVhcjtcblx0JHsgcmVkdWNlTW90aW9uKCAndHJhbnNpdGlvbicgKSB9XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHR3aWR0aDogMTAwJTtcblx0ei1pbmRleDogMjtcblxuXHQmOjotbW96LWZvY3VzLWlubmVyIHtcblx0XHRib3JkZXI6IDA7XG5cdH1cblxuXHQmOmFjdGl2ZSB7XG5cdFx0YmFja2dyb3VuZDogJHsgQ09ORklHLnRvZ2dsZUdyb3VwQ29udHJvbEJhY2tncm91bmRDb2xvciB9O1xuXHR9XG5gO1xuXG5leHBvcnQgY29uc3QgYnV0dG9uQWN0aXZlID0gY3NzYFxuXHRjb2xvcjogJHsgQ09MT1JTLndoaXRlIH07XG5cdCY6YWN0aXZlIHtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0fVxuYDtcblxuZXhwb3J0IGNvbnN0IEJ1dHRvbkNvbnRlbnRWaWV3ID0gc3R5bGVkLmRpdmBcblx0Zm9udC1zaXplOiAkeyBDT05GSUcuZm9udFNpemUgfTtcblx0bGluZS1oZWlnaHQ6IDE7XG5gO1xuXG5leHBvcnQgY29uc3Qgc2VwYXJhdG9yQWN0aXZlID0gY3NzYFxuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbmA7XG5cbmV4cG9ydCBjb25zdCBtZWRpdW0gPSBjc3NgXG5cdG1pbi1oZWlnaHQ6ICR7IENPTkZJRy5jb250cm9sSGVpZ2h0IH07XG5gO1xuIl19 */",
26
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
27
+ });
28
+ export const labelBlock = process.env.NODE_ENV === "production" ? {
29
+ name: "82a6rk",
30
+ styles: "flex:1"
31
+ } : {
32
+ name: "1sypmw-labelBlock",
33
+ styles: "flex:1;label:labelBlock;",
34
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvdG9nZ2xlLWdyb3VwLWNvbnRyb2wvdG9nZ2xlLWdyb3VwLWNvbnRyb2wtb3B0aW9uLWJhc2Uvc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtCNkIiLCJmaWxlIjoiQHdvcmRwcmVzcy9jb21wb25lbnRzL3NyYy90b2dnbGUtZ3JvdXAtY29udHJvbC90b2dnbGUtZ3JvdXAtY29udHJvbC1vcHRpb24tYmFzZS9zdHlsZXMudHMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEV4dGVybmFsIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5cbi8qKlxuICogSW50ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IENPTkZJRywgQ09MT1JTLCByZWR1Y2VNb3Rpb24gfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmV4cG9ydCBjb25zdCBMYWJlbFZpZXcgPSBzdHlsZWQuZGl2YFxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRtaW4td2lkdGg6IDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBsYWJlbEJsb2NrID0gY3NzYFxuXHRmbGV4OiAxO1xuYDtcblxuZXhwb3J0IGNvbnN0IGJ1dHRvblZpZXcgPSBjc3NgXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGFwcGVhcmFuY2U6IG5vbmU7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6ICR7IENPTkZJRy5jb250cm9sQm9yZGVyUmFkaXVzIH07XG5cdGNvbG9yOiAkeyBDT0xPUlMuZ3JheVsgNzAwIF0gfTtcblx0ZmlsbDogY3VycmVudENvbG9yO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRsaW5lLWhlaWdodDogMTAwJTtcblx0b3V0bGluZTogbm9uZTtcblx0cGFkZGluZzogMCAxMnB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCAkeyBDT05GSUcudHJhbnNpdGlvbkR1cmF0aW9uRmFzdCB9IGxpbmVhcixcblx0XHRjb2xvciAkeyBDT05GSUcudHJhbnNpdGlvbkR1cmF0aW9uRmFzdCB9IGxpbmVhciwgZm9udC13ZWlnaHQgNjBtcyBsaW5lYXI7XG5cdCR7IHJlZHVjZU1vdGlvbiggJ3RyYW5zaXRpb24nICkgfVxuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0d2lkdGg6IDEwMCU7XG5cdHotaW5kZXg6IDI7XG5cblx0Jjo6LW1vei1mb2N1cy1pbm5lciB7XG5cdFx0Ym9yZGVyOiAwO1xuXHR9XG5cblx0JjphY3RpdmUge1xuXHRcdGJhY2tncm91bmQ6ICR7IENPTkZJRy50b2dnbGVHcm91cENvbnRyb2xCYWNrZ3JvdW5kQ29sb3IgfTtcblx0fVxuYDtcblxuZXhwb3J0IGNvbnN0IGJ1dHRvbkFjdGl2ZSA9IGNzc2Bcblx0Y29sb3I6ICR7IENPTE9SUy53aGl0ZSB9O1xuXHQmOmFjdGl2ZSB7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdH1cbmA7XG5cbmV4cG9ydCBjb25zdCBCdXR0b25Db250ZW50VmlldyA9IHN0eWxlZC5kaXZgXG5cdGZvbnQtc2l6ZTogJHsgQ09ORklHLmZvbnRTaXplIH07XG5cdGxpbmUtaGVpZ2h0OiAxO1xuYDtcblxuZXhwb3J0IGNvbnN0IHNlcGFyYXRvckFjdGl2ZSA9IGNzc2Bcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5gO1xuXG5leHBvcnQgY29uc3QgbWVkaXVtID0gY3NzYFxuXHRtaW4taGVpZ2h0OiAkeyBDT05GSUcuY29udHJvbEhlaWdodCB9O1xuYDtcbiJdfQ== */",
35
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
36
+ };
37
+ export const buttonView = /*#__PURE__*/css("align-items:center;appearance:none;background:transparent;border:none;border-radius:", CONFIG.controlBorderRadius, ";color:", COLORS.gray[700], ";fill:currentColor;cursor:pointer;display:flex;font-family:inherit;height:100%;justify-content:center;line-height:100%;outline:none;padding:0 12px;position:relative;text-align:center;transition:background ", CONFIG.transitionDurationFast, " linear,color ", CONFIG.transitionDurationFast, " linear,font-weight 60ms linear;", reduceMotion('transition'), " user-select:none;width:100%;z-index:2;&::-moz-focus-inner{border:0;}&:active{background:", CONFIG.toggleGroupControlBackgroundColor, ";}" + (process.env.NODE_ENV === "production" ? "" : ";label:buttonView;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvdG9nZ2xlLWdyb3VwLWNvbnRyb2wvdG9nZ2xlLWdyb3VwLWNvbnRyb2wtb3B0aW9uLWJhc2Uvc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNCNkIiLCJmaWxlIjoiQHdvcmRwcmVzcy9jb21wb25lbnRzL3NyYy90b2dnbGUtZ3JvdXAtY29udHJvbC90b2dnbGUtZ3JvdXAtY29udHJvbC1vcHRpb24tYmFzZS9zdHlsZXMudHMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEV4dGVybmFsIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5cbi8qKlxuICogSW50ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IENPTkZJRywgQ09MT1JTLCByZWR1Y2VNb3Rpb24gfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmV4cG9ydCBjb25zdCBMYWJlbFZpZXcgPSBzdHlsZWQuZGl2YFxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRtaW4td2lkdGg6IDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBsYWJlbEJsb2NrID0gY3NzYFxuXHRmbGV4OiAxO1xuYDtcblxuZXhwb3J0IGNvbnN0IGJ1dHRvblZpZXcgPSBjc3NgXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGFwcGVhcmFuY2U6IG5vbmU7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6ICR7IENPTkZJRy5jb250cm9sQm9yZGVyUmFkaXVzIH07XG5cdGNvbG9yOiAkeyBDT0xPUlMuZ3JheVsgNzAwIF0gfTtcblx0ZmlsbDogY3VycmVudENvbG9yO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRsaW5lLWhlaWdodDogMTAwJTtcblx0b3V0bGluZTogbm9uZTtcblx0cGFkZGluZzogMCAxMnB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCAkeyBDT05GSUcudHJhbnNpdGlvbkR1cmF0aW9uRmFzdCB9IGxpbmVhcixcblx0XHRjb2xvciAkeyBDT05GSUcudHJhbnNpdGlvbkR1cmF0aW9uRmFzdCB9IGxpbmVhciwgZm9udC13ZWlnaHQgNjBtcyBsaW5lYXI7XG5cdCR7IHJlZHVjZU1vdGlvbiggJ3RyYW5zaXRpb24nICkgfVxuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0d2lkdGg6IDEwMCU7XG5cdHotaW5kZXg6IDI7XG5cblx0Jjo6LW1vei1mb2N1cy1pbm5lciB7XG5cdFx0Ym9yZGVyOiAwO1xuXHR9XG5cblx0JjphY3RpdmUge1xuXHRcdGJhY2tncm91bmQ6ICR7IENPTkZJRy50b2dnbGVHcm91cENvbnRyb2xCYWNrZ3JvdW5kQ29sb3IgfTtcblx0fVxuYDtcblxuZXhwb3J0IGNvbnN0IGJ1dHRvbkFjdGl2ZSA9IGNzc2Bcblx0Y29sb3I6ICR7IENPTE9SUy53aGl0ZSB9O1xuXHQmOmFjdGl2ZSB7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdH1cbmA7XG5cbmV4cG9ydCBjb25zdCBCdXR0b25Db250ZW50VmlldyA9IHN0eWxlZC5kaXZgXG5cdGZvbnQtc2l6ZTogJHsgQ09ORklHLmZvbnRTaXplIH07XG5cdGxpbmUtaGVpZ2h0OiAxO1xuYDtcblxuZXhwb3J0IGNvbnN0IHNlcGFyYXRvckFjdGl2ZSA9IGNzc2Bcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5gO1xuXG5leHBvcnQgY29uc3QgbWVkaXVtID0gY3NzYFxuXHRtaW4taGVpZ2h0OiAkeyBDT05GSUcuY29udHJvbEhlaWdodCB9O1xuYDtcbiJdfQ== */");
38
+ export const buttonActive = /*#__PURE__*/css("color:", COLORS.white, ";&:active{background:transparent;}" + (process.env.NODE_ENV === "production" ? "" : ";label:buttonActive;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvdG9nZ2xlLWdyb3VwLWNvbnRyb2wvdG9nZ2xlLWdyb3VwLWNvbnRyb2wtb3B0aW9uLWJhc2Uvc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdEK0IiLCJmaWxlIjoiQHdvcmRwcmVzcy9jb21wb25lbnRzL3NyYy90b2dnbGUtZ3JvdXAtY29udHJvbC90b2dnbGUtZ3JvdXAtY29udHJvbC1vcHRpb24tYmFzZS9zdHlsZXMudHMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEV4dGVybmFsIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5cbi8qKlxuICogSW50ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IENPTkZJRywgQ09MT1JTLCByZWR1Y2VNb3Rpb24gfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmV4cG9ydCBjb25zdCBMYWJlbFZpZXcgPSBzdHlsZWQuZGl2YFxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRtaW4td2lkdGg6IDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBsYWJlbEJsb2NrID0gY3NzYFxuXHRmbGV4OiAxO1xuYDtcblxuZXhwb3J0IGNvbnN0IGJ1dHRvblZpZXcgPSBjc3NgXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGFwcGVhcmFuY2U6IG5vbmU7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6ICR7IENPTkZJRy5jb250cm9sQm9yZGVyUmFkaXVzIH07XG5cdGNvbG9yOiAkeyBDT0xPUlMuZ3JheVsgNzAwIF0gfTtcblx0ZmlsbDogY3VycmVudENvbG9yO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRsaW5lLWhlaWdodDogMTAwJTtcblx0b3V0bGluZTogbm9uZTtcblx0cGFkZGluZzogMCAxMnB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCAkeyBDT05GSUcudHJhbnNpdGlvbkR1cmF0aW9uRmFzdCB9IGxpbmVhcixcblx0XHRjb2xvciAkeyBDT05GSUcudHJhbnNpdGlvbkR1cmF0aW9uRmFzdCB9IGxpbmVhciwgZm9udC13ZWlnaHQgNjBtcyBsaW5lYXI7XG5cdCR7IHJlZHVjZU1vdGlvbiggJ3RyYW5zaXRpb24nICkgfVxuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0d2lkdGg6IDEwMCU7XG5cdHotaW5kZXg6IDI7XG5cblx0Jjo6LW1vei1mb2N1cy1pbm5lciB7XG5cdFx0Ym9yZGVyOiAwO1xuXHR9XG5cblx0JjphY3RpdmUge1xuXHRcdGJhY2tncm91bmQ6ICR7IENPTkZJRy50b2dnbGVHcm91cENvbnRyb2xCYWNrZ3JvdW5kQ29sb3IgfTtcblx0fVxuYDtcblxuZXhwb3J0IGNvbnN0IGJ1dHRvbkFjdGl2ZSA9IGNzc2Bcblx0Y29sb3I6ICR7IENPTE9SUy53aGl0ZSB9O1xuXHQmOmFjdGl2ZSB7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdH1cbmA7XG5cbmV4cG9ydCBjb25zdCBCdXR0b25Db250ZW50VmlldyA9IHN0eWxlZC5kaXZgXG5cdGZvbnQtc2l6ZTogJHsgQ09ORklHLmZvbnRTaXplIH07XG5cdGxpbmUtaGVpZ2h0OiAxO1xuYDtcblxuZXhwb3J0IGNvbnN0IHNlcGFyYXRvckFjdGl2ZSA9IGNzc2Bcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5gO1xuXG5leHBvcnQgY29uc3QgbWVkaXVtID0gY3NzYFxuXHRtaW4taGVpZ2h0OiAkeyBDT05GSUcuY29udHJvbEhlaWdodCB9O1xuYDtcbiJdfQ== */");
39
+ export const ButtonContentView = _styled("div", process.env.NODE_ENV === "production" ? {
40
+ target: "et6ln9s0"
41
+ } : {
42
+ target: "et6ln9s0",
43
+ label: "ButtonContentView"
44
+ })("font-size:", CONFIG.fontSize, ";line-height:1;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvdG9nZ2xlLWdyb3VwLWNvbnRyb2wvdG9nZ2xlLWdyb3VwLWNvbnRyb2wtb3B0aW9uLWJhc2Uvc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStEMkMiLCJmaWxlIjoiQHdvcmRwcmVzcy9jb21wb25lbnRzL3NyYy90b2dnbGUtZ3JvdXAtY29udHJvbC90b2dnbGUtZ3JvdXAtY29udHJvbC1vcHRpb24tYmFzZS9zdHlsZXMudHMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEV4dGVybmFsIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5cbi8qKlxuICogSW50ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IENPTkZJRywgQ09MT1JTLCByZWR1Y2VNb3Rpb24gfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmV4cG9ydCBjb25zdCBMYWJlbFZpZXcgPSBzdHlsZWQuZGl2YFxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRtaW4td2lkdGg6IDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBsYWJlbEJsb2NrID0gY3NzYFxuXHRmbGV4OiAxO1xuYDtcblxuZXhwb3J0IGNvbnN0IGJ1dHRvblZpZXcgPSBjc3NgXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGFwcGVhcmFuY2U6IG5vbmU7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6ICR7IENPTkZJRy5jb250cm9sQm9yZGVyUmFkaXVzIH07XG5cdGNvbG9yOiAkeyBDT0xPUlMuZ3JheVsgNzAwIF0gfTtcblx0ZmlsbDogY3VycmVudENvbG9yO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRsaW5lLWhlaWdodDogMTAwJTtcblx0b3V0bGluZTogbm9uZTtcblx0cGFkZGluZzogMCAxMnB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCAkeyBDT05GSUcudHJhbnNpdGlvbkR1cmF0aW9uRmFzdCB9IGxpbmVhcixcblx0XHRjb2xvciAkeyBDT05GSUcudHJhbnNpdGlvbkR1cmF0aW9uRmFzdCB9IGxpbmVhciwgZm9udC13ZWlnaHQgNjBtcyBsaW5lYXI7XG5cdCR7IHJlZHVjZU1vdGlvbiggJ3RyYW5zaXRpb24nICkgfVxuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0d2lkdGg6IDEwMCU7XG5cdHotaW5kZXg6IDI7XG5cblx0Jjo6LW1vei1mb2N1cy1pbm5lciB7XG5cdFx0Ym9yZGVyOiAwO1xuXHR9XG5cblx0JjphY3RpdmUge1xuXHRcdGJhY2tncm91bmQ6ICR7IENPTkZJRy50b2dnbGVHcm91cENvbnRyb2xCYWNrZ3JvdW5kQ29sb3IgfTtcblx0fVxuYDtcblxuZXhwb3J0IGNvbnN0IGJ1dHRvbkFjdGl2ZSA9IGNzc2Bcblx0Y29sb3I6ICR7IENPTE9SUy53aGl0ZSB9O1xuXHQmOmFjdGl2ZSB7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdH1cbmA7XG5cbmV4cG9ydCBjb25zdCBCdXR0b25Db250ZW50VmlldyA9IHN0eWxlZC5kaXZgXG5cdGZvbnQtc2l6ZTogJHsgQ09ORklHLmZvbnRTaXplIH07XG5cdGxpbmUtaGVpZ2h0OiAxO1xuYDtcblxuZXhwb3J0IGNvbnN0IHNlcGFyYXRvckFjdGl2ZSA9IGNzc2Bcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5gO1xuXG5leHBvcnQgY29uc3QgbWVkaXVtID0gY3NzYFxuXHRtaW4taGVpZ2h0OiAkeyBDT05GSUcuY29udHJvbEhlaWdodCB9O1xuYDtcbiJdfQ== */"));
45
+ export const separatorActive = process.env.NODE_ENV === "production" ? {
46
+ name: "1qsuvl4",
47
+ styles: "background:transparent"
48
+ } : {
49
+ name: "s82tmb-separatorActive",
50
+ styles: "background:transparent;label:separatorActive;",
51
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvdG9nZ2xlLWdyb3VwLWNvbnRyb2wvdG9nZ2xlLWdyb3VwLWNvbnRyb2wtb3B0aW9uLWJhc2Uvc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9Fa0MiLCJmaWxlIjoiQHdvcmRwcmVzcy9jb21wb25lbnRzL3NyYy90b2dnbGUtZ3JvdXAtY29udHJvbC90b2dnbGUtZ3JvdXAtY29udHJvbC1vcHRpb24tYmFzZS9zdHlsZXMudHMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEV4dGVybmFsIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5cbi8qKlxuICogSW50ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IENPTkZJRywgQ09MT1JTLCByZWR1Y2VNb3Rpb24gfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmV4cG9ydCBjb25zdCBMYWJlbFZpZXcgPSBzdHlsZWQuZGl2YFxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRtaW4td2lkdGg6IDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBsYWJlbEJsb2NrID0gY3NzYFxuXHRmbGV4OiAxO1xuYDtcblxuZXhwb3J0IGNvbnN0IGJ1dHRvblZpZXcgPSBjc3NgXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGFwcGVhcmFuY2U6IG5vbmU7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6ICR7IENPTkZJRy5jb250cm9sQm9yZGVyUmFkaXVzIH07XG5cdGNvbG9yOiAkeyBDT0xPUlMuZ3JheVsgNzAwIF0gfTtcblx0ZmlsbDogY3VycmVudENvbG9yO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRsaW5lLWhlaWdodDogMTAwJTtcblx0b3V0bGluZTogbm9uZTtcblx0cGFkZGluZzogMCAxMnB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCAkeyBDT05GSUcudHJhbnNpdGlvbkR1cmF0aW9uRmFzdCB9IGxpbmVhcixcblx0XHRjb2xvciAkeyBDT05GSUcudHJhbnNpdGlvbkR1cmF0aW9uRmFzdCB9IGxpbmVhciwgZm9udC13ZWlnaHQgNjBtcyBsaW5lYXI7XG5cdCR7IHJlZHVjZU1vdGlvbiggJ3RyYW5zaXRpb24nICkgfVxuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0d2lkdGg6IDEwMCU7XG5cdHotaW5kZXg6IDI7XG5cblx0Jjo6LW1vei1mb2N1cy1pbm5lciB7XG5cdFx0Ym9yZGVyOiAwO1xuXHR9XG5cblx0JjphY3RpdmUge1xuXHRcdGJhY2tncm91bmQ6ICR7IENPTkZJRy50b2dnbGVHcm91cENvbnRyb2xCYWNrZ3JvdW5kQ29sb3IgfTtcblx0fVxuYDtcblxuZXhwb3J0IGNvbnN0IGJ1dHRvbkFjdGl2ZSA9IGNzc2Bcblx0Y29sb3I6ICR7IENPTE9SUy53aGl0ZSB9O1xuXHQmOmFjdGl2ZSB7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdH1cbmA7XG5cbmV4cG9ydCBjb25zdCBCdXR0b25Db250ZW50VmlldyA9IHN0eWxlZC5kaXZgXG5cdGZvbnQtc2l6ZTogJHsgQ09ORklHLmZvbnRTaXplIH07XG5cdGxpbmUtaGVpZ2h0OiAxO1xuYDtcblxuZXhwb3J0IGNvbnN0IHNlcGFyYXRvckFjdGl2ZSA9IGNzc2Bcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5gO1xuXG5leHBvcnQgY29uc3QgbWVkaXVtID0gY3NzYFxuXHRtaW4taGVpZ2h0OiAkeyBDT05GSUcuY29udHJvbEhlaWdodCB9O1xuYDtcbiJdfQ== */",
52
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
53
+ };
54
+ export const medium = /*#__PURE__*/css("min-height:", CONFIG.controlHeight, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:medium;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvdG9nZ2xlLWdyb3VwLWNvbnRyb2wvdG9nZ2xlLWdyb3VwLWNvbnRyb2wtb3B0aW9uLWJhc2Uvc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdFeUIiLCJmaWxlIjoiQHdvcmRwcmVzcy9jb21wb25lbnRzL3NyYy90b2dnbGUtZ3JvdXAtY29udHJvbC90b2dnbGUtZ3JvdXAtY29udHJvbC1vcHRpb24tYmFzZS9zdHlsZXMudHMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEV4dGVybmFsIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5cbi8qKlxuICogSW50ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IENPTkZJRywgQ09MT1JTLCByZWR1Y2VNb3Rpb24gfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmV4cG9ydCBjb25zdCBMYWJlbFZpZXcgPSBzdHlsZWQuZGl2YFxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRtaW4td2lkdGg6IDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBsYWJlbEJsb2NrID0gY3NzYFxuXHRmbGV4OiAxO1xuYDtcblxuZXhwb3J0IGNvbnN0IGJ1dHRvblZpZXcgPSBjc3NgXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGFwcGVhcmFuY2U6IG5vbmU7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6ICR7IENPTkZJRy5jb250cm9sQm9yZGVyUmFkaXVzIH07XG5cdGNvbG9yOiAkeyBDT0xPUlMuZ3JheVsgNzAwIF0gfTtcblx0ZmlsbDogY3VycmVudENvbG9yO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRsaW5lLWhlaWdodDogMTAwJTtcblx0b3V0bGluZTogbm9uZTtcblx0cGFkZGluZzogMCAxMnB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCAkeyBDT05GSUcudHJhbnNpdGlvbkR1cmF0aW9uRmFzdCB9IGxpbmVhcixcblx0XHRjb2xvciAkeyBDT05GSUcudHJhbnNpdGlvbkR1cmF0aW9uRmFzdCB9IGxpbmVhciwgZm9udC13ZWlnaHQgNjBtcyBsaW5lYXI7XG5cdCR7IHJlZHVjZU1vdGlvbiggJ3RyYW5zaXRpb24nICkgfVxuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0d2lkdGg6IDEwMCU7XG5cdHotaW5kZXg6IDI7XG5cblx0Jjo6LW1vei1mb2N1cy1pbm5lciB7XG5cdFx0Ym9yZGVyOiAwO1xuXHR9XG5cblx0JjphY3RpdmUge1xuXHRcdGJhY2tncm91bmQ6ICR7IENPTkZJRy50b2dnbGVHcm91cENvbnRyb2xCYWNrZ3JvdW5kQ29sb3IgfTtcblx0fVxuYDtcblxuZXhwb3J0IGNvbnN0IGJ1dHRvbkFjdGl2ZSA9IGNzc2Bcblx0Y29sb3I6ICR7IENPTE9SUy53aGl0ZSB9O1xuXHQmOmFjdGl2ZSB7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdH1cbmA7XG5cbmV4cG9ydCBjb25zdCBCdXR0b25Db250ZW50VmlldyA9IHN0eWxlZC5kaXZgXG5cdGZvbnQtc2l6ZTogJHsgQ09ORklHLmZvbnRTaXplIH07XG5cdGxpbmUtaGVpZ2h0OiAxO1xuYDtcblxuZXhwb3J0IGNvbnN0IHNlcGFyYXRvckFjdGl2ZSA9IGNzc2Bcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5gO1xuXG5leHBvcnQgY29uc3QgbWVkaXVtID0gY3NzYFxuXHRtaW4taGVpZ2h0OiAkeyBDT05GSUcuY29udHJvbEhlaWdodCB9O1xuYDtcbiJdfQ== */");
55
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/components/src/toggle-group-control/toggle-group-control-option-base/styles.ts"],"names":["css","CONFIG","COLORS","reduceMotion","LabelView","labelBlock","buttonView","controlBorderRadius","gray","transitionDurationFast","toggleGroupControlBackgroundColor","buttonActive","white","ButtonContentView","fontSize","separatorActive","medium","controlHeight"],"mappings":";;;;AAAA;AACA;AACA;AACA,SAASA,GAAT,QAAoB,gBAApB;;AAGA;AACA;AACA;AACA,SAASC,MAAT,EAAiBC,MAAjB,EAAyBC,YAAzB,QAA6C,aAA7C;AAEA,OAAO,MAAMC,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAf;AAOP,OAAO,MAAMC,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAhB;AAIP,OAAO,MAAMC,UAAU,gBAAGN,GAAH,yFAKJC,MAAM,CAACM,mBALH,aAMZL,MAAM,CAACM,IAAP,CAAa,GAAb,CANY,mNAkBIP,MAAM,CAACQ,sBAlBX,oBAmBZR,MAAM,CAACQ,sBAnBK,sCAoBnBN,YAAY,CAAE,YAAF,CApBO,+FA8BNF,MAAM,CAACS,iCA9BD,6mFAAhB;AAkCP,OAAO,MAAMC,YAAY,gBAAGX,GAAH,WACdE,MAAM,CAACU,KADO,+oFAAlB;AAOP,OAAO,MAAMC,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA,iBACfZ,MAAM,CAACa,QADQ,ujFAAvB;AAKP,OAAO,MAAMC,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAArB;AAIP,OAAO,MAAMC,MAAM,gBAAGhB,GAAH,gBACHC,MAAM,CAACgB,aADJ,wmFAAZ","sourcesContent":["/**\n * External dependencies\n */\nimport { css } from '@emotion/react';\nimport styled from '@emotion/styled';\n\n/**\n * Internal dependencies\n */\nimport { CONFIG, COLORS, reduceMotion } from '../../utils';\n\nexport const LabelView = styled.div`\n\tdisplay: inline-flex;\n\tmax-width: 100%;\n\tmin-width: 0;\n\tposition: relative;\n`;\n\nexport const labelBlock = css`\n\tflex: 1;\n`;\n\nexport const buttonView = css`\n\talign-items: center;\n\tappearance: none;\n\tbackground: transparent;\n\tborder: none;\n\tborder-radius: ${ CONFIG.controlBorderRadius };\n\tcolor: ${ COLORS.gray[ 700 ] };\n\tfill: currentColor;\n\tcursor: pointer;\n\tdisplay: flex;\n\tfont-family: inherit;\n\theight: 100%;\n\tjustify-content: center;\n\tline-height: 100%;\n\toutline: none;\n\tpadding: 0 12px;\n\tposition: relative;\n\ttext-align: center;\n\ttransition: background ${ CONFIG.transitionDurationFast } linear,\n\t\tcolor ${ CONFIG.transitionDurationFast } linear, font-weight 60ms linear;\n\t${ reduceMotion( 'transition' ) }\n\tuser-select: none;\n\twidth: 100%;\n\tz-index: 2;\n\n\t&::-moz-focus-inner {\n\t\tborder: 0;\n\t}\n\n\t&:active {\n\t\tbackground: ${ CONFIG.toggleGroupControlBackgroundColor };\n\t}\n`;\n\nexport const buttonActive = css`\n\tcolor: ${ COLORS.white };\n\t&:active {\n\t\tbackground: transparent;\n\t}\n`;\n\nexport const ButtonContentView = styled.div`\n\tfont-size: ${ CONFIG.fontSize };\n\tline-height: 1;\n`;\n\nexport const separatorActive = css`\n\tbackground: transparent;\n`;\n\nexport const medium = css`\n\tmin-height: ${ CONFIG.controlHeight };\n`;\n"]}
@@ -0,0 +1,50 @@
1
+ import { createElement } from "@wordpress/element";
2
+
3
+ /**
4
+ * WordPress dependencies
5
+ */
6
+ import { Icon } from '@wordpress/icons';
7
+ /**
8
+ * Internal dependencies
9
+ */
10
+
11
+ import { ToggleGroupControlOptionBase } from '../toggle-group-control-option-base';
12
+ export default function ToggleGroupControlOptionIcon(props) {
13
+ const {
14
+ icon,
15
+ ...restProps
16
+ } = props;
17
+ return createElement(ToggleGroupControlOptionBase, restProps, createElement(Icon, {
18
+ icon: icon
19
+ }));
20
+ }
21
+ /**
22
+ * `ToggleGroupControlOptionIcon` is a form component which is meant to be used as a
23
+ * child of `ToggleGroupControl` and displays an icon.
24
+ *
25
+ * @example
26
+ * ```jsx
27
+ *
28
+ * import {
29
+ * __experimentalToggleGroupControl as ToggleGroupControl,
30
+ * __experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,
31
+ * from '@wordpress/components';
32
+ * import { formatLowercase, formatUppercase } from '@wordpress/icons';
33
+ *
34
+ * function Example() {
35
+ * return (
36
+ * <ToggleGroupControl label="my label" value="vertical" isBlock>
37
+ * <ToggleGroupControlOptionIcon
38
+ * value="uppercase"
39
+ * icon={ formatUppercase }
40
+ * />
41
+ * <ToggleGroupControlOptionIcon
42
+ * value="lowercase"
43
+ * icon={ formatLowercase }
44
+ * />
45
+ * </ToggleGroupControl>
46
+ * );
47
+ * }
48
+ ** ```
49
+ */
50
+ //# sourceMappingURL=component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/components/src/toggle-group-control/toggle-group-control-option-icon/component.tsx"],"names":["Icon","ToggleGroupControlOptionBase","ToggleGroupControlOptionIcon","props","icon","restProps"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,IAAT,QAAqB,kBAArB;AAEA;AACA;AACA;;AAGA,SAASC,4BAAT,QAA6C,qCAA7C;AAEA,eAAe,SAASC,4BAAT,CACdC,KADc,EAMb;AACD,QAAM;AAAEC,IAAAA,IAAF;AAAQ,OAAGC;AAAX,MAAyBF,KAA/B;AACA,SACC,cAAC,4BAAD,EAAmCE,SAAnC,EACC,cAAC,IAAD;AAAM,IAAA,IAAI,EAAGD;AAAb,IADD,CADD;AAKA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../../ui/context';\nimport type { ToggleGroupControlOptionIconProps } from '../types';\nimport { ToggleGroupControlOptionBase } from '../toggle-group-control-option-base';\n\nexport default function ToggleGroupControlOptionIcon(\n\tprops: WordPressComponentProps<\n\t\tToggleGroupControlOptionIconProps,\n\t\t'button',\n\t\tfalse\n\t>\n) {\n\tconst { icon, ...restProps } = props;\n\treturn (\n\t\t<ToggleGroupControlOptionBase { ...restProps }>\n\t\t\t<Icon icon={ icon } />\n\t\t</ToggleGroupControlOptionBase>\n\t);\n}\n\n/**\n * `ToggleGroupControlOptionIcon` is a form component which is meant to be used as a\n * child of `ToggleGroupControl` and displays an icon.\n *\n * @example\n * ```jsx\n *\n * import {\n *\t__experimentalToggleGroupControl as ToggleGroupControl,\n *\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n * from '@wordpress/components';\n * import { formatLowercase, formatUppercase } from '@wordpress/icons';\n *\n * function Example() {\n *\treturn (\n *\t\t<ToggleGroupControl label=\"my label\" value=\"vertical\" isBlock>\n *\t\t\t<ToggleGroupControlOptionIcon\n *\t\t\t\tvalue=\"uppercase\"\n *\t\t\t\ticon={ formatUppercase }\n *\t\t\t/>\n *\t\t\t<ToggleGroupControlOptionIcon\n *\t\t\t\tvalue=\"lowercase\"\n *\t\t\t\ticon={ formatLowercase }\n *\t\t\t/>\n *\t\t</ToggleGroupControl>\n *\t);\n * }\n ** ```\n */\n"]}
@@ -0,0 +1,2 @@
1
+ export { default as ToggleGroupControlOptionIcon } from './component';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/components/src/toggle-group-control/toggle-group-control-option-icon/index.ts"],"names":["default","ToggleGroupControlOptionIcon"],"mappings":"AAAA,SAASA,OAAO,IAAIC,4BAApB,QAAwD,aAAxD","sourcesContent":["export { default as ToggleGroupControlOptionIcon } from './component';\n"]}
@@ -20,7 +20,7 @@ function ToolbarDropdownMenu(props, ref) {
20
20
  return createElement(DropdownMenu, props);
21
21
  } // ToobarItem will pass all props to the render prop child, which will pass
22
22
  // all props to the toggle of DropdownMenu. This means that ToolbarDropdownMenu
23
- // has the same API as DrpodownMenu.
23
+ // has the same API as DropdownMenu.
24
24
 
25
25
 
26
26
  return createElement(ToolbarItem, _extends({
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/toolbar-dropdown-menu/index.js"],"names":["forwardRef","useContext","ToolbarItem","ToolbarContext","DropdownMenu","ToolbarDropdownMenu","props","ref","accessibleToolbarState","toggleProps","toolbarItemProps","isAlternate","popoverProps"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,UAAT,EAAqBC,UAArB,QAAuC,oBAAvC;AAEA;AACA;AACA;;AACA,OAAOC,WAAP,MAAwB,iBAAxB;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AACA,OAAOC,YAAP,MAAyB,kBAAzB;;AAEA,SAASC,mBAAT,CAA8BC,KAA9B,EAAqCC,GAArC,EAA2C;AAC1C,QAAMC,sBAAsB,GAAGP,UAAU,CAAEE,cAAF,CAAzC;;AAEA,MAAK,CAAEK,sBAAP,EAAgC;AAC/B,WAAO,cAAC,YAAD,EAAmBF,KAAnB,CAAP;AACA,GALyC,CAO1C;AACA;AACA;;;AACA,SACC,cAAC,WAAD;AAAa,IAAA,GAAG,EAAGC;AAAnB,KAA8BD,KAAK,CAACG,WAApC,GACKC,gBAAF,IACD,cAAC,YAAD,eACMJ,KADN;AAEC,IAAA,YAAY,EAAG;AACdK,MAAAA,WAAW,EAAE,IADC;AAEd,SAAGL,KAAK,CAACM;AAFK,KAFhB;AAMC,IAAA,WAAW,EAAGF;AANf,KAFF,CADD;AAcA;;AAED,eAAeV,UAAU,CAAEK,mBAAF,CAAzB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { forwardRef, useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport ToolbarItem from '../toolbar-item';\nimport ToolbarContext from '../toolbar-context';\nimport DropdownMenu from '../dropdown-menu';\n\nfunction ToolbarDropdownMenu( props, ref ) {\n\tconst accessibleToolbarState = useContext( ToolbarContext );\n\n\tif ( ! accessibleToolbarState ) {\n\t\treturn <DropdownMenu { ...props } />;\n\t}\n\n\t// ToobarItem will pass all props to the render prop child, which will pass\n\t// all props to the toggle of DropdownMenu. This means that ToolbarDropdownMenu\n\t// has the same API as DrpodownMenu.\n\treturn (\n\t\t<ToolbarItem ref={ ref } { ...props.toggleProps }>\n\t\t\t{ ( toolbarItemProps ) => (\n\t\t\t\t<DropdownMenu\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\tisAlternate: true,\n\t\t\t\t\t\t...props.popoverProps,\n\t\t\t\t\t} }\n\t\t\t\t\ttoggleProps={ toolbarItemProps }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</ToolbarItem>\n\t);\n}\n\nexport default forwardRef( ToolbarDropdownMenu );\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/toolbar-dropdown-menu/index.js"],"names":["forwardRef","useContext","ToolbarItem","ToolbarContext","DropdownMenu","ToolbarDropdownMenu","props","ref","accessibleToolbarState","toggleProps","toolbarItemProps","isAlternate","popoverProps"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,UAAT,EAAqBC,UAArB,QAAuC,oBAAvC;AAEA;AACA;AACA;;AACA,OAAOC,WAAP,MAAwB,iBAAxB;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AACA,OAAOC,YAAP,MAAyB,kBAAzB;;AAEA,SAASC,mBAAT,CAA8BC,KAA9B,EAAqCC,GAArC,EAA2C;AAC1C,QAAMC,sBAAsB,GAAGP,UAAU,CAAEE,cAAF,CAAzC;;AAEA,MAAK,CAAEK,sBAAP,EAAgC;AAC/B,WAAO,cAAC,YAAD,EAAmBF,KAAnB,CAAP;AACA,GALyC,CAO1C;AACA;AACA;;;AACA,SACC,cAAC,WAAD;AAAa,IAAA,GAAG,EAAGC;AAAnB,KAA8BD,KAAK,CAACG,WAApC,GACKC,gBAAF,IACD,cAAC,YAAD,eACMJ,KADN;AAEC,IAAA,YAAY,EAAG;AACdK,MAAAA,WAAW,EAAE,IADC;AAEd,SAAGL,KAAK,CAACM;AAFK,KAFhB;AAMC,IAAA,WAAW,EAAGF;AANf,KAFF,CADD;AAcA;;AAED,eAAeV,UAAU,CAAEK,mBAAF,CAAzB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { forwardRef, useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport ToolbarItem from '../toolbar-item';\nimport ToolbarContext from '../toolbar-context';\nimport DropdownMenu from '../dropdown-menu';\n\nfunction ToolbarDropdownMenu( props, ref ) {\n\tconst accessibleToolbarState = useContext( ToolbarContext );\n\n\tif ( ! accessibleToolbarState ) {\n\t\treturn <DropdownMenu { ...props } />;\n\t}\n\n\t// ToobarItem will pass all props to the render prop child, which will pass\n\t// all props to the toggle of DropdownMenu. This means that ToolbarDropdownMenu\n\t// has the same API as DropdownMenu.\n\treturn (\n\t\t<ToolbarItem ref={ ref } { ...props.toggleProps }>\n\t\t\t{ ( toolbarItemProps ) => (\n\t\t\t\t<DropdownMenu\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\tisAlternate: true,\n\t\t\t\t\t\t...props.popoverProps,\n\t\t\t\t\t} }\n\t\t\t\t\ttoggleProps={ toolbarItemProps }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</ToolbarItem>\n\t);\n}\n\nexport default forwardRef( ToolbarDropdownMenu );\n"]}
@@ -244,7 +244,10 @@ function TreeGrid(_ref, ref) {
244
244
 
245
245
 
246
246
  const nextIndex = Math.min(currentColumnIndex, focusablesInNextRow.length - 1);
247
- focusablesInNextRow[nextIndex].focus(); // Prevent key use for anything else. This ensures Voiceover
247
+ focusablesInNextRow[nextIndex].focus(); // Let consumers know the row that was originally focused,
248
+ // and the row that is now in focus.
249
+
250
+ onFocusRow(event, activeRow, rows[nextRowIndex]); // Prevent key use for anything else. This ensures Voiceover
248
251
  // doesn't try to handle key navigation.
249
252
 
250
253
  event.preventDefault();
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/tree-grid/index.js"],"names":["includes","focus","forwardRef","useCallback","UP","DOWN","LEFT","RIGHT","HOME","END","RovingTabIndexContainer","getRowFocusables","rowElement","focusablesInRow","focusable","find","sequential","length","filter","closest","TreeGrid","ref","children","onExpandRow","onCollapseRow","onFocusRow","props","onKeyDown","event","keyCode","metaKey","ctrlKey","altKey","hasModifierKeyPressed","stopPropagation","activeElement","document","currentTarget","treeGridElement","contains","activeRow","currentColumnIndex","indexOf","canExpandCollapse","cannotFocusNextColumn","getAttribute","nextIndex","Math","max","min","preventDefault","level","parseInt","rows","Array","from","querySelectorAll","parentRow","currentRowIndex","i","focusableItems","nextRowIndex","focusablesInNextRow","default","TreeGridRow","TreeGridCell","TreeGridItem"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { includes } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { focus } from '@wordpress/dom';\nimport { forwardRef, useCallback } from '@wordpress/element';\nimport { UP, DOWN, LEFT, RIGHT, HOME, END } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport RovingTabIndexContainer from './roving-tab-index';\n\n/**\n * Return focusables in a row element, excluding those from other branches\n * nested within the row.\n *\n * @param {Element} rowElement The DOM element representing the row.\n *\n * @return {?Array} The array of focusables in the row.\n */\nfunction getRowFocusables( rowElement ) {\n\tconst focusablesInRow = focus.focusable.find( rowElement, {\n\t\tsequential: true,\n\t} );\n\n\tif ( ! focusablesInRow || ! focusablesInRow.length ) {\n\t\treturn;\n\t}\n\n\treturn focusablesInRow.filter( ( focusable ) => {\n\t\treturn focusable.closest( '[role=\"row\"]' ) === rowElement;\n\t} );\n}\n\n/**\n * Renders both a table and tbody element, used to create a tree hierarchy.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/components/src/tree-grid/README.md\n * @param {Object} props Component props.\n * @param {WPElement} props.children Children to be rendered.\n * @param {Function} props.onExpandRow Callback to fire when row is expanded.\n * @param {Function} props.onCollapseRow Callback to fire when row is collapsed.\n * @param {Function} props.onFocusRow Callback to fire when moving focus to a different row.\n * @param {Object} ref A ref to the underlying DOM table element.\n */\nfunction TreeGrid(\n\t{\n\t\tchildren,\n\t\tonExpandRow = () => {},\n\t\tonCollapseRow = () => {},\n\t\tonFocusRow = () => {},\n\t\t...props\n\t},\n\tref\n) {\n\tconst onKeyDown = useCallback(\n\t\t( event ) => {\n\t\t\tconst { keyCode, metaKey, ctrlKey, altKey } = event;\n\n\t\t\t// The shift key is intentionally absent from the following list,\n\t\t\t// to enable shift + up/down to select items from the list.\n\t\t\tconst hasModifierKeyPressed = metaKey || ctrlKey || altKey;\n\n\t\t\tif (\n\t\t\t\thasModifierKeyPressed ||\n\t\t\t\t! includes( [ UP, DOWN, LEFT, RIGHT, HOME, END ], keyCode )\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// The event will be handled, stop propagation.\n\t\t\tevent.stopPropagation();\n\n\t\t\tconst { activeElement } = document;\n\t\t\tconst { currentTarget: treeGridElement } = event;\n\t\t\tif ( ! treeGridElement.contains( activeElement ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Calculate the columnIndex of the active element.\n\t\t\tconst activeRow = activeElement.closest( '[role=\"row\"]' );\n\t\t\tconst focusablesInRow = getRowFocusables( activeRow );\n\t\t\tconst currentColumnIndex = focusablesInRow.indexOf( activeElement );\n\t\t\tconst canExpandCollapse = 0 === currentColumnIndex;\n\t\t\tconst cannotFocusNextColumn =\n\t\t\t\tcanExpandCollapse &&\n\t\t\t\tactiveRow.getAttribute( 'aria-expanded' ) === 'false' &&\n\t\t\t\tkeyCode === RIGHT;\n\n\t\t\tif ( includes( [ LEFT, RIGHT ], keyCode ) ) {\n\t\t\t\t// Calculate to the next element.\n\t\t\t\tlet nextIndex;\n\t\t\t\tif ( keyCode === LEFT ) {\n\t\t\t\t\tnextIndex = Math.max( 0, currentColumnIndex - 1 );\n\t\t\t\t} else {\n\t\t\t\t\tnextIndex = Math.min(\n\t\t\t\t\t\tcurrentColumnIndex + 1,\n\t\t\t\t\t\tfocusablesInRow.length - 1\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Focus is at the left most column.\n\t\t\t\tif ( canExpandCollapse ) {\n\t\t\t\t\tif ( keyCode === LEFT ) {\n\t\t\t\t\t\t// Left:\n\t\t\t\t\t\t// If a row is focused, and it is expanded, collapses the current row.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tactiveRow.getAttribute( 'aria-expanded' ) === 'true'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tonCollapseRow( activeRow );\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// If a row is focused, and it is collapsed, moves to the parent row (if there is one).\n\t\t\t\t\t\tconst level = Math.max(\n\t\t\t\t\t\t\tparseInt(\n\t\t\t\t\t\t\t\tactiveRow?.getAttribute( 'aria-level' ) ?? 1,\n\t\t\t\t\t\t\t\t10\n\t\t\t\t\t\t\t) - 1,\n\t\t\t\t\t\t\t1\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst rows = Array.from(\n\t\t\t\t\t\t\ttreeGridElement.querySelectorAll( '[role=\"row\"]' )\n\t\t\t\t\t\t);\n\t\t\t\t\t\tlet parentRow = activeRow;\n\t\t\t\t\t\tconst currentRowIndex = rows.indexOf( activeRow );\n\t\t\t\t\t\tfor ( let i = currentRowIndex; i >= 0; i-- ) {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tparseInt(\n\t\t\t\t\t\t\t\t\trows[ i ].getAttribute( 'aria-level' ),\n\t\t\t\t\t\t\t\t\t10\n\t\t\t\t\t\t\t\t) === level\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tparentRow = rows[ i ];\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tgetRowFocusables( parentRow )?.[ 0 ]?.focus();\n\t\t\t\t\t}\n\t\t\t\t\tif ( keyCode === RIGHT ) {\n\t\t\t\t\t\t// Right:\n\t\t\t\t\t\t// If a row is focused, and it is collapsed, expands the current row.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tactiveRow.getAttribute( 'aria-expanded' ) ===\n\t\t\t\t\t\t\t'false'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tonExpandRow( activeRow );\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// If a row is focused, and it is expanded, focuses the rightmost cell in the row.\n\t\t\t\t\t\tconst focusableItems = getRowFocusables( activeRow );\n\t\t\t\t\t\tif ( focusableItems.length > 0 ) {\n\t\t\t\t\t\t\tfocusableItems[\n\t\t\t\t\t\t\t\tfocusableItems.length - 1\n\t\t\t\t\t\t\t]?.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t\t// will start reading text on continued use of left/right arrow\n\t\t\t\t\t// keys.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Focus the next element. If at most left column and row is collapsed, moving right is not allowed as this will expand. However, if row is collapsed, moving left is allowed.\n\t\t\t\tif ( cannotFocusNextColumn ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tfocusablesInRow[ nextIndex ].focus();\n\n\t\t\t\t// Prevent key use for anything else. This ensures Voiceover\n\t\t\t\t// doesn't try to handle key navigation.\n\t\t\t\tevent.preventDefault();\n\t\t\t} else if ( includes( [ UP, DOWN ], keyCode ) ) {\n\t\t\t\t// Calculate the rowIndex of the next row.\n\t\t\t\tconst rows = Array.from(\n\t\t\t\t\ttreeGridElement.querySelectorAll( '[role=\"row\"]' )\n\t\t\t\t);\n\t\t\t\tconst currentRowIndex = rows.indexOf( activeRow );\n\t\t\t\tlet nextRowIndex;\n\n\t\t\t\tif ( keyCode === UP ) {\n\t\t\t\t\tnextRowIndex = Math.max( 0, currentRowIndex - 1 );\n\t\t\t\t} else {\n\t\t\t\t\tnextRowIndex = Math.min(\n\t\t\t\t\t\tcurrentRowIndex + 1,\n\t\t\t\t\t\trows.length - 1\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Focus is either at the top or bottom edge of the grid. Do nothing.\n\t\t\t\tif ( nextRowIndex === currentRowIndex ) {\n\t\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t\t// will start navigating horizontally when reaching the vertical\n\t\t\t\t\t// bounds of a table.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Get the focusables in the next row.\n\t\t\t\tconst focusablesInNextRow = getRowFocusables(\n\t\t\t\t\trows[ nextRowIndex ]\n\t\t\t\t);\n\n\t\t\t\t// If for some reason there are no focusables in the next row, do nothing.\n\t\t\t\tif ( ! focusablesInNextRow || ! focusablesInNextRow.length ) {\n\t\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t\t// will still focus text when using arrow keys, while this\n\t\t\t\t\t// component should limit navigation to focusables.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Try to focus the element in the next row that's at a similar column to the activeElement.\n\t\t\t\tconst nextIndex = Math.min(\n\t\t\t\t\tcurrentColumnIndex,\n\t\t\t\t\tfocusablesInNextRow.length - 1\n\t\t\t\t);\n\t\t\t\tfocusablesInNextRow[ nextIndex ].focus();\n\n\t\t\t\t// Let consumers know the row that was originally focused,\n\t\t\t\t// and the row that is now in focus.\n\t\t\t\tonFocusRow( event, activeRow, rows[ nextRowIndex ] );\n\n\t\t\t\t// Prevent key use for anything else. This ensures Voiceover\n\t\t\t\t// doesn't try to handle key navigation.\n\t\t\t\tevent.preventDefault();\n\t\t\t} else if ( includes( [ HOME, END ], keyCode ) ) {\n\t\t\t\t// Calculate the rowIndex of the next row.\n\t\t\t\tconst rows = Array.from(\n\t\t\t\t\ttreeGridElement.querySelectorAll( '[role=\"row\"]' )\n\t\t\t\t);\n\t\t\t\tconst currentRowIndex = rows.indexOf( activeRow );\n\t\t\t\tlet nextRowIndex;\n\n\t\t\t\tif ( keyCode === HOME ) {\n\t\t\t\t\tnextRowIndex = 0;\n\t\t\t\t} else {\n\t\t\t\t\tnextRowIndex = rows.length - 1;\n\t\t\t\t}\n\n\t\t\t\t// Focus is either at the top or bottom edge of the grid. Do nothing.\n\t\t\t\tif ( nextRowIndex === currentRowIndex ) {\n\t\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t\t// will start navigating horizontally when reaching the vertical\n\t\t\t\t\t// bounds of a table.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Get the focusables in the next row.\n\t\t\t\tconst focusablesInNextRow = getRowFocusables(\n\t\t\t\t\trows[ nextRowIndex ]\n\t\t\t\t);\n\n\t\t\t\t// If for some reason there are no focusables in the next row, do nothing.\n\t\t\t\tif ( ! focusablesInNextRow || ! focusablesInNextRow.length ) {\n\t\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t\t// will still focus text when using arrow keys, while this\n\t\t\t\t\t// component should limit navigation to focusables.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Try to focus the element in the next row that's at a similar column to the activeElement.\n\t\t\t\tconst nextIndex = Math.min(\n\t\t\t\t\tcurrentColumnIndex,\n\t\t\t\t\tfocusablesInNextRow.length - 1\n\t\t\t\t);\n\t\t\t\tfocusablesInNextRow[ nextIndex ].focus();\n\n\t\t\t\t// Prevent key use for anything else. This ensures Voiceover\n\t\t\t\t// doesn't try to handle key navigation.\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t},\n\t\t[ onExpandRow, onCollapseRow, onFocusRow ]\n\t);\n\n\t/* Disable reason: A treegrid is implemented using a table element. */\n\t/* eslint-disable jsx-a11y/no-noninteractive-element-to-interactive-role */\n\treturn (\n\t\t<RovingTabIndexContainer>\n\t\t\t<table\n\t\t\t\t{ ...props }\n\t\t\t\trole=\"treegrid\"\n\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\tref={ ref }\n\t\t\t>\n\t\t\t\t<tbody>{ children }</tbody>\n\t\t\t</table>\n\t\t</RovingTabIndexContainer>\n\t);\n\t/* eslint-enable jsx-a11y/no-noninteractive-element-to-interactive-role */\n}\n\nexport default forwardRef( TreeGrid );\nexport { default as TreeGridRow } from './row';\nexport { default as TreeGridCell } from './cell';\nexport { default as TreeGridItem } from './item';\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/tree-grid/index.js"],"names":["includes","focus","forwardRef","useCallback","UP","DOWN","LEFT","RIGHT","HOME","END","RovingTabIndexContainer","getRowFocusables","rowElement","focusablesInRow","focusable","find","sequential","length","filter","closest","TreeGrid","ref","children","onExpandRow","onCollapseRow","onFocusRow","props","onKeyDown","event","keyCode","metaKey","ctrlKey","altKey","hasModifierKeyPressed","stopPropagation","activeElement","document","currentTarget","treeGridElement","contains","activeRow","currentColumnIndex","indexOf","canExpandCollapse","cannotFocusNextColumn","getAttribute","nextIndex","Math","max","min","preventDefault","level","parseInt","rows","Array","from","querySelectorAll","parentRow","currentRowIndex","i","focusableItems","nextRowIndex","focusablesInNextRow","default","TreeGridRow","TreeGridCell","TreeGridItem"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { includes } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { focus } from '@wordpress/dom';\nimport { forwardRef, useCallback } from '@wordpress/element';\nimport { UP, DOWN, LEFT, RIGHT, HOME, END } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport RovingTabIndexContainer from './roving-tab-index';\n\n/**\n * Return focusables in a row element, excluding those from other branches\n * nested within the row.\n *\n * @param {Element} rowElement The DOM element representing the row.\n *\n * @return {?Array} The array of focusables in the row.\n */\nfunction getRowFocusables( rowElement ) {\n\tconst focusablesInRow = focus.focusable.find( rowElement, {\n\t\tsequential: true,\n\t} );\n\n\tif ( ! focusablesInRow || ! focusablesInRow.length ) {\n\t\treturn;\n\t}\n\n\treturn focusablesInRow.filter( ( focusable ) => {\n\t\treturn focusable.closest( '[role=\"row\"]' ) === rowElement;\n\t} );\n}\n\n/**\n * Renders both a table and tbody element, used to create a tree hierarchy.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/components/src/tree-grid/README.md\n * @param {Object} props Component props.\n * @param {WPElement} props.children Children to be rendered.\n * @param {Function} props.onExpandRow Callback to fire when row is expanded.\n * @param {Function} props.onCollapseRow Callback to fire when row is collapsed.\n * @param {Function} props.onFocusRow Callback to fire when moving focus to a different row.\n * @param {Object} ref A ref to the underlying DOM table element.\n */\nfunction TreeGrid(\n\t{\n\t\tchildren,\n\t\tonExpandRow = () => {},\n\t\tonCollapseRow = () => {},\n\t\tonFocusRow = () => {},\n\t\t...props\n\t},\n\tref\n) {\n\tconst onKeyDown = useCallback(\n\t\t( event ) => {\n\t\t\tconst { keyCode, metaKey, ctrlKey, altKey } = event;\n\n\t\t\t// The shift key is intentionally absent from the following list,\n\t\t\t// to enable shift + up/down to select items from the list.\n\t\t\tconst hasModifierKeyPressed = metaKey || ctrlKey || altKey;\n\n\t\t\tif (\n\t\t\t\thasModifierKeyPressed ||\n\t\t\t\t! includes( [ UP, DOWN, LEFT, RIGHT, HOME, END ], keyCode )\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// The event will be handled, stop propagation.\n\t\t\tevent.stopPropagation();\n\n\t\t\tconst { activeElement } = document;\n\t\t\tconst { currentTarget: treeGridElement } = event;\n\t\t\tif ( ! treeGridElement.contains( activeElement ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Calculate the columnIndex of the active element.\n\t\t\tconst activeRow = activeElement.closest( '[role=\"row\"]' );\n\t\t\tconst focusablesInRow = getRowFocusables( activeRow );\n\t\t\tconst currentColumnIndex = focusablesInRow.indexOf( activeElement );\n\t\t\tconst canExpandCollapse = 0 === currentColumnIndex;\n\t\t\tconst cannotFocusNextColumn =\n\t\t\t\tcanExpandCollapse &&\n\t\t\t\tactiveRow.getAttribute( 'aria-expanded' ) === 'false' &&\n\t\t\t\tkeyCode === RIGHT;\n\n\t\t\tif ( includes( [ LEFT, RIGHT ], keyCode ) ) {\n\t\t\t\t// Calculate to the next element.\n\t\t\t\tlet nextIndex;\n\t\t\t\tif ( keyCode === LEFT ) {\n\t\t\t\t\tnextIndex = Math.max( 0, currentColumnIndex - 1 );\n\t\t\t\t} else {\n\t\t\t\t\tnextIndex = Math.min(\n\t\t\t\t\t\tcurrentColumnIndex + 1,\n\t\t\t\t\t\tfocusablesInRow.length - 1\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Focus is at the left most column.\n\t\t\t\tif ( canExpandCollapse ) {\n\t\t\t\t\tif ( keyCode === LEFT ) {\n\t\t\t\t\t\t// Left:\n\t\t\t\t\t\t// If a row is focused, and it is expanded, collapses the current row.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tactiveRow.getAttribute( 'aria-expanded' ) === 'true'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tonCollapseRow( activeRow );\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// If a row is focused, and it is collapsed, moves to the parent row (if there is one).\n\t\t\t\t\t\tconst level = Math.max(\n\t\t\t\t\t\t\tparseInt(\n\t\t\t\t\t\t\t\tactiveRow?.getAttribute( 'aria-level' ) ?? 1,\n\t\t\t\t\t\t\t\t10\n\t\t\t\t\t\t\t) - 1,\n\t\t\t\t\t\t\t1\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst rows = Array.from(\n\t\t\t\t\t\t\ttreeGridElement.querySelectorAll( '[role=\"row\"]' )\n\t\t\t\t\t\t);\n\t\t\t\t\t\tlet parentRow = activeRow;\n\t\t\t\t\t\tconst currentRowIndex = rows.indexOf( activeRow );\n\t\t\t\t\t\tfor ( let i = currentRowIndex; i >= 0; i-- ) {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tparseInt(\n\t\t\t\t\t\t\t\t\trows[ i ].getAttribute( 'aria-level' ),\n\t\t\t\t\t\t\t\t\t10\n\t\t\t\t\t\t\t\t) === level\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tparentRow = rows[ i ];\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tgetRowFocusables( parentRow )?.[ 0 ]?.focus();\n\t\t\t\t\t}\n\t\t\t\t\tif ( keyCode === RIGHT ) {\n\t\t\t\t\t\t// Right:\n\t\t\t\t\t\t// If a row is focused, and it is collapsed, expands the current row.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tactiveRow.getAttribute( 'aria-expanded' ) ===\n\t\t\t\t\t\t\t'false'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tonExpandRow( activeRow );\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// If a row is focused, and it is expanded, focuses the rightmost cell in the row.\n\t\t\t\t\t\tconst focusableItems = getRowFocusables( activeRow );\n\t\t\t\t\t\tif ( focusableItems.length > 0 ) {\n\t\t\t\t\t\t\tfocusableItems[\n\t\t\t\t\t\t\t\tfocusableItems.length - 1\n\t\t\t\t\t\t\t]?.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t\t// will start reading text on continued use of left/right arrow\n\t\t\t\t\t// keys.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Focus the next element. If at most left column and row is collapsed, moving right is not allowed as this will expand. However, if row is collapsed, moving left is allowed.\n\t\t\t\tif ( cannotFocusNextColumn ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tfocusablesInRow[ nextIndex ].focus();\n\n\t\t\t\t// Prevent key use for anything else. This ensures Voiceover\n\t\t\t\t// doesn't try to handle key navigation.\n\t\t\t\tevent.preventDefault();\n\t\t\t} else if ( includes( [ UP, DOWN ], keyCode ) ) {\n\t\t\t\t// Calculate the rowIndex of the next row.\n\t\t\t\tconst rows = Array.from(\n\t\t\t\t\ttreeGridElement.querySelectorAll( '[role=\"row\"]' )\n\t\t\t\t);\n\t\t\t\tconst currentRowIndex = rows.indexOf( activeRow );\n\t\t\t\tlet nextRowIndex;\n\n\t\t\t\tif ( keyCode === UP ) {\n\t\t\t\t\tnextRowIndex = Math.max( 0, currentRowIndex - 1 );\n\t\t\t\t} else {\n\t\t\t\t\tnextRowIndex = Math.min(\n\t\t\t\t\t\tcurrentRowIndex + 1,\n\t\t\t\t\t\trows.length - 1\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Focus is either at the top or bottom edge of the grid. Do nothing.\n\t\t\t\tif ( nextRowIndex === currentRowIndex ) {\n\t\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t\t// will start navigating horizontally when reaching the vertical\n\t\t\t\t\t// bounds of a table.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Get the focusables in the next row.\n\t\t\t\tconst focusablesInNextRow = getRowFocusables(\n\t\t\t\t\trows[ nextRowIndex ]\n\t\t\t\t);\n\n\t\t\t\t// If for some reason there are no focusables in the next row, do nothing.\n\t\t\t\tif ( ! focusablesInNextRow || ! focusablesInNextRow.length ) {\n\t\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t\t// will still focus text when using arrow keys, while this\n\t\t\t\t\t// component should limit navigation to focusables.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Try to focus the element in the next row that's at a similar column to the activeElement.\n\t\t\t\tconst nextIndex = Math.min(\n\t\t\t\t\tcurrentColumnIndex,\n\t\t\t\t\tfocusablesInNextRow.length - 1\n\t\t\t\t);\n\t\t\t\tfocusablesInNextRow[ nextIndex ].focus();\n\n\t\t\t\t// Let consumers know the row that was originally focused,\n\t\t\t\t// and the row that is now in focus.\n\t\t\t\tonFocusRow( event, activeRow, rows[ nextRowIndex ] );\n\n\t\t\t\t// Prevent key use for anything else. This ensures Voiceover\n\t\t\t\t// doesn't try to handle key navigation.\n\t\t\t\tevent.preventDefault();\n\t\t\t} else if ( includes( [ HOME, END ], keyCode ) ) {\n\t\t\t\t// Calculate the rowIndex of the next row.\n\t\t\t\tconst rows = Array.from(\n\t\t\t\t\ttreeGridElement.querySelectorAll( '[role=\"row\"]' )\n\t\t\t\t);\n\t\t\t\tconst currentRowIndex = rows.indexOf( activeRow );\n\t\t\t\tlet nextRowIndex;\n\n\t\t\t\tif ( keyCode === HOME ) {\n\t\t\t\t\tnextRowIndex = 0;\n\t\t\t\t} else {\n\t\t\t\t\tnextRowIndex = rows.length - 1;\n\t\t\t\t}\n\n\t\t\t\t// Focus is either at the top or bottom edge of the grid. Do nothing.\n\t\t\t\tif ( nextRowIndex === currentRowIndex ) {\n\t\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t\t// will start navigating horizontally when reaching the vertical\n\t\t\t\t\t// bounds of a table.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Get the focusables in the next row.\n\t\t\t\tconst focusablesInNextRow = getRowFocusables(\n\t\t\t\t\trows[ nextRowIndex ]\n\t\t\t\t);\n\n\t\t\t\t// If for some reason there are no focusables in the next row, do nothing.\n\t\t\t\tif ( ! focusablesInNextRow || ! focusablesInNextRow.length ) {\n\t\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t\t// will still focus text when using arrow keys, while this\n\t\t\t\t\t// component should limit navigation to focusables.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Try to focus the element in the next row that's at a similar column to the activeElement.\n\t\t\t\tconst nextIndex = Math.min(\n\t\t\t\t\tcurrentColumnIndex,\n\t\t\t\t\tfocusablesInNextRow.length - 1\n\t\t\t\t);\n\t\t\t\tfocusablesInNextRow[ nextIndex ].focus();\n\n\t\t\t\t// Let consumers know the row that was originally focused,\n\t\t\t\t// and the row that is now in focus.\n\t\t\t\tonFocusRow( event, activeRow, rows[ nextRowIndex ] );\n\n\t\t\t\t// Prevent key use for anything else. This ensures Voiceover\n\t\t\t\t// doesn't try to handle key navigation.\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t},\n\t\t[ onExpandRow, onCollapseRow, onFocusRow ]\n\t);\n\n\t/* Disable reason: A treegrid is implemented using a table element. */\n\t/* eslint-disable jsx-a11y/no-noninteractive-element-to-interactive-role */\n\treturn (\n\t\t<RovingTabIndexContainer>\n\t\t\t<table\n\t\t\t\t{ ...props }\n\t\t\t\trole=\"treegrid\"\n\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\tref={ ref }\n\t\t\t>\n\t\t\t\t<tbody>{ children }</tbody>\n\t\t\t</table>\n\t\t</RovingTabIndexContainer>\n\t);\n\t/* eslint-enable jsx-a11y/no-noninteractive-element-to-interactive-role */\n}\n\nexport default forwardRef( TreeGrid );\nexport { default as TreeGridRow } from './row';\nexport { default as TreeGridCell } from './cell';\nexport { default as TreeGridItem } from './item';\n"]}