@wordpress/components 19.8.4 → 19.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (630) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/CONTRIBUTING.md +80 -7
  3. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +11 -11
  4. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  5. package/build/border-box-control/border-box-control/component.js +22 -7
  6. package/build/border-box-control/border-box-control/component.js.map +1 -1
  7. package/build/border-box-control/border-box-control-linked-button/hook.js +3 -2
  8. package/build/border-box-control/border-box-control-linked-button/hook.js.map +1 -1
  9. package/build/border-box-control/border-box-control-split-controls/component.js +21 -8
  10. package/build/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  11. package/build/border-box-control/border-box-control-visualizer/hook.js +3 -2
  12. package/build/border-box-control/border-box-control-visualizer/hook.js.map +1 -1
  13. package/build/border-box-control/styles.js +11 -15
  14. package/build/border-box-control/styles.js.map +1 -1
  15. package/build/border-control/border-control/component.js +5 -3
  16. package/build/border-control/border-control/component.js.map +1 -1
  17. package/build/border-control/border-control/hook.js +6 -3
  18. package/build/border-control/border-control/hook.js.map +1 -1
  19. package/build/border-control/border-control-dropdown/component.js +6 -2
  20. package/build/border-control/border-control-dropdown/component.js.map +1 -1
  21. package/build/border-control/border-control-dropdown/hook.js +5 -5
  22. package/build/border-control/border-control-dropdown/hook.js.map +1 -1
  23. package/build/border-control/styles.js +58 -29
  24. package/build/border-control/styles.js.map +1 -1
  25. package/build/box-control/index.js +0 -21
  26. package/build/box-control/index.js.map +1 -1
  27. package/build/box-control/utils.js +1 -8
  28. package/build/box-control/utils.js.map +1 -1
  29. package/build/button/index.js +3 -5
  30. package/build/button/index.js.map +1 -1
  31. package/build/button/index.native.js +16 -2
  32. package/build/button/index.native.js.map +1 -1
  33. package/build/button-group/index.js +24 -7
  34. package/build/button-group/index.js.map +1 -1
  35. package/build/{flyout → button-group}/types.js +0 -0
  36. package/build/button-group/types.js.map +1 -0
  37. package/build/checkbox-control/index.js +34 -7
  38. package/build/checkbox-control/index.js.map +1 -1
  39. package/build/checkbox-control/types.js +6 -0
  40. package/build/checkbox-control/types.js.map +1 -0
  41. package/build/circular-option-picker/index.js +1 -2
  42. package/build/circular-option-picker/index.js.map +1 -1
  43. package/build/color-palette/index.js +5 -12
  44. package/build/color-palette/index.js.map +1 -1
  45. package/build/date-time/date.js +43 -19
  46. package/build/date-time/date.js.map +1 -1
  47. package/build/date-time/index.js +28 -3
  48. package/build/date-time/index.js.map +1 -1
  49. package/build/date-time/time.js +42 -40
  50. package/build/date-time/time.js.map +1 -1
  51. package/build/date-time/timezone.js +4 -3
  52. package/build/date-time/timezone.js.map +1 -1
  53. package/build/date-time/types.js +6 -0
  54. package/build/date-time/types.js.map +1 -0
  55. package/build/date-time/utils.js +6 -4
  56. package/build/date-time/utils.js.map +1 -1
  57. package/build/disabled/index.js +4 -76
  58. package/build/disabled/index.js.map +1 -1
  59. package/build/draggable/index.native.js +223 -0
  60. package/build/draggable/index.native.js.map +1 -0
  61. package/build/dropdown/index.js +7 -5
  62. package/build/dropdown/index.js.map +1 -1
  63. package/build/focal-point-picker/index.native.js +3 -3
  64. package/build/focal-point-picker/index.native.js.map +1 -1
  65. package/build/heading/hook.js +1 -1
  66. package/build/heading/hook.js.map +1 -1
  67. package/build/index.js +0 -8
  68. package/build/index.js.map +1 -1
  69. package/build/index.native.js +16 -0
  70. package/build/index.native.js.map +1 -1
  71. package/build/input-control/index.js +27 -4
  72. package/build/input-control/index.js.map +1 -1
  73. package/build/input-control/styles/input-control-styles.js +42 -30
  74. package/build/input-control/styles/input-control-styles.js.map +1 -1
  75. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +1 -1
  76. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  77. package/build/mobile/bottom-sheet/index.native.js +1 -1
  78. package/build/mobile/bottom-sheet/index.native.js.map +1 -1
  79. package/build/mobile/bottom-sheet-select-control/index.native.js +4 -2
  80. package/build/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  81. package/build/mobile/html-text-input/index.native.js +19 -8
  82. package/build/mobile/html-text-input/index.native.js.map +1 -1
  83. package/build/mobile/keyboard-aware-flat-list/index.android.js +28 -5
  84. package/build/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
  85. package/build/mobile/keyboard-aware-flat-list/index.ios.js +47 -24
  86. package/build/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  87. package/build/navigation/styles/navigation-styles.js +12 -12
  88. package/build/navigation/styles/navigation-styles.js.map +1 -1
  89. package/build/notice/index.native.js +44 -40
  90. package/build/notice/index.native.js.map +1 -1
  91. package/build/notice/list.native.js +27 -45
  92. package/build/notice/list.native.js.map +1 -1
  93. package/build/palette-edit/index.js +38 -7
  94. package/build/palette-edit/index.js.map +1 -1
  95. package/build/popover/index.js +223 -323
  96. package/build/popover/index.js.map +1 -1
  97. package/build/resizable-box/resize-tooltip/utils.js +5 -8
  98. package/build/resizable-box/resize-tooltip/utils.js.map +1 -1
  99. package/build/sandbox/index.js +2 -2
  100. package/build/sandbox/index.js.map +1 -1
  101. package/build/sandbox/index.native.js +1 -1
  102. package/build/sandbox/index.native.js.map +1 -1
  103. package/build/select-control/index.js +31 -4
  104. package/build/select-control/index.js.map +1 -1
  105. package/build/select-control/styles/select-control-styles.js +17 -14
  106. package/build/select-control/styles/select-control-styles.js.map +1 -1
  107. package/build/surface/styles.js +8 -8
  108. package/build/surface/styles.js.map +1 -1
  109. package/build/text/hook.js +5 -5
  110. package/build/text/hook.js.map +1 -1
  111. package/build/text/styles/text-mixins.native.js +1 -1
  112. package/build/text/styles/text-mixins.native.js.map +1 -1
  113. package/build/text/styles.js +7 -7
  114. package/build/text/styles.js.map +1 -1
  115. package/build/text-control/index.js +35 -28
  116. package/build/text-control/index.js.map +1 -1
  117. package/build/text-control/types.js +6 -0
  118. package/build/text-control/types.js.map +1 -0
  119. package/build/toggle-group-control/toggle-group-control/component.js +1 -3
  120. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  121. package/build/toggle-group-control/toggle-group-control-option-icon/component.js +6 -4
  122. package/build/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
  123. package/build/tools-panel/tools-panel-header/component.js +52 -36
  124. package/build/tools-panel/tools-panel-header/component.js.map +1 -1
  125. package/build/tooltip/index.js +2 -2
  126. package/build/tooltip/index.js.map +1 -1
  127. package/build/ui/spinner/component.js +1 -1
  128. package/build/ui/spinner/component.js.map +1 -1
  129. package/build/unit-control/index.js +3 -3
  130. package/build/unit-control/index.js.map +1 -1
  131. package/build/unit-control/styles/unit-control-styles.js +11 -20
  132. package/build/unit-control/styles/unit-control-styles.js.map +1 -1
  133. package/build/unit-control/utils.js.map +1 -1
  134. package/build/utils/colors-values.js +9 -24
  135. package/build/utils/colors-values.js.map +1 -1
  136. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +11 -11
  137. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  138. package/build-module/border-box-control/border-box-control/component.js +22 -7
  139. package/build-module/border-box-control/border-box-control/component.js.map +1 -1
  140. package/build-module/border-box-control/border-box-control-linked-button/hook.js +3 -2
  141. package/build-module/border-box-control/border-box-control-linked-button/hook.js.map +1 -1
  142. package/build-module/border-box-control/border-box-control-split-controls/component.js +21 -8
  143. package/build-module/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  144. package/build-module/border-box-control/border-box-control-visualizer/hook.js +3 -2
  145. package/build-module/border-box-control/border-box-control-visualizer/hook.js.map +1 -1
  146. package/build-module/border-box-control/styles.js +9 -15
  147. package/build-module/border-box-control/styles.js.map +1 -1
  148. package/build-module/border-control/border-control/component.js +5 -3
  149. package/build-module/border-control/border-control/component.js.map +1 -1
  150. package/build-module/border-control/border-control/hook.js +6 -3
  151. package/build-module/border-control/border-control/hook.js.map +1 -1
  152. package/build-module/border-control/border-control-dropdown/component.js +6 -2
  153. package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
  154. package/build-module/border-control/border-control-dropdown/hook.js +5 -5
  155. package/build-module/border-control/border-control-dropdown/hook.js.map +1 -1
  156. package/build-module/border-control/styles.js +56 -29
  157. package/build-module/border-control/styles.js.map +1 -1
  158. package/build-module/box-control/index.js +1 -20
  159. package/build-module/box-control/index.js.map +1 -1
  160. package/build-module/box-control/utils.js +0 -6
  161. package/build-module/box-control/utils.js.map +1 -1
  162. package/build-module/button/index.js +3 -4
  163. package/build-module/button/index.js.map +1 -1
  164. package/build-module/button/index.native.js +16 -3
  165. package/build-module/button/index.native.js.map +1 -1
  166. package/build-module/button-group/index.js +27 -7
  167. package/build-module/button-group/index.js.map +1 -1
  168. package/build-module/{flyout → button-group}/types.js +0 -0
  169. package/build-module/{flyout → button-group}/types.js.map +0 -0
  170. package/build-module/checkbox-control/index.js +31 -7
  171. package/build-module/checkbox-control/index.js.map +1 -1
  172. package/build-module/checkbox-control/types.js +2 -0
  173. package/{build/flyout → build-module/checkbox-control}/types.js.map +0 -0
  174. package/build-module/circular-option-picker/index.js +1 -2
  175. package/build-module/circular-option-picker/index.js.map +1 -1
  176. package/build-module/color-palette/index.js +5 -11
  177. package/build-module/color-palette/index.js.map +1 -1
  178. package/build-module/date-time/date.js +44 -19
  179. package/build-module/date-time/date.js.map +1 -1
  180. package/build-module/date-time/index.js +28 -4
  181. package/build-module/date-time/index.js.map +1 -1
  182. package/build-module/date-time/time.js +43 -41
  183. package/build-module/date-time/time.js.map +1 -1
  184. package/build-module/date-time/timezone.js +4 -3
  185. package/build-module/date-time/timezone.js.map +1 -1
  186. package/build-module/date-time/types.js +2 -0
  187. package/build-module/date-time/types.js.map +1 -0
  188. package/build-module/date-time/utils.js +6 -4
  189. package/build-module/date-time/utils.js.map +1 -1
  190. package/build-module/disabled/index.js +5 -76
  191. package/build-module/disabled/index.js.map +1 -1
  192. package/build-module/draggable/index.native.js +206 -0
  193. package/build-module/draggable/index.native.js.map +1 -0
  194. package/build-module/dropdown/index.js +7 -5
  195. package/build-module/dropdown/index.js.map +1 -1
  196. package/build-module/focal-point-picker/index.native.js +3 -3
  197. package/build-module/focal-point-picker/index.native.js.map +1 -1
  198. package/build-module/heading/hook.js +1 -1
  199. package/build-module/heading/hook.js.map +1 -1
  200. package/build-module/index.js +0 -1
  201. package/build-module/index.js.map +1 -1
  202. package/build-module/index.native.js +2 -1
  203. package/build-module/index.native.js.map +1 -1
  204. package/build-module/input-control/index.js +24 -3
  205. package/build-module/input-control/index.js.map +1 -1
  206. package/build-module/input-control/styles/input-control-styles.js +42 -30
  207. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  208. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +1 -1
  209. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  210. package/build-module/mobile/bottom-sheet/index.native.js +1 -1
  211. package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
  212. package/build-module/mobile/bottom-sheet-select-control/index.native.js +4 -2
  213. package/build-module/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  214. package/build-module/mobile/html-text-input/index.native.js +20 -9
  215. package/build-module/mobile/html-text-input/index.native.js.map +1 -1
  216. package/build-module/mobile/keyboard-aware-flat-list/index.android.js +21 -5
  217. package/build-module/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
  218. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js +42 -25
  219. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  220. package/build-module/navigation/styles/navigation-styles.js +13 -13
  221. package/build-module/navigation/styles/navigation-styles.js.map +1 -1
  222. package/build-module/notice/index.native.js +45 -41
  223. package/build-module/notice/index.native.js.map +1 -1
  224. package/build-module/notice/list.native.js +28 -46
  225. package/build-module/notice/list.native.js.map +1 -1
  226. package/build-module/palette-edit/index.js +37 -7
  227. package/build-module/palette-edit/index.js.map +1 -1
  228. package/build-module/popover/index.js +225 -325
  229. package/build-module/popover/index.js.map +1 -1
  230. package/build-module/resizable-box/resize-tooltip/utils.js +4 -5
  231. package/build-module/resizable-box/resize-tooltip/utils.js.map +1 -1
  232. package/build-module/sandbox/index.js +2 -2
  233. package/build-module/sandbox/index.js.map +1 -1
  234. package/build-module/sandbox/index.native.js +1 -1
  235. package/build-module/sandbox/index.native.js.map +1 -1
  236. package/build-module/select-control/index.js +29 -3
  237. package/build-module/select-control/index.js.map +1 -1
  238. package/build-module/select-control/styles/select-control-styles.js +17 -14
  239. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  240. package/build-module/surface/styles.js +8 -8
  241. package/build-module/surface/styles.js.map +1 -1
  242. package/build-module/text/hook.js +5 -5
  243. package/build-module/text/hook.js.map +1 -1
  244. package/build-module/text/styles/text-mixins.native.js +2 -2
  245. package/build-module/text/styles/text-mixins.native.js.map +1 -1
  246. package/build-module/text/styles.js +7 -7
  247. package/build-module/text/styles.js.map +1 -1
  248. package/build-module/text-control/index.js +35 -27
  249. package/build-module/text-control/index.js.map +1 -1
  250. package/build-module/text-control/types.js +2 -0
  251. package/build-module/text-control/types.js.map +1 -0
  252. package/build-module/toggle-group-control/toggle-group-control/component.js +2 -3
  253. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  254. package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js +1 -5
  255. package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
  256. package/build-module/tools-panel/tools-panel-header/component.js +51 -36
  257. package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
  258. package/build-module/tooltip/index.js +2 -2
  259. package/build-module/tooltip/index.js.map +1 -1
  260. package/build-module/ui/spinner/component.js +1 -1
  261. package/build-module/ui/spinner/component.js.map +1 -1
  262. package/build-module/unit-control/index.js +3 -3
  263. package/build-module/unit-control/index.js.map +1 -1
  264. package/build-module/unit-control/styles/unit-control-styles.js +11 -20
  265. package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
  266. package/build-module/unit-control/utils.js.map +1 -1
  267. package/build-module/utils/colors-values.js +19 -23
  268. package/build-module/utils/colors-values.js.map +1 -1
  269. package/build-style/style-rtl.css +55 -170
  270. package/build-style/style.css +51 -170
  271. package/build-types/border-box-control/border-box-control/component.d.ts.map +1 -1
  272. package/build-types/border-box-control/border-box-control/hook.d.ts +3 -1
  273. package/build-types/border-box-control/border-box-control/hook.d.ts.map +1 -1
  274. package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts.map +1 -1
  275. package/build-types/border-box-control/border-box-control-split-controls/component.d.ts.map +1 -1
  276. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +3 -1
  277. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts.map +1 -1
  278. package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts.map +1 -1
  279. package/build-types/border-box-control/styles.d.ts +2 -2
  280. package/build-types/border-box-control/styles.d.ts.map +1 -1
  281. package/build-types/border-box-control/types.d.ts +40 -13
  282. package/build-types/border-box-control/types.d.ts.map +1 -1
  283. package/build-types/border-control/border-control/component.d.ts.map +1 -1
  284. package/build-types/border-control/border-control/hook.d.ts +2 -1
  285. package/build-types/border-control/border-control/hook.d.ts.map +1 -1
  286. package/build-types/border-control/border-control-dropdown/component.d.ts.map +1 -1
  287. package/build-types/border-control/border-control-dropdown/hook.d.ts +1 -0
  288. package/build-types/border-control/border-control-dropdown/hook.d.ts.map +1 -1
  289. package/build-types/border-control/styles.d.ts +2 -1
  290. package/build-types/border-control/styles.d.ts.map +1 -1
  291. package/build-types/border-control/types.d.ts +18 -6
  292. package/build-types/border-control/types.d.ts.map +1 -1
  293. package/build-types/button/index.d.ts.map +1 -1
  294. package/build-types/button-group/index.d.ts +25 -0
  295. package/build-types/button-group/index.d.ts.map +1 -0
  296. package/build-types/button-group/stories/index.d.ts +12 -0
  297. package/build-types/button-group/stories/index.d.ts.map +1 -0
  298. package/build-types/button-group/types.d.ts +11 -0
  299. package/build-types/button-group/types.d.ts.map +1 -0
  300. package/build-types/checkbox-control/index.d.ts +26 -0
  301. package/build-types/checkbox-control/index.d.ts.map +1 -0
  302. package/build-types/checkbox-control/stories/index.d.ts +13 -0
  303. package/build-types/checkbox-control/stories/index.d.ts.map +1 -0
  304. package/build-types/checkbox-control/types.d.ts +35 -0
  305. package/build-types/checkbox-control/types.d.ts.map +1 -0
  306. package/build-types/circular-option-picker/index.d.ts.map +1 -1
  307. package/build-types/color-palette/index.d.ts.map +1 -1
  308. package/build-types/color-picker/styles.d.ts +3 -3
  309. package/build-types/date-time/date.d.ts +24 -0
  310. package/build-types/date-time/date.d.ts.map +1 -0
  311. package/build-types/date-time/index.d.ts +35 -0
  312. package/build-types/date-time/index.d.ts.map +1 -0
  313. package/build-types/date-time/stories/date.d.ts +14 -0
  314. package/build-types/date-time/stories/date.d.ts.map +1 -0
  315. package/build-types/date-time/stories/index.d.ts +14 -0
  316. package/build-types/date-time/stories/index.d.ts.map +1 -0
  317. package/build-types/date-time/stories/time.d.ts +12 -0
  318. package/build-types/date-time/stories/time.d.ts.map +1 -0
  319. package/build-types/date-time/stories/utils.d.ts +3 -0
  320. package/build-types/date-time/stories/utils.d.ts.map +1 -0
  321. package/build-types/date-time/test/date.d.ts +2 -0
  322. package/build-types/date-time/test/date.d.ts.map +1 -0
  323. package/build-types/date-time/test/time.d.ts +2 -0
  324. package/build-types/date-time/test/time.d.ts.map +1 -0
  325. package/build-types/date-time/test/utils.d.ts +2 -0
  326. package/build-types/date-time/test/utils.d.ts.map +1 -0
  327. package/build-types/date-time/time.d.ts +25 -0
  328. package/build-types/date-time/time.d.ts.map +1 -0
  329. package/build-types/date-time/timezone.d.ts +8 -0
  330. package/build-types/date-time/timezone.d.ts.map +1 -0
  331. package/build-types/date-time/types.d.ts +91 -0
  332. package/build-types/date-time/types.d.ts.map +1 -0
  333. package/build-types/date-time/utils.d.ts +15 -0
  334. package/build-types/date-time/utils.d.ts.map +1 -0
  335. package/build-types/disabled/index.d.ts.map +1 -1
  336. package/build-types/dropdown/index.d.ts.map +1 -1
  337. package/build-types/input-control/index.d.ts +23 -3
  338. package/build-types/input-control/index.d.ts.map +1 -1
  339. package/build-types/input-control/input-field.d.ts +1 -1
  340. package/build-types/input-control/input-field.d.ts.map +1 -1
  341. package/build-types/input-control/stories/index.d.ts +5 -5
  342. package/build-types/input-control/stories/index.d.ts.map +1 -1
  343. package/build-types/input-control/styles/input-control-styles.d.ts +1 -0
  344. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  345. package/build-types/input-control/types.d.ts +79 -3
  346. package/build-types/input-control/types.d.ts.map +1 -1
  347. package/build-types/number-control/styles/number-control-styles.d.ts +1 -1
  348. package/build-types/popover/index.d.ts +5 -8
  349. package/build-types/popover/index.d.ts.map +1 -1
  350. package/build-types/resizable-box/index.d.ts +1 -1
  351. package/build-types/resizable-box/resize-tooltip/index.d.ts +1 -1
  352. package/build-types/resizable-box/resize-tooltip/utils.d.ts.map +1 -1
  353. package/build-types/select-control/index.d.ts +30 -26
  354. package/build-types/select-control/index.d.ts.map +1 -1
  355. package/build-types/select-control/stories/index.d.ts +23 -0
  356. package/build-types/select-control/stories/index.d.ts.map +1 -0
  357. package/build-types/select-control/styles/select-control-styles.d.ts +3 -4
  358. package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
  359. package/build-types/select-control/test/select-control.d.ts +2 -0
  360. package/build-types/select-control/test/select-control.d.ts.map +1 -0
  361. package/build-types/select-control/types.d.ts +52 -1
  362. package/build-types/select-control/types.d.ts.map +1 -1
  363. package/build-types/text-control/index.d.ts +2 -2
  364. package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
  365. package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts.map +1 -1
  366. package/build-types/tools-panel/tools-panel-header/component.d.ts.map +1 -1
  367. package/build-types/tools-panel/types.d.ts +0 -1
  368. package/build-types/tools-panel/types.d.ts.map +1 -1
  369. package/build-types/tooltip/index.d.ts.map +1 -1
  370. package/build-types/unit-control/index.d.ts +2 -2
  371. package/build-types/unit-control/index.d.ts.map +1 -1
  372. package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
  373. package/build-types/unit-control/test/index.d.ts +2 -0
  374. package/build-types/unit-control/test/index.d.ts.map +1 -0
  375. package/build-types/unit-control/test/utils.d.ts +2 -0
  376. package/build-types/unit-control/test/utils.d.ts.map +1 -0
  377. package/build-types/unit-control/types.d.ts +1 -1
  378. package/build-types/unit-control/types.d.ts.map +1 -1
  379. package/build-types/unit-control/utils.d.ts +3 -3
  380. package/build-types/unit-control/utils.d.ts.map +1 -1
  381. package/build-types/utils/colors-values.d.ts +6 -146
  382. package/build-types/utils/colors-values.d.ts.map +1 -1
  383. package/package.json +19 -19
  384. package/src/alignment-matrix-control/styles/alignment-matrix-control-styles.js +5 -3
  385. package/src/autocomplete/style.scss +1 -1
  386. package/src/border-box-control/border-box-control/README.md +10 -14
  387. package/src/border-box-control/border-box-control/component.tsx +21 -4
  388. package/src/border-box-control/border-box-control-linked-button/hook.ts +10 -6
  389. package/src/border-box-control/border-box-control-split-controls/component.tsx +24 -7
  390. package/src/border-box-control/border-box-control-visualizer/hook.ts +11 -6
  391. package/src/border-box-control/stories/index.js +1 -0
  392. package/src/border-box-control/styles.ts +15 -8
  393. package/src/border-box-control/types.ts +40 -14
  394. package/src/border-control/border-control/README.md +0 -7
  395. package/src/border-control/border-control/component.tsx +4 -2
  396. package/src/border-control/border-control/hook.ts +5 -2
  397. package/src/border-control/border-control-dropdown/component.tsx +18 -11
  398. package/src/border-control/border-control-dropdown/hook.ts +7 -5
  399. package/src/border-control/stories/index.js +1 -0
  400. package/src/border-control/styles.ts +82 -22
  401. package/src/border-control/types.ts +18 -6
  402. package/src/box-control/README.md +0 -74
  403. package/src/box-control/index.js +0 -15
  404. package/src/box-control/stories/index.js +0 -29
  405. package/src/box-control/utils.js +0 -7
  406. package/src/button/index.js +2 -4
  407. package/src/button/index.native.js +33 -18
  408. package/src/button/test/index.js +16 -1
  409. package/src/button-group/index.tsx +47 -0
  410. package/src/button-group/stories/index.tsx +41 -0
  411. package/src/button-group/types.ts +11 -0
  412. package/src/checkbox-control/README.md +10 -8
  413. package/src/checkbox-control/{index.js → index.tsx} +49 -14
  414. package/src/checkbox-control/stories/{index.js → index.tsx} +49 -27
  415. package/src/checkbox-control/types.ts +36 -0
  416. package/src/circular-option-picker/index.js +1 -2
  417. package/src/circular-option-picker/style.scss +1 -0
  418. package/src/color-palette/README.md +0 -1
  419. package/src/color-palette/index.js +6 -13
  420. package/src/color-palette/style.scss +3 -18
  421. package/src/color-palette/test/__snapshots__/index.js.snap +2 -3
  422. package/src/confirm-dialog/stories/index.js +87 -99
  423. package/src/date-time/README.md +13 -10
  424. package/src/date-time/{date.js → date.tsx} +49 -20
  425. package/src/date-time/{index.js → index.tsx} +31 -5
  426. package/src/date-time/stories/date.tsx +73 -0
  427. package/src/date-time/stories/index.tsx +75 -0
  428. package/src/date-time/stories/time.tsx +51 -0
  429. package/src/date-time/stories/utils.ts +9 -0
  430. package/src/date-time/test/date.tsx +127 -0
  431. package/src/date-time/test/{time.js → time.tsx} +34 -19
  432. package/src/date-time/test/{utils.js → utils.ts} +1 -1
  433. package/src/date-time/{time.js → time.tsx} +57 -46
  434. package/src/date-time/{timezone.js → timezone.tsx} +4 -3
  435. package/src/date-time/types.ts +106 -0
  436. package/src/date-time/utils.ts +20 -0
  437. package/src/dimension-control/test/__snapshots__/index.test.js.snap +4 -4
  438. package/src/disabled/index.js +5 -90
  439. package/src/draggable/index.native.js +215 -0
  440. package/src/draggable/style.native.scss +3 -0
  441. package/src/dropdown/index.js +9 -4
  442. package/src/dropdown/style.scss +1 -1
  443. package/src/focal-point-picker/index.native.js +3 -3
  444. package/src/form-file-upload/test/index.js +20 -13
  445. package/src/heading/hook.ts +1 -1
  446. package/src/heading/test/__snapshots__/index.js.snap +3 -3
  447. package/src/index.js +0 -1
  448. package/src/index.native.js +1 -0
  449. package/src/input-control/README.md +3 -3
  450. package/src/input-control/index.tsx +23 -3
  451. package/src/input-control/stories/index.tsx +63 -0
  452. package/src/input-control/styles/input-control-styles.tsx +20 -7
  453. package/src/input-control/types.ts +79 -2
  454. package/src/item-group/stories/index.js +22 -18
  455. package/src/menu-item/style.scss +10 -0
  456. package/src/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +1 -1
  457. package/src/mobile/bottom-sheet/bottom-sheet-navigation/test/navigation-container.native.js +9 -2
  458. package/src/mobile/bottom-sheet/index.native.js +1 -1
  459. package/src/mobile/bottom-sheet-select-control/index.native.js +8 -2
  460. package/src/mobile/html-text-input/index.native.js +45 -29
  461. package/src/mobile/html-text-input/style.android.scss +2 -15
  462. package/src/mobile/html-text-input/style.ios.scss +2 -15
  463. package/src/mobile/html-text-input/{style-common.native.scss → style.scss} +16 -0
  464. package/src/mobile/keyboard-aware-flat-list/index.android.js +15 -5
  465. package/src/mobile/keyboard-aware-flat-list/index.ios.js +75 -46
  466. package/src/mobile/link-settings/test/link-settings-navigation.native.js +9 -1
  467. package/src/navigation/styles/navigation-styles.js +5 -5
  468. package/src/navigator/stories/index.js +16 -10
  469. package/src/notice/index.native.js +44 -54
  470. package/src/notice/list.native.js +27 -51
  471. package/src/notice/style.native.scss +1 -0
  472. package/src/palette-edit/index.js +37 -9
  473. package/src/palette-edit/style.scss +0 -7
  474. package/src/palette-edit/test/index.js +63 -0
  475. package/src/panel/README.md +1 -1
  476. package/src/placeholder/test/index.js +7 -0
  477. package/src/popover/README.md +7 -9
  478. package/src/popover/index.js +242 -417
  479. package/src/popover/style.scss +20 -190
  480. package/src/popover/test/__snapshots__/index.js.snap +6 -18
  481. package/src/query-controls/README.md +2 -2
  482. package/src/resizable-box/resize-tooltip/utils.ts +4 -5
  483. package/src/sandbox/index.js +2 -2
  484. package/src/sandbox/index.native.js +1 -1
  485. package/src/select-control/README.md +2 -2
  486. package/src/select-control/index.tsx +30 -29
  487. package/src/select-control/stories/index.tsx +90 -0
  488. package/src/select-control/styles/select-control-styles.ts +16 -12
  489. package/src/select-control/test/{select-control.js → select-control.tsx} +2 -2
  490. package/src/select-control/types.ts +66 -1
  491. package/src/surface/styles.js +1 -1
  492. package/src/tab-panel/style.scss +1 -1
  493. package/src/text/hook.js +1 -1
  494. package/src/text/styles/text-mixins.native.js +2 -2
  495. package/src/text/styles.js +1 -1
  496. package/src/text/test/__snapshots__/{index.js.snap → index.tsx.snap} +16 -0
  497. package/src/text/test/{index.js → index.tsx} +12 -6
  498. package/src/text-control/index.tsx +84 -0
  499. package/src/text-control/stories/index.tsx +66 -0
  500. package/src/text-control/types.ts +29 -0
  501. package/src/toggle-group-control/test/__snapshots__/index.js.snap +4 -10
  502. package/src/toggle-group-control/toggle-group-control/component.tsx +7 -3
  503. package/src/toggle-group-control/toggle-group-control-option-icon/component.tsx +1 -5
  504. package/src/toolbar-group/style.scss +20 -0
  505. package/src/tools-panel/test/__snapshots__/index.js.snap +2 -2
  506. package/src/tools-panel/test/index.js +71 -18
  507. package/src/tools-panel/tools-panel-header/component.tsx +75 -33
  508. package/src/tools-panel/types.ts +0 -1
  509. package/src/tooltip/index.js +8 -2
  510. package/src/tooltip/style.scss +2 -4
  511. package/src/tooltip/test/index.js +6 -0
  512. package/src/tooltip/test/index.native.js +1 -1
  513. package/src/ui/spinner/component.js +1 -1
  514. package/src/ui/spinner/test/__snapshots__/index.js.snap +3 -3
  515. package/src/unit-control/index.tsx +2 -5
  516. package/src/unit-control/styles/unit-control-styles.ts +3 -13
  517. package/src/unit-control/test/__snapshots__/index.tsx.snap +33 -0
  518. package/src/unit-control/test/{index.js → index.tsx} +295 -166
  519. package/src/unit-control/test/{utils.js → utils.ts} +38 -19
  520. package/src/unit-control/types.ts +4 -1
  521. package/src/unit-control/utils.ts +5 -3
  522. package/src/utils/colors-values.js +18 -22
  523. package/tsconfig.json +14 -3
  524. package/tsconfig.tsbuildinfo +1 -1
  525. package/build/box-control/visualizer.js +0 -165
  526. package/build/box-control/visualizer.js.map +0 -1
  527. package/build/flyout/context.js +0 -23
  528. package/build/flyout/context.js.map +0 -1
  529. package/build/flyout/flyout/component.js +0 -106
  530. package/build/flyout/flyout/component.js.map +0 -1
  531. package/build/flyout/flyout/hook.js +0 -53
  532. package/build/flyout/flyout/hook.js.map +0 -1
  533. package/build/flyout/flyout/index.js +0 -24
  534. package/build/flyout/flyout/index.js.map +0 -1
  535. package/build/flyout/flyout-content/component.js +0 -65
  536. package/build/flyout/flyout-content/component.js.map +0 -1
  537. package/build/flyout/flyout-content/index.js +0 -16
  538. package/build/flyout/flyout-content/index.js.map +0 -1
  539. package/build/flyout/index.js +0 -16
  540. package/build/flyout/index.js.map +0 -1
  541. package/build/flyout/styles.js +0 -46
  542. package/build/flyout/styles.js.map +0 -1
  543. package/build/flyout/utils.js +0 -36
  544. package/build/flyout/utils.js.map +0 -1
  545. package/build/mobile/html-text-input/container.android.js +0 -41
  546. package/build/mobile/html-text-input/container.android.js.map +0 -1
  547. package/build/mobile/html-text-input/container.ios.js +0 -60
  548. package/build/mobile/html-text-input/container.ios.js.map +0 -1
  549. package/build/popover/utils.js +0 -322
  550. package/build/popover/utils.js.map +0 -1
  551. package/build-module/box-control/visualizer.js +0 -154
  552. package/build-module/box-control/visualizer.js.map +0 -1
  553. package/build-module/flyout/context.js +0 -11
  554. package/build-module/flyout/context.js.map +0 -1
  555. package/build-module/flyout/flyout/component.js +0 -89
  556. package/build-module/flyout/flyout/component.js.map +0 -1
  557. package/build-module/flyout/flyout/hook.js +0 -44
  558. package/build-module/flyout/flyout/hook.js.map +0 -1
  559. package/build-module/flyout/flyout/index.js +0 -3
  560. package/build-module/flyout/flyout/index.js.map +0 -1
  561. package/build-module/flyout/flyout-content/component.js +0 -51
  562. package/build-module/flyout/flyout-content/component.js.map +0 -1
  563. package/build-module/flyout/flyout-content/index.js +0 -2
  564. package/build-module/flyout/flyout-content/index.js.map +0 -1
  565. package/build-module/flyout/index.js +0 -2
  566. package/build-module/flyout/index.js.map +0 -1
  567. package/build-module/flyout/styles.js +0 -27
  568. package/build-module/flyout/styles.js.map +0 -1
  569. package/build-module/flyout/utils.js +0 -25
  570. package/build-module/flyout/utils.js.map +0 -1
  571. package/build-module/mobile/html-text-input/container.android.js +0 -29
  572. package/build-module/mobile/html-text-input/container.android.js.map +0 -1
  573. package/build-module/mobile/html-text-input/container.ios.js +0 -48
  574. package/build-module/mobile/html-text-input/container.ios.js.map +0 -1
  575. package/build-module/popover/utils.js +0 -308
  576. package/build-module/popover/utils.js.map +0 -1
  577. package/build-types/flyout/context.d.ts +0 -6
  578. package/build-types/flyout/context.d.ts.map +0 -1
  579. package/build-types/flyout/flyout/component.d.ts +0 -21
  580. package/build-types/flyout/flyout/component.d.ts.map +0 -1
  581. package/build-types/flyout/flyout/hook.d.ts +0 -270
  582. package/build-types/flyout/flyout/hook.d.ts.map +0 -1
  583. package/build-types/flyout/flyout/index.d.ts +0 -3
  584. package/build-types/flyout/flyout/index.d.ts.map +0 -1
  585. package/build-types/flyout/flyout-content/component.d.ts +0 -3
  586. package/build-types/flyout/flyout-content/component.d.ts.map +0 -1
  587. package/build-types/flyout/flyout-content/index.d.ts +0 -2
  588. package/build-types/flyout/flyout-content/index.d.ts.map +0 -1
  589. package/build-types/flyout/index.d.ts +0 -2
  590. package/build-types/flyout/index.d.ts.map +0 -1
  591. package/build-types/flyout/styles.d.ts +0 -22
  592. package/build-types/flyout/styles.d.ts.map +0 -1
  593. package/build-types/flyout/types.d.ts +0 -80
  594. package/build-types/flyout/types.d.ts.map +0 -1
  595. package/build-types/flyout/utils.d.ts +0 -8
  596. package/build-types/flyout/utils.d.ts.map +0 -1
  597. package/build-types/popover/utils.d.ts +0 -70
  598. package/build-types/popover/utils.d.ts.map +0 -1
  599. package/build-types/toggle-group-control/toggle-group-control-option/styles.d.ts +0 -19
  600. package/build-types/toggle-group-control/toggle-group-control-option/styles.d.ts.map +0 -1
  601. package/src/box-control/visualizer.js +0 -116
  602. package/src/button-group/index.js +0 -17
  603. package/src/button-group/stories/index.js +0 -21
  604. package/src/date-time/stories/date.js +0 -17
  605. package/src/date-time/stories/index.js +0 -72
  606. package/src/date-time/stories/time.js +0 -32
  607. package/src/date-time/test/date.js +0 -97
  608. package/src/date-time/utils.js +0 -18
  609. package/src/flyout/context.js +0 -10
  610. package/src/flyout/flyout/README.md +0 -98
  611. package/src/flyout/flyout/component.js +0 -111
  612. package/src/flyout/flyout/hook.js +0 -45
  613. package/src/flyout/flyout/index.js +0 -2
  614. package/src/flyout/flyout-content/component.js +0 -53
  615. package/src/flyout/flyout-content/index.js +0 -1
  616. package/src/flyout/index.js +0 -1
  617. package/src/flyout/stories/index.js +0 -24
  618. package/src/flyout/styles.ts +0 -41
  619. package/src/flyout/test/__snapshots__/index.js.snap +0 -186
  620. package/src/flyout/test/index.js +0 -103
  621. package/src/flyout/types.ts +0 -84
  622. package/src/flyout/utils.js +0 -23
  623. package/src/input-control/stories/index.js +0 -71
  624. package/src/mobile/html-text-input/container.android.js +0 -23
  625. package/src/mobile/html-text-input/container.ios.js +0 -50
  626. package/src/popover/test/utils.js +0 -304
  627. package/src/popover/utils.js +0 -396
  628. package/src/select-control/stories/index.js +0 -104
  629. package/src/text-control/index.js +0 -72
  630. package/src/text-control/stories/index.js +0 -46
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/border-control/styles.ts"],"names":["labelStyles","borderControl","innerWrapper","css","CONFIG","borderWidth","COLORS","gray","UnitControlWrapper","marginLeft","wrapperWidth","width","borderControlDropdown","borderRadius","borderRight","borderLeft","colorIndicatorBorder","border","color","style","fallbackColor","undefined","colorIndicatorWrapper","borderControlPopover","borderControlPopoverControls","StyledLabel","borderControlPopoverContent","borderColorIndicator","resetButton","borderWidthControl","BackdropUI","paddingRight","borderControlStylePicker","borderStyleButton","borderSlider","marginRight","StyledField"],"mappings":";;;;;;;AAGA;;AAMA;;AACA;;AACA;;AAIA;;AACA;;;;AAIA,MAAMA,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAjB;AAIO,MAAMC,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAnB;;;AAIA,MAAMC,YAAY,GAAG,uBAAMC,UAAN,aAChBC,cAAOC,WADS,aACcC,cAAOC,IAAP,CAAa,GAAb,CADd,sDAgBxBC,uBAhBwB,cAkBvB,gBAAK;AAAEC,EAAAA,UAAU,EAAE;AAAd,CAAL,GAlBuB,uvMAArB;;;;AAsBA,MAAMC,YAAY,GAAKC,KAAF,IAAuC;AAClE,0BAAOR,UAAP,YACWQ,KADX;AAIA,CALM;;;;AAOA,MAAMC,qBAAqB,GAAG,uBAAMT,UAAN,sBAEjC,gBACF;AACCU,EAAAA,YAAY,EAAG,aADhB;AAECC,EAAAA,WAAW,EAAG,GAAGV,cAAOC,WAAa,UAAUC,cAAOC,IAAP,CAAa,GAAb,CAAoB;AAFpE,CADE,EAKF;AACCM,EAAAA,YAAY,EAAG,aADhB;AAECE,EAAAA,UAAU,EAAG,GAAGX,cAAOC,WAAa,UAAUC,cAAOC,IAAP,CAAa,GAAb,CAAoB;AAFnE,CALE,GAFiC,yBAcvB,kBAAO,CAAP,CAduB,sxMAA9B;;;;AAmBA,MAAMS,oBAAoB,GAAKC,MAAF,IAAuB;AAC1D,QAAM;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,MAAmBF,MAAM,IAAI,EAAnC;AAEA,QAAMG,aAAa,GAClB,CAAC,CAAED,KAAH,IAAYA,KAAK,KAAK,MAAtB,GAA+Bb,cAAOC,IAAP,CAAa,GAAb,CAA/B,GAAoDc,SADrD;AAGA,0BAAOlB,UAAP,mBACkBgB,KAAK,KAAK,MAAV,GAAmB,OAAnB,GAA6BA,KAD/C,oBAEkBD,KAAK,IAAIE,aAF3B;AAIA,CAVM;;;;AAYA,MAAME,qBAAqB,GAAKL,MAAF,IAAuB;AAC3D,QAAM;AAAEE,IAAAA;AAAF,MAAYF,MAAM,IAAI,EAA5B;AAEA,0BAAOd,UAAP,wDAGIgB,KAAK,GAAGH,oBAAoB,CAAEC,MAAF,CAAvB,GAAoCI,SAH7C;AAwBA,CA3BM;;;AA6BA,MAAME,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAA1B;;AAOA,MAAMC,4BAA4B,oBAAGrB,UAAH,cAC5B,kBAAO,CAAP,CAD4B,0BAGfsB,8BAHe,uBAKpCzB,WALoC,WAQlCyB,8BARkC,wzMAAlC;;AAcA,MAAMC,2BAA2B,oBAAGvB,UAAH,6vMAAjC;;AACA,MAAMwB,oBAAoB,oBAAGxB,UAAH,svMAA1B;;AAEA,MAAMyB,WAAW,oBAAGzB,UAAH,sDAMPC,cAAOC,WANA,aAMuBC,cAAOC,IAAP,CAAa,GAAb,CANvB,kwMAAjB;;;AAWA,MAAMsB,kBAAkB,GAAG,uBAAM1B,UAAN,UAE1B2B,8BAF0B,8BAS7B,gBAAK;AAAEC,EAAAA,YAAY,EAAE;AAAhB,CAAL,GAT6B,6vMAA3B;;;AAaA,MAAMC,wBAAwB,oBAAG7B,UAAH,EACjCsB,8BADiC,OAEhCzB,WAFgC,mwMAA9B;;AAMA,MAAMiC,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAvB;;;AASA,MAAMC,YAAY,GAAG,uBAAM/B,UAAN,mBAExB,gBAAK;AAAEgC,EAAAA,WAAW,EAAE,kBAAO,CAAP;AAAf,CAAL,GAFwB,OAIxBC,8BAJwB,gyMAArB","sourcesContent":["/**\n * External dependencies\n */\nimport { css } from '@emotion/react';\nimport type { CSSProperties } from 'react';\n\n/**\n * Internal dependencies\n */\nimport { COLORS, CONFIG, rtl } from '../utils';\nimport { space } from '../ui/utils/space';\nimport {\n\tStyledField,\n\tStyledLabel,\n} from '../base-control/styles/base-control-styles';\nimport { BackdropUI } from '../input-control/styles/input-control-styles';\nimport { Root as UnitControlWrapper } from '../unit-control/styles/unit-control-styles';\n\nimport type { Border } from './types';\n\nconst labelStyles = css`\n\tfont-weight: 500;\n`;\n\nexport const borderControl = css`\n\tposition: relative;\n`;\n\nexport const innerWrapper = () => css`\n\tborder: ${ CONFIG.borderWidth } solid ${ COLORS.gray[ 200 ] };\n\tborder-radius: 2px;\n\tflex: 1 0 40%;\n\n\t/*\n\t * Needs more thought. Aim is to prevent the border for BorderBoxControl\n\t * showing through the control. Likely needs to take into account\n\t * light/dark themes etc.\n\t */\n\tbackground: #fff;\n\n\t/*\n\t * Forces the width control to fill available space given UnitControl\n\t * passes its className directly through to the input.\n\t */\n\t${ UnitControlWrapper } {\n\t\tflex: 1;\n\t\t${ rtl( { marginLeft: 0 } )() }\n\t}\n`;\n\nexport const wrapperWidth = ( width: CSSProperties[ 'width' ] ) => {\n\treturn css`\n\t\twidth: ${ width };\n\t\tflex: 0 0 auto;\n\t`;\n};\n\nexport const borderControlDropdown = () => css`\n\tbackground: #fff;\n\t${ rtl(\n\t\t{\n\t\t\tborderRadius: `1px 0 0 1px`,\n\t\t\tborderRight: `${ CONFIG.borderWidth } solid ${ COLORS.gray[ 200 ] }`,\n\t\t},\n\t\t{\n\t\t\tborderRadius: `0 1px 1px 0`,\n\t\t\tborderLeft: `${ CONFIG.borderWidth } solid ${ COLORS.gray[ 200 ] }`,\n\t\t}\n\t)() }\n\n\t&& > button {\n\t\tpadding: ${ space( 1 ) };\n\t\tborder-radius: inherit;\n\t}\n`;\n\nexport const colorIndicatorBorder = ( border?: Border ) => {\n\tconst { color, style } = border || {};\n\n\tconst fallbackColor =\n\t\t!! style && style !== 'none' ? COLORS.gray[ 300 ] : undefined;\n\n\treturn css`\n\t\tborder-style: ${ style === 'none' ? 'solid' : style };\n\t\tborder-color: ${ color || fallbackColor };\n\t`;\n};\n\nexport const colorIndicatorWrapper = ( border?: Border ) => {\n\tconst { style } = border || {};\n\n\treturn css`\n\t\tborder-radius: 9999px;\n\t\tborder: 2px solid transparent;\n\t\t${ style ? colorIndicatorBorder( border ) : undefined }\n\t\twidth: 28px;\n\t\theight: 28px;\n\t\tpadding: 2px;\n\n\t\t/*\n\t\t * ColorIndicator\n\t\t *\n\t\t * The transparent colors used here ensure visibility of the indicator\n\t\t * over the active state of the border control dropdown's toggle button.\n\t\t */\n\t\t& > span {\n\t\t\tbackground: linear-gradient(\n\t\t\t\t-45deg,\n\t\t\t\ttransparent 48%,\n\t\t\t\trgb( 0 0 0 / 20% ) 48%,\n\t\t\t\trgb( 0 0 0 / 20% ) 52%,\n\t\t\t\ttransparent 52%\n\t\t\t);\n\t\t}\n\t`;\n};\n\nexport const borderControlPopover = css`\n\t/* Remove padding from content, this will be re-added via inner elements*/\n\t&& > div > div {\n\t\tpadding: 0;\n\t}\n`;\n\nexport const borderControlPopoverControls = css`\n\tpadding: ${ space( 2 ) };\n\n\t> div:first-of-type > ${ StyledLabel } {\n\t\tmargin-bottom: 0;\n\t\t${ labelStyles }\n\t}\n\n\t&& ${ StyledLabel } + button:not( .has-text ) {\n\t\tmin-width: 24px;\n\t\tpadding: 0;\n\t}\n`;\n\nexport const borderControlPopoverContent = css``;\nexport const borderColorIndicator = css``;\n\nexport const resetButton = css`\n\tjustify-content: center;\n\twidth: 100%;\n\n\t/* Override button component styling */\n\t&& {\n\t\tborder-top: ${ CONFIG.borderWidth } solid ${ COLORS.gray[ 200 ] };\n\t\theight: 46px;\n\t}\n`;\n\nexport const borderWidthControl = () => css`\n\t/* Target the InputControl's backdrop */\n\t&&& ${ BackdropUI } {\n\t\tborder: none;\n\t}\n\n\t/* Specificity required to overcome UnitControl padding */\n\t/* See packages/components/src/unit-control/styles/unit-control-styles.ts */\n\t&&& input {\n\t\t${ rtl( { paddingRight: 0 } )() }\n\t}\n`;\n\nexport const borderControlStylePicker = css`\n\t${ StyledLabel } {\n\t\t${ labelStyles }\n\t}\n`;\n\nexport const borderStyleButton = css`\n\t&&&&& {\n\t\tmin-width: 30px;\n\t\twidth: 30px;\n\t\theight: 30px;\n\t\tpadding: 3px;\n\t}\n`;\n\nexport const borderSlider = () => css`\n\tflex: 1 1 60%;\n\t${ rtl( { marginRight: space( 3 ) } )() }\n\n\t${ StyledField } {\n\t\tmargin-bottom: 0;\n\t\tfont-size: 0;\n\t\tdisplay: flex;\n\t}\n`;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/border-control/styles.ts"],"names":["labelStyles","focusBoxShadow","css","CONFIG","borderWidth","COLORS","ui","borderFocus","borderControl","innerWrapper","UnitControlWrapper","marginLeft","UnitSelect","borderRadius","marginRight","wrapperWidth","width","wrapperHeight","__next36pxDefaultSize","borderControlDropdown","border","colorIndicatorBorder","color","style","fallbackColor","gray","undefined","colorIndicatorWrapper","borderControlPopover","borderControlPopoverControls","StyledLabel","borderControlPopoverContent","borderColorIndicator","resetButton","borderWidthControl","BackdropUI","borderTopLeftRadius","borderBottomLeftRadius","paddingRight","borderControlStylePicker","borderStyleButton","borderSlider","StyledField"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { css } from '@emotion/react';\nimport type { CSSProperties } from 'react';\n\n/**\n * Internal dependencies\n */\nimport { COLORS, CONFIG, rtl } from '../utils';\nimport { space } from '../ui/utils/space';\nimport {\n\tStyledField,\n\tStyledLabel,\n} from '../base-control/styles/base-control-styles';\nimport { BackdropUI } from '../input-control/styles/input-control-styles';\nimport {\n\tRoot as UnitControlWrapper,\n\tUnitSelect,\n} from '../unit-control/styles/unit-control-styles';\n\nimport type { Border } from './types';\n\nconst labelStyles = css`\n\tfont-weight: 500;\n`;\n\nconst focusBoxShadow = css`\n\tbox-shadow: inset 0 0 0 ${ CONFIG.borderWidth } ${ COLORS.ui.borderFocus };\n`;\n\nexport const borderControl = css`\n\tposition: relative;\n`;\n\nexport const innerWrapper = () => css`\n\tflex: 1 0 40%;\n\n\t/*\n\t * Needs more thought. Aim is to prevent the border for BorderBoxControl\n\t * showing through the control. Likely needs to take into account\n\t * light/dark themes etc.\n\t */\n\tbackground: #fff;\n\n\t/*\n\t * Forces the width control to fill available space given UnitControl\n\t * passes its className directly through to the input.\n\t */\n\t${ UnitControlWrapper } {\n\t\tflex: 1;\n\t\t${ rtl( { marginLeft: -1 } )() }\n\t}\n\n\t&& ${ UnitSelect } {\n\t\t/* Prevent default styles forcing heights larger than BorderControl */\n\t\tmin-height: 0;\n\t\t${ rtl(\n\t\t\t{\n\t\t\t\tborderRadius: '0 1px 1px 0',\n\t\t\t\tmarginRight: 0,\n\t\t\t},\n\t\t\t{\n\t\t\t\tborderRadius: '1px 0 0 1px',\n\t\t\t\tmarginLeft: 0,\n\t\t\t}\n\t\t)() }\n\t\ttransition: box-shadow 0.1s linear, border 0.1s linear;\n\n\t\t&:focus {\n\t\t\tz-index: 1;\n\t\t\t${ focusBoxShadow }\n\t\t\tborder: 1px solid ${ COLORS.ui.borderFocus };\n\t\t}\n\t}\n`;\n\nexport const wrapperWidth = ( width: CSSProperties[ 'width' ] ) => {\n\treturn css`\n\t\twidth: ${ width };\n\t\tflex: 0 0 auto;\n\t`;\n};\n\n/*\n * When default control height is 36px the following should be removed.\n * See: InputControl and __next36pxDefaultSize.\n */\nexport const wrapperHeight = ( __next36pxDefaultSize?: boolean ) => {\n\treturn css`\n\t\theight: ${ __next36pxDefaultSize ? '36px' : '30px' };\n\t`;\n};\n\nexport const borderControlDropdown = () => css`\n\tbackground: #fff;\n\n\t&& > button {\n\t\t/*\n\t\t * Override button component height and padding to fit within\n\t\t * BorderControl\n\t\t */\n\t\theight: 100%;\n\t\tpadding: ${ space( 0.75 ) };\n\t\t${ rtl(\n\t\t\t{ borderRadius: `2px 0 0 2px` },\n\t\t\t{ borderRadius: `0 2px 2px 0` }\n\t\t)() }\n\t\tborder: ${ CONFIG.borderWidth } solid ${ COLORS.ui.border };\n\t\tposition: relative;\n\n\t\t&:focus,\n\t\t&:hover:not( :disabled ) {\n\t\t\t${ focusBoxShadow }\n\t\t\tborder-color: ${ COLORS.ui.borderFocus };\n\t\t\tz-index: 1;\n\t\t\tposition: relative;\n\t\t}\n\t}\n`;\n\nexport const colorIndicatorBorder = ( border?: Border ) => {\n\tconst { color, style } = border || {};\n\n\tconst fallbackColor =\n\t\t!! style && style !== 'none' ? COLORS.gray[ 300 ] : undefined;\n\n\treturn css`\n\t\tborder-style: ${ style === 'none' ? 'solid' : style };\n\t\tborder-color: ${ color || fallbackColor };\n\t`;\n};\n\nexport const colorIndicatorWrapper = (\n\tborder?: Border,\n\t__next36pxDefaultSize?: boolean\n) => {\n\tconst { style } = border || {};\n\n\treturn css`\n\t\tborder-radius: 9999px;\n\t\tborder: 2px solid transparent;\n\t\t${ style ? colorIndicatorBorder( border ) : undefined }\n\t\twidth: ${ __next36pxDefaultSize ? '28px' : '22px' };\n\t\theight: ${ __next36pxDefaultSize ? '28px' : '22px' };\n\t\tpadding: ${ __next36pxDefaultSize ? '2px' : '1px' };\n\n\t\t/*\n\t\t * ColorIndicator\n\t\t *\n\t\t * The transparent colors used here ensure visibility of the indicator\n\t\t * over the active state of the border control dropdown's toggle button.\n\t\t */\n\t\t& > span {\n\t\t\t${ ! __next36pxDefaultSize\n\t\t\t\t? css`\n\t\t\t\t\t\t/* Dimensions fit in 30px overall control height. */\n\t\t\t\t\t\theight: 16px;\n\t\t\t\t\t\twidth: 16px;\n\t\t\t\t `\n\t\t\t\t: '' }\n\t\t\tbackground: linear-gradient(\n\t\t\t\t-45deg,\n\t\t\t\ttransparent 48%,\n\t\t\t\trgb( 0 0 0 / 20% ) 48%,\n\t\t\t\trgb( 0 0 0 / 20% ) 52%,\n\t\t\t\ttransparent 52%\n\t\t\t);\n\t\t}\n\t`;\n};\n\nexport const borderControlPopover = css`\n\t/* Remove padding from content, this will be re-added via inner elements*/\n\t&& .components-popover__content {\n\t\tpadding: 0;\n\t\twidth: 264px;\n\t}\n`;\n\nexport const borderControlPopoverControls = css`\n\tpadding: ${ space( 2 ) };\n\n\t> div:first-of-type > ${ StyledLabel } {\n\t\tmargin-bottom: 0;\n\t\t${ labelStyles }\n\t}\n\n\t&& ${ StyledLabel } + button:not( .has-text ) {\n\t\tmin-width: 24px;\n\t\tpadding: 0;\n\t}\n`;\n\nexport const borderControlPopoverContent = css``;\nexport const borderColorIndicator = css``;\n\nexport const resetButton = css`\n\tjustify-content: center;\n\twidth: 100%;\n\n\t/* Override button component styling */\n\t&& {\n\t\tborder-top: ${ CONFIG.borderWidth } solid ${ COLORS.gray[ 200 ] };\n\t\theight: 46px;\n\t}\n`;\n\nexport const borderWidthControl = () => css`\n\t/* Target the InputControl's backdrop */\n\t&&& ${ BackdropUI } {\n\t\t${ rtl( {\n\t\t\tborderTopLeftRadius: 0,\n\t\t\tborderBottomLeftRadius: 0,\n\t\t} )() }\n\t\ttransition: box-shadow 0.1s linear;\n\t}\n\n\t/* Specificity required to overcome UnitControl padding */\n\t/* See packages/components/src/unit-control/styles/unit-control-styles.ts */\n\t&&& input {\n\t\t${ rtl( { paddingRight: 0 } )() }\n\t}\n`;\n\nexport const borderControlStylePicker = css`\n\t${ StyledLabel } {\n\t\t${ labelStyles }\n\t}\n`;\n\nexport const borderStyleButton = css`\n\t&&&&& {\n\t\tmin-width: 30px;\n\t\twidth: 30px;\n\t\theight: 30px;\n\t\tpadding: 3px;\n\t}\n`;\n\nexport const borderSlider = () => css`\n\tflex: 1 1 60%;\n\t${ rtl( { marginRight: space( 3 ) } )() }\n\n\t${ StyledField } {\n\t\tmargin-bottom: 0;\n\t\tfont-size: 0;\n\t\tdisplay: flex;\n\t}\n`;\n"]}
@@ -33,8 +33,6 @@ var _text = require("../text");
33
33
 
34
34
  var _linkedButton = _interopRequireDefault(require("./linked-button"));
35
35
 
36
- var _visualizer = _interopRequireDefault(require("./visualizer"));
37
-
38
36
  var _boxControlStyles = require("./styles/box-control-styles");
39
37
 
40
38
  var _utils = require("../unit-control/utils");
@@ -68,7 +66,6 @@ function BoxControl(_ref) {
68
66
  id: idProp,
69
67
  inputProps = defaultInputProps,
70
68
  onChange = _lodash.noop,
71
- onChangeShowVisualizer = _lodash.noop,
72
69
  label = (0, _i18n.__)('Box Control'),
73
70
  values: valuesProp,
74
71
  units,
@@ -116,20 +113,6 @@ function BoxControl(_ref) {
116
113
  setIsDirty(true);
117
114
  };
118
115
 
119
- const handleOnHoverOn = function () {
120
- let next = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
121
- onChangeShowVisualizer({ ..._utils2.DEFAULT_VISUALIZER_VALUES,
122
- ...next
123
- });
124
- };
125
-
126
- const handleOnHoverOff = function () {
127
- let next = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
128
- onChangeShowVisualizer({ ..._utils2.DEFAULT_VISUALIZER_VALUES,
129
- ...next
130
- });
131
- };
132
-
133
116
  const handleOnReset = () => {
134
117
  onChange(resetValues);
135
118
  setValues(resetValues);
@@ -140,8 +123,6 @@ function BoxControl(_ref) {
140
123
  const inputControlProps = { ...inputProps,
141
124
  onChange: handleOnChange,
142
125
  onFocus: handleOnFocus,
143
- onHoverOn: handleOnHoverOn,
144
- onHoverOff: handleOnHoverOff,
145
126
  isLinked,
146
127
  units,
147
128
  selectedUnits,
@@ -176,6 +157,4 @@ function BoxControl(_ref) {
176
157
  isLinked: isLinked
177
158
  }))), !isLinked && !splitOnAxis && (0, _element.createElement)(_inputControls.default, inputControlProps));
178
159
  }
179
-
180
- BoxControl.__Visualizer = _visualizer.default;
181
160
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/box-control/index.js"],"names":["defaultInputProps","min","useUniqueId","idProp","instanceId","BoxControl","id","inputProps","onChange","noop","onChangeShowVisualizer","label","values","valuesProp","units","sides","splitOnAxis","allowReset","resetValues","DEFAULT_VALUES","setValues","fallback","inputValues","hasInitialValue","hasOneSide","length","isDirty","setIsDirty","isLinked","setIsLinked","side","setSide","selectedUnits","setSelectedUnits","top","right","bottom","left","headingId","toggleLinked","handleOnFocus","event","nextSide","handleOnChange","nextValues","handleOnHoverOn","next","DEFAULT_VISUALIZER_VALUES","handleOnHoverOff","handleOnReset","inputControlProps","onFocus","onHoverOn","onHoverOff","__Visualizer","Visualizer"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport { FlexItem, FlexBlock } from '../flex';\nimport AllInputControl from './all-input-control';\nimport InputControls from './input-controls';\nimport AxialInputControls from './axial-input-controls';\nimport BoxControlIcon from './icon';\nimport { Text } from '../text';\nimport LinkedButton from './linked-button';\nimport Visualizer from './visualizer';\nimport {\n\tRoot,\n\tHeader,\n\tHeaderControlWrapper,\n} from './styles/box-control-styles';\nimport { parseQuantityAndUnitFromRawValue } from '../unit-control/utils';\nimport {\n\tDEFAULT_VALUES,\n\tDEFAULT_VISUALIZER_VALUES,\n\tgetInitialSide,\n\tisValuesMixed,\n\tisValuesDefined,\n} from './utils';\nimport { useControlledState } from '../utils/hooks';\n\nconst defaultInputProps = {\n\tmin: 0,\n};\n\nfunction useUniqueId( idProp ) {\n\tconst instanceId = useInstanceId( BoxControl, 'inspector-box-control' );\n\n\treturn idProp || instanceId;\n}\nexport default function BoxControl( {\n\tid: idProp,\n\tinputProps = defaultInputProps,\n\tonChange = noop,\n\tonChangeShowVisualizer = noop,\n\tlabel = __( 'Box Control' ),\n\tvalues: valuesProp,\n\tunits,\n\tsides,\n\tsplitOnAxis = false,\n\tallowReset = true,\n\tresetValues = DEFAULT_VALUES,\n} ) {\n\tconst [ values, setValues ] = useControlledState( valuesProp, {\n\t\tfallback: DEFAULT_VALUES,\n\t} );\n\tconst inputValues = values || DEFAULT_VALUES;\n\tconst hasInitialValue = isValuesDefined( valuesProp );\n\tconst hasOneSide = sides?.length === 1;\n\n\tconst [ isDirty, setIsDirty ] = useState( hasInitialValue );\n\tconst [ isLinked, setIsLinked ] = useState(\n\t\t! hasInitialValue || ! isValuesMixed( inputValues ) || hasOneSide\n\t);\n\n\tconst [ side, setSide ] = useState(\n\t\tgetInitialSide( isLinked, splitOnAxis )\n\t);\n\n\t// Tracking selected units via internal state allows filtering of CSS unit\n\t// only values from being saved while maintaining preexisting unit selection\n\t// behaviour. Filtering CSS only values prevents invalid style values.\n\tconst [ selectedUnits, setSelectedUnits ] = useState( {\n\t\ttop: parseQuantityAndUnitFromRawValue( valuesProp?.top )[ 1 ],\n\t\tright: parseQuantityAndUnitFromRawValue( valuesProp?.right )[ 1 ],\n\t\tbottom: parseQuantityAndUnitFromRawValue( valuesProp?.bottom )[ 1 ],\n\t\tleft: parseQuantityAndUnitFromRawValue( valuesProp?.left )[ 1 ],\n\t} );\n\n\tconst id = useUniqueId( idProp );\n\tconst headingId = `${ id }-heading`;\n\n\tconst toggleLinked = () => {\n\t\tsetIsLinked( ! isLinked );\n\t\tsetSide( getInitialSide( ! isLinked, splitOnAxis ) );\n\t};\n\n\tconst handleOnFocus = ( event, { side: nextSide } ) => {\n\t\tsetSide( nextSide );\n\t};\n\n\tconst handleOnChange = ( nextValues ) => {\n\t\tonChange( nextValues );\n\t\tsetValues( nextValues );\n\t\tsetIsDirty( true );\n\t};\n\n\tconst handleOnHoverOn = ( next = {} ) => {\n\t\tonChangeShowVisualizer( { ...DEFAULT_VISUALIZER_VALUES, ...next } );\n\t};\n\n\tconst handleOnHoverOff = ( next = {} ) => {\n\t\tonChangeShowVisualizer( { ...DEFAULT_VISUALIZER_VALUES, ...next } );\n\t};\n\n\tconst handleOnReset = () => {\n\t\tonChange( resetValues );\n\t\tsetValues( resetValues );\n\t\tsetSelectedUnits( resetValues );\n\t\tsetIsDirty( false );\n\t};\n\n\tconst inputControlProps = {\n\t\t...inputProps,\n\t\tonChange: handleOnChange,\n\t\tonFocus: handleOnFocus,\n\t\tonHoverOn: handleOnHoverOn,\n\t\tonHoverOff: handleOnHoverOff,\n\t\tisLinked,\n\t\tunits,\n\t\tselectedUnits,\n\t\tsetSelectedUnits,\n\t\tsides,\n\t\tvalues: inputValues,\n\t};\n\n\treturn (\n\t\t<Root id={ id } role=\"region\" aria-labelledby={ headingId }>\n\t\t\t<Header className=\"component-box-control__header\">\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Text\n\t\t\t\t\t\tid={ headingId }\n\t\t\t\t\t\tclassName=\"component-box-control__label\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</Text>\n\t\t\t\t</FlexItem>\n\t\t\t\t{ allowReset && (\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"component-box-control__reset-button\"\n\t\t\t\t\t\t\tisSecondary\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\tonClick={ handleOnReset }\n\t\t\t\t\t\t\tdisabled={ ! isDirty }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t</Header>\n\t\t\t<HeaderControlWrapper className=\"component-box-control__header-control-wrapper\">\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<BoxControlIcon side={ side } sides={ sides } />\n\t\t\t\t</FlexItem>\n\t\t\t\t{ isLinked && (\n\t\t\t\t\t<FlexBlock>\n\t\t\t\t\t\t<AllInputControl\n\t\t\t\t\t\t\taria-label={ label }\n\t\t\t\t\t\t\t{ ...inputControlProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexBlock>\n\t\t\t\t) }\n\t\t\t\t{ ! isLinked && splitOnAxis && (\n\t\t\t\t\t<FlexBlock>\n\t\t\t\t\t\t<AxialInputControls { ...inputControlProps } />\n\t\t\t\t\t</FlexBlock>\n\t\t\t\t) }\n\t\t\t\t{ ! hasOneSide && (\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<LinkedButton\n\t\t\t\t\t\t\tonClick={ toggleLinked }\n\t\t\t\t\t\t\tisLinked={ isLinked }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t</HeaderControlWrapper>\n\t\t\t{ ! isLinked && ! splitOnAxis && (\n\t\t\t\t<InputControls { ...inputControlProps } />\n\t\t\t) }\n\t\t</Root>\n\t);\n}\n\nBoxControl.__Visualizer = Visualizer;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/box-control/index.js"],"names":["defaultInputProps","min","useUniqueId","idProp","instanceId","BoxControl","id","inputProps","onChange","noop","label","values","valuesProp","units","sides","splitOnAxis","allowReset","resetValues","DEFAULT_VALUES","setValues","fallback","inputValues","hasInitialValue","hasOneSide","length","isDirty","setIsDirty","isLinked","setIsLinked","side","setSide","selectedUnits","setSelectedUnits","top","right","bottom","left","headingId","toggleLinked","handleOnFocus","event","nextSide","handleOnChange","nextValues","handleOnReset","inputControlProps","onFocus"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport { FlexItem, FlexBlock } from '../flex';\nimport AllInputControl from './all-input-control';\nimport InputControls from './input-controls';\nimport AxialInputControls from './axial-input-controls';\nimport BoxControlIcon from './icon';\nimport { Text } from '../text';\nimport LinkedButton from './linked-button';\nimport {\n\tRoot,\n\tHeader,\n\tHeaderControlWrapper,\n} from './styles/box-control-styles';\nimport { parseQuantityAndUnitFromRawValue } from '../unit-control/utils';\nimport {\n\tDEFAULT_VALUES,\n\tgetInitialSide,\n\tisValuesMixed,\n\tisValuesDefined,\n} from './utils';\nimport { useControlledState } from '../utils/hooks';\n\nconst defaultInputProps = {\n\tmin: 0,\n};\n\nfunction useUniqueId( idProp ) {\n\tconst instanceId = useInstanceId( BoxControl, 'inspector-box-control' );\n\n\treturn idProp || instanceId;\n}\nexport default function BoxControl( {\n\tid: idProp,\n\tinputProps = defaultInputProps,\n\tonChange = noop,\n\tlabel = __( 'Box Control' ),\n\tvalues: valuesProp,\n\tunits,\n\tsides,\n\tsplitOnAxis = false,\n\tallowReset = true,\n\tresetValues = DEFAULT_VALUES,\n} ) {\n\tconst [ values, setValues ] = useControlledState( valuesProp, {\n\t\tfallback: DEFAULT_VALUES,\n\t} );\n\tconst inputValues = values || DEFAULT_VALUES;\n\tconst hasInitialValue = isValuesDefined( valuesProp );\n\tconst hasOneSide = sides?.length === 1;\n\n\tconst [ isDirty, setIsDirty ] = useState( hasInitialValue );\n\tconst [ isLinked, setIsLinked ] = useState(\n\t\t! hasInitialValue || ! isValuesMixed( inputValues ) || hasOneSide\n\t);\n\n\tconst [ side, setSide ] = useState(\n\t\tgetInitialSide( isLinked, splitOnAxis )\n\t);\n\n\t// Tracking selected units via internal state allows filtering of CSS unit\n\t// only values from being saved while maintaining preexisting unit selection\n\t// behaviour. Filtering CSS only values prevents invalid style values.\n\tconst [ selectedUnits, setSelectedUnits ] = useState( {\n\t\ttop: parseQuantityAndUnitFromRawValue( valuesProp?.top )[ 1 ],\n\t\tright: parseQuantityAndUnitFromRawValue( valuesProp?.right )[ 1 ],\n\t\tbottom: parseQuantityAndUnitFromRawValue( valuesProp?.bottom )[ 1 ],\n\t\tleft: parseQuantityAndUnitFromRawValue( valuesProp?.left )[ 1 ],\n\t} );\n\n\tconst id = useUniqueId( idProp );\n\tconst headingId = `${ id }-heading`;\n\n\tconst toggleLinked = () => {\n\t\tsetIsLinked( ! isLinked );\n\t\tsetSide( getInitialSide( ! isLinked, splitOnAxis ) );\n\t};\n\n\tconst handleOnFocus = ( event, { side: nextSide } ) => {\n\t\tsetSide( nextSide );\n\t};\n\n\tconst handleOnChange = ( nextValues ) => {\n\t\tonChange( nextValues );\n\t\tsetValues( nextValues );\n\t\tsetIsDirty( true );\n\t};\n\n\tconst handleOnReset = () => {\n\t\tonChange( resetValues );\n\t\tsetValues( resetValues );\n\t\tsetSelectedUnits( resetValues );\n\t\tsetIsDirty( false );\n\t};\n\n\tconst inputControlProps = {\n\t\t...inputProps,\n\t\tonChange: handleOnChange,\n\t\tonFocus: handleOnFocus,\n\t\tisLinked,\n\t\tunits,\n\t\tselectedUnits,\n\t\tsetSelectedUnits,\n\t\tsides,\n\t\tvalues: inputValues,\n\t};\n\n\treturn (\n\t\t<Root id={ id } role=\"region\" aria-labelledby={ headingId }>\n\t\t\t<Header className=\"component-box-control__header\">\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Text\n\t\t\t\t\t\tid={ headingId }\n\t\t\t\t\t\tclassName=\"component-box-control__label\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</Text>\n\t\t\t\t</FlexItem>\n\t\t\t\t{ allowReset && (\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"component-box-control__reset-button\"\n\t\t\t\t\t\t\tisSecondary\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\tonClick={ handleOnReset }\n\t\t\t\t\t\t\tdisabled={ ! isDirty }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t</Header>\n\t\t\t<HeaderControlWrapper className=\"component-box-control__header-control-wrapper\">\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<BoxControlIcon side={ side } sides={ sides } />\n\t\t\t\t</FlexItem>\n\t\t\t\t{ isLinked && (\n\t\t\t\t\t<FlexBlock>\n\t\t\t\t\t\t<AllInputControl\n\t\t\t\t\t\t\taria-label={ label }\n\t\t\t\t\t\t\t{ ...inputControlProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexBlock>\n\t\t\t\t) }\n\t\t\t\t{ ! isLinked && splitOnAxis && (\n\t\t\t\t\t<FlexBlock>\n\t\t\t\t\t\t<AxialInputControls { ...inputControlProps } />\n\t\t\t\t\t</FlexBlock>\n\t\t\t\t) }\n\t\t\t\t{ ! hasOneSide && (\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<LinkedButton\n\t\t\t\t\t\t\tonClick={ toggleLinked }\n\t\t\t\t\t\t\tisLinked={ isLinked }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t</HeaderControlWrapper>\n\t\t\t{ ! isLinked && ! splitOnAxis && (\n\t\t\t\t<InputControls { ...inputControlProps } />\n\t\t\t) }\n\t\t</Root>\n\t);\n}\n"]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.LABELS = exports.DEFAULT_VISUALIZER_VALUES = exports.DEFAULT_VALUES = exports.ALL_SIDES = void 0;
6
+ exports.LABELS = exports.DEFAULT_VALUES = exports.ALL_SIDES = void 0;
7
7
  exports.getAllUnitFallback = getAllUnitFallback;
8
8
  exports.getAllValue = getAllValue;
9
9
  exports.getInitialSide = getInitialSide;
@@ -46,13 +46,6 @@ const DEFAULT_VALUES = {
46
46
  left: undefined
47
47
  };
48
48
  exports.DEFAULT_VALUES = DEFAULT_VALUES;
49
- const DEFAULT_VISUALIZER_VALUES = {
50
- top: false,
51
- right: false,
52
- bottom: false,
53
- left: false
54
- };
55
- exports.DEFAULT_VISUALIZER_VALUES = DEFAULT_VISUALIZER_VALUES;
56
49
  const ALL_SIDES = ['top', 'right', 'bottom', 'left'];
57
50
  /**
58
51
  * Gets an items with the most occurrence within an array
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/box-control/utils.js"],"names":["LABELS","all","top","bottom","left","right","mixed","vertical","horizontal","DEFAULT_VALUES","undefined","DEFAULT_VISUALIZER_VALUES","ALL_SIDES","mode","arr","sort","a","b","filter","v","length","pop","getAllValue","values","selectedUnits","availableSides","sides","normalizeSides","parsedQuantitiesAndUnits","map","side","allParsedQuantities","value","allParsedUnits","commonQuantity","every","commonUnit","getAllUnitFallback","join","filteredUnits","Object","Boolean","isValuesMixed","allValue","isMixed","isNaN","parseFloat","isValuesDefined","test","getInitialSide","isLinked","splitOnAxis","initialSide","filteredSides","includes","push","newSides"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { isEmpty, isNumber } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { parseQuantityAndUnitFromRawValue } from '../unit-control/utils';\n\nexport const LABELS = {\n\tall: __( 'All' ),\n\ttop: __( 'Top' ),\n\tbottom: __( 'Bottom' ),\n\tleft: __( 'Left' ),\n\tright: __( 'Right' ),\n\tmixed: __( 'Mixed' ),\n\tvertical: __( 'Vertical' ),\n\thorizontal: __( 'Horizontal' ),\n};\n\nexport const DEFAULT_VALUES = {\n\ttop: undefined,\n\tright: undefined,\n\tbottom: undefined,\n\tleft: undefined,\n};\n\nexport const DEFAULT_VISUALIZER_VALUES = {\n\ttop: false,\n\tright: false,\n\tbottom: false,\n\tleft: false,\n};\n\nexport const ALL_SIDES = [ 'top', 'right', 'bottom', 'left' ];\n\n/**\n * Gets an items with the most occurrence within an array\n * https://stackoverflow.com/a/20762713\n *\n * @param {Array<any>} arr Array of items to check.\n * @return {any} The item with the most occurrences.\n */\nfunction mode( arr ) {\n\treturn arr\n\t\t.sort(\n\t\t\t( a, b ) =>\n\t\t\t\tarr.filter( ( v ) => v === a ).length -\n\t\t\t\tarr.filter( ( v ) => v === b ).length\n\t\t)\n\t\t.pop();\n}\n\n/**\n * Gets the 'all' input value and unit from values data.\n *\n * @param {Object} values Box values.\n * @param {Object} selectedUnits Box units.\n * @param {Array} availableSides Available box sides to evaluate.\n *\n * @return {string} A value + unit for the 'all' input.\n */\nexport function getAllValue(\n\tvalues = {},\n\tselectedUnits,\n\tavailableSides = ALL_SIDES\n) {\n\tconst sides = normalizeSides( availableSides );\n\tconst parsedQuantitiesAndUnits = sides.map( ( side ) =>\n\t\tparseQuantityAndUnitFromRawValue( values[ side ] )\n\t);\n\tconst allParsedQuantities = parsedQuantitiesAndUnits.map(\n\t\t( value ) => value[ 0 ] ?? ''\n\t);\n\tconst allParsedUnits = parsedQuantitiesAndUnits.map(\n\t\t( value ) => value[ 1 ]\n\t);\n\n\tconst commonQuantity = allParsedQuantities.every(\n\t\t( v ) => v === allParsedQuantities[ 0 ]\n\t)\n\t\t? allParsedQuantities[ 0 ]\n\t\t: '';\n\n\t/**\n\t * The isNumber check is important. On reset actions, the incoming value\n\t * may be null or an empty string.\n\t *\n\t * Also, the value may also be zero (0), which is considered a valid unit value.\n\t *\n\t * isNumber() is more specific for these cases, rather than relying on a\n\t * simple truthy check.\n\t */\n\tlet commonUnit;\n\tif ( isNumber( commonQuantity ) ) {\n\t\tcommonUnit = mode( allParsedUnits );\n\t} else {\n\t\t// Set meaningful unit selection if no commonQuantity and user has previously\n\t\t// selected units without assigning values while controls were unlinked.\n\t\tcommonUnit =\n\t\t\tgetAllUnitFallback( selectedUnits ) ?? mode( allParsedUnits );\n\t}\n\n\treturn [ commonQuantity, commonUnit ].join( '' );\n}\n\n/**\n * Determine the most common unit selection to use as a fallback option.\n *\n * @param {Object} selectedUnits Current unit selections for individual sides.\n * @return {string} Most common unit selection.\n */\nexport function getAllUnitFallback( selectedUnits ) {\n\tif ( ! selectedUnits || typeof selectedUnits !== 'object' ) {\n\t\treturn undefined;\n\t}\n\n\tconst filteredUnits = Object.values( selectedUnits ).filter( Boolean );\n\n\treturn mode( filteredUnits );\n}\n\n/**\n * Checks to determine if values are mixed.\n *\n * @param {Object} values Box values.\n * @param {Object} selectedUnits Box units.\n * @param {Array} sides Available box sides to evaluate.\n *\n * @return {boolean} Whether values are mixed.\n */\nexport function isValuesMixed( values = {}, selectedUnits, sides = ALL_SIDES ) {\n\tconst allValue = getAllValue( values, selectedUnits, sides );\n\tconst isMixed = isNaN( parseFloat( allValue ) );\n\n\treturn isMixed;\n}\n\n/**\n * Checks to determine if values are defined.\n *\n * @param {Object} values Box values.\n *\n * @return {boolean} Whether values are mixed.\n */\nexport function isValuesDefined( values ) {\n\treturn (\n\t\tvalues !== undefined &&\n\t\t! isEmpty(\n\t\t\tObject.values( values ).filter(\n\t\t\t\t// Switching units when input is empty causes values only\n\t\t\t\t// containing units. This gives false positive on mixed values\n\t\t\t\t// unless filtered.\n\t\t\t\t( value ) => !! value && /\\d/.test( value )\n\t\t\t)\n\t\t)\n\t);\n}\n\n/**\n * Get initial selected side, factoring in whether the sides are linked,\n * and whether the vertical / horizontal directions are grouped via splitOnAxis.\n *\n * @param {boolean} isLinked Whether the box control's fields are linked.\n * @param {boolean} splitOnAxis Whether splitting by horizontal or vertical axis.\n * @return {string} The initial side.\n */\nexport function getInitialSide( isLinked, splitOnAxis ) {\n\tlet initialSide = 'all';\n\n\tif ( ! isLinked ) {\n\t\tinitialSide = splitOnAxis ? 'vertical' : 'top';\n\t}\n\n\treturn initialSide;\n}\n\n/**\n * Normalizes provided sides configuration to an array containing only top,\n * right, bottom and left. This essentially just maps `horizontal` or `vertical`\n * to their appropriate sides to facilitate correctly determining value for\n * all input control.\n *\n * @param {Array} sides Available sides for box control.\n * @return {Array} Normalized sides configuration.\n */\nexport function normalizeSides( sides ) {\n\tconst filteredSides = [];\n\n\tif ( ! sides?.length ) {\n\t\treturn ALL_SIDES;\n\t}\n\n\tif ( sides.includes( 'vertical' ) ) {\n\t\tfilteredSides.push( ...[ 'top', 'bottom' ] );\n\t} else if ( sides.includes( 'horizontal' ) ) {\n\t\tfilteredSides.push( ...[ 'left', 'right' ] );\n\t} else {\n\t\tconst newSides = ALL_SIDES.filter( ( side ) => sides.includes( side ) );\n\t\tfilteredSides.push( ...newSides );\n\t}\n\n\treturn filteredSides;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/box-control/utils.js"],"names":["LABELS","all","top","bottom","left","right","mixed","vertical","horizontal","DEFAULT_VALUES","undefined","ALL_SIDES","mode","arr","sort","a","b","filter","v","length","pop","getAllValue","values","selectedUnits","availableSides","sides","normalizeSides","parsedQuantitiesAndUnits","map","side","allParsedQuantities","value","allParsedUnits","commonQuantity","every","commonUnit","getAllUnitFallback","join","filteredUnits","Object","Boolean","isValuesMixed","allValue","isMixed","isNaN","parseFloat","isValuesDefined","test","getInitialSide","isLinked","splitOnAxis","initialSide","filteredSides","includes","push","newSides"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { isEmpty, isNumber } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { parseQuantityAndUnitFromRawValue } from '../unit-control/utils';\n\nexport const LABELS = {\n\tall: __( 'All' ),\n\ttop: __( 'Top' ),\n\tbottom: __( 'Bottom' ),\n\tleft: __( 'Left' ),\n\tright: __( 'Right' ),\n\tmixed: __( 'Mixed' ),\n\tvertical: __( 'Vertical' ),\n\thorizontal: __( 'Horizontal' ),\n};\n\nexport const DEFAULT_VALUES = {\n\ttop: undefined,\n\tright: undefined,\n\tbottom: undefined,\n\tleft: undefined,\n};\n\nexport const ALL_SIDES = [ 'top', 'right', 'bottom', 'left' ];\n\n/**\n * Gets an items with the most occurrence within an array\n * https://stackoverflow.com/a/20762713\n *\n * @param {Array<any>} arr Array of items to check.\n * @return {any} The item with the most occurrences.\n */\nfunction mode( arr ) {\n\treturn arr\n\t\t.sort(\n\t\t\t( a, b ) =>\n\t\t\t\tarr.filter( ( v ) => v === a ).length -\n\t\t\t\tarr.filter( ( v ) => v === b ).length\n\t\t)\n\t\t.pop();\n}\n\n/**\n * Gets the 'all' input value and unit from values data.\n *\n * @param {Object} values Box values.\n * @param {Object} selectedUnits Box units.\n * @param {Array} availableSides Available box sides to evaluate.\n *\n * @return {string} A value + unit for the 'all' input.\n */\nexport function getAllValue(\n\tvalues = {},\n\tselectedUnits,\n\tavailableSides = ALL_SIDES\n) {\n\tconst sides = normalizeSides( availableSides );\n\tconst parsedQuantitiesAndUnits = sides.map( ( side ) =>\n\t\tparseQuantityAndUnitFromRawValue( values[ side ] )\n\t);\n\tconst allParsedQuantities = parsedQuantitiesAndUnits.map(\n\t\t( value ) => value[ 0 ] ?? ''\n\t);\n\tconst allParsedUnits = parsedQuantitiesAndUnits.map(\n\t\t( value ) => value[ 1 ]\n\t);\n\n\tconst commonQuantity = allParsedQuantities.every(\n\t\t( v ) => v === allParsedQuantities[ 0 ]\n\t)\n\t\t? allParsedQuantities[ 0 ]\n\t\t: '';\n\n\t/**\n\t * The isNumber check is important. On reset actions, the incoming value\n\t * may be null or an empty string.\n\t *\n\t * Also, the value may also be zero (0), which is considered a valid unit value.\n\t *\n\t * isNumber() is more specific for these cases, rather than relying on a\n\t * simple truthy check.\n\t */\n\tlet commonUnit;\n\tif ( isNumber( commonQuantity ) ) {\n\t\tcommonUnit = mode( allParsedUnits );\n\t} else {\n\t\t// Set meaningful unit selection if no commonQuantity and user has previously\n\t\t// selected units without assigning values while controls were unlinked.\n\t\tcommonUnit =\n\t\t\tgetAllUnitFallback( selectedUnits ) ?? mode( allParsedUnits );\n\t}\n\n\treturn [ commonQuantity, commonUnit ].join( '' );\n}\n\n/**\n * Determine the most common unit selection to use as a fallback option.\n *\n * @param {Object} selectedUnits Current unit selections for individual sides.\n * @return {string} Most common unit selection.\n */\nexport function getAllUnitFallback( selectedUnits ) {\n\tif ( ! selectedUnits || typeof selectedUnits !== 'object' ) {\n\t\treturn undefined;\n\t}\n\n\tconst filteredUnits = Object.values( selectedUnits ).filter( Boolean );\n\n\treturn mode( filteredUnits );\n}\n\n/**\n * Checks to determine if values are mixed.\n *\n * @param {Object} values Box values.\n * @param {Object} selectedUnits Box units.\n * @param {Array} sides Available box sides to evaluate.\n *\n * @return {boolean} Whether values are mixed.\n */\nexport function isValuesMixed( values = {}, selectedUnits, sides = ALL_SIDES ) {\n\tconst allValue = getAllValue( values, selectedUnits, sides );\n\tconst isMixed = isNaN( parseFloat( allValue ) );\n\n\treturn isMixed;\n}\n\n/**\n * Checks to determine if values are defined.\n *\n * @param {Object} values Box values.\n *\n * @return {boolean} Whether values are mixed.\n */\nexport function isValuesDefined( values ) {\n\treturn (\n\t\tvalues !== undefined &&\n\t\t! isEmpty(\n\t\t\tObject.values( values ).filter(\n\t\t\t\t// Switching units when input is empty causes values only\n\t\t\t\t// containing units. This gives false positive on mixed values\n\t\t\t\t// unless filtered.\n\t\t\t\t( value ) => !! value && /\\d/.test( value )\n\t\t\t)\n\t\t)\n\t);\n}\n\n/**\n * Get initial selected side, factoring in whether the sides are linked,\n * and whether the vertical / horizontal directions are grouped via splitOnAxis.\n *\n * @param {boolean} isLinked Whether the box control's fields are linked.\n * @param {boolean} splitOnAxis Whether splitting by horizontal or vertical axis.\n * @return {string} The initial side.\n */\nexport function getInitialSide( isLinked, splitOnAxis ) {\n\tlet initialSide = 'all';\n\n\tif ( ! isLinked ) {\n\t\tinitialSide = splitOnAxis ? 'vertical' : 'top';\n\t}\n\n\treturn initialSide;\n}\n\n/**\n * Normalizes provided sides configuration to an array containing only top,\n * right, bottom and left. This essentially just maps `horizontal` or `vertical`\n * to their appropriate sides to facilitate correctly determining value for\n * all input control.\n *\n * @param {Array} sides Available sides for box control.\n * @return {Array} Normalized sides configuration.\n */\nexport function normalizeSides( sides ) {\n\tconst filteredSides = [];\n\n\tif ( ! sides?.length ) {\n\t\treturn ALL_SIDES;\n\t}\n\n\tif ( sides.includes( 'vertical' ) ) {\n\t\tfilteredSides.push( ...[ 'top', 'bottom' ] );\n\t} else if ( sides.includes( 'horizontal' ) ) {\n\t\tfilteredSides.push( ...[ 'left', 'right' ] );\n\t} else {\n\t\tconst newSides = ALL_SIDES.filter( ( side ) => sides.includes( side ) );\n\t\tfilteredSides.push( ...newSides );\n\t}\n\n\treturn filteredSides;\n}\n"]}
@@ -14,8 +14,6 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
14
14
 
15
15
  var _classnames = _interopRequireDefault(require("classnames"));
16
16
 
17
- var _lodash = require("lodash");
18
-
19
17
  var _deprecated = _interopRequireDefault(require("@wordpress/deprecated"));
20
18
 
21
19
  var _compose = require("@wordpress/compose");
@@ -158,8 +156,8 @@ function Button(props, ref) {
158
156
  const shouldShowTooltip = !trulyDisabled && ( // An explicit tooltip is passed or...
159
157
  showTooltip && label || // There's a shortcut or...
160
158
  shortcut || // There's a label and...
161
- !!label && ( // The children are empty and...
162
- !children || (0, _lodash.isArray)(children) && !children.length) && // The tooltip is not explicitly disabled.
159
+ !!label && // The children are empty and...
160
+ !(children !== null && children !== void 0 && children.length) && // The tooltip is not explicitly disabled.
163
161
  false !== showTooltip);
164
162
  const descriptionId = describedBy ? instanceId : null;
165
163
  const describedById = additionalProps['aria-describedby'] || descriptionId;
@@ -183,7 +181,7 @@ function Button(props, ref) {
183
181
  }
184
182
 
185
183
  return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_tooltip.default, {
186
- text: describedBy ? describedBy : label,
184
+ text: children !== null && children !== void 0 && children.length && describedBy ? describedBy : label,
187
185
  shortcut: shortcut,
188
186
  position: tooltipPosition
189
187
  }, element), describedBy && (0, _element.createElement)(_visuallyHidden.VisuallyHidden, null, (0, _element.createElement)("span", {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/button/index.js"],"names":["disabledEventsOnDisabledButton","useDeprecatedProps","isDefault","isPrimary","isSecondary","isTertiary","isLink","variant","otherProps","computedVariant","since","alternative","version","Button","props","ref","href","target","isSmall","isPressed","isBusy","isDestructive","className","disabled","icon","iconPosition","iconSize","showTooltip","tooltipPosition","shortcut","label","children","text","__experimentalIsFocusable","isFocusable","describedBy","additionalProps","instanceId","classes","trulyDisabled","Tag","undefined","tagProps","type","disabledEvent","event","stopPropagation","preventDefault","shouldShowTooltip","length","descriptionId","describedById","element"],"mappings":"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","sourcesContent":["// @ts-nocheck\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { isArray } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport deprecated from '@wordpress/deprecated';\nimport { forwardRef } from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Tooltip from '../tooltip';\nimport Icon from '../icon';\nimport { VisuallyHidden } from '../visually-hidden';\n\nconst disabledEventsOnDisabledButton = [ 'onMouseDown', 'onClick' ];\n\nfunction useDeprecatedProps( {\n\tisDefault,\n\tisPrimary,\n\tisSecondary,\n\tisTertiary,\n\tisLink,\n\tvariant,\n\t...otherProps\n} ) {\n\tlet computedVariant = variant;\n\n\tif ( isPrimary ) {\n\t\tcomputedVariant ??= 'primary';\n\t}\n\n\tif ( isTertiary ) {\n\t\tcomputedVariant ??= 'tertiary';\n\t}\n\n\tif ( isSecondary ) {\n\t\tcomputedVariant ??= 'secondary';\n\t}\n\n\tif ( isDefault ) {\n\t\tdeprecated( 'Button isDefault prop', {\n\t\t\tsince: '5.4',\n\t\t\talternative: 'variant=\"secondary\"',\n\t\t\tversion: '6.2',\n\t\t} );\n\n\t\tcomputedVariant ??= 'secondary';\n\t}\n\n\tif ( isLink ) {\n\t\tcomputedVariant ??= 'link';\n\t}\n\n\treturn {\n\t\t...otherProps,\n\t\tvariant: computedVariant,\n\t};\n}\n\nexport function Button( props, ref ) {\n\tconst {\n\t\thref,\n\t\ttarget,\n\t\tisSmall,\n\t\tisPressed,\n\t\tisBusy,\n\t\tisDestructive,\n\t\tclassName,\n\t\tdisabled,\n\t\ticon,\n\t\ticonPosition = 'left',\n\t\ticonSize,\n\t\tshowTooltip,\n\t\ttooltipPosition,\n\t\tshortcut,\n\t\tlabel,\n\t\tchildren,\n\t\ttext,\n\t\tvariant,\n\t\t__experimentalIsFocusable: isFocusable,\n\t\tdescribedBy,\n\t\t...additionalProps\n\t} = useDeprecatedProps( props );\n\tconst instanceId = useInstanceId(\n\t\tButton,\n\t\t'components-button__description'\n\t);\n\n\tconst classes = classnames( 'components-button', className, {\n\t\t'is-secondary': variant === 'secondary',\n\t\t'is-primary': variant === 'primary',\n\t\t'is-small': isSmall,\n\t\t'is-tertiary': variant === 'tertiary',\n\t\t'is-pressed': isPressed,\n\t\t'is-busy': isBusy,\n\t\t'is-link': variant === 'link',\n\t\t'is-destructive': isDestructive,\n\t\t'has-text': !! icon && !! children,\n\t\t'has-icon': !! icon,\n\t} );\n\n\tconst trulyDisabled = disabled && ! isFocusable;\n\tconst Tag = href !== undefined && ! trulyDisabled ? 'a' : 'button';\n\tconst tagProps =\n\t\tTag === 'a'\n\t\t\t? { href, target }\n\t\t\t: {\n\t\t\t\t\ttype: 'button',\n\t\t\t\t\tdisabled: trulyDisabled,\n\t\t\t\t\t'aria-pressed': isPressed,\n\t\t\t };\n\n\tif ( disabled && isFocusable ) {\n\t\t// In this case, the button will be disabled, but still focusable and\n\t\t// perceivable by screen reader users.\n\t\ttagProps[ 'aria-disabled' ] = true;\n\n\t\tfor ( const disabledEvent of disabledEventsOnDisabledButton ) {\n\t\t\tadditionalProps[ disabledEvent ] = ( event ) => {\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tevent.preventDefault();\n\t\t\t};\n\t\t}\n\t}\n\n\t// Should show the tooltip if...\n\tconst shouldShowTooltip =\n\t\t! trulyDisabled &&\n\t\t// An explicit tooltip is passed or...\n\t\t( ( showTooltip && label ) ||\n\t\t\t// There's a shortcut or...\n\t\t\tshortcut ||\n\t\t\t// There's a label and...\n\t\t\t( !! label &&\n\t\t\t\t// The children are empty and...\n\t\t\t\t( ! children ||\n\t\t\t\t\t( isArray( children ) && ! children.length ) ) &&\n\t\t\t\t// The tooltip is not explicitly disabled.\n\t\t\t\tfalse !== showTooltip ) );\n\n\tconst descriptionId = describedBy ? instanceId : null;\n\n\tconst describedById =\n\t\tadditionalProps[ 'aria-describedby' ] || descriptionId;\n\n\tconst element = (\n\t\t<Tag\n\t\t\t{ ...tagProps }\n\t\t\t{ ...additionalProps }\n\t\t\tclassName={ classes }\n\t\t\taria-label={ additionalProps[ 'aria-label' ] || label }\n\t\t\taria-describedby={ describedById }\n\t\t\tref={ ref }\n\t\t>\n\t\t\t{ icon && iconPosition === 'left' && (\n\t\t\t\t<Icon icon={ icon } size={ iconSize } />\n\t\t\t) }\n\t\t\t{ text && <>{ text }</> }\n\t\t\t{ icon && iconPosition === 'right' && (\n\t\t\t\t<Icon icon={ icon } size={ iconSize } />\n\t\t\t) }\n\t\t\t{ children }\n\t\t</Tag>\n\t);\n\n\tif ( ! shouldShowTooltip ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ element }\n\t\t\t\t{ describedBy && (\n\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t<span id={ descriptionId }>{ describedBy }</span>\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Tooltip\n\t\t\t\ttext={ describedBy ? describedBy : label }\n\t\t\t\tshortcut={ shortcut }\n\t\t\t\tposition={ tooltipPosition }\n\t\t\t>\n\t\t\t\t{ element }\n\t\t\t</Tooltip>\n\t\t\t{ describedBy && (\n\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t<span id={ descriptionId }>{ describedBy }</span>\n\t\t\t\t</VisuallyHidden>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default forwardRef( Button );\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/button/index.js"],"names":["disabledEventsOnDisabledButton","useDeprecatedProps","isDefault","isPrimary","isSecondary","isTertiary","isLink","variant","otherProps","computedVariant","since","alternative","version","Button","props","ref","href","target","isSmall","isPressed","isBusy","isDestructive","className","disabled","icon","iconPosition","iconSize","showTooltip","tooltipPosition","shortcut","label","children","text","__experimentalIsFocusable","isFocusable","describedBy","additionalProps","instanceId","classes","trulyDisabled","Tag","undefined","tagProps","type","disabledEvent","event","stopPropagation","preventDefault","shouldShowTooltip","length","descriptionId","describedById","element"],"mappings":";;;;;;;;;;AAUA;;;;AANA;;AAKA;;AAEA;;AAKA;;AACA;;AACA;;AAlBA;;AACA;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;AAKA,MAAMA,8BAA8B,GAAG,CAAE,aAAF,EAAiB,SAAjB,CAAvC;;AAEA,SAASC,kBAAT,OAQI;AAAA,MARyB;AAC5BC,IAAAA,SAD4B;AAE5BC,IAAAA,SAF4B;AAG5BC,IAAAA,WAH4B;AAI5BC,IAAAA,UAJ4B;AAK5BC,IAAAA,MAL4B;AAM5BC,IAAAA,OAN4B;AAO5B,OAAGC;AAPyB,GAQzB;AACH,MAAIC,eAAe,GAAGF,OAAtB;;AAEA,MAAKJ,SAAL,EAAiB;AAAA;;AAChB,wBAAAM,eAAe,UAAf,qDAAAA,eAAe,GAAK,SAApB;AACA;;AAED,MAAKJ,UAAL,EAAkB;AAAA;;AACjB,yBAAAI,eAAe,UAAf,uDAAAA,eAAe,GAAK,UAApB;AACA;;AAED,MAAKL,WAAL,EAAmB;AAAA;;AAClB,yBAAAK,eAAe,UAAf,uDAAAA,eAAe,GAAK,WAApB;AACA;;AAED,MAAKP,SAAL,EAAiB;AAAA;;AAChB,6BAAY,uBAAZ,EAAqC;AACpCQ,MAAAA,KAAK,EAAE,KAD6B;AAEpCC,MAAAA,WAAW,EAAE,qBAFuB;AAGpCC,MAAAA,OAAO,EAAE;AAH2B,KAArC;AAMA,yBAAAH,eAAe,UAAf,uDAAAA,eAAe,GAAK,WAApB;AACA;;AAED,MAAKH,MAAL,EAAc;AAAA;;AACb,yBAAAG,eAAe,UAAf,uDAAAA,eAAe,GAAK,MAApB;AACA;;AAED,SAAO,EACN,GAAGD,UADG;AAEND,IAAAA,OAAO,EAAEE;AAFH,GAAP;AAIA;;AAEM,SAASI,MAAT,CAAiBC,KAAjB,EAAwBC,GAAxB,EAA8B;AACpC,QAAM;AACLC,IAAAA,IADK;AAELC,IAAAA,MAFK;AAGLC,IAAAA,OAHK;AAILC,IAAAA,SAJK;AAKLC,IAAAA,MALK;AAMLC,IAAAA,aANK;AAOLC,IAAAA,SAPK;AAQLC,IAAAA,QARK;AASLC,IAAAA,IATK;AAULC,IAAAA,YAAY,GAAG,MAVV;AAWLC,IAAAA,QAXK;AAYLC,IAAAA,WAZK;AAaLC,IAAAA,eAbK;AAcLC,IAAAA,QAdK;AAeLC,IAAAA,KAfK;AAgBLC,IAAAA,QAhBK;AAiBLC,IAAAA,IAjBK;AAkBLzB,IAAAA,OAlBK;AAmBL0B,IAAAA,yBAAyB,EAAEC,WAnBtB;AAoBLC,IAAAA,WApBK;AAqBL,OAAGC;AArBE,MAsBFnC,kBAAkB,CAAEa,KAAF,CAtBtB;AAuBA,QAAMuB,UAAU,GAAG,4BAClBxB,MADkB,EAElB,gCAFkB,CAAnB;AAKA,QAAMyB,OAAO,GAAG,yBAAY,mBAAZ,EAAiChB,SAAjC,EAA4C;AAC3D,oBAAgBf,OAAO,KAAK,WAD+B;AAE3D,kBAAcA,OAAO,KAAK,SAFiC;AAG3D,gBAAYW,OAH+C;AAI3D,mBAAeX,OAAO,KAAK,UAJgC;AAK3D,kBAAcY,SAL6C;AAM3D,eAAWC,MANgD;AAO3D,eAAWb,OAAO,KAAK,MAPoC;AAQ3D,sBAAkBc,aARyC;AAS3D,gBAAY,CAAC,CAAEG,IAAH,IAAW,CAAC,CAAEO,QATiC;AAU3D,gBAAY,CAAC,CAAEP;AAV4C,GAA5C,CAAhB;AAaA,QAAMe,aAAa,GAAGhB,QAAQ,IAAI,CAAEW,WAApC;AACA,QAAMM,GAAG,GAAGxB,IAAI,KAAKyB,SAAT,IAAsB,CAAEF,aAAxB,GAAwC,GAAxC,GAA8C,QAA1D;AACA,QAAMG,QAAQ,GACbF,GAAG,KAAK,GAAR,GACG;AAAExB,IAAAA,IAAF;AAAQC,IAAAA;AAAR,GADH,GAEG;AACA0B,IAAAA,IAAI,EAAE,QADN;AAEApB,IAAAA,QAAQ,EAAEgB,aAFV;AAGA,oBAAgBpB;AAHhB,GAHJ;;AASA,MAAKI,QAAQ,IAAIW,WAAjB,EAA+B;AAC9B;AACA;AACAQ,IAAAA,QAAQ,CAAE,eAAF,CAAR,GAA8B,IAA9B;;AAEA,SAAM,MAAME,aAAZ,IAA6B5C,8BAA7B,EAA8D;AAC7DoC,MAAAA,eAAe,CAAEQ,aAAF,CAAf,GAAqCC,KAAF,IAAa;AAC/CA,QAAAA,KAAK,CAACC,eAAN;AACAD,QAAAA,KAAK,CAACE,cAAN;AACA,OAHD;AAIA;AACD,GAhEmC,CAkEpC;;;AACA,QAAMC,iBAAiB,GACtB,CAAET,aAAF,MACA;AACIZ,EAAAA,WAAW,IAAIG,KAAjB,IACD;AACAD,EAAAA,QAFC,IAGD;AACE,GAAC,CAAEC,KAAH,IACD;AACA,IAAEC,QAAF,aAAEA,QAAF,eAAEA,QAAQ,CAAEkB,MAAZ,CAFC,IAGD;AACA,YAAUtB,WAVZ,CADD;AAaA,QAAMuB,aAAa,GAAGf,WAAW,GAAGE,UAAH,GAAgB,IAAjD;AAEA,QAAMc,aAAa,GAClBf,eAAe,CAAE,kBAAF,CAAf,IAAyCc,aAD1C;AAGA,QAAME,OAAO,GACZ,4BAAC,GAAD,6BACMV,QADN,EAEMN,eAFN;AAGC,IAAA,SAAS,EAAGE,OAHb;AAIC,kBAAaF,eAAe,CAAE,YAAF,CAAf,IAAmCN,KAJjD;AAKC,wBAAmBqB,aALpB;AAMC,IAAA,GAAG,EAAGpC;AANP,MAQGS,IAAI,IAAIC,YAAY,KAAK,MAAzB,IACD,4BAAC,aAAD;AAAM,IAAA,IAAI,EAAGD,IAAb;AAAoB,IAAA,IAAI,EAAGE;AAA3B,IATF,EAWGM,IAAI,IAAI,qDAAIA,IAAJ,CAXX,EAYGR,IAAI,IAAIC,YAAY,KAAK,OAAzB,IACD,4BAAC,aAAD;AAAM,IAAA,IAAI,EAAGD,IAAb;AAAoB,IAAA,IAAI,EAAGE;AAA3B,IAbF,EAeGK,QAfH,CADD;;AAoBA,MAAK,CAAEiB,iBAAP,EAA2B;AAC1B,WACC,qDACGI,OADH,EAEGjB,WAAW,IACZ,4BAAC,8BAAD,QACC;AAAM,MAAA,EAAE,EAAGe;AAAX,OAA6Bf,WAA7B,CADD,CAHF,CADD;AAUA;;AAED,SACC,qDACC,4BAAC,gBAAD;AACC,IAAA,IAAI,EAAGJ,QAAQ,SAAR,IAAAA,QAAQ,WAAR,IAAAA,QAAQ,CAAEkB,MAAV,IAAoBd,WAApB,GAAkCA,WAAlC,GAAgDL,KADxD;AAEC,IAAA,QAAQ,EAAGD,QAFZ;AAGC,IAAA,QAAQ,EAAGD;AAHZ,KAKGwB,OALH,CADD,EAQGjB,WAAW,IACZ,4BAAC,8BAAD,QACC;AAAM,IAAA,EAAE,EAAGe;AAAX,KAA6Bf,WAA7B,CADD,CATF,CADD;AAgBA;;eAEc,yBAAYtB,MAAZ,C","sourcesContent":["// @ts-nocheck\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport deprecated from '@wordpress/deprecated';\nimport { forwardRef } from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Tooltip from '../tooltip';\nimport Icon from '../icon';\nimport { VisuallyHidden } from '../visually-hidden';\n\nconst disabledEventsOnDisabledButton = [ 'onMouseDown', 'onClick' ];\n\nfunction useDeprecatedProps( {\n\tisDefault,\n\tisPrimary,\n\tisSecondary,\n\tisTertiary,\n\tisLink,\n\tvariant,\n\t...otherProps\n} ) {\n\tlet computedVariant = variant;\n\n\tif ( isPrimary ) {\n\t\tcomputedVariant ??= 'primary';\n\t}\n\n\tif ( isTertiary ) {\n\t\tcomputedVariant ??= 'tertiary';\n\t}\n\n\tif ( isSecondary ) {\n\t\tcomputedVariant ??= 'secondary';\n\t}\n\n\tif ( isDefault ) {\n\t\tdeprecated( 'Button isDefault prop', {\n\t\t\tsince: '5.4',\n\t\t\talternative: 'variant=\"secondary\"',\n\t\t\tversion: '6.2',\n\t\t} );\n\n\t\tcomputedVariant ??= 'secondary';\n\t}\n\n\tif ( isLink ) {\n\t\tcomputedVariant ??= 'link';\n\t}\n\n\treturn {\n\t\t...otherProps,\n\t\tvariant: computedVariant,\n\t};\n}\n\nexport function Button( props, ref ) {\n\tconst {\n\t\thref,\n\t\ttarget,\n\t\tisSmall,\n\t\tisPressed,\n\t\tisBusy,\n\t\tisDestructive,\n\t\tclassName,\n\t\tdisabled,\n\t\ticon,\n\t\ticonPosition = 'left',\n\t\ticonSize,\n\t\tshowTooltip,\n\t\ttooltipPosition,\n\t\tshortcut,\n\t\tlabel,\n\t\tchildren,\n\t\ttext,\n\t\tvariant,\n\t\t__experimentalIsFocusable: isFocusable,\n\t\tdescribedBy,\n\t\t...additionalProps\n\t} = useDeprecatedProps( props );\n\tconst instanceId = useInstanceId(\n\t\tButton,\n\t\t'components-button__description'\n\t);\n\n\tconst classes = classnames( 'components-button', className, {\n\t\t'is-secondary': variant === 'secondary',\n\t\t'is-primary': variant === 'primary',\n\t\t'is-small': isSmall,\n\t\t'is-tertiary': variant === 'tertiary',\n\t\t'is-pressed': isPressed,\n\t\t'is-busy': isBusy,\n\t\t'is-link': variant === 'link',\n\t\t'is-destructive': isDestructive,\n\t\t'has-text': !! icon && !! children,\n\t\t'has-icon': !! icon,\n\t} );\n\n\tconst trulyDisabled = disabled && ! isFocusable;\n\tconst Tag = href !== undefined && ! trulyDisabled ? 'a' : 'button';\n\tconst tagProps =\n\t\tTag === 'a'\n\t\t\t? { href, target }\n\t\t\t: {\n\t\t\t\t\ttype: 'button',\n\t\t\t\t\tdisabled: trulyDisabled,\n\t\t\t\t\t'aria-pressed': isPressed,\n\t\t\t };\n\n\tif ( disabled && isFocusable ) {\n\t\t// In this case, the button will be disabled, but still focusable and\n\t\t// perceivable by screen reader users.\n\t\ttagProps[ 'aria-disabled' ] = true;\n\n\t\tfor ( const disabledEvent of disabledEventsOnDisabledButton ) {\n\t\t\tadditionalProps[ disabledEvent ] = ( event ) => {\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tevent.preventDefault();\n\t\t\t};\n\t\t}\n\t}\n\n\t// Should show the tooltip if...\n\tconst shouldShowTooltip =\n\t\t! trulyDisabled &&\n\t\t// An explicit tooltip is passed or...\n\t\t( ( showTooltip && label ) ||\n\t\t\t// There's a shortcut or...\n\t\t\tshortcut ||\n\t\t\t// There's a label and...\n\t\t\t( !! label &&\n\t\t\t\t// The children are empty and...\n\t\t\t\t! children?.length &&\n\t\t\t\t// The tooltip is not explicitly disabled.\n\t\t\t\tfalse !== showTooltip ) );\n\n\tconst descriptionId = describedBy ? instanceId : null;\n\n\tconst describedById =\n\t\tadditionalProps[ 'aria-describedby' ] || descriptionId;\n\n\tconst element = (\n\t\t<Tag\n\t\t\t{ ...tagProps }\n\t\t\t{ ...additionalProps }\n\t\t\tclassName={ classes }\n\t\t\taria-label={ additionalProps[ 'aria-label' ] || label }\n\t\t\taria-describedby={ describedById }\n\t\t\tref={ ref }\n\t\t>\n\t\t\t{ icon && iconPosition === 'left' && (\n\t\t\t\t<Icon icon={ icon } size={ iconSize } />\n\t\t\t) }\n\t\t\t{ text && <>{ text }</> }\n\t\t\t{ icon && iconPosition === 'right' && (\n\t\t\t\t<Icon icon={ icon } size={ iconSize } />\n\t\t\t) }\n\t\t\t{ children }\n\t\t</Tag>\n\t);\n\n\tif ( ! shouldShowTooltip ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ element }\n\t\t\t\t{ describedBy && (\n\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t<span id={ descriptionId }>{ describedBy }</span>\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Tooltip\n\t\t\t\ttext={ children?.length && describedBy ? describedBy : label }\n\t\t\t\tshortcut={ shortcut }\n\t\t\t\tposition={ tooltipPosition }\n\t\t\t>\n\t\t\t\t{ element }\n\t\t\t</Tooltip>\n\t\t\t{ describedBy && (\n\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t<span id={ descriptionId }>{ describedBy }</span>\n\t\t\t\t</VisuallyHidden>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default forwardRef( Button );\n"]}
@@ -14,6 +14,8 @@ var _reactNative = require("react-native");
14
14
 
15
15
  var _lodash = require("lodash");
16
16
 
17
+ var _reactNativeGestureHandler = require("react-native-gesture-handler");
18
+
17
19
  var _compose = require("@wordpress/compose");
18
20
 
19
21
  var _tooltip = _interopRequireDefault(require("../tooltip"));
@@ -152,6 +154,15 @@ function Button(props) {
152
154
  colorScheme: preferredColorScheme,
153
155
  isPressed
154
156
  }) : null;
157
+ const longPressHandler = (0, _element.useCallback)(_ref => {
158
+ let {
159
+ nativeEvent
160
+ } = _ref;
161
+
162
+ if (nativeEvent.state === _reactNativeGestureHandler.State.ACTIVE && onLongPress) {
163
+ onLongPress();
164
+ }
165
+ }, [onLongPress]);
155
166
  const element = (0, _element.createElement)(_reactNative.TouchableOpacity, {
156
167
  activeOpacity: 0.7,
157
168
  accessible: true,
@@ -160,10 +171,13 @@ function Button(props) {
160
171
  accessibilityRole: 'button',
161
172
  accessibilityHint: hint,
162
173
  onPress: onClick,
163
- onLongPress: onLongPress,
164
174
  style: containerStyle,
165
175
  disabled: isDisabled,
166
176
  testID: testID
177
+ }, (0, _element.createElement)(_reactNativeGestureHandler.LongPressGestureHandler, {
178
+ minDurationMs: 500,
179
+ maxDist: 150,
180
+ onHandlerStateChange: longPressHandler
167
181
  }, (0, _element.createElement)(_reactNative.View, {
168
182
  style: buttonViewStyle
169
183
  }, (0, _element.createElement)(_reactNative.View, {
@@ -172,7 +186,7 @@ function Button(props) {
172
186
  }
173
187
  }, newIcon, newChildren, subscript && (0, _element.createElement)(_reactNative.Text, {
174
188
  style: isPressed ? styles.subscriptActive : subscriptInactive
175
- }, subscript))));
189
+ }, subscript)))));
176
190
 
177
191
  if (!shouldShowTooltip) {
178
192
  return element;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/button/index.native.js"],"names":["isAndroid","Platform","OS","marginBottom","marginLeft","styles","StyleSheet","create","container","flex","padding","justifyContent","alignItems","buttonInactive","flexDirection","fixedRatio","aspectRatio","buttonActive","borderRadius","borderColor","backgroundColor","subscriptInactive","color","fontWeight","fontSize","alignSelf","subscriptInactiveDark","subscriptActive","Button","props","children","onClick","onLongPress","disabled","hint","isPressed","ariaDisabled","subscript","testID","icon","iconSize","showTooltip","label","shortcut","tooltipPosition","isActiveStyle","customContainerStyles","preferredColorScheme","isDisabled","containerStyle","buttonViewStyle","opacity","states","push","newChildren","Children","map","child","colorScheme","shouldShowTooltip","length","newIcon","element"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tStyleSheet,\n\tTouchableOpacity,\n\tText,\n\tView,\n\tPlatform,\n} from 'react-native';\nimport { isArray } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Children, cloneElement } from '@wordpress/element';\nimport {\n\tusePreferredColorScheme,\n\tusePreferredColorSchemeStyle,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Tooltip from '../tooltip';\nimport Icon from '../icon';\n\nconst isAndroid = Platform.OS === 'android';\nconst marginBottom = isAndroid ? -0.5 : 0;\nconst marginLeft = -3;\n\nconst styles = StyleSheet.create( {\n\tcontainer: {\n\t\tflex: 1,\n\t\tpadding: 3,\n\t\tjustifyContent: 'center',\n\t\talignItems: 'center',\n\t},\n\tbuttonInactive: {\n\t\tflex: 1,\n\t\tflexDirection: 'row',\n\t\tjustifyContent: 'center',\n\t\talignItems: 'center',\n\t},\n\tfixedRatio: {\n\t\taspectRatio: 1,\n\t},\n\tbuttonActive: {\n\t\tflex: 1,\n\t\tflexDirection: 'row',\n\t\tjustifyContent: 'center',\n\t\talignItems: 'center',\n\t\tborderRadius: 6,\n\t\tborderColor: '#2e4453',\n\t\tbackgroundColor: '#2e4453',\n\t},\n\tsubscriptInactive: {\n\t\tcolor: '#7b9ab1', // $toolbar-button.\n\t\tfontWeight: 'bold',\n\t\tfontSize: 13,\n\t\talignSelf: 'flex-end',\n\t\tmarginLeft,\n\t\tmarginBottom,\n\t},\n\tsubscriptInactiveDark: {\n\t\tcolor: '#a7aaad', // $gray_20.\n\t},\n\tsubscriptActive: {\n\t\tcolor: 'white',\n\t\tfontWeight: 'bold',\n\t\tfontSize: 13,\n\t\talignSelf: 'flex-end',\n\t\tmarginLeft,\n\t\tmarginBottom,\n\t},\n} );\n\nexport function Button( props ) {\n\tconst {\n\t\tchildren,\n\t\tonClick,\n\t\tonLongPress,\n\t\tdisabled,\n\t\thint,\n\t\tfixedRatio = true,\n\t\tisPressed,\n\t\t'aria-disabled': ariaDisabled,\n\t\t'data-subscript': subscript,\n\t\ttestID,\n\t\ticon,\n\t\ticonSize,\n\t\tshowTooltip,\n\t\tlabel,\n\t\tshortcut,\n\t\ttooltipPosition,\n\t\tisActiveStyle,\n\t\tcustomContainerStyles,\n\t} = props;\n\tconst preferredColorScheme = usePreferredColorScheme();\n\n\tconst isDisabled = ariaDisabled || disabled;\n\n\tconst containerStyle = [\n\t\tstyles.container,\n\t\tcustomContainerStyles && { ...customContainerStyles },\n\t];\n\n\tconst buttonViewStyle = {\n\t\topacity: isDisabled ? 0.3 : 1,\n\t\t...( fixedRatio && styles.fixedRatio ),\n\t\t...( isPressed ? styles.buttonActive : styles.buttonInactive ),\n\t\t...( isPressed &&\n\t\t\tisActiveStyle?.borderRadius && {\n\t\t\t\tborderRadius: isActiveStyle.borderRadius,\n\t\t\t} ),\n\t\t...( isActiveStyle?.backgroundColor && {\n\t\t\tbackgroundColor: isActiveStyle.backgroundColor,\n\t\t} ),\n\t};\n\n\tconst states = [];\n\tif ( isPressed ) {\n\t\tstates.push( 'selected' );\n\t}\n\n\tif ( isDisabled ) {\n\t\tstates.push( 'disabled' );\n\t}\n\n\tconst subscriptInactive = usePreferredColorSchemeStyle(\n\t\tstyles.subscriptInactive,\n\t\tstyles.subscriptInactiveDark\n\t);\n\n\tconst newChildren = Children.map( children, ( child ) => {\n\t\treturn child\n\t\t\t? cloneElement( child, {\n\t\t\t\t\tcolorScheme: preferredColorScheme,\n\t\t\t\t\tisPressed,\n\t\t\t } )\n\t\t\t: child;\n\t} );\n\n\t// Should show the tooltip if...\n\tconst shouldShowTooltip =\n\t\t! isDisabled &&\n\t\t// An explicit tooltip is passed or...\n\t\t( ( showTooltip && label ) ||\n\t\t\t// There's a shortcut or...\n\t\t\tshortcut ||\n\t\t\t// There's a label and...\n\t\t\t( !! label &&\n\t\t\t\t// The children are empty and...\n\t\t\t\t( ! children ||\n\t\t\t\t\t( isArray( children ) && ! children.length ) ) &&\n\t\t\t\t// The tooltip is not explicitly disabled.\n\t\t\t\tfalse !== showTooltip ) );\n\n\tconst newIcon = icon\n\t\t? cloneElement( <Icon icon={ icon } size={ iconSize } />, {\n\t\t\t\tcolorScheme: preferredColorScheme,\n\t\t\t\tisPressed,\n\t\t } )\n\t\t: null;\n\n\tconst element = (\n\t\t<TouchableOpacity\n\t\t\tactiveOpacity={ 0.7 }\n\t\t\taccessible={ true }\n\t\t\taccessibilityLabel={ label }\n\t\t\taccessibilityStates={ states }\n\t\t\taccessibilityRole={ 'button' }\n\t\t\taccessibilityHint={ hint }\n\t\t\tonPress={ onClick }\n\t\t\tonLongPress={ onLongPress }\n\t\t\tstyle={ containerStyle }\n\t\t\tdisabled={ isDisabled }\n\t\t\ttestID={ testID }\n\t\t>\n\t\t\t<View style={ buttonViewStyle }>\n\t\t\t\t<View style={ { flexDirection: 'row' } }>\n\t\t\t\t\t{ newIcon }\n\t\t\t\t\t{ newChildren }\n\t\t\t\t\t{ subscript && (\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\tisPressed\n\t\t\t\t\t\t\t\t\t? styles.subscriptActive\n\t\t\t\t\t\t\t\t\t: subscriptInactive\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ subscript }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t) }\n\t\t\t\t</View>\n\t\t\t</View>\n\t\t</TouchableOpacity>\n\t);\n\n\tif ( ! shouldShowTooltip ) {\n\t\treturn element;\n\t}\n\n\treturn (\n\t\t<Tooltip\n\t\t\ttext={ label }\n\t\t\tshortcut={ shortcut }\n\t\t\tposition={ tooltipPosition }\n\t\t\tvisible={ showTooltip === true }\n\t\t>\n\t\t\t{ element }\n\t\t</Tooltip>\n\t);\n}\n\nexport default Button;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/button/index.native.js"],"names":["isAndroid","Platform","OS","marginBottom","marginLeft","styles","StyleSheet","create","container","flex","padding","justifyContent","alignItems","buttonInactive","flexDirection","fixedRatio","aspectRatio","buttonActive","borderRadius","borderColor","backgroundColor","subscriptInactive","color","fontWeight","fontSize","alignSelf","subscriptInactiveDark","subscriptActive","Button","props","children","onClick","onLongPress","disabled","hint","isPressed","ariaDisabled","subscript","testID","icon","iconSize","showTooltip","label","shortcut","tooltipPosition","isActiveStyle","customContainerStyles","preferredColorScheme","isDisabled","containerStyle","buttonViewStyle","opacity","states","push","newChildren","Children","map","child","colorScheme","shouldShowTooltip","length","newIcon","longPressHandler","nativeEvent","state","State","ACTIVE","element"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tStyleSheet,\n\tTouchableOpacity,\n\tText,\n\tView,\n\tPlatform,\n} from 'react-native';\nimport { isArray } from 'lodash';\nimport { LongPressGestureHandler, State } from 'react-native-gesture-handler';\n\n/**\n * WordPress dependencies\n */\nimport { Children, cloneElement, useCallback } from '@wordpress/element';\nimport {\n\tusePreferredColorScheme,\n\tusePreferredColorSchemeStyle,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Tooltip from '../tooltip';\nimport Icon from '../icon';\n\nconst isAndroid = Platform.OS === 'android';\nconst marginBottom = isAndroid ? -0.5 : 0;\nconst marginLeft = -3;\n\nconst styles = StyleSheet.create( {\n\tcontainer: {\n\t\tflex: 1,\n\t\tpadding: 3,\n\t\tjustifyContent: 'center',\n\t\talignItems: 'center',\n\t},\n\tbuttonInactive: {\n\t\tflex: 1,\n\t\tflexDirection: 'row',\n\t\tjustifyContent: 'center',\n\t\talignItems: 'center',\n\t},\n\tfixedRatio: {\n\t\taspectRatio: 1,\n\t},\n\tbuttonActive: {\n\t\tflex: 1,\n\t\tflexDirection: 'row',\n\t\tjustifyContent: 'center',\n\t\talignItems: 'center',\n\t\tborderRadius: 6,\n\t\tborderColor: '#2e4453',\n\t\tbackgroundColor: '#2e4453',\n\t},\n\tsubscriptInactive: {\n\t\tcolor: '#7b9ab1', // $toolbar-button.\n\t\tfontWeight: 'bold',\n\t\tfontSize: 13,\n\t\talignSelf: 'flex-end',\n\t\tmarginLeft,\n\t\tmarginBottom,\n\t},\n\tsubscriptInactiveDark: {\n\t\tcolor: '#a7aaad', // $gray_20.\n\t},\n\tsubscriptActive: {\n\t\tcolor: 'white',\n\t\tfontWeight: 'bold',\n\t\tfontSize: 13,\n\t\talignSelf: 'flex-end',\n\t\tmarginLeft,\n\t\tmarginBottom,\n\t},\n} );\n\nexport function Button( props ) {\n\tconst {\n\t\tchildren,\n\t\tonClick,\n\t\tonLongPress,\n\t\tdisabled,\n\t\thint,\n\t\tfixedRatio = true,\n\t\tisPressed,\n\t\t'aria-disabled': ariaDisabled,\n\t\t'data-subscript': subscript,\n\t\ttestID,\n\t\ticon,\n\t\ticonSize,\n\t\tshowTooltip,\n\t\tlabel,\n\t\tshortcut,\n\t\ttooltipPosition,\n\t\tisActiveStyle,\n\t\tcustomContainerStyles,\n\t} = props;\n\tconst preferredColorScheme = usePreferredColorScheme();\n\n\tconst isDisabled = ariaDisabled || disabled;\n\n\tconst containerStyle = [\n\t\tstyles.container,\n\t\tcustomContainerStyles && { ...customContainerStyles },\n\t];\n\n\tconst buttonViewStyle = {\n\t\topacity: isDisabled ? 0.3 : 1,\n\t\t...( fixedRatio && styles.fixedRatio ),\n\t\t...( isPressed ? styles.buttonActive : styles.buttonInactive ),\n\t\t...( isPressed &&\n\t\t\tisActiveStyle?.borderRadius && {\n\t\t\t\tborderRadius: isActiveStyle.borderRadius,\n\t\t\t} ),\n\t\t...( isActiveStyle?.backgroundColor && {\n\t\t\tbackgroundColor: isActiveStyle.backgroundColor,\n\t\t} ),\n\t};\n\n\tconst states = [];\n\tif ( isPressed ) {\n\t\tstates.push( 'selected' );\n\t}\n\n\tif ( isDisabled ) {\n\t\tstates.push( 'disabled' );\n\t}\n\n\tconst subscriptInactive = usePreferredColorSchemeStyle(\n\t\tstyles.subscriptInactive,\n\t\tstyles.subscriptInactiveDark\n\t);\n\n\tconst newChildren = Children.map( children, ( child ) => {\n\t\treturn child\n\t\t\t? cloneElement( child, {\n\t\t\t\t\tcolorScheme: preferredColorScheme,\n\t\t\t\t\tisPressed,\n\t\t\t } )\n\t\t\t: child;\n\t} );\n\n\t// Should show the tooltip if...\n\tconst shouldShowTooltip =\n\t\t! isDisabled &&\n\t\t// An explicit tooltip is passed or...\n\t\t( ( showTooltip && label ) ||\n\t\t\t// There's a shortcut or...\n\t\t\tshortcut ||\n\t\t\t// There's a label and...\n\t\t\t( !! label &&\n\t\t\t\t// The children are empty and...\n\t\t\t\t( ! children ||\n\t\t\t\t\t( isArray( children ) && ! children.length ) ) &&\n\t\t\t\t// The tooltip is not explicitly disabled.\n\t\t\t\tfalse !== showTooltip ) );\n\n\tconst newIcon = icon\n\t\t? cloneElement( <Icon icon={ icon } size={ iconSize } />, {\n\t\t\t\tcolorScheme: preferredColorScheme,\n\t\t\t\tisPressed,\n\t\t } )\n\t\t: null;\n\n\tconst longPressHandler = useCallback(\n\t\t( { nativeEvent } ) => {\n\t\t\tif ( nativeEvent.state === State.ACTIVE && onLongPress ) {\n\t\t\t\tonLongPress();\n\t\t\t}\n\t\t},\n\t\t[ onLongPress ]\n\t);\n\n\tconst element = (\n\t\t<TouchableOpacity\n\t\t\tactiveOpacity={ 0.7 }\n\t\t\taccessible={ true }\n\t\t\taccessibilityLabel={ label }\n\t\t\taccessibilityStates={ states }\n\t\t\taccessibilityRole={ 'button' }\n\t\t\taccessibilityHint={ hint }\n\t\t\tonPress={ onClick }\n\t\t\tstyle={ containerStyle }\n\t\t\tdisabled={ isDisabled }\n\t\t\ttestID={ testID }\n\t\t>\n\t\t\t<LongPressGestureHandler\n\t\t\t\tminDurationMs={ 500 }\n\t\t\t\tmaxDist={ 150 }\n\t\t\t\tonHandlerStateChange={ longPressHandler }\n\t\t\t>\n\t\t\t\t<View style={ buttonViewStyle }>\n\t\t\t\t\t<View style={ { flexDirection: 'row' } }>\n\t\t\t\t\t\t{ newIcon }\n\t\t\t\t\t\t{ newChildren }\n\t\t\t\t\t\t{ subscript && (\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\tisPressed\n\t\t\t\t\t\t\t\t\t\t? styles.subscriptActive\n\t\t\t\t\t\t\t\t\t\t: subscriptInactive\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ subscript }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t</LongPressGestureHandler>\n\t\t</TouchableOpacity>\n\t);\n\n\tif ( ! shouldShowTooltip ) {\n\t\treturn element;\n\t}\n\n\treturn (\n\t\t<Tooltip\n\t\t\ttext={ label }\n\t\t\tshortcut={ shortcut }\n\t\t\tposition={ tooltipPosition }\n\t\t\tvisible={ showTooltip === true }\n\t\t>\n\t\t\t{ element }\n\t\t</Tooltip>\n\t);\n}\n\nexport default Button;\n"]}
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = void 0;
8
+ exports.default = exports.ButtonGroup = void 0;
9
9
 
10
10
  var _element = require("@wordpress/element");
11
11
 
@@ -20,20 +20,37 @@ var _classnames = _interopRequireDefault(require("classnames"));
20
20
  /**
21
21
  * WordPress dependencies
22
22
  */
23
- function ButtonGroup(_ref, ref) {
24
- let {
23
+ function UnforwardedButtonGroup(props, ref) {
24
+ const {
25
25
  className,
26
- ...props
27
- } = _ref;
26
+ ...restProps
27
+ } = props;
28
28
  const classes = (0, _classnames.default)('components-button-group', className);
29
29
  return (0, _element.createElement)("div", (0, _extends2.default)({
30
30
  ref: ref,
31
31
  role: "group",
32
32
  className: classes
33
- }, props));
33
+ }, restProps));
34
34
  }
35
+ /**
36
+ * ButtonGroup can be used to group any related buttons together. To emphasize
37
+ * related buttons, a group should share a common container.
38
+ *
39
+ * ```jsx
40
+ * import { Button, ButtonGroup } from '@wordpress/components';
41
+ *
42
+ * const MyButtonGroup = () => (
43
+ * <ButtonGroup>
44
+ * <Button variant="primary">Button 1</Button>
45
+ * <Button variant="primary">Button 2</Button>
46
+ * </ButtonGroup>
47
+ * );
48
+ * ```
49
+ */
35
50
 
36
- var _default = (0, _element.forwardRef)(ButtonGroup);
37
51
 
52
+ const ButtonGroup = (0, _element.forwardRef)(UnforwardedButtonGroup);
53
+ exports.ButtonGroup = ButtonGroup;
54
+ var _default = ButtonGroup;
38
55
  exports.default = _default;
39
56
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/button-group/index.js"],"names":["ButtonGroup","ref","className","props","classes"],"mappings":";;;;;;;;;AAQA;;;;AALA;;AAHA;AACA;AACA;;AAGA;AACA;AACA;AAGA,SAASA,WAAT,OAA+CC,GAA/C,EAAqD;AAAA,MAA/B;AAAEC,IAAAA,SAAF;AAAa,OAAGC;AAAhB,GAA+B;AACpD,QAAMC,OAAO,GAAG,yBAAY,yBAAZ,EAAuCF,SAAvC,CAAhB;AAEA,SAAO;AAAK,IAAA,GAAG,EAAGD,GAAX;AAAiB,IAAA,IAAI,EAAC,OAAtB;AAA8B,IAAA,SAAS,EAAGG;AAA1C,KAAyDD,KAAzD,EAAP;AACA;;eAEc,yBAAYH,WAAZ,C","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\nfunction ButtonGroup( { className, ...props }, ref ) {\n\tconst classes = classnames( 'components-button-group', className );\n\n\treturn <div ref={ ref } role=\"group\" className={ classes } { ...props } />;\n}\n\nexport default forwardRef( ButtonGroup );\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/button-group/index.tsx"],"names":["UnforwardedButtonGroup","props","ref","className","restProps","classes","ButtonGroup"],"mappings":";;;;;;;;;AASA;;;;AANA;;AAHA;AACA;AACA;;AAIA;AACA;AACA;AASA,SAASA,sBAAT,CACCC,KADD,EAECC,GAFD,EAGE;AACD,QAAM;AAAEC,IAAAA,SAAF;AAAa,OAAGC;AAAhB,MAA8BH,KAApC;AACA,QAAMI,OAAO,GAAG,yBAAY,yBAAZ,EAAuCF,SAAvC,CAAhB;AAEA,SACC;AAAK,IAAA,GAAG,EAAGD,GAAX;AAAiB,IAAA,IAAI,EAAC,OAAtB;AAA8B,IAAA,SAAS,EAAGG;AAA1C,KAAyDD,SAAzD,EADD;AAGA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,MAAME,WAAW,GAAG,yBAAYN,sBAAZ,CAApB;;eAEQM,W","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport type { ForwardedRef } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { ButtonGroupProps } from './types';\nimport type { WordPressComponentProps } from '../ui/context';\n\nfunction UnforwardedButtonGroup(\n\tprops: WordPressComponentProps< ButtonGroupProps, 'div', false >,\n\tref: ForwardedRef< HTMLDivElement >\n) {\n\tconst { className, ...restProps } = props;\n\tconst classes = classnames( 'components-button-group', className );\n\n\treturn (\n\t\t<div ref={ ref } role=\"group\" className={ classes } { ...restProps } />\n\t);\n}\n\n/**\n * ButtonGroup can be used to group any related buttons together. To emphasize\n * related buttons, a group should share a common container.\n *\n * ```jsx\n * import { Button, ButtonGroup } from '@wordpress/components';\n *\n * const MyButtonGroup = () => (\n * <ButtonGroup>\n * <Button variant=\"primary\">Button 1</Button>\n * <Button variant=\"primary\">Button 2</Button>\n * </ButtonGroup>\n * );\n * ```\n */\nexport const ButtonGroup = forwardRef( UnforwardedButtonGroup );\n\nexport default ButtonGroup;\n"]}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
@@ -5,7 +5,8 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = CheckboxControl;
8
+ exports.CheckboxControl = CheckboxControl;
9
+ exports.default = void 0;
9
10
 
10
11
  var _element = require("@wordpress/element");
11
12
 
@@ -32,8 +33,31 @@ var _baseControl = _interopRequireDefault(require("../base-control"));
32
33
  /**
33
34
  * Internal dependencies
34
35
  */
35
- function CheckboxControl(_ref) {
36
- let {
36
+
37
+ /**
38
+ * Checkboxes allow the user to select one or more items from a set.
39
+ *
40
+ * ```jsx
41
+ * import { CheckboxControl } from '@wordpress/components';
42
+ * import { useState } from '@wordpress/element';
43
+ *
44
+ * const MyCheckboxControl = () => {
45
+ * const [ isChecked, setChecked ] = useState( true );
46
+ * return (
47
+ * <CheckboxControl
48
+ * label="Is author"
49
+ * help="Is the user a author or not?"
50
+ * checked={ isChecked }
51
+ * onChange={ setChecked }
52
+ * />
53
+ * );
54
+ * };
55
+ * ```
56
+ */
57
+ function CheckboxControl( // ref is omitted until we have `WordPressComponentPropsWithoutRef` or add
58
+ // ref forwarding to CheckboxControl.
59
+ props) {
60
+ const {
37
61
  label,
38
62
  className,
39
63
  heading,
@@ -41,8 +65,8 @@ function CheckboxControl(_ref) {
41
65
  indeterminate,
42
66
  help,
43
67
  onChange,
44
- ...props
45
- } = _ref;
68
+ ...additionalProps
69
+ } = props;
46
70
 
47
71
  if (heading) {
48
72
  (0, _deprecated.default)('`heading` prop in `CheckboxControl`', {
@@ -52,7 +76,7 @@ function CheckboxControl(_ref) {
52
76
  }
53
77
 
54
78
  const [showCheckedIcon, setShowCheckedIcon] = (0, _element.useState)(false);
55
- const [showIndeterminateIcon, setShowIndeterminateIcon] = (0, _element.useState)(false); // Run the following callback everytime the `ref` (and the additional
79
+ const [showIndeterminateIcon, setShowIndeterminateIcon] = (0, _element.useState)(false); // Run the following callback every time the `ref` (and the additional
56
80
  // dependencies) change.
57
81
 
58
82
  const ref = (0, _compose.useRefEffect)(node => {
@@ -86,7 +110,7 @@ function CheckboxControl(_ref) {
86
110
  onChange: onChangeValue,
87
111
  checked: checked,
88
112
  "aria-describedby": !!help ? id + '__help' : undefined
89
- }, props)), showIndeterminateIcon ? (0, _element.createElement)(_icons.Icon, {
113
+ }, additionalProps)), showIndeterminateIcon ? (0, _element.createElement)(_icons.Icon, {
90
114
  icon: _icons.reset,
91
115
  className: "components-checkbox-control__indeterminate",
92
116
  role: "presentation"
@@ -99,4 +123,7 @@ function CheckboxControl(_ref) {
99
123
  htmlFor: id
100
124
  }, label));
101
125
  }
126
+
127
+ var _default = CheckboxControl;
128
+ exports.default = _default;
102
129
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/checkbox-control/index.js"],"names":["CheckboxControl","label","className","heading","checked","indeterminate","help","onChange","props","alternative","since","showCheckedIcon","setShowCheckedIcon","showIndeterminateIcon","setShowIndeterminateIcon","ref","node","matches","instanceId","id","onChangeValue","event","target","undefined","reset","check"],"mappings":";;;;;;;;;AAQA;;;;AALA;;AAMA;;AACA;;AACA;;AAKA;;AAhBA;AACA;AACA;;AAGA;AACA;AACA;;AAMA;AACA;AACA;AAGe,SAASA,eAAT,OASX;AAAA,MATqC;AACxCC,IAAAA,KADwC;AAExCC,IAAAA,SAFwC;AAGxCC,IAAAA,OAHwC;AAIxCC,IAAAA,OAJwC;AAKxCC,IAAAA,aALwC;AAMxCC,IAAAA,IANwC;AAOxCC,IAAAA,QAPwC;AAQxC,OAAGC;AARqC,GASrC;;AACH,MAAKL,OAAL,EAAe;AACd,6BAAY,qCAAZ,EAAmD;AAClDM,MAAAA,WAAW,EAAE,2CADqC;AAElDC,MAAAA,KAAK,EAAE;AAF2C,KAAnD;AAIA;;AAED,QAAM,CAAEC,eAAF,EAAmBC,kBAAnB,IAA0C,uBAAU,KAAV,CAAhD;AACA,QAAM,CAAEC,qBAAF,EAAyBC,wBAAzB,IAAsD,uBAC3D,KAD2D,CAA5D,CATG,CAaH;AACA;;AACA,QAAMC,GAAG,GAAG,2BACTC,IAAF,IAAY;AACX,QAAK,CAAEA,IAAP,EAAc;AACb;AACA,KAHU,CAKX;;;AACAA,IAAAA,IAAI,CAACX,aAAL,GAAqB,CAAC,CAAEA,aAAxB;AAEAO,IAAAA,kBAAkB,CAAEI,IAAI,CAACC,OAAL,CAAc,UAAd,CAAF,CAAlB;AACAH,IAAAA,wBAAwB,CAAEE,IAAI,CAACC,OAAL,CAAc,gBAAd,CAAF,CAAxB;AACA,GAXU,EAYX,CAAEb,OAAF,EAAWC,aAAX,CAZW,CAAZ;AAcA,QAAMa,UAAU,GAAG,4BAAelB,eAAf,CAAnB;AACA,QAAMmB,EAAE,GAAI,8BAA8BD,UAAY,EAAtD;;AACA,QAAME,aAAa,GAAKC,KAAF,IAAad,QAAQ,CAAEc,KAAK,CAACC,MAAN,CAAalB,OAAf,CAA3C;;AAEA,SACC,4BAAC,oBAAD;AACC,IAAA,KAAK,EAAGD,OADT;AAEC,IAAA,EAAE,EAAGgB,EAFN;AAGC,IAAA,IAAI,EAAGb,IAHR;AAIC,IAAA,SAAS,EAAG,yBAAY,6BAAZ,EAA2CJ,SAA3C;AAJb,KAMC;AAAM,IAAA,SAAS,EAAC;AAAhB,KACC;AACC,IAAA,GAAG,EAAGa,GADP;AAEC,IAAA,EAAE,EAAGI,EAFN;AAGC,IAAA,SAAS,EAAC,oCAHX;AAIC,IAAA,IAAI,EAAC,UAJN;AAKC,IAAA,KAAK,EAAC,GALP;AAMC,IAAA,QAAQ,EAAGC,aANZ;AAOC,IAAA,OAAO,EAAGhB,OAPX;AAQC,wBAAmB,CAAC,CAAEE,IAAH,GAAUa,EAAE,GAAG,QAAf,GAA0BI;AAR9C,KASMf,KATN,EADD,EAYGK,qBAAqB,GACtB,4BAAC,WAAD;AACC,IAAA,IAAI,EAAGW,YADR;AAEC,IAAA,SAAS,EAAC,4CAFX;AAGC,IAAA,IAAI,EAAC;AAHN,IADsB,GAMnB,IAlBL,EAmBGb,eAAe,GAChB,4BAAC,WAAD;AACC,IAAA,IAAI,EAAGc,YADR;AAEC,IAAA,SAAS,EAAC,sCAFX;AAGC,IAAA,IAAI,EAAC;AAHN,IADgB,GAMb,IAzBL,CAND,EAiCC;AACC,IAAA,SAAS,EAAC,oCADX;AAEC,IAAA,OAAO,EAAGN;AAFX,KAIGlB,KAJH,CAjCD,CADD;AA0CA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport { useInstanceId, useRefEffect } from '@wordpress/compose';\nimport deprecated from '@wordpress/deprecated';\nimport { Icon, check, reset } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../base-control';\n\nexport default function CheckboxControl( {\n\tlabel,\n\tclassName,\n\theading,\n\tchecked,\n\tindeterminate,\n\thelp,\n\tonChange,\n\t...props\n} ) {\n\tif ( heading ) {\n\t\tdeprecated( '`heading` prop in `CheckboxControl`', {\n\t\t\talternative: 'a separate element to implement a heading',\n\t\t\tsince: '5.8',\n\t\t} );\n\t}\n\n\tconst [ showCheckedIcon, setShowCheckedIcon ] = useState( false );\n\tconst [ showIndeterminateIcon, setShowIndeterminateIcon ] = useState(\n\t\tfalse\n\t);\n\n\t// Run the following callback everytime the `ref` (and the additional\n\t// dependencies) change.\n\tconst ref = useRefEffect(\n\t\t( node ) => {\n\t\t\tif ( ! node ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// It cannot be set using an HTML attribute.\n\t\t\tnode.indeterminate = !! indeterminate;\n\n\t\t\tsetShowCheckedIcon( node.matches( ':checked' ) );\n\t\t\tsetShowIndeterminateIcon( node.matches( ':indeterminate' ) );\n\t\t},\n\t\t[ checked, indeterminate ]\n\t);\n\tconst instanceId = useInstanceId( CheckboxControl );\n\tconst id = `inspector-checkbox-control-${ instanceId }`;\n\tconst onChangeValue = ( event ) => onChange( event.target.checked );\n\n\treturn (\n\t\t<BaseControl\n\t\t\tlabel={ heading }\n\t\t\tid={ id }\n\t\t\thelp={ help }\n\t\t\tclassName={ classnames( 'components-checkbox-control', className ) }\n\t\t>\n\t\t\t<span className=\"components-checkbox-control__input-container\">\n\t\t\t\t<input\n\t\t\t\t\tref={ ref }\n\t\t\t\t\tid={ id }\n\t\t\t\t\tclassName=\"components-checkbox-control__input\"\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\tvalue=\"1\"\n\t\t\t\t\tonChange={ onChangeValue }\n\t\t\t\t\tchecked={ checked }\n\t\t\t\t\taria-describedby={ !! help ? id + '__help' : undefined }\n\t\t\t\t\t{ ...props }\n\t\t\t\t/>\n\t\t\t\t{ showIndeterminateIcon ? (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={ reset }\n\t\t\t\t\t\tclassName=\"components-checkbox-control__indeterminate\"\n\t\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\t/>\n\t\t\t\t) : null }\n\t\t\t\t{ showCheckedIcon ? (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={ check }\n\t\t\t\t\t\tclassName=\"components-checkbox-control__checked\"\n\t\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\t/>\n\t\t\t\t) : null }\n\t\t\t</span>\n\t\t\t<label\n\t\t\t\tclassName=\"components-checkbox-control__label\"\n\t\t\t\thtmlFor={ id }\n\t\t\t>\n\t\t\t\t{ label }\n\t\t\t</label>\n\t\t</BaseControl>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/checkbox-control/index.tsx"],"names":["CheckboxControl","props","label","className","heading","checked","indeterminate","help","onChange","additionalProps","alternative","since","showCheckedIcon","setShowCheckedIcon","showIndeterminateIcon","setShowIndeterminateIcon","ref","node","matches","instanceId","id","onChangeValue","event","target","undefined","reset","check"],"mappings":";;;;;;;;;;AASA;;;;AANA;;AAOA;;AACA;;AACA;;AAKA;;AAjBA;AACA;AACA;;AAIA;AACA;AACA;;AAMA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,eAAT,EACN;AACA;AACAC,KAHM,EAOL;AACD,QAAM;AACLC,IAAAA,KADK;AAELC,IAAAA,SAFK;AAGLC,IAAAA,OAHK;AAILC,IAAAA,OAJK;AAKLC,IAAAA,aALK;AAMLC,IAAAA,IANK;AAOLC,IAAAA,QAPK;AAQL,OAAGC;AARE,MASFR,KATJ;;AAWA,MAAKG,OAAL,EAAe;AACd,6BAAY,qCAAZ,EAAmD;AAClDM,MAAAA,WAAW,EAAE,2CADqC;AAElDC,MAAAA,KAAK,EAAE;AAF2C,KAAnD;AAIA;;AAED,QAAM,CAAEC,eAAF,EAAmBC,kBAAnB,IAA0C,uBAAU,KAAV,CAAhD;AACA,QAAM,CAAEC,qBAAF,EAAyBC,wBAAzB,IAAsD,uBAC3D,KAD2D,CAA5D,CApBC,CAwBD;AACA;;AACA,QAAMC,GAAG,GAAG,2BACTC,IAAF,IAAY;AACX,QAAK,CAAEA,IAAP,EAAc;AACb;AACA,KAHU,CAKX;;;AACAA,IAAAA,IAAI,CAACX,aAAL,GAAqB,CAAC,CAAEA,aAAxB;AAEAO,IAAAA,kBAAkB,CAAEI,IAAI,CAACC,OAAL,CAAc,UAAd,CAAF,CAAlB;AACAH,IAAAA,wBAAwB,CAAEE,IAAI,CAACC,OAAL,CAAc,gBAAd,CAAF,CAAxB;AACA,GAXU,EAYX,CAAEb,OAAF,EAAWC,aAAX,CAZW,CAAZ;AAcA,QAAMa,UAAU,GAAG,4BAAenB,eAAf,CAAnB;AACA,QAAMoB,EAAE,GAAI,8BAA8BD,UAAY,EAAtD;;AACA,QAAME,aAAa,GAAKC,KAAF,IACrBd,QAAQ,CAAEc,KAAK,CAACC,MAAN,CAAalB,OAAf,CADT;;AAGA,SACC,4BAAC,oBAAD;AACC,IAAA,KAAK,EAAGD,OADT;AAEC,IAAA,EAAE,EAAGgB,EAFN;AAGC,IAAA,IAAI,EAAGb,IAHR;AAIC,IAAA,SAAS,EAAG,yBAAY,6BAAZ,EAA2CJ,SAA3C;AAJb,KAMC;AAAM,IAAA,SAAS,EAAC;AAAhB,KACC;AACC,IAAA,GAAG,EAAGa,GADP;AAEC,IAAA,EAAE,EAAGI,EAFN;AAGC,IAAA,SAAS,EAAC,oCAHX;AAIC,IAAA,IAAI,EAAC,UAJN;AAKC,IAAA,KAAK,EAAC,GALP;AAMC,IAAA,QAAQ,EAAGC,aANZ;AAOC,IAAA,OAAO,EAAGhB,OAPX;AAQC,wBAAmB,CAAC,CAAEE,IAAH,GAAUa,EAAE,GAAG,QAAf,GAA0BI;AAR9C,KASMf,eATN,EADD,EAYGK,qBAAqB,GACtB,4BAAC,WAAD;AACC,IAAA,IAAI,EAAGW,YADR;AAEC,IAAA,SAAS,EAAC,4CAFX;AAGC,IAAA,IAAI,EAAC;AAHN,IADsB,GAMnB,IAlBL,EAmBGb,eAAe,GAChB,4BAAC,WAAD;AACC,IAAA,IAAI,EAAGc,YADR;AAEC,IAAA,SAAS,EAAC,sCAFX;AAGC,IAAA,IAAI,EAAC;AAHN,IADgB,GAMb,IAzBL,CAND,EAiCC;AACC,IAAA,SAAS,EAAC,oCADX;AAEC,IAAA,OAAO,EAAGN;AAFX,KAIGlB,KAJH,CAjCD,CADD;AA0CA;;eAEcF,e","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport type { ChangeEvent } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport { useInstanceId, useRefEffect } from '@wordpress/compose';\nimport deprecated from '@wordpress/deprecated';\nimport { Icon, check, reset } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../base-control';\nimport type { CheckboxControlProps } from './types';\nimport type { WordPressComponentProps } from '../ui/context';\n\n/**\n * Checkboxes allow the user to select one or more items from a set.\n *\n * ```jsx\n * import { CheckboxControl } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const MyCheckboxControl = () => {\n * const [ isChecked, setChecked ] = useState( true );\n * return (\n * <CheckboxControl\n * label=\"Is author\"\n * help=\"Is the user a author or not?\"\n * checked={ isChecked }\n * onChange={ setChecked }\n * />\n * );\n * };\n * ```\n */\nexport function CheckboxControl(\n\t// ref is omitted until we have `WordPressComponentPropsWithoutRef` or add\n\t// ref forwarding to CheckboxControl.\n\tprops: Omit<\n\t\tWordPressComponentProps< CheckboxControlProps, 'input', false >,\n\t\t'ref'\n\t>\n) {\n\tconst {\n\t\tlabel,\n\t\tclassName,\n\t\theading,\n\t\tchecked,\n\t\tindeterminate,\n\t\thelp,\n\t\tonChange,\n\t\t...additionalProps\n\t} = props;\n\n\tif ( heading ) {\n\t\tdeprecated( '`heading` prop in `CheckboxControl`', {\n\t\t\talternative: 'a separate element to implement a heading',\n\t\t\tsince: '5.8',\n\t\t} );\n\t}\n\n\tconst [ showCheckedIcon, setShowCheckedIcon ] = useState( false );\n\tconst [ showIndeterminateIcon, setShowIndeterminateIcon ] = useState(\n\t\tfalse\n\t);\n\n\t// Run the following callback every time the `ref` (and the additional\n\t// dependencies) change.\n\tconst ref = useRefEffect< HTMLInputElement >(\n\t\t( node ) => {\n\t\t\tif ( ! node ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// It cannot be set using an HTML attribute.\n\t\t\tnode.indeterminate = !! indeterminate;\n\n\t\t\tsetShowCheckedIcon( node.matches( ':checked' ) );\n\t\t\tsetShowIndeterminateIcon( node.matches( ':indeterminate' ) );\n\t\t},\n\t\t[ checked, indeterminate ]\n\t);\n\tconst instanceId = useInstanceId( CheckboxControl );\n\tconst id = `inspector-checkbox-control-${ instanceId }`;\n\tconst onChangeValue = ( event: ChangeEvent< HTMLInputElement > ) =>\n\t\tonChange( event.target.checked );\n\n\treturn (\n\t\t<BaseControl\n\t\t\tlabel={ heading }\n\t\t\tid={ id }\n\t\t\thelp={ help }\n\t\t\tclassName={ classnames( 'components-checkbox-control', className ) }\n\t\t>\n\t\t\t<span className=\"components-checkbox-control__input-container\">\n\t\t\t\t<input\n\t\t\t\t\tref={ ref }\n\t\t\t\t\tid={ id }\n\t\t\t\t\tclassName=\"components-checkbox-control__input\"\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\tvalue=\"1\"\n\t\t\t\t\tonChange={ onChangeValue }\n\t\t\t\t\tchecked={ checked }\n\t\t\t\t\taria-describedby={ !! help ? id + '__help' : undefined }\n\t\t\t\t\t{ ...additionalProps }\n\t\t\t\t/>\n\t\t\t\t{ showIndeterminateIcon ? (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={ reset }\n\t\t\t\t\t\tclassName=\"components-checkbox-control__indeterminate\"\n\t\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\t/>\n\t\t\t\t) : null }\n\t\t\t\t{ showCheckedIcon ? (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={ check }\n\t\t\t\t\t\tclassName=\"components-checkbox-control__checked\"\n\t\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\t/>\n\t\t\t\t) : null }\n\t\t\t</span>\n\t\t\t<label\n\t\t\t\tclassName=\"components-checkbox-control__label\"\n\t\t\t\thtmlFor={ id }\n\t\t\t>\n\t\t\t\t{ label }\n\t\t\t</label>\n\t\t</BaseControl>\n\t);\n}\n\nexport default CheckboxControl;\n"]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}