@wordpress/components 25.6.1 → 26.0.1-next.5a1d1283.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 (526) hide show
  1. package/CHANGELOG.md +21 -1
  2. package/CONTRIBUTING.md +1 -1
  3. package/README.md +3 -8
  4. package/build/color-picker/hsv-color-picker.native.js +92 -0
  5. package/build/color-picker/hsv-color-picker.native.js.map +1 -0
  6. package/build/color-picker/hue-picker.native.js +195 -0
  7. package/build/color-picker/hue-picker.native.js.map +1 -0
  8. package/build/color-picker/index.native.js +3 -2
  9. package/build/color-picker/index.native.js.map +1 -1
  10. package/build/color-picker/saturation-picker.native.js +178 -0
  11. package/build/color-picker/saturation-picker.native.js.map +1 -0
  12. package/build/item-group/item/component.js +0 -1
  13. package/build/item-group/item/component.js.map +1 -1
  14. package/build/item-group/item-group/component.js +0 -1
  15. package/build/item-group/item-group/component.js.map +1 -1
  16. package/build/menu-item/index.js +6 -4
  17. package/build/menu-item/index.js.map +1 -1
  18. package/build/menu-item/types.js.map +1 -1
  19. package/build/mobile/link-settings/link-settings-navigation.native.js +1 -1
  20. package/build/mobile/link-settings/link-settings-navigation.native.js.map +1 -1
  21. package/build/navigation/index.js +0 -1
  22. package/build/navigation/index.js.map +1 -1
  23. package/build/navigator/navigator-provider/component.js +1 -2
  24. package/build/navigator/navigator-provider/component.js.map +1 -1
  25. package/build/palette-edit/styles.js +10 -10
  26. package/build/palette-edit/styles.js.map +1 -1
  27. package/build/popover/index.js +38 -75
  28. package/build/popover/index.js.map +1 -1
  29. package/build/popover/overlay-middlewares.js.map +1 -1
  30. package/build/popover/types.js.map +1 -1
  31. package/build/popover/utils.js +5 -50
  32. package/build/popover/utils.js.map +1 -1
  33. package/build/progress-bar/styles.js +6 -5
  34. package/build/progress-bar/styles.js.map +1 -1
  35. package/build/search-control/index.native.js +27 -24
  36. package/build/search-control/index.native.js.map +1 -1
  37. package/build/shortcut/index.js +13 -0
  38. package/build/shortcut/index.js.map +1 -1
  39. package/build/slot-fill/bubbles-virtually/slot-fill-context.js +3 -1
  40. package/build/slot-fill/bubbles-virtually/slot-fill-context.js.map +1 -1
  41. package/build/slot-fill/bubbles-virtually/slot.js +14 -8
  42. package/build/slot-fill/bubbles-virtually/slot.js.map +1 -1
  43. package/build/slot-fill/index.js +5 -0
  44. package/build/slot-fill/index.js.map +1 -1
  45. package/build/spinner/index.js +0 -1
  46. package/build/spinner/index.js.map +1 -1
  47. package/build/theme/index.js +0 -1
  48. package/build/theme/index.js.map +1 -1
  49. package/build/tools-panel/tools-panel/component.js +0 -1
  50. package/build/tools-panel/tools-panel/component.js.map +1 -1
  51. package/build/tools-panel/tools-panel-header/component.js +5 -1
  52. package/build/tools-panel/tools-panel-header/component.js.map +1 -1
  53. package/build/tree-select/index.js +0 -1
  54. package/build/tree-select/index.js.map +1 -1
  55. package/build/unit-control/index.js +0 -1
  56. package/build/unit-control/index.js.map +1 -1
  57. package/build/utils/hooks/use-cx.js +2 -1
  58. package/build/utils/hooks/use-cx.js.map +1 -1
  59. package/build/view/component.js +1 -2
  60. package/build/view/component.js.map +1 -1
  61. package/build-module/color-picker/hsv-color-picker.native.js +84 -0
  62. package/build-module/color-picker/hsv-color-picker.native.js.map +1 -0
  63. package/build-module/color-picker/hue-picker.native.js +185 -0
  64. package/build-module/color-picker/hue-picker.native.js.map +1 -0
  65. package/build-module/color-picker/index.native.js +2 -1
  66. package/build-module/color-picker/index.native.js.map +1 -1
  67. package/build-module/color-picker/saturation-picker.native.js +168 -0
  68. package/build-module/color-picker/saturation-picker.native.js.map +1 -0
  69. package/build-module/item-group/item/component.js +0 -1
  70. package/build-module/item-group/item/component.js.map +1 -1
  71. package/build-module/item-group/item-group/component.js +0 -1
  72. package/build-module/item-group/item-group/component.js.map +1 -1
  73. package/build-module/menu-item/index.js +4 -2
  74. package/build-module/menu-item/index.js.map +1 -1
  75. package/build-module/menu-item/types.js.map +1 -1
  76. package/build-module/mobile/link-settings/link-settings-navigation.native.js +1 -1
  77. package/build-module/mobile/link-settings/link-settings-navigation.native.js.map +1 -1
  78. package/build-module/navigation/index.js +0 -1
  79. package/build-module/navigation/index.js.map +1 -1
  80. package/build-module/navigator/navigator-provider/component.js +1 -2
  81. package/build-module/navigator/navigator-provider/component.js.map +1 -1
  82. package/build-module/palette-edit/styles.js +10 -10
  83. package/build-module/palette-edit/styles.js.map +1 -1
  84. package/build-module/popover/index.js +42 -79
  85. package/build-module/popover/index.js.map +1 -1
  86. package/build-module/popover/overlay-middlewares.js.map +1 -1
  87. package/build-module/popover/types.js.map +1 -1
  88. package/build-module/popover/utils.js +4 -47
  89. package/build-module/popover/utils.js.map +1 -1
  90. package/build-module/progress-bar/styles.js +6 -5
  91. package/build-module/progress-bar/styles.js.map +1 -1
  92. package/build-module/search-control/index.native.js +28 -25
  93. package/build-module/search-control/index.native.js.map +1 -1
  94. package/build-module/shortcut/index.js +13 -0
  95. package/build-module/shortcut/index.js.map +1 -1
  96. package/build-module/slot-fill/bubbles-virtually/slot-fill-context.js +3 -1
  97. package/build-module/slot-fill/bubbles-virtually/slot-fill-context.js.map +1 -1
  98. package/build-module/slot-fill/bubbles-virtually/slot.js +14 -8
  99. package/build-module/slot-fill/bubbles-virtually/slot.js.map +1 -1
  100. package/build-module/slot-fill/index.js +6 -1
  101. package/build-module/slot-fill/index.js.map +1 -1
  102. package/build-module/spinner/index.js +0 -1
  103. package/build-module/spinner/index.js.map +1 -1
  104. package/build-module/theme/index.js +0 -1
  105. package/build-module/theme/index.js.map +1 -1
  106. package/build-module/tools-panel/tools-panel/component.js +0 -1
  107. package/build-module/tools-panel/tools-panel/component.js.map +1 -1
  108. package/build-module/tools-panel/tools-panel-header/component.js +5 -1
  109. package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
  110. package/build-module/tree-select/index.js +0 -1
  111. package/build-module/tree-select/index.js.map +1 -1
  112. package/build-module/unit-control/index.js +0 -1
  113. package/build-module/unit-control/index.js.map +1 -1
  114. package/build-module/utils/hooks/use-cx.js +2 -1
  115. package/build-module/utils/hooks/use-cx.js.map +1 -1
  116. package/build-module/view/component.js +1 -2
  117. package/build-module/view/component.js.map +1 -1
  118. package/build-types/alignment-matrix-control/stories/index.story.d.ts +2 -2
  119. package/build-types/alignment-matrix-control/stories/index.story.d.ts.map +1 -1
  120. package/build-types/angle-picker-control/stories/index.story.d.ts +2 -2
  121. package/build-types/angle-picker-control/stories/index.story.d.ts.map +1 -1
  122. package/build-types/animate/stories/index.story.d.ts +9 -9
  123. package/build-types/animate/stories/index.story.d.ts.map +1 -1
  124. package/build-types/base-control/stories/index.story.d.ts +4 -4
  125. package/build-types/base-control/stories/index.story.d.ts.map +1 -1
  126. package/build-types/border-box-control/stories/index.story.d.ts +2 -2
  127. package/build-types/border-box-control/stories/index.story.d.ts.map +1 -1
  128. package/build-types/border-control/stories/index.story.d.ts +2 -2
  129. package/build-types/border-control/stories/index.story.d.ts.map +1 -1
  130. package/build-types/button/stories/e2e/index.story.d.ts +3 -3
  131. package/build-types/button/stories/e2e/index.story.d.ts.map +1 -1
  132. package/build-types/button/stories/index.story.d.ts +10 -9
  133. package/build-types/button/stories/index.story.d.ts.map +1 -1
  134. package/build-types/button-group/stories/index.story.d.ts +3 -3
  135. package/build-types/button-group/stories/index.story.d.ts.map +1 -1
  136. package/build-types/card/stories/index.story.d.ts +2 -2
  137. package/build-types/card/stories/index.story.d.ts.map +1 -1
  138. package/build-types/checkbox-control/stories/index.story.d.ts +4 -4
  139. package/build-types/checkbox-control/stories/index.story.d.ts.map +1 -1
  140. package/build-types/circular-option-picker/stories/index.story.d.ts +2 -2
  141. package/build-types/circular-option-picker/stories/index.story.d.ts.map +1 -1
  142. package/build-types/color-indicator/stories/index.story.d.ts +3 -3
  143. package/build-types/color-indicator/stories/index.story.d.ts.map +1 -1
  144. package/build-types/color-palette/stories/index.story.d.ts +3 -3
  145. package/build-types/color-palette/stories/index.story.d.ts.map +1 -1
  146. package/build-types/color-palette/styles.d.ts +1 -1
  147. package/build-types/color-picker/stories/index.story.d.ts +2 -2
  148. package/build-types/color-picker/stories/index.story.d.ts.map +1 -1
  149. package/build-types/combobox-control/stories/index.story.d.ts +2 -2
  150. package/build-types/combobox-control/stories/index.story.d.ts.map +1 -1
  151. package/build-types/custom-gradient-picker/stories/index.story.d.ts +2 -2
  152. package/build-types/custom-gradient-picker/stories/index.story.d.ts.map +1 -1
  153. package/build-types/date-time/date/styles.d.ts +1 -1
  154. package/build-types/date-time/stories/date-time.story.d.ts +5 -5
  155. package/build-types/date-time/stories/date-time.story.d.ts.map +1 -1
  156. package/build-types/date-time/stories/date.story.d.ts +5 -5
  157. package/build-types/date-time/stories/date.story.d.ts.map +1 -1
  158. package/build-types/date-time/stories/time.story.d.ts +3 -3
  159. package/build-types/date-time/stories/time.story.d.ts.map +1 -1
  160. package/build-types/dimension-control/stories/index.story.d.ts.map +1 -1
  161. package/build-types/disabled/stories/index.story.d.ts +4 -4
  162. package/build-types/disabled/stories/index.story.d.ts.map +1 -1
  163. package/build-types/divider/stories/index.story.d.ts +5 -5
  164. package/build-types/divider/stories/index.story.d.ts.map +1 -1
  165. package/build-types/draggable/stories/index.story.d.ts +4 -4
  166. package/build-types/draggable/stories/index.story.d.ts.map +1 -1
  167. package/build-types/drop-zone/stories/index.story.d.ts +2 -2
  168. package/build-types/drop-zone/stories/index.story.d.ts.map +1 -1
  169. package/build-types/dropdown/stories/index.story.d.ts +6 -5
  170. package/build-types/dropdown/stories/index.story.d.ts.map +1 -1
  171. package/build-types/dropdown-menu/stories/index.story.d.ts +2 -2
  172. package/build-types/dropdown-menu/stories/index.story.d.ts.map +1 -1
  173. package/build-types/dropdown-menu-v2/stories/index.story.d.ts +2 -2
  174. package/build-types/dropdown-menu-v2/stories/index.story.d.ts.map +1 -1
  175. package/build-types/duotone-picker/stories/duotone-picker.story.d.ts +2 -2
  176. package/build-types/duotone-picker/stories/duotone-picker.story.d.ts.map +1 -1
  177. package/build-types/duotone-picker/stories/duotone-swatch.story.d.ts +2 -2
  178. package/build-types/duotone-picker/stories/duotone-swatch.story.d.ts.map +1 -1
  179. package/build-types/elevation/stories/index.story.d.ts +5 -5
  180. package/build-types/elevation/stories/index.story.d.ts.map +1 -1
  181. package/build-types/external-link/stories/index.story.d.ts +3 -3
  182. package/build-types/external-link/stories/index.story.d.ts.map +1 -1
  183. package/build-types/flex/stories/index.story.d.ts +4 -4
  184. package/build-types/flex/stories/index.story.d.ts.map +1 -1
  185. package/build-types/focal-point-picker/stories/index.story.d.ts +2 -2
  186. package/build-types/focal-point-picker/stories/index.story.d.ts.map +1 -1
  187. package/build-types/font-size-picker/stories/e2e/index.story.d.ts +2 -2
  188. package/build-types/font-size-picker/stories/e2e/index.story.d.ts.map +1 -1
  189. package/build-types/font-size-picker/stories/index.story.d.ts +8 -8
  190. package/build-types/font-size-picker/stories/index.story.d.ts.map +1 -1
  191. package/build-types/form-file-upload/stories/index.story.d.ts +2 -2
  192. package/build-types/form-file-upload/stories/index.story.d.ts.map +1 -1
  193. package/build-types/form-toggle/stories/index.story.d.ts +3 -3
  194. package/build-types/form-toggle/stories/index.story.d.ts.map +1 -1
  195. package/build-types/form-token-field/stories/index.story.d.ts +7 -7
  196. package/build-types/form-token-field/stories/index.story.d.ts.map +1 -1
  197. package/build-types/gradient-picker/stories/index.story.d.ts +2 -2
  198. package/build-types/gradient-picker/stories/index.story.d.ts.map +1 -1
  199. package/build-types/grid/stories/index.story.d.ts +3 -3
  200. package/build-types/grid/stories/index.story.d.ts.map +1 -1
  201. package/build-types/guide/stories/index.story.d.ts +2 -2
  202. package/build-types/guide/stories/index.story.d.ts.map +1 -1
  203. package/build-types/h-stack/stories/e2e/index.story.d.ts +3 -3
  204. package/build-types/h-stack/stories/e2e/index.story.d.ts.map +1 -1
  205. package/build-types/h-stack/stories/index.story.d.ts +3 -3
  206. package/build-types/h-stack/stories/index.story.d.ts.map +1 -1
  207. package/build-types/heading/stories/index.story.d.ts +3 -3
  208. package/build-types/heading/stories/index.story.d.ts.map +1 -1
  209. package/build-types/icon/stories/index.story.d.ts +4 -4
  210. package/build-types/icon/stories/index.story.d.ts.map +1 -1
  211. package/build-types/input-control/stories/index.story.d.ts +2 -2
  212. package/build-types/input-control/stories/index.story.d.ts.map +1 -1
  213. package/build-types/item-group/item/component.d.ts +0 -1
  214. package/build-types/item-group/item/component.d.ts.map +1 -1
  215. package/build-types/item-group/item-group/component.d.ts +0 -1
  216. package/build-types/item-group/item-group/component.d.ts.map +1 -1
  217. package/build-types/item-group/stories/index.story.d.ts +6 -6
  218. package/build-types/item-group/stories/index.story.d.ts.map +1 -1
  219. package/build-types/keyboard-shortcuts/stories/index.story.d.ts +2 -2
  220. package/build-types/keyboard-shortcuts/stories/index.story.d.ts.map +1 -1
  221. package/build-types/menu-group/stories/index.story.d.ts +3 -3
  222. package/build-types/menu-group/stories/index.story.d.ts.map +1 -1
  223. package/build-types/menu-item/index.d.ts +5 -58
  224. package/build-types/menu-item/index.d.ts.map +1 -1
  225. package/build-types/menu-item/stories/index.story.d.ts +74 -0
  226. package/build-types/menu-item/stories/index.story.d.ts.map +1 -0
  227. package/build-types/menu-item/types.d.ts +3 -2
  228. package/build-types/menu-item/types.d.ts.map +1 -1
  229. package/build-types/menu-items-choice/stories/index.story.d.ts +3 -3
  230. package/build-types/menu-items-choice/stories/index.story.d.ts.map +1 -1
  231. package/build-types/modal/stories/index.story.d.ts +4 -4
  232. package/build-types/modal/stories/index.story.d.ts.map +1 -1
  233. package/build-types/navigable-container/stories/navigable-menu.story.d.ts +3 -3
  234. package/build-types/navigable-container/stories/navigable-menu.story.d.ts.map +1 -1
  235. package/build-types/navigable-container/stories/tabbable-container.story.d.ts +3 -3
  236. package/build-types/navigable-container/stories/tabbable-container.story.d.ts.map +1 -1
  237. package/build-types/navigation/index.d.ts +0 -1
  238. package/build-types/navigation/index.d.ts.map +1 -1
  239. package/build-types/navigation/stories/index.story.d.ts +2 -2
  240. package/build-types/navigation/stories/index.story.d.ts.map +1 -1
  241. package/build-types/navigation/stories/utils/controlled-state.d.ts +2 -2
  242. package/build-types/navigation/stories/utils/controlled-state.d.ts.map +1 -1
  243. package/build-types/navigation/stories/utils/default.d.ts +2 -2
  244. package/build-types/navigation/stories/utils/default.d.ts.map +1 -1
  245. package/build-types/navigation/stories/utils/group.d.ts +2 -2
  246. package/build-types/navigation/stories/utils/group.d.ts.map +1 -1
  247. package/build-types/navigation/stories/utils/hide-if-empty.d.ts +2 -2
  248. package/build-types/navigation/stories/utils/hide-if-empty.d.ts.map +1 -1
  249. package/build-types/navigation/stories/utils/more-examples.d.ts +2 -2
  250. package/build-types/navigation/stories/utils/more-examples.d.ts.map +1 -1
  251. package/build-types/navigation/stories/utils/search.d.ts +2 -2
  252. package/build-types/navigation/stories/utils/search.d.ts.map +1 -1
  253. package/build-types/navigation/styles/navigation-styles.d.ts +1 -1
  254. package/build-types/navigator/navigator-provider/component.d.ts +0 -1
  255. package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
  256. package/build-types/navigator/stories/index.story.d.ts +5 -5
  257. package/build-types/navigator/stories/index.story.d.ts.map +1 -1
  258. package/build-types/notice/stories/index.story.d.ts +3 -3
  259. package/build-types/notice/stories/index.story.d.ts.map +1 -1
  260. package/build-types/number-control/stories/index.story.d.ts +2 -2
  261. package/build-types/number-control/stories/index.story.d.ts.map +1 -1
  262. package/build-types/palette-edit/stories/index.story.d.ts +2 -2
  263. package/build-types/palette-edit/stories/index.story.d.ts.map +1 -1
  264. package/build-types/palette-edit/styles.d.ts +1 -1
  265. package/build-types/palette-edit/styles.d.ts.map +1 -1
  266. package/build-types/panel/stories/index.story.d.ts +6 -6
  267. package/build-types/panel/stories/index.story.d.ts.map +1 -1
  268. package/build-types/placeholder/stories/index.story.d.ts +3 -3
  269. package/build-types/placeholder/stories/index.story.d.ts.map +1 -1
  270. package/build-types/popover/index.d.ts.map +1 -1
  271. package/build-types/popover/overlay-middlewares.d.ts +2 -2
  272. package/build-types/popover/overlay-middlewares.d.ts.map +1 -1
  273. package/build-types/popover/stories/index.story.d.ts +7 -7
  274. package/build-types/popover/stories/index.story.d.ts.map +1 -1
  275. package/build-types/popover/types.d.ts +6 -0
  276. package/build-types/popover/types.d.ts.map +1 -1
  277. package/build-types/popover/utils.d.ts +1 -21
  278. package/build-types/popover/utils.d.ts.map +1 -1
  279. package/build-types/progress-bar/stories/index.story.d.ts +3 -3
  280. package/build-types/progress-bar/stories/index.story.d.ts.map +1 -1
  281. package/build-types/progress-bar/styles.d.ts.map +1 -1
  282. package/build-types/query-controls/stories/index.story.d.ts +4 -4
  283. package/build-types/query-controls/stories/index.story.d.ts.map +1 -1
  284. package/build-types/radio-control/stories/index.story.d.ts +3 -3
  285. package/build-types/radio-control/stories/index.story.d.ts.map +1 -1
  286. package/build-types/range-control/stories/index.story.d.ts +9 -9
  287. package/build-types/range-control/stories/index.story.d.ts.map +1 -1
  288. package/build-types/resizable-box/stories/index.story.d.ts +2 -2
  289. package/build-types/resizable-box/stories/index.story.d.ts.map +1 -1
  290. package/build-types/responsive-wrapper/stories/index.story.d.ts +3 -3
  291. package/build-types/responsive-wrapper/stories/index.story.d.ts.map +1 -1
  292. package/build-types/sandbox/stories/index.story.d.ts +2 -2
  293. package/build-types/sandbox/stories/index.story.d.ts.map +1 -1
  294. package/build-types/scroll-lock/stories/index.story.d.ts +3 -3
  295. package/build-types/scroll-lock/stories/index.story.d.ts.map +1 -1
  296. package/build-types/scrollable/stories/index.story.d.ts +3 -3
  297. package/build-types/scrollable/stories/index.story.d.ts.map +1 -1
  298. package/build-types/search-control/stories/index.story.d.ts +2 -2
  299. package/build-types/search-control/stories/index.story.d.ts.map +1 -1
  300. package/build-types/select-control/stories/index.story.d.ts +2 -2
  301. package/build-types/select-control/stories/index.story.d.ts.map +1 -1
  302. package/build-types/shortcut/index.d.ts +13 -0
  303. package/build-types/shortcut/index.d.ts.map +1 -1
  304. package/build-types/shortcut/stories/index.story.d.ts +13 -0
  305. package/build-types/shortcut/stories/index.story.d.ts.map +1 -0
  306. package/build-types/slot-fill/bubbles-virtually/slot-fill-context.d.ts +1 -0
  307. package/build-types/slot-fill/bubbles-virtually/slot-fill-context.d.ts.map +1 -1
  308. package/build-types/slot-fill/bubbles-virtually/slot.d.ts +1 -6
  309. package/build-types/slot-fill/index.d.ts +1 -1
  310. package/build-types/slot-fill/index.d.ts.map +1 -1
  311. package/build-types/snackbar/stories/index.story.d.ts +7 -7
  312. package/build-types/snackbar/stories/index.story.d.ts.map +1 -1
  313. package/build-types/snackbar/stories/list.story.d.ts +3 -3
  314. package/build-types/snackbar/stories/list.story.d.ts.map +1 -1
  315. package/build-types/spacer/stories/index.story.d.ts +3 -3
  316. package/build-types/spacer/stories/index.story.d.ts.map +1 -1
  317. package/build-types/spinner/index.d.ts +0 -1
  318. package/build-types/spinner/index.d.ts.map +1 -1
  319. package/build-types/spinner/stories/index.story.d.ts +4 -4
  320. package/build-types/spinner/stories/index.story.d.ts.map +1 -1
  321. package/build-types/surface/stories/index.story.d.ts +3 -3
  322. package/build-types/surface/stories/index.story.d.ts.map +1 -1
  323. package/build-types/tab-panel/stories/index.story.d.ts +2 -2
  324. package/build-types/tab-panel/stories/index.story.d.ts.map +1 -1
  325. package/build-types/text-control/stories/index.story.d.ts +4 -4
  326. package/build-types/text-control/stories/index.story.d.ts.map +1 -1
  327. package/build-types/text-highlight/stories/index.story.d.ts +3 -3
  328. package/build-types/text-highlight/stories/index.story.d.ts.map +1 -1
  329. package/build-types/textarea-control/stories/index.story.d.ts +3 -3
  330. package/build-types/textarea-control/stories/index.story.d.ts.map +1 -1
  331. package/build-types/theme/index.d.ts +0 -1
  332. package/build-types/theme/index.d.ts.map +1 -1
  333. package/build-types/theme/stories/index.story.d.ts +4 -4
  334. package/build-types/theme/stories/index.story.d.ts.map +1 -1
  335. package/build-types/tip/stories/index.story.d.ts +3 -3
  336. package/build-types/tip/stories/index.story.d.ts.map +1 -1
  337. package/build-types/toggle-control/stories/index.story.d.ts +2 -2
  338. package/build-types/toggle-control/stories/index.story.d.ts.map +1 -1
  339. package/build-types/toggle-group-control/stories/index.story.d.ts +6 -6
  340. package/build-types/toggle-group-control/stories/index.story.d.ts.map +1 -1
  341. package/build-types/toolbar/stories/index.story.d.ts +2 -2
  342. package/build-types/toolbar/stories/index.story.d.ts.map +1 -1
  343. package/build-types/tools-panel/stories/index.story.d.ts +8 -8
  344. package/build-types/tools-panel/stories/index.story.d.ts.map +1 -1
  345. package/build-types/tools-panel/tools-panel/component.d.ts +0 -1
  346. package/build-types/tools-panel/tools-panel/component.d.ts.map +1 -1
  347. package/build-types/tools-panel/tools-panel-header/component.d.ts.map +1 -1
  348. package/build-types/tree-grid/stories/index.story.d.ts +2 -2
  349. package/build-types/tree-grid/stories/index.story.d.ts.map +1 -1
  350. package/build-types/tree-select/index.d.ts +0 -1
  351. package/build-types/tree-select/index.d.ts.map +1 -1
  352. package/build-types/tree-select/stories/index.story.d.ts +2 -2
  353. package/build-types/tree-select/stories/index.story.d.ts.map +1 -1
  354. package/build-types/truncate/stories/index.story.d.ts +4 -4
  355. package/build-types/truncate/stories/index.story.d.ts.map +1 -1
  356. package/build-types/unit-control/index.d.ts +0 -1
  357. package/build-types/unit-control/index.d.ts.map +1 -1
  358. package/build-types/unit-control/stories/index.story.d.ts +7 -7
  359. package/build-types/unit-control/stories/index.story.d.ts.map +1 -1
  360. package/build-types/utils/hooks/use-cx.d.ts +2 -1
  361. package/build-types/utils/hooks/use-cx.d.ts.map +1 -1
  362. package/build-types/v-stack/stories/e2e/index.story.d.ts +3 -3
  363. package/build-types/v-stack/stories/e2e/index.story.d.ts.map +1 -1
  364. package/build-types/v-stack/stories/index.story.d.ts +2 -2
  365. package/build-types/v-stack/stories/index.story.d.ts.map +1 -1
  366. package/build-types/view/component.d.ts +0 -1
  367. package/build-types/view/component.d.ts.map +1 -1
  368. package/build-types/view/stories/index.story.d.ts +3 -3
  369. package/build-types/view/stories/index.story.d.ts.map +1 -1
  370. package/build-types/visually-hidden/stories/index.story.d.ts +5 -5
  371. package/build-types/visually-hidden/stories/index.story.d.ts.map +1 -1
  372. package/build-types/z-stack/stories/index.story.d.ts +3 -3
  373. package/build-types/z-stack/stories/index.story.d.ts.map +1 -1
  374. package/package.json +20 -20
  375. package/src/alignment-matrix-control/stories/index.story.tsx +7 -3
  376. package/src/angle-picker-control/stories/index.story.tsx +3 -3
  377. package/src/animate/stories/index.story.tsx +12 -10
  378. package/src/base-control/stories/index.story.tsx +5 -9
  379. package/src/border-box-control/stories/index.story.tsx +5 -9
  380. package/src/border-control/stories/index.story.tsx +8 -14
  381. package/src/button/stories/e2e/index.story.tsx +3 -3
  382. package/src/button/stories/index.story.tsx +10 -10
  383. package/src/button-group/stories/index.story.tsx +4 -6
  384. package/src/card/stories/index.story.tsx +5 -5
  385. package/src/checkbox-control/stories/index.story.tsx +7 -6
  386. package/src/circular-option-picker/stories/index.story.tsx +16 -4
  387. package/src/color-indicator/stories/index.story.tsx +4 -6
  388. package/src/color-palette/stories/index.story.tsx +12 -21
  389. package/src/color-picker/hsv-color-picker.native.js +88 -0
  390. package/src/color-picker/hue-picker.native.js +194 -0
  391. package/src/color-picker/index.native.js +2 -1
  392. package/src/color-picker/saturation-picker.native.js +163 -0
  393. package/src/color-picker/stories/index.story.tsx +3 -3
  394. package/src/color-picker/style.native.scss +23 -0
  395. package/src/combobox-control/stories/index.story.tsx +3 -3
  396. package/src/custom-gradient-picker/stories/index.story.tsx +3 -3
  397. package/src/date-time/stories/date-time.story.tsx +8 -10
  398. package/src/date-time/stories/date.story.tsx +8 -9
  399. package/src/date-time/stories/time.story.tsx +4 -4
  400. package/src/dimension-control/stories/index.story.tsx +3 -3
  401. package/src/disabled/stories/index.story.tsx +4 -4
  402. package/src/divider/stories/index.story.tsx +6 -6
  403. package/src/draggable/stories/index.story.tsx +5 -7
  404. package/src/drop-zone/stories/index.story.tsx +3 -3
  405. package/src/dropdown/stories/index.story.tsx +8 -6
  406. package/src/dropdown-menu/stories/index.story.tsx +3 -3
  407. package/src/dropdown-menu-v2/stories/index.story.tsx +24 -10
  408. package/src/duotone-picker/stories/duotone-picker.story.tsx +3 -6
  409. package/src/duotone-picker/stories/duotone-swatch.story.tsx +3 -3
  410. package/src/elevation/stories/index.story.tsx +7 -7
  411. package/src/external-link/stories/index.story.tsx +4 -6
  412. package/src/flex/stories/index.story.tsx +6 -6
  413. package/src/focal-point-picker/stories/index.story.tsx +3 -3
  414. package/src/font-size-picker/stories/e2e/index.story.tsx +3 -3
  415. package/src/font-size-picker/stories/index.story.tsx +10 -10
  416. package/src/form-file-upload/stories/index.story.tsx +3 -3
  417. package/src/form-toggle/stories/index.story.tsx +4 -7
  418. package/src/form-token-field/stories/index.story.tsx +10 -11
  419. package/src/gradient-picker/stories/index.story.tsx +3 -3
  420. package/src/grid/stories/index.story.tsx +4 -4
  421. package/src/guide/stories/index.story.tsx +3 -3
  422. package/src/h-stack/stories/e2e/index.story.tsx +4 -4
  423. package/src/h-stack/stories/index.story.tsx +4 -4
  424. package/src/heading/stories/index.story.tsx +3 -3
  425. package/src/icon/stories/index.story.tsx +5 -5
  426. package/src/input-control/stories/index.story.tsx +5 -3
  427. package/src/item-group/item/component.tsx +0 -1
  428. package/src/item-group/item-group/component.tsx +0 -1
  429. package/src/item-group/stories/index.story.tsx +11 -12
  430. package/src/keyboard-shortcuts/stories/index.story.tsx +3 -3
  431. package/src/menu-group/stories/index.story.tsx +5 -5
  432. package/src/menu-item/README.md +1 -1
  433. package/src/menu-item/index.tsx +5 -2
  434. package/src/menu-item/stories/index.story.tsx +80 -0
  435. package/src/menu-item/types.ts +3 -2
  436. package/src/menu-items-choice/stories/index.story.tsx +4 -6
  437. package/src/mobile/link-settings/link-settings-navigation.native.js +1 -1
  438. package/src/modal/stories/index.story.tsx +5 -10
  439. package/src/navigable-container/stories/navigable-menu.story.tsx +3 -3
  440. package/src/navigable-container/stories/tabbable-container.story.tsx +3 -3
  441. package/src/navigation/index.tsx +0 -1
  442. package/src/navigation/stories/index.story.tsx +16 -2
  443. package/src/navigation/stories/utils/controlled-state.tsx +2 -2
  444. package/src/navigation/stories/utils/default.tsx +2 -2
  445. package/src/navigation/stories/utils/group.tsx +2 -2
  446. package/src/navigation/stories/utils/hide-if-empty.tsx +2 -2
  447. package/src/navigation/stories/utils/more-examples.tsx +2 -2
  448. package/src/navigation/stories/utils/search.tsx +2 -2
  449. package/src/navigator/navigator-provider/component.tsx +0 -1
  450. package/src/navigator/stories/index.story.tsx +9 -10
  451. package/src/notice/stories/index.story.tsx +6 -6
  452. package/src/number-control/stories/index.story.tsx +3 -3
  453. package/src/palette-edit/stories/index.story.tsx +3 -3
  454. package/src/palette-edit/styles.js +0 -1
  455. package/src/panel/stories/index.story.tsx +9 -11
  456. package/src/placeholder/stories/index.story.tsx +4 -6
  457. package/src/popover/README.md +2 -2
  458. package/src/popover/index.tsx +69 -103
  459. package/src/popover/overlay-middlewares.tsx +2 -2
  460. package/src/popover/stories/index.story.tsx +8 -10
  461. package/src/popover/test/index.tsx +15 -1
  462. package/src/popover/types.ts +6 -0
  463. package/src/popover/utils.ts +5 -56
  464. package/src/progress-bar/stories/index.story.tsx +4 -6
  465. package/src/progress-bar/styles.ts +4 -1
  466. package/src/query-controls/stories/index.story.tsx +5 -6
  467. package/src/radio-control/stories/index.story.tsx +4 -6
  468. package/src/radio-group/stories/index.story.js +1 -0
  469. package/src/range-control/stories/index.story.tsx +12 -18
  470. package/src/resizable-box/stories/index.story.tsx +3 -3
  471. package/src/responsive-wrapper/stories/index.story.tsx +4 -5
  472. package/src/sandbox/stories/index.story.tsx +3 -5
  473. package/src/scroll-lock/stories/index.story.tsx +3 -3
  474. package/src/scrollable/stories/index.story.tsx +4 -4
  475. package/src/search-control/index.native.js +39 -27
  476. package/src/search-control/stories/index.story.tsx +3 -3
  477. package/src/select-control/stories/index.story.tsx +3 -3
  478. package/src/shortcut/index.tsx +13 -0
  479. package/src/shortcut/stories/index.story.tsx +33 -0
  480. package/src/slot-fill/README.md +5 -5
  481. package/src/slot-fill/bubbles-virtually/slot-fill-context.js +3 -0
  482. package/src/slot-fill/bubbles-virtually/slot.js +17 -5
  483. package/src/slot-fill/index.js +6 -1
  484. package/src/slot-fill/stories/index.story.js +2 -0
  485. package/src/slot-fill/test/__snapshots__/slot.js.snap +12 -4
  486. package/src/snackbar/stories/index.story.tsx +10 -13
  487. package/src/snackbar/stories/list.story.tsx +3 -3
  488. package/src/spacer/stories/index.story.tsx +4 -4
  489. package/src/spinner/index.tsx +0 -1
  490. package/src/spinner/stories/index.story.tsx +5 -5
  491. package/src/surface/stories/index.story.tsx +4 -4
  492. package/src/tab-panel/stories/index.story.tsx +5 -13
  493. package/src/tab-panel/test/index.tsx +9 -25
  494. package/src/text-control/stories/index.story.tsx +7 -6
  495. package/src/text-highlight/stories/index.story.tsx +4 -6
  496. package/src/textarea-control/stories/index.story.tsx +4 -6
  497. package/src/theme/index.tsx +0 -1
  498. package/src/theme/stories/index.story.tsx +5 -5
  499. package/src/tip/stories/index.story.tsx +4 -4
  500. package/src/toggle-control/stories/index.story.tsx +3 -3
  501. package/src/toggle-group-control/stories/index.story.tsx +17 -11
  502. package/src/toolbar/stories/index.story.tsx +13 -3
  503. package/src/tools-panel/stories/index.story.tsx +17 -12
  504. package/src/tools-panel/tools-panel/component.tsx +0 -1
  505. package/src/tools-panel/tools-panel-header/component.tsx +3 -0
  506. package/src/tree-grid/stories/index.story.tsx +5 -3
  507. package/src/tree-select/index.tsx +0 -1
  508. package/src/tree-select/stories/index.story.tsx +3 -3
  509. package/src/truncate/stories/index.story.tsx +5 -7
  510. package/src/unit-control/index.tsx +0 -1
  511. package/src/unit-control/stories/index.story.tsx +10 -9
  512. package/src/utils/hooks/use-cx.ts +2 -1
  513. package/src/v-stack/stories/e2e/index.story.tsx +4 -4
  514. package/src/v-stack/stories/index.story.tsx +3 -3
  515. package/src/view/component.tsx +0 -1
  516. package/src/view/stories/index.story.tsx +4 -4
  517. package/src/visually-hidden/stories/index.story.tsx +7 -7
  518. package/src/z-stack/stories/index.story.tsx +4 -4
  519. package/tsconfig.tsbuildinfo +1 -1
  520. package/build/popover/limit-shift.js +0 -129
  521. package/build/popover/limit-shift.js.map +0 -1
  522. package/build-module/popover/limit-shift.js +0 -122
  523. package/build-module/popover/limit-shift.js.map +0 -1
  524. package/build-types/popover/limit-shift.d.ts +0 -87
  525. package/build-types/popover/limit-shift.d.ts.map +0 -1
  526. package/src/popover/limit-shift.ts +0 -205
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _element = _interopRequireWildcard(require("@wordpress/element"));
9
+ var _reactNative = require("react-native");
10
+ var _reactNativeLinearGradient = _interopRequireDefault(require("react-native-linear-gradient"));
11
+ var _colord = require("colord");
12
+ var _styleNative = _interopRequireDefault(require("./style.native.scss"));
13
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
+ /**
16
+ * External dependencies
17
+ */
18
+
19
+ /**
20
+ * WordPress dependencies
21
+ */
22
+
23
+ /**
24
+ * Internal dependencies
25
+ */
26
+
27
+ class SaturationValuePicker extends _element.Component {
28
+ constructor(props) {
29
+ super(props);
30
+ this.panResponder = _reactNative.PanResponder.create({
31
+ onStartShouldSetPanResponder: () => true,
32
+ onStartShouldSetPanResponderCapture: () => true,
33
+ onMoveShouldSetPanResponder: () => true,
34
+ onMoveShouldSetPanResponderCapture: () => true,
35
+ onPanResponderGrant: (evt, gestureState) => {
36
+ const {
37
+ onPress
38
+ } = this.props;
39
+ const {
40
+ saturation,
41
+ value
42
+ } = this.computeSatValPress(evt);
43
+ this.dragStartValue = {
44
+ saturation,
45
+ value
46
+ };
47
+ if (onPress) {
48
+ onPress({
49
+ ...this.computeSatValPress(evt),
50
+ nativeEvent: evt.nativeEvent
51
+ });
52
+ }
53
+ this.fireDragEvent('onDragStart', gestureState);
54
+ },
55
+ onPanResponderMove: (evt, gestureState) => {
56
+ this.fireDragEvent('onDragMove', gestureState);
57
+ },
58
+ onPanResponderTerminationRequest: () => true,
59
+ onPanResponderRelease: (evt, gestureState) => {
60
+ this.fireDragEvent('onDragEnd', gestureState);
61
+ },
62
+ onPanResponderTerminate: (evt, gestureState) => {
63
+ this.fireDragEvent('onDragTerminate', gestureState);
64
+ },
65
+ onShouldBlockNativeResponder: () => true
66
+ });
67
+ }
68
+ normalizeValue(value) {
69
+ if (value < 0) return 0;
70
+ if (value > 1) return 1;
71
+ return value;
72
+ }
73
+ computeSatValDrag(gestureState) {
74
+ const {
75
+ dx,
76
+ dy
77
+ } = gestureState;
78
+ const {
79
+ size
80
+ } = this.props;
81
+ const {
82
+ saturation,
83
+ value
84
+ } = this.dragStartValue;
85
+ const diffx = dx / size.width;
86
+ const diffy = dy / size.height;
87
+ return {
88
+ saturation: this.normalizeValue(saturation + diffx),
89
+ value: this.normalizeValue(value - diffy)
90
+ };
91
+ }
92
+ computeSatValPress(event) {
93
+ const {
94
+ nativeEvent
95
+ } = event;
96
+ const {
97
+ locationX,
98
+ locationY
99
+ } = nativeEvent;
100
+ const {
101
+ size
102
+ } = this.props;
103
+ return {
104
+ saturation: this.normalizeValue(locationX / size.width),
105
+ value: 1 - this.normalizeValue(locationY / size.height)
106
+ };
107
+ }
108
+ fireDragEvent(eventName, gestureState) {
109
+ const {
110
+ [eventName]: event
111
+ } = this.props;
112
+ if (event) {
113
+ event({
114
+ ...this.computeSatValDrag(gestureState),
115
+ gestureState
116
+ });
117
+ }
118
+ }
119
+ render() {
120
+ const {
121
+ size,
122
+ sliderSize = 24,
123
+ hue = 0,
124
+ value = 1,
125
+ saturation = 1,
126
+ containerStyle = {},
127
+ borderRadius = 0,
128
+ currentColor
129
+ } = this.props;
130
+ return (0, _element.createElement)(_reactNative.View, {
131
+ style: [_styleNative.default['hsv-container'], containerStyle, {
132
+ height: size.height + sliderSize,
133
+ width: size.width + sliderSize
134
+ }],
135
+ ...this.panResponder.panHandlers
136
+ }, (0, _element.createElement)(_reactNativeLinearGradient.default, {
137
+ style: [_styleNative.default['gradient-container'], {
138
+ borderRadius
139
+ }],
140
+ colors: ['#fff', (0, _colord.colord)({
141
+ h: hue,
142
+ s: 100,
143
+ l: 50
144
+ }).toHex()],
145
+ start: {
146
+ x: 0,
147
+ y: 0.5
148
+ },
149
+ end: {
150
+ x: 1,
151
+ y: 0.5
152
+ }
153
+ }, (0, _element.createElement)(_reactNativeLinearGradient.default, {
154
+ colors: ['rgba(0, 0, 0, 0)', '#000']
155
+ }, (0, _element.createElement)(_reactNative.View, {
156
+ style: {
157
+ height: size.height,
158
+ width: size.width
159
+ }
160
+ }))), (0, _element.createElement)(_reactNative.View, {
161
+ pointerEvents: "none",
162
+ style: [_styleNative.default['saturation-slider'], {
163
+ width: sliderSize,
164
+ height: sliderSize,
165
+ borderRadius: sliderSize / 2,
166
+ borderWidth: sliderSize / 10,
167
+ backgroundColor: currentColor,
168
+ transform: [{
169
+ translateX: size.width * saturation
170
+ }, {
171
+ translateY: size.height * (1 - value)
172
+ }]
173
+ }]
174
+ }));
175
+ }
176
+ }
177
+ exports.default = SaturationValuePicker;
178
+ //# sourceMappingURL=saturation-picker.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_element","_interopRequireWildcard","require","_reactNative","_reactNativeLinearGradient","_interopRequireDefault","_colord","_styleNative","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","SaturationValuePicker","Component","constructor","props","panResponder","PanResponder","create","onStartShouldSetPanResponder","onStartShouldSetPanResponderCapture","onMoveShouldSetPanResponder","onMoveShouldSetPanResponderCapture","onPanResponderGrant","evt","gestureState","onPress","saturation","value","computeSatValPress","dragStartValue","nativeEvent","fireDragEvent","onPanResponderMove","onPanResponderTerminationRequest","onPanResponderRelease","onPanResponderTerminate","onShouldBlockNativeResponder","normalizeValue","computeSatValDrag","dx","dy","size","diffx","width","diffy","height","event","locationX","locationY","eventName","render","sliderSize","hue","containerStyle","borderRadius","currentColor","createElement","View","style","styles","panHandlers","colors","colord","h","s","l","toHex","start","x","y","end","pointerEvents","borderWidth","backgroundColor","transform","translateX","translateY","exports"],"sources":["@wordpress/components/src/color-picker/saturation-picker.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, PanResponder } from 'react-native';\nimport LinearGradient from 'react-native-linear-gradient';\nimport { colord } from 'colord';\n\n/**\n * WordPress dependencies\n */\nimport React, { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.native.scss';\n\nexport default class SaturationValuePicker extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.panResponder = PanResponder.create( {\n\t\t\tonStartShouldSetPanResponder: () => true,\n\t\t\tonStartShouldSetPanResponderCapture: () => true,\n\t\t\tonMoveShouldSetPanResponder: () => true,\n\t\t\tonMoveShouldSetPanResponderCapture: () => true,\n\t\t\tonPanResponderGrant: ( evt, gestureState ) => {\n\t\t\t\tconst { onPress } = this.props;\n\t\t\t\tconst { saturation, value } = this.computeSatValPress( evt );\n\t\t\t\tthis.dragStartValue = {\n\t\t\t\t\tsaturation,\n\t\t\t\t\tvalue,\n\t\t\t\t};\n\n\t\t\t\tif ( onPress ) {\n\t\t\t\t\tonPress( {\n\t\t\t\t\t\t...this.computeSatValPress( evt ),\n\t\t\t\t\t\tnativeEvent: evt.nativeEvent,\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\tthis.fireDragEvent( 'onDragStart', gestureState );\n\t\t\t},\n\t\t\tonPanResponderMove: ( evt, gestureState ) => {\n\t\t\t\tthis.fireDragEvent( 'onDragMove', gestureState );\n\t\t\t},\n\t\t\tonPanResponderTerminationRequest: () => true,\n\t\t\tonPanResponderRelease: ( evt, gestureState ) => {\n\t\t\t\tthis.fireDragEvent( 'onDragEnd', gestureState );\n\t\t\t},\n\t\t\tonPanResponderTerminate: ( evt, gestureState ) => {\n\t\t\t\tthis.fireDragEvent( 'onDragTerminate', gestureState );\n\t\t\t},\n\t\t\tonShouldBlockNativeResponder: () => true,\n\t\t} );\n\t}\n\n\tnormalizeValue( value ) {\n\t\tif ( value < 0 ) return 0;\n\t\tif ( value > 1 ) return 1;\n\t\treturn value;\n\t}\n\n\tcomputeSatValDrag( gestureState ) {\n\t\tconst { dx, dy } = gestureState;\n\t\tconst { size } = this.props;\n\t\tconst { saturation, value } = this.dragStartValue;\n\t\tconst diffx = dx / size.width;\n\t\tconst diffy = dy / size.height;\n\t\treturn {\n\t\t\tsaturation: this.normalizeValue( saturation + diffx ),\n\t\t\tvalue: this.normalizeValue( value - diffy ),\n\t\t};\n\t}\n\n\tcomputeSatValPress( event ) {\n\t\tconst { nativeEvent } = event;\n\t\tconst { locationX, locationY } = nativeEvent;\n\t\tconst { size } = this.props;\n\t\treturn {\n\t\t\tsaturation: this.normalizeValue( locationX / size.width ),\n\t\t\tvalue: 1 - this.normalizeValue( locationY / size.height ),\n\t\t};\n\t}\n\n\tfireDragEvent( eventName, gestureState ) {\n\t\tconst { [ eventName ]: event } = this.props;\n\t\tif ( event ) {\n\t\t\tevent( {\n\t\t\t\t...this.computeSatValDrag( gestureState ),\n\t\t\t\tgestureState,\n\t\t\t} );\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tsize,\n\t\t\tsliderSize = 24,\n\t\t\thue = 0,\n\t\t\tvalue = 1,\n\t\t\tsaturation = 1,\n\t\t\tcontainerStyle = {},\n\t\t\tborderRadius = 0,\n\t\t\tcurrentColor,\n\t\t} = this.props;\n\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\tstyles[ 'hsv-container' ],\n\t\t\t\t\tcontainerStyle,\n\t\t\t\t\t{\n\t\t\t\t\t\theight: size.height + sliderSize,\n\t\t\t\t\t\twidth: size.width + sliderSize,\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t\t{ ...this.panResponder.panHandlers }\n\t\t\t>\n\t\t\t\t<LinearGradient\n\t\t\t\t\tstyle={ [\n\t\t\t\t\t\tstyles[ 'gradient-container' ],\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tborderRadius,\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t\tcolors={ [\n\t\t\t\t\t\t'#fff',\n\t\t\t\t\t\tcolord( { h: hue, s: 100, l: 50 } ).toHex(),\n\t\t\t\t\t] }\n\t\t\t\t\tstart={ { x: 0, y: 0.5 } }\n\t\t\t\t\tend={ { x: 1, y: 0.5 } }\n\t\t\t\t>\n\t\t\t\t\t<LinearGradient colors={ [ 'rgba(0, 0, 0, 0)', '#000' ] }>\n\t\t\t\t\t\t<View\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\theight: size.height,\n\t\t\t\t\t\t\t\twidth: size.width,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</LinearGradient>\n\t\t\t\t</LinearGradient>\n\t\t\t\t<View\n\t\t\t\t\tpointerEvents=\"none\"\n\t\t\t\t\tstyle={ [\n\t\t\t\t\t\tstyles[ 'saturation-slider' ],\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\twidth: sliderSize,\n\t\t\t\t\t\t\theight: sliderSize,\n\t\t\t\t\t\t\tborderRadius: sliderSize / 2,\n\t\t\t\t\t\t\tborderWidth: sliderSize / 10,\n\t\t\t\t\t\t\tbackgroundColor: currentColor,\n\t\t\t\t\t\t\ttransform: [\n\t\t\t\t\t\t\t\t{ translateX: size.width * saturation },\n\t\t\t\t\t\t\t\t{ translateY: size.height * ( 1 - value ) },\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\n}\n"],"mappings":";;;;;;;AAUA,IAAAA,QAAA,GAAAC,uBAAA,CAAAC,OAAA;AAPA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,0BAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAUA,IAAAK,YAAA,GAAAF,sBAAA,CAAAH,OAAA;AAAyC,SAAAM,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAR,wBAAAY,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAfzC;AACA;AACA;;AAKA;AACA;AACA;;AAGA;AACA;AACA;;AAGe,MAAMW,qBAAqB,SAASC,kBAAS,CAAC;EAC5DC,WAAWA,CAAEC,KAAK,EAAG;IACpB,KAAK,CAAEA,KAAM,CAAC;IAEd,IAAI,CAACC,YAAY,GAAGC,yBAAY,CAACC,MAAM,CAAE;MACxCC,4BAA4B,EAAEA,CAAA,KAAM,IAAI;MACxCC,mCAAmC,EAAEA,CAAA,KAAM,IAAI;MAC/CC,2BAA2B,EAAEA,CAAA,KAAM,IAAI;MACvCC,kCAAkC,EAAEA,CAAA,KAAM,IAAI;MAC9CC,mBAAmB,EAAEA,CAAEC,GAAG,EAAEC,YAAY,KAAM;QAC7C,MAAM;UAAEC;QAAQ,CAAC,GAAG,IAAI,CAACX,KAAK;QAC9B,MAAM;UAAEY,UAAU;UAAEC;QAAM,CAAC,GAAG,IAAI,CAACC,kBAAkB,CAAEL,GAAI,CAAC;QAC5D,IAAI,CAACM,cAAc,GAAG;UACrBH,UAAU;UACVC;QACD,CAAC;QAED,IAAKF,OAAO,EAAG;UACdA,OAAO,CAAE;YACR,GAAG,IAAI,CAACG,kBAAkB,CAAEL,GAAI,CAAC;YACjCO,WAAW,EAAEP,GAAG,CAACO;UAClB,CAAE,CAAC;QACJ;QAEA,IAAI,CAACC,aAAa,CAAE,aAAa,EAAEP,YAAa,CAAC;MAClD,CAAC;MACDQ,kBAAkB,EAAEA,CAAET,GAAG,EAAEC,YAAY,KAAM;QAC5C,IAAI,CAACO,aAAa,CAAE,YAAY,EAAEP,YAAa,CAAC;MACjD,CAAC;MACDS,gCAAgC,EAAEA,CAAA,KAAM,IAAI;MAC5CC,qBAAqB,EAAEA,CAAEX,GAAG,EAAEC,YAAY,KAAM;QAC/C,IAAI,CAACO,aAAa,CAAE,WAAW,EAAEP,YAAa,CAAC;MAChD,CAAC;MACDW,uBAAuB,EAAEA,CAAEZ,GAAG,EAAEC,YAAY,KAAM;QACjD,IAAI,CAACO,aAAa,CAAE,iBAAiB,EAAEP,YAAa,CAAC;MACtD,CAAC;MACDY,4BAA4B,EAAEA,CAAA,KAAM;IACrC,CAAE,CAAC;EACJ;EAEAC,cAAcA,CAAEV,KAAK,EAAG;IACvB,IAAKA,KAAK,GAAG,CAAC,EAAG,OAAO,CAAC;IACzB,IAAKA,KAAK,GAAG,CAAC,EAAG,OAAO,CAAC;IACzB,OAAOA,KAAK;EACb;EAEAW,iBAAiBA,CAAEd,YAAY,EAAG;IACjC,MAAM;MAAEe,EAAE;MAAEC;IAAG,CAAC,GAAGhB,YAAY;IAC/B,MAAM;MAAEiB;IAAK,CAAC,GAAG,IAAI,CAAC3B,KAAK;IAC3B,MAAM;MAAEY,UAAU;MAAEC;IAAM,CAAC,GAAG,IAAI,CAACE,cAAc;IACjD,MAAMa,KAAK,GAAGH,EAAE,GAAGE,IAAI,CAACE,KAAK;IAC7B,MAAMC,KAAK,GAAGJ,EAAE,GAAGC,IAAI,CAACI,MAAM;IAC9B,OAAO;MACNnB,UAAU,EAAE,IAAI,CAACW,cAAc,CAAEX,UAAU,GAAGgB,KAAM,CAAC;MACrDf,KAAK,EAAE,IAAI,CAACU,cAAc,CAAEV,KAAK,GAAGiB,KAAM;IAC3C,CAAC;EACF;EAEAhB,kBAAkBA,CAAEkB,KAAK,EAAG;IAC3B,MAAM;MAAEhB;IAAY,CAAC,GAAGgB,KAAK;IAC7B,MAAM;MAAEC,SAAS;MAAEC;IAAU,CAAC,GAAGlB,WAAW;IAC5C,MAAM;MAAEW;IAAK,CAAC,GAAG,IAAI,CAAC3B,KAAK;IAC3B,OAAO;MACNY,UAAU,EAAE,IAAI,CAACW,cAAc,CAAEU,SAAS,GAAGN,IAAI,CAACE,KAAM,CAAC;MACzDhB,KAAK,EAAE,CAAC,GAAG,IAAI,CAACU,cAAc,CAAEW,SAAS,GAAGP,IAAI,CAACI,MAAO;IACzD,CAAC;EACF;EAEAd,aAAaA,CAAEkB,SAAS,EAAEzB,YAAY,EAAG;IACxC,MAAM;MAAE,CAAEyB,SAAS,GAAIH;IAAM,CAAC,GAAG,IAAI,CAAChC,KAAK;IAC3C,IAAKgC,KAAK,EAAG;MACZA,KAAK,CAAE;QACN,GAAG,IAAI,CAACR,iBAAiB,CAAEd,YAAa,CAAC;QACzCA;MACD,CAAE,CAAC;IACJ;EACD;EAEA0B,MAAMA,CAAA,EAAG;IACR,MAAM;MACLT,IAAI;MACJU,UAAU,GAAG,EAAE;MACfC,GAAG,GAAG,CAAC;MACPzB,KAAK,GAAG,CAAC;MACTD,UAAU,GAAG,CAAC;MACd2B,cAAc,GAAG,CAAC,CAAC;MACnBC,YAAY,GAAG,CAAC;MAChBC;IACD,CAAC,GAAG,IAAI,CAACzC,KAAK;IAEd,OACC,IAAAjC,QAAA,CAAA2E,aAAA,EAACxE,YAAA,CAAAyE,IAAI;MACJC,KAAK,EAAG,CACPC,oBAAM,CAAE,eAAe,CAAE,EACzBN,cAAc,EACd;QACCR,MAAM,EAAEJ,IAAI,CAACI,MAAM,GAAGM,UAAU;QAChCR,KAAK,EAAEF,IAAI,CAACE,KAAK,GAAGQ;MACrB,CAAC,CACC;MAAA,GACE,IAAI,CAACpC,YAAY,CAAC6C;IAAW,GAElC,IAAA/E,QAAA,CAAA2E,aAAA,EAACvE,0BAAA,CAAAW,OAAc;MACd8D,KAAK,EAAG,CACPC,oBAAM,CAAE,oBAAoB,CAAE,EAC9B;QACCL;MACD,CAAC,CACC;MACHO,MAAM,EAAG,CACR,MAAM,EACN,IAAAC,cAAM,EAAE;QAAEC,CAAC,EAAEX,GAAG;QAAEY,CAAC,EAAE,GAAG;QAAEC,CAAC,EAAE;MAAG,CAAE,CAAC,CAACC,KAAK,CAAC,CAAC,CACzC;MACHC,KAAK,EAAG;QAAEC,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE;MAAI,CAAG;MAC1BC,GAAG,EAAG;QAAEF,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE;MAAI;IAAG,GAExB,IAAAxF,QAAA,CAAA2E,aAAA,EAACvE,0BAAA,CAAAW,OAAc;MAACiE,MAAM,EAAG,CAAE,kBAAkB,EAAE,MAAM;IAAI,GACxD,IAAAhF,QAAA,CAAA2E,aAAA,EAACxE,YAAA,CAAAyE,IAAI;MACJC,KAAK,EAAG;QACPb,MAAM,EAAEJ,IAAI,CAACI,MAAM;QACnBF,KAAK,EAAEF,IAAI,CAACE;MACb;IAAG,CACH,CACc,CACD,CAAC,EACjB,IAAA9D,QAAA,CAAA2E,aAAA,EAACxE,YAAA,CAAAyE,IAAI;MACJc,aAAa,EAAC,MAAM;MACpBb,KAAK,EAAG,CACPC,oBAAM,CAAE,mBAAmB,CAAE,EAC7B;QACChB,KAAK,EAAEQ,UAAU;QACjBN,MAAM,EAAEM,UAAU;QAClBG,YAAY,EAAEH,UAAU,GAAG,CAAC;QAC5BqB,WAAW,EAAErB,UAAU,GAAG,EAAE;QAC5BsB,eAAe,EAAElB,YAAY;QAC7BmB,SAAS,EAAE,CACV;UAAEC,UAAU,EAAElC,IAAI,CAACE,KAAK,GAAGjB;QAAW,CAAC,EACvC;UAAEkD,UAAU,EAAEnC,IAAI,CAACI,MAAM,IAAK,CAAC,GAAGlB,KAAK;QAAG,CAAC;MAE7C,CAAC;IACC,CACH,CACI,CAAC;EAET;AACD;AAACkD,OAAA,CAAAjF,OAAA,GAAAe,qBAAA"}
@@ -35,7 +35,6 @@ function UnconnectedItem(props, forwardedRef) {
35
35
  * `Item` is used in combination with `ItemGroup` to display a list of items
36
36
  * grouped and styled together.
37
37
  *
38
- * @example
39
38
  * ```jsx
40
39
  * import {
41
40
  * __experimentalItemGroup as ItemGroup,
@@ -1 +1 @@
1
- {"version":3,"names":["_hook","require","_context","_view","UnconnectedItem","props","forwardedRef","role","wrapperClassName","otherProps","useItem","_element","createElement","className","View","ref","Item","contextConnect","exports","_default","default"],"sources":["@wordpress/components/src/item-group/item/component.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { ItemProps } from '../types';\nimport { useItem } from './hook';\nimport type { WordPressComponentProps } from '../../ui/context';\nimport { contextConnect } from '../../ui/context';\nimport { View } from '../../view';\n\nfunction UnconnectedItem(\n\tprops: WordPressComponentProps< ItemProps, 'div' >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst { role, wrapperClassName, ...otherProps } = useItem( props );\n\n\treturn (\n\t\t<div role={ role } className={ wrapperClassName }>\n\t\t\t<View { ...otherProps } ref={ forwardedRef } />\n\t\t</div>\n\t);\n}\n\n/**\n * `Item` is used in combination with `ItemGroup` to display a list of items\n * grouped and styled together.\n *\n * @example\n * ```jsx\n * import {\n * __experimentalItemGroup as ItemGroup,\n * __experimentalItem as Item,\n * } from '@wordpress/components';\n *\n * function Example() {\n * return (\n * <ItemGroup>\n * <Item>Code</Item>\n * <Item>is</Item>\n * <Item>Poetry</Item>\n * </ItemGroup>\n * );\n * }\n * ```\n */\nexport const Item = contextConnect( UnconnectedItem, 'Item' );\n\nexport default Item;\n"],"mappings":";;;;;;;AASA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAZA;AACA;AACA;;AAGA;AACA;AACA;;AAOA,SAASG,eAAeA,CACvBC,KAAkD,EAClDC,YAAiC,EAChC;EACD,MAAM;IAAEC,IAAI;IAAEC,gBAAgB;IAAE,GAAGC;EAAW,CAAC,GAAG,IAAAC,aAAO,EAAEL,KAAM,CAAC;EAElE,OACC,IAAAM,QAAA,CAAAC,aAAA;IAAKL,IAAI,EAAGA,IAAM;IAACM,SAAS,EAAGL;EAAkB,GAChD,IAAAG,QAAA,CAAAC,aAAA,EAACT,KAAA,CAAAW,IAAI;IAAA,GAAML,UAAU;IAAGM,GAAG,EAAGT;EAAc,CAAE,CAC1C,CAAC;AAER;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMU,IAAI,GAAG,IAAAC,uBAAc,EAAEb,eAAe,EAAE,MAAO,CAAC;AAACc,OAAA,CAAAF,IAAA,GAAAA,IAAA;AAAA,IAAAG,QAAA,GAE/CH,IAAI;AAAAE,OAAA,CAAAE,OAAA,GAAAD,QAAA"}
1
+ {"version":3,"names":["_hook","require","_context","_view","UnconnectedItem","props","forwardedRef","role","wrapperClassName","otherProps","useItem","_element","createElement","className","View","ref","Item","contextConnect","exports","_default","default"],"sources":["@wordpress/components/src/item-group/item/component.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { ItemProps } from '../types';\nimport { useItem } from './hook';\nimport type { WordPressComponentProps } from '../../ui/context';\nimport { contextConnect } from '../../ui/context';\nimport { View } from '../../view';\n\nfunction UnconnectedItem(\n\tprops: WordPressComponentProps< ItemProps, 'div' >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst { role, wrapperClassName, ...otherProps } = useItem( props );\n\n\treturn (\n\t\t<div role={ role } className={ wrapperClassName }>\n\t\t\t<View { ...otherProps } ref={ forwardedRef } />\n\t\t</div>\n\t);\n}\n\n/**\n * `Item` is used in combination with `ItemGroup` to display a list of items\n * grouped and styled together.\n *\n * ```jsx\n * import {\n * __experimentalItemGroup as ItemGroup,\n * __experimentalItem as Item,\n * } from '@wordpress/components';\n *\n * function Example() {\n * return (\n * <ItemGroup>\n * <Item>Code</Item>\n * <Item>is</Item>\n * <Item>Poetry</Item>\n * </ItemGroup>\n * );\n * }\n * ```\n */\nexport const Item = contextConnect( UnconnectedItem, 'Item' );\n\nexport default Item;\n"],"mappings":";;;;;;;AASA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAZA;AACA;AACA;;AAGA;AACA;AACA;;AAOA,SAASG,eAAeA,CACvBC,KAAkD,EAClDC,YAAiC,EAChC;EACD,MAAM;IAAEC,IAAI;IAAEC,gBAAgB;IAAE,GAAGC;EAAW,CAAC,GAAG,IAAAC,aAAO,EAAEL,KAAM,CAAC;EAElE,OACC,IAAAM,QAAA,CAAAC,aAAA;IAAKL,IAAI,EAAGA,IAAM;IAACM,SAAS,EAAGL;EAAkB,GAChD,IAAAG,QAAA,CAAAC,aAAA,EAACT,KAAA,CAAAW,IAAI;IAAA,GAAML,UAAU;IAAGM,GAAG,EAAGT;EAAc,CAAE,CAC1C,CAAC;AAER;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMU,IAAI,GAAG,IAAAC,uBAAc,EAAEb,eAAe,EAAE,MAAO,CAAC;AAACc,OAAA,CAAAF,IAAA,GAAAA,IAAA;AAAA,IAAAG,QAAA,GAE/CH,IAAI;AAAAE,OAAA,CAAAE,OAAA,GAAAD,QAAA"}
@@ -44,7 +44,6 @@ function UnconnectedItemGroup(props, forwardedRef) {
44
44
  /**
45
45
  * `ItemGroup` displays a list of `Item`s grouped and styled together.
46
46
  *
47
- * @example
48
47
  * ```jsx
49
48
  * import {
50
49
  * __experimentalItemGroup as ItemGroup,
@@ -1 +1 @@
1
- {"version":3,"names":["_context","require","_hook","_context2","_view","UnconnectedItemGroup","props","forwardedRef","isBordered","isSeparated","size","sizeProp","otherProps","useItemGroup","contextSize","useItemGroupContext","spacedAround","contextValue","_element","createElement","ItemGroupContext","Provider","value","View","ref","ItemGroup","contextConnect","exports","_default","default"],"sources":["@wordpress/components/src/item-group/item-group/component.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../../ui/context';\nimport { contextConnect } from '../../ui/context';\nimport { useItemGroup } from './hook';\nimport { ItemGroupContext, useItemGroupContext } from '../context';\nimport { View } from '../../view';\nimport type { ItemGroupProps } from '../types';\n\nfunction UnconnectedItemGroup(\n\tprops: WordPressComponentProps< ItemGroupProps, 'div' >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst {\n\t\tisBordered,\n\t\tisSeparated,\n\t\tsize: sizeProp,\n\t\t...otherProps\n\t} = useItemGroup( props );\n\n\tconst { size: contextSize } = useItemGroupContext();\n\n\tconst spacedAround = ! isBordered && ! isSeparated;\n\tconst size = sizeProp || contextSize;\n\n\tconst contextValue = {\n\t\tspacedAround,\n\t\tsize,\n\t};\n\n\treturn (\n\t\t<ItemGroupContext.Provider value={ contextValue }>\n\t\t\t<View { ...otherProps } ref={ forwardedRef } />\n\t\t</ItemGroupContext.Provider>\n\t);\n}\n\n/**\n * `ItemGroup` displays a list of `Item`s grouped and styled together.\n *\n * @example\n * ```jsx\n * import {\n * __experimentalItemGroup as ItemGroup,\n * __experimentalItem as Item,\n * } from '@wordpress/components';\n *\n * function Example() {\n * return (\n * <ItemGroup>\n * <Item>Code</Item>\n * <Item>is</Item>\n * <Item>Poetry</Item>\n * </ItemGroup>\n * );\n * }\n * ```\n */\nexport const ItemGroup = contextConnect( UnconnectedItemGroup, 'ItemGroup' );\n\nexport default ItemGroup;\n"],"mappings":";;;;;;;AASA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAZA;AACA;AACA;;AAGA;AACA;AACA;;AAQA,SAASI,oBAAoBA,CAC5BC,KAAuD,EACvDC,YAAiC,EAChC;EACD,MAAM;IACLC,UAAU;IACVC,WAAW;IACXC,IAAI,EAAEC,QAAQ;IACd,GAAGC;EACJ,CAAC,GAAG,IAAAC,kBAAY,EAAEP,KAAM,CAAC;EAEzB,MAAM;IAAEI,IAAI,EAAEI;EAAY,CAAC,GAAG,IAAAC,6BAAmB,EAAC,CAAC;EAEnD,MAAMC,YAAY,GAAG,CAAER,UAAU,IAAI,CAAEC,WAAW;EAClD,MAAMC,IAAI,GAAGC,QAAQ,IAAIG,WAAW;EAEpC,MAAMG,YAAY,GAAG;IACpBD,YAAY;IACZN;EACD,CAAC;EAED,OACC,IAAAQ,QAAA,CAAAC,aAAA,EAAChB,SAAA,CAAAiB,gBAAgB,CAACC,QAAQ;IAACC,KAAK,EAAGL;EAAc,GAChD,IAAAC,QAAA,CAAAC,aAAA,EAACf,KAAA,CAAAmB,IAAI;IAAA,GAAMX,UAAU;IAAGY,GAAG,EAAGjB;EAAc,CAAE,CACpB,CAAC;AAE9B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMkB,SAAS,GAAG,IAAAC,uBAAc,EAAErB,oBAAoB,EAAE,WAAY,CAAC;AAACsB,OAAA,CAAAF,SAAA,GAAAA,SAAA;AAAA,IAAAG,QAAA,GAE9DH,SAAS;AAAAE,OAAA,CAAAE,OAAA,GAAAD,QAAA"}
1
+ {"version":3,"names":["_context","require","_hook","_context2","_view","UnconnectedItemGroup","props","forwardedRef","isBordered","isSeparated","size","sizeProp","otherProps","useItemGroup","contextSize","useItemGroupContext","spacedAround","contextValue","_element","createElement","ItemGroupContext","Provider","value","View","ref","ItemGroup","contextConnect","exports","_default","default"],"sources":["@wordpress/components/src/item-group/item-group/component.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../../ui/context';\nimport { contextConnect } from '../../ui/context';\nimport { useItemGroup } from './hook';\nimport { ItemGroupContext, useItemGroupContext } from '../context';\nimport { View } from '../../view';\nimport type { ItemGroupProps } from '../types';\n\nfunction UnconnectedItemGroup(\n\tprops: WordPressComponentProps< ItemGroupProps, 'div' >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst {\n\t\tisBordered,\n\t\tisSeparated,\n\t\tsize: sizeProp,\n\t\t...otherProps\n\t} = useItemGroup( props );\n\n\tconst { size: contextSize } = useItemGroupContext();\n\n\tconst spacedAround = ! isBordered && ! isSeparated;\n\tconst size = sizeProp || contextSize;\n\n\tconst contextValue = {\n\t\tspacedAround,\n\t\tsize,\n\t};\n\n\treturn (\n\t\t<ItemGroupContext.Provider value={ contextValue }>\n\t\t\t<View { ...otherProps } ref={ forwardedRef } />\n\t\t</ItemGroupContext.Provider>\n\t);\n}\n\n/**\n * `ItemGroup` displays a list of `Item`s grouped and styled together.\n *\n * ```jsx\n * import {\n * __experimentalItemGroup as ItemGroup,\n * __experimentalItem as Item,\n * } from '@wordpress/components';\n *\n * function Example() {\n * return (\n * <ItemGroup>\n * <Item>Code</Item>\n * <Item>is</Item>\n * <Item>Poetry</Item>\n * </ItemGroup>\n * );\n * }\n * ```\n */\nexport const ItemGroup = contextConnect( UnconnectedItemGroup, 'ItemGroup' );\n\nexport default ItemGroup;\n"],"mappings":";;;;;;;AASA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAZA;AACA;AACA;;AAGA;AACA;AACA;;AAQA,SAASI,oBAAoBA,CAC5BC,KAAuD,EACvDC,YAAiC,EAChC;EACD,MAAM;IACLC,UAAU;IACVC,WAAW;IACXC,IAAI,EAAEC,QAAQ;IACd,GAAGC;EACJ,CAAC,GAAG,IAAAC,kBAAY,EAAEP,KAAM,CAAC;EAEzB,MAAM;IAAEI,IAAI,EAAEI;EAAY,CAAC,GAAG,IAAAC,6BAAmB,EAAC,CAAC;EAEnD,MAAMC,YAAY,GAAG,CAAER,UAAU,IAAI,CAAEC,WAAW;EAClD,MAAMC,IAAI,GAAGC,QAAQ,IAAIG,WAAW;EAEpC,MAAMG,YAAY,GAAG;IACpBD,YAAY;IACZN;EACD,CAAC;EAED,OACC,IAAAQ,QAAA,CAAAC,aAAA,EAAChB,SAAA,CAAAiB,gBAAgB,CAACC,QAAQ;IAACC,KAAK,EAAGL;EAAc,GAChD,IAAAC,QAAA,CAAAC,aAAA,EAACf,KAAA,CAAAmB,IAAI;IAAA,GAAMX,UAAU;IAAGY,GAAG,EAAGjB;EAAc,CAAE,CACpB,CAAC;AAE9B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMkB,SAAS,GAAG,IAAAC,uBAAc,EAAErB,oBAAoB,EAAE,WAAY,CAAC;AAACsB,OAAA,CAAAF,SAAA,GAAAA,SAAA;AAAA,IAAAG,QAAA,GAE9DH,SAAS;AAAAE,OAAA,CAAAE,OAAA,GAAAD,QAAA"}
@@ -4,8 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.MenuItem = MenuItem;
8
- exports.default = void 0;
7
+ exports.default = exports.MenuItem = void 0;
9
8
  var _element = require("@wordpress/element");
10
9
  var _classnames = _interopRequireDefault(require("classnames"));
11
10
  var _shortcut = _interopRequireDefault(require("../shortcut"));
@@ -23,7 +22,7 @@ var _icon = _interopRequireDefault(require("../icon"));
23
22
  * Internal dependencies
24
23
  */
25
24
 
26
- function MenuItem(props, ref) {
25
+ function UnforwardedMenuItem(props, ref) {
27
26
  let {
28
27
  children,
29
28
  info,
@@ -86,6 +85,7 @@ function MenuItem(props, ref) {
86
85
  * <MenuItem
87
86
  * icon={ isActive ? 'yes' : 'no' }
88
87
  * isSelected={ isActive }
88
+ * role="menuitemcheckbox"
89
89
  * onClick={ () => setIsActive( ( state ) => ! state ) }
90
90
  * >
91
91
  * Toggle
@@ -94,6 +94,8 @@ function MenuItem(props, ref) {
94
94
  * };
95
95
  * ```
96
96
  */
97
- var _default = (0, _element.forwardRef)(MenuItem);
97
+ const MenuItem = (0, _element.forwardRef)(UnforwardedMenuItem);
98
+ exports.MenuItem = MenuItem;
99
+ var _default = MenuItem;
98
100
  exports.default = _default;
99
101
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_shortcut","_button","_icon","MenuItem","props","ref","children","info","className","icon","iconPosition","shortcut","isSelected","role","suffix","buttonProps","classnames","createElement","cloneElement","default","undefined","_default","forwardRef","exports"],"sources":["@wordpress/components/src/menu-item/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { cloneElement, forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Shortcut from '../shortcut';\nimport Button from '../button';\nimport Icon from '../icon';\nimport type { WordPressComponentProps } from '../ui/context';\nimport type { MenuItemProps } from './types';\n\nexport function MenuItem(\n\tprops: WordPressComponentProps< MenuItemProps, 'button', false >,\n\tref: ForwardedRef< HTMLButtonElement >\n) {\n\tlet {\n\t\tchildren,\n\t\tinfo,\n\t\tclassName,\n\t\ticon,\n\t\ticonPosition = 'right',\n\t\tshortcut,\n\t\tisSelected,\n\t\trole = 'menuitem',\n\t\tsuffix,\n\t\t...buttonProps\n\t} = props;\n\n\tclassName = classnames( 'components-menu-item__button', className );\n\n\tif ( info ) {\n\t\tchildren = (\n\t\t\t<span className=\"components-menu-item__info-wrapper\">\n\t\t\t\t<span className=\"components-menu-item__item\">{ children }</span>\n\t\t\t\t<span className=\"components-menu-item__info\">{ info }</span>\n\t\t\t</span>\n\t\t);\n\t}\n\n\tif ( icon && typeof icon !== 'string' ) {\n\t\ticon = cloneElement( icon, {\n\t\t\tclassName: classnames( 'components-menu-items__item-icon', {\n\t\t\t\t'has-icon-right': iconPosition === 'right',\n\t\t\t} ),\n\t\t} );\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\tref={ ref }\n\t\t\t// Make sure aria-checked matches spec https://www.w3.org/TR/wai-aria-1.1/#aria-checked\n\t\t\taria-checked={\n\t\t\t\trole === 'menuitemcheckbox' || role === 'menuitemradio'\n\t\t\t\t\t? isSelected\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\trole={ role }\n\t\t\ticon={ iconPosition === 'left' ? icon : undefined }\n\t\t\tclassName={ className }\n\t\t\t{ ...buttonProps }\n\t\t>\n\t\t\t<span className=\"components-menu-item__item\">{ children }</span>\n\t\t\t{ ! suffix && (\n\t\t\t\t<Shortcut\n\t\t\t\t\tclassName=\"components-menu-item__shortcut\"\n\t\t\t\t\tshortcut={ shortcut }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! suffix && icon && iconPosition === 'right' && (\n\t\t\t\t<Icon icon={ icon } />\n\t\t\t) }\n\t\t\t{ suffix }\n\t\t</Button>\n\t);\n}\n\n/**\n * MenuItem is a component which renders a button intended to be used in combination with the `DropdownMenu` component.\n *\n * ```jsx\n * import { MenuItem } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const MyMenuItem = () => {\n * \tconst [ isActive, setIsActive ] = useState( true );\n *\n * \treturn (\n * \t\t<MenuItem\n * \t\t\ticon={ isActive ? 'yes' : 'no' }\n * \t\t\tisSelected={ isActive }\n * \t\t\tonClick={ () => setIsActive( ( state ) => ! state ) }\n * \t\t>\n * \t\t\tToggle\n * \t\t</MenuItem>\n * \t);\n * };\n * ```\n */\nexport default forwardRef( MenuItem );\n"],"mappings":";;;;;;;;AASA,IAAAA,QAAA,GAAAC,OAAA;AALA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AAUA,IAAAG,SAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,OAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,KAAA,GAAAH,sBAAA,CAAAF,OAAA;AAhBA;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;;AAOO,SAASM,QAAQA,CACvBC,KAAgE,EAChEC,GAAsC,EACrC;EACD,IAAI;IACHC,QAAQ;IACRC,IAAI;IACJC,SAAS;IACTC,IAAI;IACJC,YAAY,GAAG,OAAO;IACtBC,QAAQ;IACRC,UAAU;IACVC,IAAI,GAAG,UAAU;IACjBC,MAAM;IACN,GAAGC;EACJ,CAAC,GAAGX,KAAK;EAETI,SAAS,GAAG,IAAAQ,mBAAU,EAAE,8BAA8B,EAAER,SAAU,CAAC;EAEnE,IAAKD,IAAI,EAAG;IACXD,QAAQ,GACP,IAAAV,QAAA,CAAAqB,aAAA;MAAMT,SAAS,EAAC;IAAoC,GACnD,IAAAZ,QAAA,CAAAqB,aAAA;MAAMT,SAAS,EAAC;IAA4B,GAAGF,QAAgB,CAAC,EAChE,IAAAV,QAAA,CAAAqB,aAAA;MAAMT,SAAS,EAAC;IAA4B,GAAGD,IAAY,CACtD,CACN;EACF;EAEA,IAAKE,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAG;IACvCA,IAAI,GAAG,IAAAS,qBAAY,EAAET,IAAI,EAAE;MAC1BD,SAAS,EAAE,IAAAQ,mBAAU,EAAE,kCAAkC,EAAE;QAC1D,gBAAgB,EAAEN,YAAY,KAAK;MACpC,CAAE;IACH,CAAE,CAAC;EACJ;EAEA,OACC,IAAAd,QAAA,CAAAqB,aAAA,EAAChB,OAAA,CAAAkB,OAAM;IACNd,GAAG,EAAGA;IACN;IAAA;IACA,gBACCQ,IAAI,KAAK,kBAAkB,IAAIA,IAAI,KAAK,eAAe,GACpDD,UAAU,GACVQ,SACH;IACDP,IAAI,EAAGA,IAAM;IACbJ,IAAI,EAAGC,YAAY,KAAK,MAAM,GAAGD,IAAI,GAAGW,SAAW;IACnDZ,SAAS,EAAGA,SAAW;IAAA,GAClBO;EAAW,GAEhB,IAAAnB,QAAA,CAAAqB,aAAA;IAAMT,SAAS,EAAC;EAA4B,GAAGF,QAAgB,CAAC,EAC9D,CAAEQ,MAAM,IACT,IAAAlB,QAAA,CAAAqB,aAAA,EAACjB,SAAA,CAAAmB,OAAQ;IACRX,SAAS,EAAC,gCAAgC;IAC1CG,QAAQ,EAAGA;EAAU,CACrB,CACD,EACC,CAAEG,MAAM,IAAIL,IAAI,IAAIC,YAAY,KAAK,OAAO,IAC7C,IAAAd,QAAA,CAAAqB,aAAA,EAACf,KAAA,CAAAiB,OAAI;IAACV,IAAI,EAAGA;EAAM,CAAE,CACrB,EACCK,MACK,CAAC;AAEX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AArBA,IAAAO,QAAA,GAsBe,IAAAC,mBAAU,EAAEnB,QAAS,CAAC;AAAAoB,OAAA,CAAAJ,OAAA,GAAAE,QAAA"}
1
+ {"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_shortcut","_button","_icon","UnforwardedMenuItem","props","ref","children","info","className","icon","iconPosition","shortcut","isSelected","role","suffix","buttonProps","classnames","createElement","cloneElement","default","undefined","MenuItem","forwardRef","exports","_default"],"sources":["@wordpress/components/src/menu-item/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { cloneElement, forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Shortcut from '../shortcut';\nimport Button from '../button';\nimport Icon from '../icon';\nimport type { WordPressComponentProps } from '../ui/context';\nimport type { MenuItemProps } from './types';\n\nfunction UnforwardedMenuItem(\n\tprops: WordPressComponentProps< MenuItemProps, 'button', false >,\n\tref: ForwardedRef< HTMLButtonElement >\n) {\n\tlet {\n\t\tchildren,\n\t\tinfo,\n\t\tclassName,\n\t\ticon,\n\t\ticonPosition = 'right',\n\t\tshortcut,\n\t\tisSelected,\n\t\trole = 'menuitem',\n\t\tsuffix,\n\t\t...buttonProps\n\t} = props;\n\n\tclassName = classnames( 'components-menu-item__button', className );\n\n\tif ( info ) {\n\t\tchildren = (\n\t\t\t<span className=\"components-menu-item__info-wrapper\">\n\t\t\t\t<span className=\"components-menu-item__item\">{ children }</span>\n\t\t\t\t<span className=\"components-menu-item__info\">{ info }</span>\n\t\t\t</span>\n\t\t);\n\t}\n\n\tif ( icon && typeof icon !== 'string' ) {\n\t\ticon = cloneElement( icon, {\n\t\t\tclassName: classnames( 'components-menu-items__item-icon', {\n\t\t\t\t'has-icon-right': iconPosition === 'right',\n\t\t\t} ),\n\t\t} );\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\tref={ ref }\n\t\t\t// Make sure aria-checked matches spec https://www.w3.org/TR/wai-aria-1.1/#aria-checked\n\t\t\taria-checked={\n\t\t\t\trole === 'menuitemcheckbox' || role === 'menuitemradio'\n\t\t\t\t\t? isSelected\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\trole={ role }\n\t\t\ticon={ iconPosition === 'left' ? icon : undefined }\n\t\t\tclassName={ className }\n\t\t\t{ ...buttonProps }\n\t\t>\n\t\t\t<span className=\"components-menu-item__item\">{ children }</span>\n\t\t\t{ ! suffix && (\n\t\t\t\t<Shortcut\n\t\t\t\t\tclassName=\"components-menu-item__shortcut\"\n\t\t\t\t\tshortcut={ shortcut }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! suffix && icon && iconPosition === 'right' && (\n\t\t\t\t<Icon icon={ icon } />\n\t\t\t) }\n\t\t\t{ suffix }\n\t\t</Button>\n\t);\n}\n\n/**\n * MenuItem is a component which renders a button intended to be used in combination with the `DropdownMenu` component.\n *\n * ```jsx\n * import { MenuItem } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const MyMenuItem = () => {\n * \tconst [ isActive, setIsActive ] = useState( true );\n *\n * \treturn (\n * \t\t<MenuItem\n * \t\t\ticon={ isActive ? 'yes' : 'no' }\n * \t\t\tisSelected={ isActive }\n * \t\t\trole=\"menuitemcheckbox\"\n * \t\t\tonClick={ () => setIsActive( ( state ) => ! state ) }\n * \t\t>\n * \t\t\tToggle\n * \t\t</MenuItem>\n * \t);\n * };\n * ```\n */\nexport const MenuItem = forwardRef( UnforwardedMenuItem );\n\nexport default MenuItem;\n"],"mappings":";;;;;;;AASA,IAAAA,QAAA,GAAAC,OAAA;AALA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AAUA,IAAAG,SAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,OAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,KAAA,GAAAH,sBAAA,CAAAF,OAAA;AAhBA;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;;AAOA,SAASM,mBAAmBA,CAC3BC,KAAgE,EAChEC,GAAsC,EACrC;EACD,IAAI;IACHC,QAAQ;IACRC,IAAI;IACJC,SAAS;IACTC,IAAI;IACJC,YAAY,GAAG,OAAO;IACtBC,QAAQ;IACRC,UAAU;IACVC,IAAI,GAAG,UAAU;IACjBC,MAAM;IACN,GAAGC;EACJ,CAAC,GAAGX,KAAK;EAETI,SAAS,GAAG,IAAAQ,mBAAU,EAAE,8BAA8B,EAAER,SAAU,CAAC;EAEnE,IAAKD,IAAI,EAAG;IACXD,QAAQ,GACP,IAAAV,QAAA,CAAAqB,aAAA;MAAMT,SAAS,EAAC;IAAoC,GACnD,IAAAZ,QAAA,CAAAqB,aAAA;MAAMT,SAAS,EAAC;IAA4B,GAAGF,QAAgB,CAAC,EAChE,IAAAV,QAAA,CAAAqB,aAAA;MAAMT,SAAS,EAAC;IAA4B,GAAGD,IAAY,CACtD,CACN;EACF;EAEA,IAAKE,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAG;IACvCA,IAAI,GAAG,IAAAS,qBAAY,EAAET,IAAI,EAAE;MAC1BD,SAAS,EAAE,IAAAQ,mBAAU,EAAE,kCAAkC,EAAE;QAC1D,gBAAgB,EAAEN,YAAY,KAAK;MACpC,CAAE;IACH,CAAE,CAAC;EACJ;EAEA,OACC,IAAAd,QAAA,CAAAqB,aAAA,EAAChB,OAAA,CAAAkB,OAAM;IACNd,GAAG,EAAGA;IACN;IAAA;IACA,gBACCQ,IAAI,KAAK,kBAAkB,IAAIA,IAAI,KAAK,eAAe,GACpDD,UAAU,GACVQ,SACH;IACDP,IAAI,EAAGA,IAAM;IACbJ,IAAI,EAAGC,YAAY,KAAK,MAAM,GAAGD,IAAI,GAAGW,SAAW;IACnDZ,SAAS,EAAGA,SAAW;IAAA,GAClBO;EAAW,GAEhB,IAAAnB,QAAA,CAAAqB,aAAA;IAAMT,SAAS,EAAC;EAA4B,GAAGF,QAAgB,CAAC,EAC9D,CAAEQ,MAAM,IACT,IAAAlB,QAAA,CAAAqB,aAAA,EAACjB,SAAA,CAAAmB,OAAQ;IACRX,SAAS,EAAC,gCAAgC;IAC1CG,QAAQ,EAAGA;EAAU,CACrB,CACD,EACC,CAAEG,MAAM,IAAIL,IAAI,IAAIC,YAAY,KAAK,OAAO,IAC7C,IAAAd,QAAA,CAAAqB,aAAA,EAACf,KAAA,CAAAiB,OAAI;IAACV,IAAI,EAAGA;EAAM,CAAE,CACrB,EACCK,MACK,CAAC;AAEX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMO,QAAQ,GAAG,IAAAC,mBAAU,EAAEnB,mBAAoB,CAAC;AAACoB,OAAA,CAAAF,QAAA,GAAAA,QAAA;AAAA,IAAAG,QAAA,GAE3CH,QAAQ;AAAAE,OAAA,CAAAJ,OAAA,GAAAK,QAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["@wordpress/components/src/menu-item/types.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ReactNode } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { ButtonAsButtonProps } from '../button/types';\n\nexport type MenuItemProps = ButtonAsButtonProps & {\n\t/**\n\t * A CSS `class` to give to the container element.\n\t */\n\tclassName?: string;\n\t/**\n\t * The children elements.\n\t */\n\tchildren?: ReactNode;\n\t/**\n\t * Text to use as description for button text.\n\t */\n\tinfo?: string;\n\t/**\n\t * The icon to render. Supported values are: Dashicons (specified as\n\t * strings), functions, Component instances and `null`.\n\t *\n\t * @default null\n\t */\n\ticon?: JSX.Element | null;\n\t/**\n\t * Determines where to display the provided `icon`.\n\t */\n\ticonPosition?: ButtonAsButtonProps[ 'iconPosition' ];\n\t/**\n\t * Whether or not the menu item is currently selected.\n\t */\n\tisSelected?: boolean;\n\t/**\n\t * If shortcut is a string, it is expecting the display text. If shortcut is an object,\n\t * it will accept the properties of `display` (string) and `ariaLabel` (string).\n\t */\n\tshortcut?: string | { display: string; ariaLabel: string };\n\t/**\n\t * If you need to have selectable menu items use menuitemradio for single select,\n\t * and menuitemcheckbox for multiselect.\n\t *\n\t * @default 'menuitem'\n\t */\n\trole?: string;\n\t/**\n\t * Allows for markup other than icons or shortcuts to be added to the menu item.\n\t *\n\t */\n\tsuffix?: ReactNode;\n\t/**\n\t * Human-readable label for item.\n\t */\n\tlabel?: string;\n};\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["@wordpress/components/src/menu-item/types.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ReactNode } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { ButtonAsButtonProps } from '../button/types';\n\nexport type MenuItemProps = Pick< ButtonAsButtonProps, 'isDestructive' > & {\n\t/**\n\t * A CSS `class` to give to the container element.\n\t */\n\tclassName?: string;\n\t/**\n\t * The children elements.\n\t */\n\tchildren?: ReactNode;\n\t/**\n\t * Text to use as description for button text.\n\t */\n\tinfo?: string;\n\t/**\n\t * The icon to render. Supported values are: Dashicons (specified as\n\t * strings), functions, Component instances and `null`.\n\t *\n\t * @default null\n\t */\n\ticon?: JSX.Element | null;\n\t/**\n\t * Determines where to display the provided `icon`.\n\t */\n\ticonPosition?: ButtonAsButtonProps[ 'iconPosition' ];\n\t/**\n\t * Whether or not the menu item is currently selected, `isSelected` is only taken into\n\t * account when the `role` prop is either `\"menuitemcheckbox\"` or `\"menuitemradio\"`.\n\t */\n\tisSelected?: boolean;\n\t/**\n\t * If shortcut is a string, it is expecting the display text. If shortcut is an object,\n\t * it will accept the properties of `display` (string) and `ariaLabel` (string).\n\t */\n\tshortcut?: string | { display: string; ariaLabel: string };\n\t/**\n\t * If you need to have selectable menu items use menuitemradio for single select,\n\t * and menuitemcheckbox for multiselect.\n\t *\n\t * @default 'menuitem'\n\t */\n\trole?: string;\n\t/**\n\t * Allows for markup other than icons or shortcuts to be added to the menu item.\n\t *\n\t */\n\tsuffix?: ReactNode;\n\t/**\n\t * Human-readable label for item.\n\t */\n\tlabel?: string;\n};\n"],"mappings":""}
@@ -31,7 +31,7 @@ function LinkSettingsNavigation(props) {
31
31
  isVisible: props.isVisible,
32
32
  onClose: props.onClose,
33
33
  onDismiss: props.onDismiss,
34
- testID: props.testID,
34
+ testID: "link-settings-navigation",
35
35
  hideHeader: true,
36
36
  hasNavigation: true
37
37
  }, (0, _element.createElement)(_bottomSheet.default.NavigationContainer, {
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_bottomSheet","_interopRequireDefault","_linkSettingsScreen","_linkPickerScreen","linkSettingsScreens","settings","linkPicker","LinkSettingsNavigation","props","withBottomSheet","createElement","default","isVisible","onClose","onDismiss","testID","hideHeader","hasNavigation","NavigationContainer","animate","main","NavigationScreen","name","isScrollable","fullScreen","returnScreenName","_default","memo","exports"],"sources":["@wordpress/components/src/mobile/link-settings/link-settings-navigation.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { memo } from '@wordpress/element';\n/**\n * Internal dependencies\n */\nimport BottomSheet from '../bottom-sheet';\nimport LinkSettingsScreen from './link-settings-screen';\nimport LinkPickerScreen from '../link-picker/link-picker-screen';\n\nconst linkSettingsScreens = {\n\tsettings: 'LinkSettingsScreen',\n\tlinkPicker: 'linkPicker',\n};\n\nfunction LinkSettingsNavigation( props ) {\n\tif ( ! props.withBottomSheet ) {\n\t\treturn <LinkSettingsScreen { ...props } />;\n\t}\n\treturn (\n\t\t<BottomSheet\n\t\t\tisVisible={ props.isVisible }\n\t\t\tonClose={ props.onClose }\n\t\t\tonDismiss={ props.onDismiss }\n\t\t\ttestID={ props.testID }\n\t\t\thideHeader\n\t\t\thasNavigation\n\t\t>\n\t\t\t<BottomSheet.NavigationContainer animate main>\n\t\t\t\t<BottomSheet.NavigationScreen\n\t\t\t\t\tname={ linkSettingsScreens.settings }\n\t\t\t\t>\n\t\t\t\t\t<LinkSettingsScreen { ...props } withBottomSheet />\n\t\t\t\t</BottomSheet.NavigationScreen>\n\t\t\t\t<BottomSheet.NavigationScreen\n\t\t\t\t\tname={ linkSettingsScreens.linkPicker }\n\t\t\t\t\tisScrollable\n\t\t\t\t\tfullScreen\n\t\t\t\t>\n\t\t\t\t\t<LinkPickerScreen\n\t\t\t\t\t\treturnScreenName={ linkSettingsScreens.settings }\n\t\t\t\t\t/>\n\t\t\t\t</BottomSheet.NavigationScreen>\n\t\t\t</BottomSheet.NavigationContainer>\n\t\t</BottomSheet>\n\t);\n}\n\nexport default memo( LinkSettingsNavigation );\n"],"mappings":";;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AAIA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,iBAAA,GAAAF,sBAAA,CAAAF,OAAA;AATA;AACA;AACA;;AAEA;AACA;AACA;;AAKA,MAAMK,mBAAmB,GAAG;EAC3BC,QAAQ,EAAE,oBAAoB;EAC9BC,UAAU,EAAE;AACb,CAAC;AAED,SAASC,sBAAsBA,CAAEC,KAAK,EAAG;EACxC,IAAK,CAAEA,KAAK,CAACC,eAAe,EAAG;IAC9B,OAAO,IAAAX,QAAA,CAAAY,aAAA,EAACR,mBAAA,CAAAS,OAAkB;MAAA,GAAMH;IAAK,CAAI,CAAC;EAC3C;EACA,OACC,IAAAV,QAAA,CAAAY,aAAA,EAACV,YAAA,CAAAW,OAAW;IACXC,SAAS,EAAGJ,KAAK,CAACI,SAAW;IAC7BC,OAAO,EAAGL,KAAK,CAACK,OAAS;IACzBC,SAAS,EAAGN,KAAK,CAACM,SAAW;IAC7BC,MAAM,EAAGP,KAAK,CAACO,MAAQ;IACvBC,UAAU;IACVC,aAAa;EAAA,GAEb,IAAAnB,QAAA,CAAAY,aAAA,EAACV,YAAA,CAAAW,OAAW,CAACO,mBAAmB;IAACC,OAAO;IAACC,IAAI;EAAA,GAC5C,IAAAtB,QAAA,CAAAY,aAAA,EAACV,YAAA,CAAAW,OAAW,CAACU,gBAAgB;IAC5BC,IAAI,EAAGlB,mBAAmB,CAACC;EAAU,GAErC,IAAAP,QAAA,CAAAY,aAAA,EAACR,mBAAA,CAAAS,OAAkB;IAAA,GAAMH,KAAK;IAAGC,eAAe;EAAA,CAAE,CACrB,CAAC,EAC/B,IAAAX,QAAA,CAAAY,aAAA,EAACV,YAAA,CAAAW,OAAW,CAACU,gBAAgB;IAC5BC,IAAI,EAAGlB,mBAAmB,CAACE,UAAY;IACvCiB,YAAY;IACZC,UAAU;EAAA,GAEV,IAAA1B,QAAA,CAAAY,aAAA,EAACP,iBAAA,CAAAQ,OAAgB;IAChBc,gBAAgB,EAAGrB,mBAAmB,CAACC;EAAU,CACjD,CAC4B,CACE,CACrB,CAAC;AAEhB;AAAC,IAAAqB,QAAA,GAEc,IAAAC,aAAI,EAAEpB,sBAAuB,CAAC;AAAAqB,OAAA,CAAAjB,OAAA,GAAAe,QAAA"}
1
+ {"version":3,"names":["_element","require","_bottomSheet","_interopRequireDefault","_linkSettingsScreen","_linkPickerScreen","linkSettingsScreens","settings","linkPicker","LinkSettingsNavigation","props","withBottomSheet","createElement","default","isVisible","onClose","onDismiss","testID","hideHeader","hasNavigation","NavigationContainer","animate","main","NavigationScreen","name","isScrollable","fullScreen","returnScreenName","_default","memo","exports"],"sources":["@wordpress/components/src/mobile/link-settings/link-settings-navigation.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { memo } from '@wordpress/element';\n/**\n * Internal dependencies\n */\nimport BottomSheet from '../bottom-sheet';\nimport LinkSettingsScreen from './link-settings-screen';\nimport LinkPickerScreen from '../link-picker/link-picker-screen';\n\nconst linkSettingsScreens = {\n\tsettings: 'LinkSettingsScreen',\n\tlinkPicker: 'linkPicker',\n};\n\nfunction LinkSettingsNavigation( props ) {\n\tif ( ! props.withBottomSheet ) {\n\t\treturn <LinkSettingsScreen { ...props } />;\n\t}\n\treturn (\n\t\t<BottomSheet\n\t\t\tisVisible={ props.isVisible }\n\t\t\tonClose={ props.onClose }\n\t\t\tonDismiss={ props.onDismiss }\n\t\t\ttestID=\"link-settings-navigation\"\n\t\t\thideHeader\n\t\t\thasNavigation\n\t\t>\n\t\t\t<BottomSheet.NavigationContainer animate main>\n\t\t\t\t<BottomSheet.NavigationScreen\n\t\t\t\t\tname={ linkSettingsScreens.settings }\n\t\t\t\t>\n\t\t\t\t\t<LinkSettingsScreen { ...props } withBottomSheet />\n\t\t\t\t</BottomSheet.NavigationScreen>\n\t\t\t\t<BottomSheet.NavigationScreen\n\t\t\t\t\tname={ linkSettingsScreens.linkPicker }\n\t\t\t\t\tisScrollable\n\t\t\t\t\tfullScreen\n\t\t\t\t>\n\t\t\t\t\t<LinkPickerScreen\n\t\t\t\t\t\treturnScreenName={ linkSettingsScreens.settings }\n\t\t\t\t\t/>\n\t\t\t\t</BottomSheet.NavigationScreen>\n\t\t\t</BottomSheet.NavigationContainer>\n\t\t</BottomSheet>\n\t);\n}\n\nexport default memo( LinkSettingsNavigation );\n"],"mappings":";;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AAIA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,iBAAA,GAAAF,sBAAA,CAAAF,OAAA;AATA;AACA;AACA;;AAEA;AACA;AACA;;AAKA,MAAMK,mBAAmB,GAAG;EAC3BC,QAAQ,EAAE,oBAAoB;EAC9BC,UAAU,EAAE;AACb,CAAC;AAED,SAASC,sBAAsBA,CAAEC,KAAK,EAAG;EACxC,IAAK,CAAEA,KAAK,CAACC,eAAe,EAAG;IAC9B,OAAO,IAAAX,QAAA,CAAAY,aAAA,EAACR,mBAAA,CAAAS,OAAkB;MAAA,GAAMH;IAAK,CAAI,CAAC;EAC3C;EACA,OACC,IAAAV,QAAA,CAAAY,aAAA,EAACV,YAAA,CAAAW,OAAW;IACXC,SAAS,EAAGJ,KAAK,CAACI,SAAW;IAC7BC,OAAO,EAAGL,KAAK,CAACK,OAAS;IACzBC,SAAS,EAAGN,KAAK,CAACM,SAAW;IAC7BC,MAAM,EAAC,0BAA0B;IACjCC,UAAU;IACVC,aAAa;EAAA,GAEb,IAAAnB,QAAA,CAAAY,aAAA,EAACV,YAAA,CAAAW,OAAW,CAACO,mBAAmB;IAACC,OAAO;IAACC,IAAI;EAAA,GAC5C,IAAAtB,QAAA,CAAAY,aAAA,EAACV,YAAA,CAAAW,OAAW,CAACU,gBAAgB;IAC5BC,IAAI,EAAGlB,mBAAmB,CAACC;EAAU,GAErC,IAAAP,QAAA,CAAAY,aAAA,EAACR,mBAAA,CAAAS,OAAkB;IAAA,GAAMH,KAAK;IAAGC,eAAe;EAAA,CAAE,CACrB,CAAC,EAC/B,IAAAX,QAAA,CAAAY,aAAA,EAACV,YAAA,CAAAW,OAAW,CAACU,gBAAgB;IAC5BC,IAAI,EAAGlB,mBAAmB,CAACE,UAAY;IACvCiB,YAAY;IACZC,UAAU;EAAA,GAEV,IAAA1B,QAAA,CAAAY,aAAA,EAACP,iBAAA,CAAAQ,OAAgB;IAChBc,gBAAgB,EAAGrB,mBAAmB,CAACC;EAAU,CACjD,CAC4B,CACE,CACrB,CAAC;AAEhB;AAAC,IAAAqB,QAAA,GAEc,IAAAC,aAAI,EAAEpB,sBAAuB,CAAC;AAAAqB,OAAA,CAAAjB,OAAA,GAAAe,QAAA"}
@@ -31,7 +31,6 @@ const noop = () => {};
31
31
  /**
32
32
  * Render a navigation list with optional groupings and hierarchy.
33
33
  *
34
- * @example
35
34
  * ```jsx
36
35
  * import {
37
36
  * __experimentalNavigation as Navigation,
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_i18n","_animate","_constants","_context","_navigationStyles","_useCreateNavigationTree","noop","Navigation","activeItem","activeMenu","ROOT_MENU","children","className","onActivateMenu","menu","setMenu","useState","slideOrigin","setSlideOrigin","navigationTree","useCreateNavigationTree","defaultSlideOrigin","isRTL","setActiveMenu","menuId","slideInOrigin","getMenu","isMounted","useRef","useEffect","current","context","classes","classnames","animateClassName","getAnimateClassName","type","origin","createElement","NavigationUI","key","undefined","NavigationContext","Provider","value","_default","exports","default"],"sources":["@wordpress/components/src/navigation/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { isRTL } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { getAnimateClassName } from '../animate';\nimport { ROOT_MENU } from './constants';\nimport { NavigationContext } from './context';\nimport { NavigationUI } from './styles/navigation-styles';\nimport { useCreateNavigationTree } from './use-create-navigation-tree';\n\nimport type {\n\tNavigationProps,\n\tNavigationContext as NavigationContextType,\n} from './types';\n\nconst noop = () => {};\n\n/**\n * Render a navigation list with optional groupings and hierarchy.\n *\n * @example\n * ```jsx\n * import {\n * __experimentalNavigation as Navigation,\n * __experimentalNavigationGroup as NavigationGroup,\n * __experimentalNavigationItem as NavigationItem,\n * __experimentalNavigationMenu as NavigationMenu,\n * } from '@wordpress/components';\n *\n * const MyNavigation = () => (\n * <Navigation>\n * <NavigationMenu title=\"Home\">\n * <NavigationGroup title=\"Group 1\">\n * <NavigationItem item=\"item-1\" title=\"Item 1\" />\n * <NavigationItem item=\"item-2\" title=\"Item 2\" />\n * </NavigationGroup>\n * <NavigationGroup title=\"Group 2\">\n * <NavigationItem\n * item=\"item-3\"\n * navigateToMenu=\"category\"\n * title=\"Category\"\n * />\n * </NavigationGroup>\n * </NavigationMenu>\n *\n * <NavigationMenu\n * backButtonLabel=\"Home\"\n * menu=\"category\"\n * parentMenu=\"root\"\n * title=\"Category\"\n * >\n * <NavigationItem badge=\"1\" item=\"child-1\" title=\"Child 1\" />\n * <NavigationItem item=\"child-2\" title=\"Child 2\" />\n * </NavigationMenu>\n * </Navigation>\n * );\n * ```\n */\nexport function Navigation( {\n\tactiveItem,\n\tactiveMenu = ROOT_MENU,\n\tchildren,\n\tclassName,\n\tonActivateMenu = noop,\n}: NavigationProps ) {\n\tconst [ menu, setMenu ] = useState( activeMenu );\n\tconst [ slideOrigin, setSlideOrigin ] = useState< 'left' | 'right' >();\n\tconst navigationTree = useCreateNavigationTree();\n\tconst defaultSlideOrigin = isRTL() ? 'right' : 'left';\n\n\tconst setActiveMenu: NavigationContextType[ 'setActiveMenu' ] = (\n\t\tmenuId,\n\t\tslideInOrigin = defaultSlideOrigin\n\t) => {\n\t\tif ( ! navigationTree.getMenu( menuId ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetSlideOrigin( slideInOrigin );\n\t\tsetMenu( menuId );\n\t\tonActivateMenu( menuId );\n\t};\n\n\t// Used to prevent the sliding animation on mount\n\tconst isMounted = useRef( false );\n\tuseEffect( () => {\n\t\tif ( ! isMounted.current ) {\n\t\t\tisMounted.current = true;\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( activeMenu !== menu ) {\n\t\t\tsetActiveMenu( activeMenu );\n\t\t}\n\t\t// Ignore exhaustive-deps here, as it would require either a larger refactor or some questionable workarounds.\n\t\t// See https://github.com/WordPress/gutenberg/pull/41612 for context.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ activeMenu ] );\n\n\tconst context = {\n\t\tactiveItem,\n\t\tactiveMenu: menu,\n\t\tsetActiveMenu,\n\t\tnavigationTree,\n\t};\n\n\tconst classes = classnames( 'components-navigation', className );\n\tconst animateClassName = getAnimateClassName( {\n\t\ttype: 'slide-in',\n\t\torigin: slideOrigin,\n\t} );\n\n\treturn (\n\t\t<NavigationUI className={ classes }>\n\t\t\t<div\n\t\t\t\tkey={ menu }\n\t\t\t\tclassName={\n\t\t\t\t\tanimateClassName\n\t\t\t\t\t\t? classnames( {\n\t\t\t\t\t\t\t\t[ animateClassName ]:\n\t\t\t\t\t\t\t\t\tisMounted.current && slideOrigin,\n\t\t\t\t\t\t } )\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<NavigationContext.Provider value={ context }>\n\t\t\t\t\t{ children }\n\t\t\t\t</NavigationContext.Provider>\n\t\t\t</div>\n\t\t</NavigationUI>\n\t);\n}\n\nexport default Navigation;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_i18n","_animate","_constants","_context","_navigationStyles","_useCreateNavigationTree","noop","Navigation","activeItem","activeMenu","ROOT_MENU","children","className","onActivateMenu","menu","setMenu","useState","slideOrigin","setSlideOrigin","navigationTree","useCreateNavigationTree","defaultSlideOrigin","isRTL","setActiveMenu","menuId","slideInOrigin","getMenu","isMounted","useRef","useEffect","current","context","classes","classnames","animateClassName","getAnimateClassName","type","origin","createElement","NavigationUI","key","undefined","NavigationContext","Provider","value","_default","exports","default"],"sources":["@wordpress/components/src/navigation/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { isRTL } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { getAnimateClassName } from '../animate';\nimport { ROOT_MENU } from './constants';\nimport { NavigationContext } from './context';\nimport { NavigationUI } from './styles/navigation-styles';\nimport { useCreateNavigationTree } from './use-create-navigation-tree';\n\nimport type {\n\tNavigationProps,\n\tNavigationContext as NavigationContextType,\n} from './types';\n\nconst noop = () => {};\n\n/**\n * Render a navigation list with optional groupings and hierarchy.\n *\n * ```jsx\n * import {\n * __experimentalNavigation as Navigation,\n * __experimentalNavigationGroup as NavigationGroup,\n * __experimentalNavigationItem as NavigationItem,\n * __experimentalNavigationMenu as NavigationMenu,\n * } from '@wordpress/components';\n *\n * const MyNavigation = () => (\n * <Navigation>\n * <NavigationMenu title=\"Home\">\n * <NavigationGroup title=\"Group 1\">\n * <NavigationItem item=\"item-1\" title=\"Item 1\" />\n * <NavigationItem item=\"item-2\" title=\"Item 2\" />\n * </NavigationGroup>\n * <NavigationGroup title=\"Group 2\">\n * <NavigationItem\n * item=\"item-3\"\n * navigateToMenu=\"category\"\n * title=\"Category\"\n * />\n * </NavigationGroup>\n * </NavigationMenu>\n *\n * <NavigationMenu\n * backButtonLabel=\"Home\"\n * menu=\"category\"\n * parentMenu=\"root\"\n * title=\"Category\"\n * >\n * <NavigationItem badge=\"1\" item=\"child-1\" title=\"Child 1\" />\n * <NavigationItem item=\"child-2\" title=\"Child 2\" />\n * </NavigationMenu>\n * </Navigation>\n * );\n * ```\n */\nexport function Navigation( {\n\tactiveItem,\n\tactiveMenu = ROOT_MENU,\n\tchildren,\n\tclassName,\n\tonActivateMenu = noop,\n}: NavigationProps ) {\n\tconst [ menu, setMenu ] = useState( activeMenu );\n\tconst [ slideOrigin, setSlideOrigin ] = useState< 'left' | 'right' >();\n\tconst navigationTree = useCreateNavigationTree();\n\tconst defaultSlideOrigin = isRTL() ? 'right' : 'left';\n\n\tconst setActiveMenu: NavigationContextType[ 'setActiveMenu' ] = (\n\t\tmenuId,\n\t\tslideInOrigin = defaultSlideOrigin\n\t) => {\n\t\tif ( ! navigationTree.getMenu( menuId ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetSlideOrigin( slideInOrigin );\n\t\tsetMenu( menuId );\n\t\tonActivateMenu( menuId );\n\t};\n\n\t// Used to prevent the sliding animation on mount\n\tconst isMounted = useRef( false );\n\tuseEffect( () => {\n\t\tif ( ! isMounted.current ) {\n\t\t\tisMounted.current = true;\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( activeMenu !== menu ) {\n\t\t\tsetActiveMenu( activeMenu );\n\t\t}\n\t\t// Ignore exhaustive-deps here, as it would require either a larger refactor or some questionable workarounds.\n\t\t// See https://github.com/WordPress/gutenberg/pull/41612 for context.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ activeMenu ] );\n\n\tconst context = {\n\t\tactiveItem,\n\t\tactiveMenu: menu,\n\t\tsetActiveMenu,\n\t\tnavigationTree,\n\t};\n\n\tconst classes = classnames( 'components-navigation', className );\n\tconst animateClassName = getAnimateClassName( {\n\t\ttype: 'slide-in',\n\t\torigin: slideOrigin,\n\t} );\n\n\treturn (\n\t\t<NavigationUI className={ classes }>\n\t\t\t<div\n\t\t\t\tkey={ menu }\n\t\t\t\tclassName={\n\t\t\t\t\tanimateClassName\n\t\t\t\t\t\t? classnames( {\n\t\t\t\t\t\t\t\t[ animateClassName ]:\n\t\t\t\t\t\t\t\t\tisMounted.current && slideOrigin,\n\t\t\t\t\t\t } )\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<NavigationContext.Provider value={ context }>\n\t\t\t\t\t{ children }\n\t\t\t\t</NavigationContext.Provider>\n\t\t\t</div>\n\t\t</NavigationUI>\n\t);\n}\n\nexport default Navigation;\n"],"mappings":"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"}
@@ -30,7 +30,7 @@ var _ref = process.env.NODE_ENV === "production" ? {
30
30
  } : {
31
31
  name: "192ebb7-classes",
32
32
  styles: "overflow-x:hidden;label:classes;",
33
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvbmF2aWdhdG9yL25hdmlnYXRvci1wcm92aWRlci9jb21wb25lbnQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJQWSIsImZpbGUiOiJAd29yZHByZXNzL2NvbXBvbmVudHMvc3JjL25hdmlnYXRvci9uYXZpZ2F0b3ItcHJvdmlkZXIvY29tcG9uZW50LnRzeCIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB0eXBlIHsgRm9yd2FyZGVkUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuXG4vKipcbiAqIFdvcmRQcmVzcyBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0IHtcblx0dXNlTWVtbyxcblx0dXNlU3RhdGUsXG5cdHVzZUNhbGxiYWNrLFxuXHR1c2VSZWR1Y2VyLFxuXHR1c2VSZWYsXG5cdHVzZUVmZmVjdCxcbn0gZnJvbSAnQHdvcmRwcmVzcy9lbGVtZW50JztcbmltcG9ydCBpc1NoYWxsb3dFcXVhbCBmcm9tICdAd29yZHByZXNzL2lzLXNoYWxsb3ctZXF1YWwnO1xuXG4vKipcbiAqIEludGVybmFsIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgdHlwZSB7IFdvcmRQcmVzc0NvbXBvbmVudFByb3BzIH0gZnJvbSAnLi4vLi4vdWkvY29udGV4dCc7XG5pbXBvcnQgeyBjb250ZXh0Q29ubmVjdCwgdXNlQ29udGV4dFN5c3RlbSB9IGZyb20gJy4uLy4uL3VpL2NvbnRleHQnO1xuaW1wb3J0IHsgdXNlQ3ggfSBmcm9tICcuLi8uLi91dGlscy9ob29rcy91c2UtY3gnO1xuaW1wb3J0IHsgVmlldyB9IGZyb20gJy4uLy4uL3ZpZXcnO1xuaW1wb3J0IHsgTmF2aWdhdG9yQ29udGV4dCB9IGZyb20gJy4uL2NvbnRleHQnO1xuaW1wb3J0IHR5cGUge1xuXHROYXZpZ2F0b3JQcm92aWRlclByb3BzLFxuXHROYXZpZ2F0b3JMb2NhdGlvbixcblx0TmF2aWdhdG9yQ29udGV4dCBhcyBOYXZpZ2F0b3JDb250ZXh0VHlwZSxcblx0U2NyZWVuLFxufSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBwYXR0ZXJuTWF0Y2gsIGZpbmRQYXJlbnQgfSBmcm9tICcuLi91dGlscy9yb3V0ZXInO1xuXG50eXBlIE1hdGNoZWRQYXRoID0gUmV0dXJuVHlwZTwgdHlwZW9mIHBhdHRlcm5NYXRjaCA+O1xudHlwZSBTY3JlZW5BY3Rpb24gPSB7IHR5cGU6IHN0cmluZzsgc2NyZWVuOiBTY3JlZW4gfTtcblxuY29uc3QgTUFYX0hJU1RPUllfTEVOR1RIID0gNTA7XG5cbmZ1bmN0aW9uIHNjcmVlbnNSZWR1Y2VyKFxuXHRzdGF0ZTogU2NyZWVuW10gPSBbXSxcblx0YWN0aW9uOiBTY3JlZW5BY3Rpb25cbik6IFNjcmVlbltdIHtcblx0c3dpdGNoICggYWN0aW9uLnR5cGUgKSB7XG5cdFx0Y2FzZSAnYWRkJzpcblx0XHRcdHJldHVybiBbIC4uLnN0YXRlLCBhY3Rpb24uc2NyZWVuIF07XG5cdFx0Y2FzZSAncmVtb3ZlJzpcblx0XHRcdHJldHVybiBzdGF0ZS5maWx0ZXIoICggczogU2NyZWVuICkgPT4gcy5pZCAhPT0gYWN0aW9uLnNjcmVlbi5pZCApO1xuXHR9XG5cblx0cmV0dXJuIHN0YXRlO1xufVxuXG5mdW5jdGlvbiBVbmNvbm5lY3RlZE5hdmlnYXRvclByb3ZpZGVyKFxuXHRwcm9wczogV29yZFByZXNzQ29tcG9uZW50UHJvcHM8IE5hdmlnYXRvclByb3ZpZGVyUHJvcHMsICdkaXYnID4sXG5cdGZvcndhcmRlZFJlZjogRm9yd2FyZGVkUmVmPCBhbnkgPlxuKSB7XG5cdGNvbnN0IHsgaW5pdGlhbFBhdGgsIGNoaWxkcmVuLCBjbGFzc05hbWUsIC4uLm90aGVyUHJvcHMgfSA9XG5cdFx0dXNlQ29udGV4dFN5c3RlbSggcHJvcHMsICdOYXZpZ2F0b3JQcm92aWRlcicgKTtcblxuXHRjb25zdCBbIGxvY2F0aW9uSGlzdG9yeSwgc2V0TG9jYXRpb25IaXN0b3J5IF0gPSB1c2VTdGF0ZTxcblx0XHROYXZpZ2F0b3JMb2NhdGlvbltdXG5cdD4oIFtcblx0XHR7XG5cdFx0XHRwYXRoOiBpbml0aWFsUGF0aCxcblx0XHR9LFxuXHRdICk7XG5cdGNvbnN0IGN1cnJlbnRMb2NhdGlvbkhpc3RvcnkgPSB1c2VSZWY8IE5hdmlnYXRvckxvY2F0aW9uW10gPiggW10gKTtcblx0Y29uc3QgWyBzY3JlZW5zLCBkaXNwYXRjaCBdID0gdXNlUmVkdWNlciggc2NyZWVuc1JlZHVjZXIsIFtdICk7XG5cdGNvbnN0IGN1cnJlbnRTY3JlZW5zID0gdXNlUmVmPCBTY3JlZW5bXSA+KCBbXSApO1xuXHR1c2VFZmZlY3QoICgpID0+IHtcblx0XHRjdXJyZW50U2NyZWVucy5jdXJyZW50ID0gc2NyZWVucztcblx0fSwgWyBzY3JlZW5zIF0gKTtcblx0dXNlRWZmZWN0KCAoKSA9PiB7XG5cdFx0Y3VycmVudExvY2F0aW9uSGlzdG9yeS5jdXJyZW50ID0gbG9jYXRpb25IaXN0b3J5O1xuXHR9LCBbIGxvY2F0aW9uSGlzdG9yeSBdICk7XG5cdGNvbnN0IGN1cnJlbnRNYXRjaCA9IHVzZVJlZjwgTWF0Y2hlZFBhdGggPigpO1xuXHRjb25zdCBtYXRjaGVkUGF0aCA9IHVzZU1lbW8oICgpID0+IHtcblx0XHRsZXQgY3VycmVudFBhdGg6IHN0cmluZyB8IHVuZGVmaW5lZDtcblx0XHRpZiAoXG5cdFx0XHRsb2NhdGlvbkhpc3RvcnkubGVuZ3RoID09PSAwIHx8XG5cdFx0XHQoIGN1cnJlbnRQYXRoID1cblx0XHRcdFx0bG9jYXRpb25IaXN0b3J5WyBsb2NhdGlvbkhpc3RvcnkubGVuZ3RoIC0gMSBdLnBhdGggKSA9PT1cblx0XHRcdFx0dW5kZWZpbmVkXG5cdFx0KSB7XG5cdFx0XHRjdXJyZW50TWF0Y2guY3VycmVudCA9IHVuZGVmaW5lZDtcblx0XHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdFx0fVxuXG5cdFx0Y29uc3QgcmVzb2x2ZVBhdGggPSAoIHBhdGg6IHN0cmluZyApID0+IHtcblx0XHRcdGNvbnN0IG5ld01hdGNoID0gcGF0dGVybk1hdGNoKCBwYXRoLCBzY3JlZW5zICk7XG5cblx0XHRcdC8vIElmIHRoZSBuZXcgbWF0Y2ggaXMgdGhlIHNhbWUgYXMgdGhlIGN1cnJlbnQgbWF0Y2gsXG5cdFx0XHQvLyByZXR1cm4gdGhlIHByZXZpb3VzIG9uZSBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucy5cblx0XHRcdGlmIChcblx0XHRcdFx0Y3VycmVudE1hdGNoLmN1cnJlbnQgJiZcblx0XHRcdFx0bmV3TWF0Y2ggJiZcblx0XHRcdFx0aXNTaGFsbG93RXF1YWwoXG5cdFx0XHRcdFx0bmV3TWF0Y2gucGFyYW1zLFxuXHRcdFx0XHRcdGN1cnJlbnRNYXRjaC5jdXJyZW50LnBhcmFtc1xuXHRcdFx0XHQpICYmXG5cdFx0XHRcdG5ld01hdGNoLmlkID09PSBjdXJyZW50TWF0Y2guY3VycmVudC5pZFxuXHRcdFx0KSB7XG5cdFx0XHRcdHJldHVybiBjdXJyZW50TWF0Y2guY3VycmVudDtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIG5ld01hdGNoO1xuXHRcdH07XG5cblx0XHRjb25zdCBuZXdNYXRjaCA9IHJlc29sdmVQYXRoKCBjdXJyZW50UGF0aCApO1xuXHRcdGN1cnJlbnRNYXRjaC5jdXJyZW50ID0gbmV3TWF0Y2g7XG5cdFx0cmV0dXJuIG5ld01hdGNoO1xuXHR9LCBbIHNjcmVlbnMsIGxvY2F0aW9uSGlzdG9yeSBdICk7XG5cblx0Y29uc3QgYWRkU2NyZWVuID0gdXNlQ2FsbGJhY2soXG5cdFx0KCBzY3JlZW46IFNjcmVlbiApID0+IGRpc3BhdGNoKCB7IHR5cGU6ICdhZGQnLCBzY3JlZW4gfSApLFxuXHRcdFtdXG5cdCk7XG5cblx0Y29uc3QgcmVtb3ZlU2NyZWVuID0gdXNlQ2FsbGJhY2soXG5cdFx0KCBzY3JlZW46IFNjcmVlbiApID0+IGRpc3BhdGNoKCB7IHR5cGU6ICdyZW1vdmUnLCBzY3JlZW4gfSApLFxuXHRcdFtdXG5cdCk7XG5cblx0Y29uc3QgZ29CYWNrOiBOYXZpZ2F0b3JDb250ZXh0VHlwZVsgJ2dvQmFjaycgXSA9IHVzZUNhbGxiYWNrKCAoKSA9PiB7XG5cdFx0c2V0TG9jYXRpb25IaXN0b3J5KCAoIHByZXZMb2NhdGlvbkhpc3RvcnkgKSA9PiB7XG5cdFx0XHRpZiAoIHByZXZMb2NhdGlvbkhpc3RvcnkubGVuZ3RoIDw9IDEgKSB7XG5cdFx0XHRcdHJldHVybiBwcmV2TG9jYXRpb25IaXN0b3J5O1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIFtcblx0XHRcdFx0Li4ucHJldkxvY2F0aW9uSGlzdG9yeS5zbGljZSggMCwgLTIgKSxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdC4uLnByZXZMb2NhdGlvbkhpc3RvcnlbIHByZXZMb2NhdGlvbkhpc3RvcnkubGVuZ3RoIC0gMiBdLFxuXHRcdFx0XHRcdGlzQmFjazogdHJ1ZSxcblx0XHRcdFx0XHRoYXNSZXN0b3JlZEZvY3VzOiBmYWxzZSxcblx0XHRcdFx0fSxcblx0XHRcdF07XG5cdFx0fSApO1xuXHR9LCBbXSApO1xuXG5cdGNvbnN0IGdvVG86IE5hdmlnYXRvckNvbnRleHRUeXBlWyAnZ29UbycgXSA9IHVzZUNhbGxiYWNrKFxuXHRcdCggcGF0aCwgb3B0aW9ucyA9IHt9ICkgPT4ge1xuXHRcdFx0Y29uc3Qge1xuXHRcdFx0XHRmb2N1c1RhcmdldFNlbGVjdG9yLFxuXHRcdFx0XHRpc0JhY2sgPSBmYWxzZSxcblx0XHRcdFx0c2tpcEZvY3VzID0gZmFsc2UsXG5cdFx0XHRcdHJlcGxhY2UgPSBmYWxzZSxcblx0XHRcdFx0Li4ucmVzdE9wdGlvbnNcblx0XHRcdH0gPSBvcHRpb25zO1xuXG5cdFx0XHRjb25zdCBpc05hdmlnYXRpbmdUb1ByZXZpb3VzUGF0aCA9XG5cdFx0XHRcdGlzQmFjayAmJlxuXHRcdFx0XHRjdXJyZW50TG9jYXRpb25IaXN0b3J5LmN1cnJlbnQubGVuZ3RoID4gMSAmJlxuXHRcdFx0XHRjdXJyZW50TG9jYXRpb25IaXN0b3J5LmN1cnJlbnRbXG5cdFx0XHRcdFx0Y3VycmVudExvY2F0aW9uSGlzdG9yeS5jdXJyZW50Lmxlbmd0aCAtIDJcblx0XHRcdFx0XS5wYXRoID09PSBwYXRoO1xuXG5cdFx0XHRpZiAoIGlzTmF2aWdhdGluZ1RvUHJldmlvdXNQYXRoICkge1xuXHRcdFx0XHRnb0JhY2soKTtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXG5cdFx0XHRzZXRMb2NhdGlvbkhpc3RvcnkoICggcHJldkxvY2F0aW9uSGlzdG9yeSApID0+IHtcblx0XHRcdFx0Y29uc3QgbmV3TG9jYXRpb24gPSB7XG5cdFx0XHRcdFx0Li4ucmVzdE9wdGlvbnMsXG5cdFx0XHRcdFx0cGF0aCxcblx0XHRcdFx0XHRpc0JhY2ssXG5cdFx0XHRcdFx0aGFzUmVzdG9yZWRGb2N1czogZmFsc2UsXG5cdFx0XHRcdFx0c2tpcEZvY3VzLFxuXHRcdFx0XHR9O1xuXG5cdFx0XHRcdGlmICggcHJldkxvY2F0aW9uSGlzdG9yeS5sZW5ndGggPT09IDAgKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHJlcGxhY2UgPyBbXSA6IFsgbmV3TG9jYXRpb24gXTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGNvbnN0IG5ld0xvY2F0aW9uSGlzdG9yeSA9IHByZXZMb2NhdGlvbkhpc3Rvcnkuc2xpY2UoXG5cdFx0XHRcdFx0cHJldkxvY2F0aW9uSGlzdG9yeS5sZW5ndGggPiBNQVhfSElTVE9SWV9MRU5HVEggLSAxID8gMSA6IDAsXG5cdFx0XHRcdFx0LTFcblx0XHRcdFx0KTtcblxuXHRcdFx0XHRpZiAoICEgcmVwbGFjZSApIHtcblx0XHRcdFx0XHRuZXdMb2NhdGlvbkhpc3RvcnkucHVzaChcblx0XHRcdFx0XHRcdC8vIEFzc2lnbiBgZm9jdXNUYXJnZXRTZWxlY3RvcmAgdG8gdGhlIHByZXZpb3VzIGxvY2F0aW9uIGluIGhpc3Rvcnlcblx0XHRcdFx0XHRcdC8vICh0aGUgb25lIHdlIGp1c3QgbmF2aWdhdGVkIGZyb20pLlxuXHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHQuLi5wcmV2TG9jYXRpb25IaXN0b3J5W1xuXHRcdFx0XHRcdFx0XHRcdHByZXZMb2NhdGlvbkhpc3RvcnkubGVuZ3RoIC0gMVxuXHRcdFx0XHRcdFx0XHRdLFxuXHRcdFx0XHRcdFx0XHRmb2N1c1RhcmdldFNlbGVjdG9yLFxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRuZXdMb2NhdGlvbkhpc3RvcnkucHVzaCggbmV3TG9jYXRpb24gKTtcblxuXHRcdFx0XHRyZXR1cm4gbmV3TG9jYXRpb25IaXN0b3J5O1xuXHRcdFx0fSApO1xuXHRcdH0sXG5cdFx0WyBnb0JhY2sgXVxuXHQpO1xuXG5cdGNvbnN0IGdvVG9QYXJlbnQ6IE5hdmlnYXRvckNvbnRleHRUeXBlWyAnZ29Ub1BhcmVudCcgXSA9IHVzZUNhbGxiYWNrKFxuXHRcdCggb3B0aW9ucyA9IHt9ICkgPT4ge1xuXHRcdFx0Y29uc3QgY3VycmVudFBhdGggPVxuXHRcdFx0XHRjdXJyZW50TG9jYXRpb25IaXN0b3J5LmN1cnJlbnRbXG5cdFx0XHRcdFx0Y3VycmVudExvY2F0aW9uSGlzdG9yeS5jdXJyZW50Lmxlbmd0aCAtIDFcblx0XHRcdFx0XS5wYXRoO1xuXHRcdFx0aWYgKCBjdXJyZW50UGF0aCA9PT0gdW5kZWZpbmVkICkge1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0XHRjb25zdCBwYXJlbnRQYXRoID0gZmluZFBhcmVudChcblx0XHRcdFx0Y3VycmVudFBhdGgsXG5cdFx0XHRcdGN1cnJlbnRTY3JlZW5zLmN1cnJlbnRcblx0XHRcdCk7XG5cdFx0XHRpZiAoIHBhcmVudFBhdGggPT09IHVuZGVmaW5lZCApIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0Z29UbyggcGFyZW50UGF0aCwgeyAuLi5vcHRpb25zLCBpc0JhY2s6IHRydWUgfSApO1xuXHRcdH0sXG5cdFx0WyBnb1RvIF1cblx0KTtcblxuXHRjb25zdCBuYXZpZ2F0b3JDb250ZXh0VmFsdWU6IE5hdmlnYXRvckNvbnRleHRUeXBlID0gdXNlTWVtbyhcblx0XHQoKSA9PiAoIHtcblx0XHRcdGxvY2F0aW9uOiB7XG5cdFx0XHRcdC4uLmxvY2F0aW9uSGlzdG9yeVsgbG9jYXRpb25IaXN0b3J5Lmxlbmd0aCAtIDEgXSxcblx0XHRcdFx0aXNJbml0aWFsOiBsb2NhdGlvbkhpc3RvcnkubGVuZ3RoID09PSAxLFxuXHRcdFx0fSxcblx0XHRcdHBhcmFtczogbWF0Y2hlZFBhdGggPyBtYXRjaGVkUGF0aC5wYXJhbXMgOiB7fSxcblx0XHRcdG1hdGNoOiBtYXRjaGVkUGF0aCA/IG1hdGNoZWRQYXRoLmlkIDogdW5kZWZpbmVkLFxuXHRcdFx0Z29Ubyxcblx0XHRcdGdvQmFjayxcblx0XHRcdGdvVG9QYXJlbnQsXG5cdFx0XHRhZGRTY3JlZW4sXG5cdFx0XHRyZW1vdmVTY3JlZW4sXG5cdFx0fSApLFxuXHRcdFtcblx0XHRcdGxvY2F0aW9uSGlzdG9yeSxcblx0XHRcdG1hdGNoZWRQYXRoLFxuXHRcdFx0Z29Ubyxcblx0XHRcdGdvQmFjayxcblx0XHRcdGdvVG9QYXJlbnQsXG5cdFx0XHRhZGRTY3JlZW4sXG5cdFx0XHRyZW1vdmVTY3JlZW4sXG5cdFx0XVxuXHQpO1xuXG5cdGNvbnN0IGN4ID0gdXNlQ3goKTtcblx0Y29uc3QgY2xhc3NlcyA9IHVzZU1lbW8oXG5cdFx0Ly8gUHJldmVudHMgaG9yaXpvbnRhbCBvdmVyZmxvdyB3aGlsZSBhbmltYXRpbmcgc2NyZWVuIHRyYW5zaXRpb25zLlxuXHRcdCgpID0+IGN4KCBjc3MoIHsgb3ZlcmZsb3dYOiAnaGlkZGVuJyB9ICksIGNsYXNzTmFtZSApLFxuXHRcdFsgY2xhc3NOYW1lLCBjeCBdXG5cdCk7XG5cblx0cmV0dXJuIChcblx0XHQ8VmlldyByZWY9eyBmb3J3YXJkZWRSZWYgfSBjbGFzc05hbWU9eyBjbGFzc2VzIH0geyAuLi5vdGhlclByb3BzIH0+XG5cdFx0XHQ8TmF2aWdhdG9yQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17IG5hdmlnYXRvckNvbnRleHRWYWx1ZSB9PlxuXHRcdFx0XHR7IGNoaWxkcmVuIH1cblx0XHRcdDwvTmF2aWdhdG9yQ29udGV4dC5Qcm92aWRlcj5cblx0XHQ8L1ZpZXc+XG5cdCk7XG59XG5cbi8qKlxuICogVGhlIGBOYXZpZ2F0b3JQcm92aWRlcmAgY29tcG9uZW50IGFsbG93cyByZW5kZXJpbmcgbmVzdGVkIHZpZXdzL3BhbmVscy9tZW51c1xuICogKHZpYSB0aGUgYE5hdmlnYXRvclNjcmVlbmAgY29tcG9uZW50IGFuZCBuYXZpZ2F0ZSBiZXR3ZWVuIHRoZXNlIGRpZmZlcmVudFxuICogdmlldyAodmlhIHRoZSBgTmF2aWdhdG9yQnV0dG9uYCBhbmQgYE5hdmlnYXRvckJhY2tCdXR0b25gIGNvbXBvbmVudHMgb3IgdGhlXG4gKiBgdXNlTmF2aWdhdG9yYCBob29rKS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBganN4XG4gKiBpbXBvcnQge1xuICogICBfX2V4cGVyaW1lbnRhbE5hdmlnYXRvclByb3ZpZGVyIGFzIE5hdmlnYXRvclByb3ZpZGVyLFxuICogICBfX2V4cGVyaW1lbnRhbE5hdmlnYXRvclNjcmVlbiBhcyBOYXZpZ2F0b3JTY3JlZW4sXG4gKiAgIF9fZXhwZXJpbWVudGFsTmF2aWdhdG9yQnV0dG9uIGFzIE5hdmlnYXRvckJ1dHRvbixcbiAqICAgX19leHBlcmltZW50YWxOYXZpZ2F0b3JCYWNrQnV0dG9uIGFzIE5hdmlnYXRvckJhY2tCdXR0b24sXG4gKiB9IGZyb20gJ0B3b3JkcHJlc3MvY29tcG9uZW50cyc7XG4gKlxuICogY29uc3QgTXlOYXZpZ2F0aW9uID0gKCkgPT4gKFxuICogICA8TmF2aWdhdG9yUHJvdmlkZXIgaW5pdGlhbFBhdGg9XCIvXCI+XG4gKiAgICAgPE5hdmlnYXRvclNjcmVlbiBwYXRoPVwiL1wiPlxuICogICAgICAgPHA+VGhpcyBpcyB0aGUgaG9tZSBzY3JlZW4uPC9wPlxuICogICAgICAgIDxOYXZpZ2F0b3JCdXR0b24gcGF0aD1cIi9jaGlsZFwiPlxuICogICAgICAgICAgTmF2aWdhdGUgdG8gY2hpbGQgc2NyZWVuLlxuICogICAgICAgPC9OYXZpZ2F0b3JCdXR0b24+XG4gKiAgICAgPC9OYXZpZ2F0b3JTY3JlZW4+XG4gKlxuICogICAgIDxOYXZpZ2F0b3JTY3JlZW4gcGF0aD1cIi9jaGlsZFwiPlxuICogICAgICAgPHA+VGhpcyBpcyB0aGUgY2hpbGQgc2NyZWVuLjwvcD5cbiAqICAgICAgIDxOYXZpZ2F0b3JCYWNrQnV0dG9uPlxuICogICAgICAgICBHbyBiYWNrXG4gKiAgICAgICA8L05hdmlnYXRvckJhY2tCdXR0b24+XG4gKiAgICAgPC9OYXZpZ2F0b3JTY3JlZW4+XG4gKiAgIDwvTmF2aWdhdG9yUHJvdmlkZXI+XG4gKiApO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCBOYXZpZ2F0b3JQcm92aWRlciA9IGNvbnRleHRDb25uZWN0KFxuXHRVbmNvbm5lY3RlZE5hdmlnYXRvclByb3ZpZGVyLFxuXHQnTmF2aWdhdG9yUHJvdmlkZXInXG4pO1xuXG5leHBvcnQgZGVmYXVsdCBOYXZpZ2F0b3JQcm92aWRlcjtcbiJdfQ== */",
33
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvbmF2aWdhdG9yL25hdmlnYXRvci1wcm92aWRlci9jb21wb25lbnQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJQWSIsImZpbGUiOiJAd29yZHByZXNzL2NvbXBvbmVudHMvc3JjL25hdmlnYXRvci9uYXZpZ2F0b3ItcHJvdmlkZXIvY29tcG9uZW50LnRzeCIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB0eXBlIHsgRm9yd2FyZGVkUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuXG4vKipcbiAqIFdvcmRQcmVzcyBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0IHtcblx0dXNlTWVtbyxcblx0dXNlU3RhdGUsXG5cdHVzZUNhbGxiYWNrLFxuXHR1c2VSZWR1Y2VyLFxuXHR1c2VSZWYsXG5cdHVzZUVmZmVjdCxcbn0gZnJvbSAnQHdvcmRwcmVzcy9lbGVtZW50JztcbmltcG9ydCBpc1NoYWxsb3dFcXVhbCBmcm9tICdAd29yZHByZXNzL2lzLXNoYWxsb3ctZXF1YWwnO1xuXG4vKipcbiAqIEludGVybmFsIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgdHlwZSB7IFdvcmRQcmVzc0NvbXBvbmVudFByb3BzIH0gZnJvbSAnLi4vLi4vdWkvY29udGV4dCc7XG5pbXBvcnQgeyBjb250ZXh0Q29ubmVjdCwgdXNlQ29udGV4dFN5c3RlbSB9IGZyb20gJy4uLy4uL3VpL2NvbnRleHQnO1xuaW1wb3J0IHsgdXNlQ3ggfSBmcm9tICcuLi8uLi91dGlscy9ob29rcy91c2UtY3gnO1xuaW1wb3J0IHsgVmlldyB9IGZyb20gJy4uLy4uL3ZpZXcnO1xuaW1wb3J0IHsgTmF2aWdhdG9yQ29udGV4dCB9IGZyb20gJy4uL2NvbnRleHQnO1xuaW1wb3J0IHR5cGUge1xuXHROYXZpZ2F0b3JQcm92aWRlclByb3BzLFxuXHROYXZpZ2F0b3JMb2NhdGlvbixcblx0TmF2aWdhdG9yQ29udGV4dCBhcyBOYXZpZ2F0b3JDb250ZXh0VHlwZSxcblx0U2NyZWVuLFxufSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBwYXR0ZXJuTWF0Y2gsIGZpbmRQYXJlbnQgfSBmcm9tICcuLi91dGlscy9yb3V0ZXInO1xuXG50eXBlIE1hdGNoZWRQYXRoID0gUmV0dXJuVHlwZTwgdHlwZW9mIHBhdHRlcm5NYXRjaCA+O1xudHlwZSBTY3JlZW5BY3Rpb24gPSB7IHR5cGU6IHN0cmluZzsgc2NyZWVuOiBTY3JlZW4gfTtcblxuY29uc3QgTUFYX0hJU1RPUllfTEVOR1RIID0gNTA7XG5cbmZ1bmN0aW9uIHNjcmVlbnNSZWR1Y2VyKFxuXHRzdGF0ZTogU2NyZWVuW10gPSBbXSxcblx0YWN0aW9uOiBTY3JlZW5BY3Rpb25cbik6IFNjcmVlbltdIHtcblx0c3dpdGNoICggYWN0aW9uLnR5cGUgKSB7XG5cdFx0Y2FzZSAnYWRkJzpcblx0XHRcdHJldHVybiBbIC4uLnN0YXRlLCBhY3Rpb24uc2NyZWVuIF07XG5cdFx0Y2FzZSAncmVtb3ZlJzpcblx0XHRcdHJldHVybiBzdGF0ZS5maWx0ZXIoICggczogU2NyZWVuICkgPT4gcy5pZCAhPT0gYWN0aW9uLnNjcmVlbi5pZCApO1xuXHR9XG5cblx0cmV0dXJuIHN0YXRlO1xufVxuXG5mdW5jdGlvbiBVbmNvbm5lY3RlZE5hdmlnYXRvclByb3ZpZGVyKFxuXHRwcm9wczogV29yZFByZXNzQ29tcG9uZW50UHJvcHM8IE5hdmlnYXRvclByb3ZpZGVyUHJvcHMsICdkaXYnID4sXG5cdGZvcndhcmRlZFJlZjogRm9yd2FyZGVkUmVmPCBhbnkgPlxuKSB7XG5cdGNvbnN0IHsgaW5pdGlhbFBhdGgsIGNoaWxkcmVuLCBjbGFzc05hbWUsIC4uLm90aGVyUHJvcHMgfSA9XG5cdFx0dXNlQ29udGV4dFN5c3RlbSggcHJvcHMsICdOYXZpZ2F0b3JQcm92aWRlcicgKTtcblxuXHRjb25zdCBbIGxvY2F0aW9uSGlzdG9yeSwgc2V0TG9jYXRpb25IaXN0b3J5IF0gPSB1c2VTdGF0ZTxcblx0XHROYXZpZ2F0b3JMb2NhdGlvbltdXG5cdD4oIFtcblx0XHR7XG5cdFx0XHRwYXRoOiBpbml0aWFsUGF0aCxcblx0XHR9LFxuXHRdICk7XG5cdGNvbnN0IGN1cnJlbnRMb2NhdGlvbkhpc3RvcnkgPSB1c2VSZWY8IE5hdmlnYXRvckxvY2F0aW9uW10gPiggW10gKTtcblx0Y29uc3QgWyBzY3JlZW5zLCBkaXNwYXRjaCBdID0gdXNlUmVkdWNlciggc2NyZWVuc1JlZHVjZXIsIFtdICk7XG5cdGNvbnN0IGN1cnJlbnRTY3JlZW5zID0gdXNlUmVmPCBTY3JlZW5bXSA+KCBbXSApO1xuXHR1c2VFZmZlY3QoICgpID0+IHtcblx0XHRjdXJyZW50U2NyZWVucy5jdXJyZW50ID0gc2NyZWVucztcblx0fSwgWyBzY3JlZW5zIF0gKTtcblx0dXNlRWZmZWN0KCAoKSA9PiB7XG5cdFx0Y3VycmVudExvY2F0aW9uSGlzdG9yeS5jdXJyZW50ID0gbG9jYXRpb25IaXN0b3J5O1xuXHR9LCBbIGxvY2F0aW9uSGlzdG9yeSBdICk7XG5cdGNvbnN0IGN1cnJlbnRNYXRjaCA9IHVzZVJlZjwgTWF0Y2hlZFBhdGggPigpO1xuXHRjb25zdCBtYXRjaGVkUGF0aCA9IHVzZU1lbW8oICgpID0+IHtcblx0XHRsZXQgY3VycmVudFBhdGg6IHN0cmluZyB8IHVuZGVmaW5lZDtcblx0XHRpZiAoXG5cdFx0XHRsb2NhdGlvbkhpc3RvcnkubGVuZ3RoID09PSAwIHx8XG5cdFx0XHQoIGN1cnJlbnRQYXRoID1cblx0XHRcdFx0bG9jYXRpb25IaXN0b3J5WyBsb2NhdGlvbkhpc3RvcnkubGVuZ3RoIC0gMSBdLnBhdGggKSA9PT1cblx0XHRcdFx0dW5kZWZpbmVkXG5cdFx0KSB7XG5cdFx0XHRjdXJyZW50TWF0Y2guY3VycmVudCA9IHVuZGVmaW5lZDtcblx0XHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdFx0fVxuXG5cdFx0Y29uc3QgcmVzb2x2ZVBhdGggPSAoIHBhdGg6IHN0cmluZyApID0+IHtcblx0XHRcdGNvbnN0IG5ld01hdGNoID0gcGF0dGVybk1hdGNoKCBwYXRoLCBzY3JlZW5zICk7XG5cblx0XHRcdC8vIElmIHRoZSBuZXcgbWF0Y2ggaXMgdGhlIHNhbWUgYXMgdGhlIGN1cnJlbnQgbWF0Y2gsXG5cdFx0XHQvLyByZXR1cm4gdGhlIHByZXZpb3VzIG9uZSBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucy5cblx0XHRcdGlmIChcblx0XHRcdFx0Y3VycmVudE1hdGNoLmN1cnJlbnQgJiZcblx0XHRcdFx0bmV3TWF0Y2ggJiZcblx0XHRcdFx0aXNTaGFsbG93RXF1YWwoXG5cdFx0XHRcdFx0bmV3TWF0Y2gucGFyYW1zLFxuXHRcdFx0XHRcdGN1cnJlbnRNYXRjaC5jdXJyZW50LnBhcmFtc1xuXHRcdFx0XHQpICYmXG5cdFx0XHRcdG5ld01hdGNoLmlkID09PSBjdXJyZW50TWF0Y2guY3VycmVudC5pZFxuXHRcdFx0KSB7XG5cdFx0XHRcdHJldHVybiBjdXJyZW50TWF0Y2guY3VycmVudDtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIG5ld01hdGNoO1xuXHRcdH07XG5cblx0XHRjb25zdCBuZXdNYXRjaCA9IHJlc29sdmVQYXRoKCBjdXJyZW50UGF0aCApO1xuXHRcdGN1cnJlbnRNYXRjaC5jdXJyZW50ID0gbmV3TWF0Y2g7XG5cdFx0cmV0dXJuIG5ld01hdGNoO1xuXHR9LCBbIHNjcmVlbnMsIGxvY2F0aW9uSGlzdG9yeSBdICk7XG5cblx0Y29uc3QgYWRkU2NyZWVuID0gdXNlQ2FsbGJhY2soXG5cdFx0KCBzY3JlZW46IFNjcmVlbiApID0+IGRpc3BhdGNoKCB7IHR5cGU6ICdhZGQnLCBzY3JlZW4gfSApLFxuXHRcdFtdXG5cdCk7XG5cblx0Y29uc3QgcmVtb3ZlU2NyZWVuID0gdXNlQ2FsbGJhY2soXG5cdFx0KCBzY3JlZW46IFNjcmVlbiApID0+IGRpc3BhdGNoKCB7IHR5cGU6ICdyZW1vdmUnLCBzY3JlZW4gfSApLFxuXHRcdFtdXG5cdCk7XG5cblx0Y29uc3QgZ29CYWNrOiBOYXZpZ2F0b3JDb250ZXh0VHlwZVsgJ2dvQmFjaycgXSA9IHVzZUNhbGxiYWNrKCAoKSA9PiB7XG5cdFx0c2V0TG9jYXRpb25IaXN0b3J5KCAoIHByZXZMb2NhdGlvbkhpc3RvcnkgKSA9PiB7XG5cdFx0XHRpZiAoIHByZXZMb2NhdGlvbkhpc3RvcnkubGVuZ3RoIDw9IDEgKSB7XG5cdFx0XHRcdHJldHVybiBwcmV2TG9jYXRpb25IaXN0b3J5O1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIFtcblx0XHRcdFx0Li4ucHJldkxvY2F0aW9uSGlzdG9yeS5zbGljZSggMCwgLTIgKSxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdC4uLnByZXZMb2NhdGlvbkhpc3RvcnlbIHByZXZMb2NhdGlvbkhpc3RvcnkubGVuZ3RoIC0gMiBdLFxuXHRcdFx0XHRcdGlzQmFjazogdHJ1ZSxcblx0XHRcdFx0XHRoYXNSZXN0b3JlZEZvY3VzOiBmYWxzZSxcblx0XHRcdFx0fSxcblx0XHRcdF07XG5cdFx0fSApO1xuXHR9LCBbXSApO1xuXG5cdGNvbnN0IGdvVG86IE5hdmlnYXRvckNvbnRleHRUeXBlWyAnZ29UbycgXSA9IHVzZUNhbGxiYWNrKFxuXHRcdCggcGF0aCwgb3B0aW9ucyA9IHt9ICkgPT4ge1xuXHRcdFx0Y29uc3Qge1xuXHRcdFx0XHRmb2N1c1RhcmdldFNlbGVjdG9yLFxuXHRcdFx0XHRpc0JhY2sgPSBmYWxzZSxcblx0XHRcdFx0c2tpcEZvY3VzID0gZmFsc2UsXG5cdFx0XHRcdHJlcGxhY2UgPSBmYWxzZSxcblx0XHRcdFx0Li4ucmVzdE9wdGlvbnNcblx0XHRcdH0gPSBvcHRpb25zO1xuXG5cdFx0XHRjb25zdCBpc05hdmlnYXRpbmdUb1ByZXZpb3VzUGF0aCA9XG5cdFx0XHRcdGlzQmFjayAmJlxuXHRcdFx0XHRjdXJyZW50TG9jYXRpb25IaXN0b3J5LmN1cnJlbnQubGVuZ3RoID4gMSAmJlxuXHRcdFx0XHRjdXJyZW50TG9jYXRpb25IaXN0b3J5LmN1cnJlbnRbXG5cdFx0XHRcdFx0Y3VycmVudExvY2F0aW9uSGlzdG9yeS5jdXJyZW50Lmxlbmd0aCAtIDJcblx0XHRcdFx0XS5wYXRoID09PSBwYXRoO1xuXG5cdFx0XHRpZiAoIGlzTmF2aWdhdGluZ1RvUHJldmlvdXNQYXRoICkge1xuXHRcdFx0XHRnb0JhY2soKTtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXG5cdFx0XHRzZXRMb2NhdGlvbkhpc3RvcnkoICggcHJldkxvY2F0aW9uSGlzdG9yeSApID0+IHtcblx0XHRcdFx0Y29uc3QgbmV3TG9jYXRpb24gPSB7XG5cdFx0XHRcdFx0Li4ucmVzdE9wdGlvbnMsXG5cdFx0XHRcdFx0cGF0aCxcblx0XHRcdFx0XHRpc0JhY2ssXG5cdFx0XHRcdFx0aGFzUmVzdG9yZWRGb2N1czogZmFsc2UsXG5cdFx0XHRcdFx0c2tpcEZvY3VzLFxuXHRcdFx0XHR9O1xuXG5cdFx0XHRcdGlmICggcHJldkxvY2F0aW9uSGlzdG9yeS5sZW5ndGggPT09IDAgKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHJlcGxhY2UgPyBbXSA6IFsgbmV3TG9jYXRpb24gXTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGNvbnN0IG5ld0xvY2F0aW9uSGlzdG9yeSA9IHByZXZMb2NhdGlvbkhpc3Rvcnkuc2xpY2UoXG5cdFx0XHRcdFx0cHJldkxvY2F0aW9uSGlzdG9yeS5sZW5ndGggPiBNQVhfSElTVE9SWV9MRU5HVEggLSAxID8gMSA6IDAsXG5cdFx0XHRcdFx0LTFcblx0XHRcdFx0KTtcblxuXHRcdFx0XHRpZiAoICEgcmVwbGFjZSApIHtcblx0XHRcdFx0XHRuZXdMb2NhdGlvbkhpc3RvcnkucHVzaChcblx0XHRcdFx0XHRcdC8vIEFzc2lnbiBgZm9jdXNUYXJnZXRTZWxlY3RvcmAgdG8gdGhlIHByZXZpb3VzIGxvY2F0aW9uIGluIGhpc3Rvcnlcblx0XHRcdFx0XHRcdC8vICh0aGUgb25lIHdlIGp1c3QgbmF2aWdhdGVkIGZyb20pLlxuXHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHQuLi5wcmV2TG9jYXRpb25IaXN0b3J5W1xuXHRcdFx0XHRcdFx0XHRcdHByZXZMb2NhdGlvbkhpc3RvcnkubGVuZ3RoIC0gMVxuXHRcdFx0XHRcdFx0XHRdLFxuXHRcdFx0XHRcdFx0XHRmb2N1c1RhcmdldFNlbGVjdG9yLFxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRuZXdMb2NhdGlvbkhpc3RvcnkucHVzaCggbmV3TG9jYXRpb24gKTtcblxuXHRcdFx0XHRyZXR1cm4gbmV3TG9jYXRpb25IaXN0b3J5O1xuXHRcdFx0fSApO1xuXHRcdH0sXG5cdFx0WyBnb0JhY2sgXVxuXHQpO1xuXG5cdGNvbnN0IGdvVG9QYXJlbnQ6IE5hdmlnYXRvckNvbnRleHRUeXBlWyAnZ29Ub1BhcmVudCcgXSA9IHVzZUNhbGxiYWNrKFxuXHRcdCggb3B0aW9ucyA9IHt9ICkgPT4ge1xuXHRcdFx0Y29uc3QgY3VycmVudFBhdGggPVxuXHRcdFx0XHRjdXJyZW50TG9jYXRpb25IaXN0b3J5LmN1cnJlbnRbXG5cdFx0XHRcdFx0Y3VycmVudExvY2F0aW9uSGlzdG9yeS5jdXJyZW50Lmxlbmd0aCAtIDFcblx0XHRcdFx0XS5wYXRoO1xuXHRcdFx0aWYgKCBjdXJyZW50UGF0aCA9PT0gdW5kZWZpbmVkICkge1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0XHRjb25zdCBwYXJlbnRQYXRoID0gZmluZFBhcmVudChcblx0XHRcdFx0Y3VycmVudFBhdGgsXG5cdFx0XHRcdGN1cnJlbnRTY3JlZW5zLmN1cnJlbnRcblx0XHRcdCk7XG5cdFx0XHRpZiAoIHBhcmVudFBhdGggPT09IHVuZGVmaW5lZCApIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0Z29UbyggcGFyZW50UGF0aCwgeyAuLi5vcHRpb25zLCBpc0JhY2s6IHRydWUgfSApO1xuXHRcdH0sXG5cdFx0WyBnb1RvIF1cblx0KTtcblxuXHRjb25zdCBuYXZpZ2F0b3JDb250ZXh0VmFsdWU6IE5hdmlnYXRvckNvbnRleHRUeXBlID0gdXNlTWVtbyhcblx0XHQoKSA9PiAoIHtcblx0XHRcdGxvY2F0aW9uOiB7XG5cdFx0XHRcdC4uLmxvY2F0aW9uSGlzdG9yeVsgbG9jYXRpb25IaXN0b3J5Lmxlbmd0aCAtIDEgXSxcblx0XHRcdFx0aXNJbml0aWFsOiBsb2NhdGlvbkhpc3RvcnkubGVuZ3RoID09PSAxLFxuXHRcdFx0fSxcblx0XHRcdHBhcmFtczogbWF0Y2hlZFBhdGggPyBtYXRjaGVkUGF0aC5wYXJhbXMgOiB7fSxcblx0XHRcdG1hdGNoOiBtYXRjaGVkUGF0aCA/IG1hdGNoZWRQYXRoLmlkIDogdW5kZWZpbmVkLFxuXHRcdFx0Z29Ubyxcblx0XHRcdGdvQmFjayxcblx0XHRcdGdvVG9QYXJlbnQsXG5cdFx0XHRhZGRTY3JlZW4sXG5cdFx0XHRyZW1vdmVTY3JlZW4sXG5cdFx0fSApLFxuXHRcdFtcblx0XHRcdGxvY2F0aW9uSGlzdG9yeSxcblx0XHRcdG1hdGNoZWRQYXRoLFxuXHRcdFx0Z29Ubyxcblx0XHRcdGdvQmFjayxcblx0XHRcdGdvVG9QYXJlbnQsXG5cdFx0XHRhZGRTY3JlZW4sXG5cdFx0XHRyZW1vdmVTY3JlZW4sXG5cdFx0XVxuXHQpO1xuXG5cdGNvbnN0IGN4ID0gdXNlQ3goKTtcblx0Y29uc3QgY2xhc3NlcyA9IHVzZU1lbW8oXG5cdFx0Ly8gUHJldmVudHMgaG9yaXpvbnRhbCBvdmVyZmxvdyB3aGlsZSBhbmltYXRpbmcgc2NyZWVuIHRyYW5zaXRpb25zLlxuXHRcdCgpID0+IGN4KCBjc3MoIHsgb3ZlcmZsb3dYOiAnaGlkZGVuJyB9ICksIGNsYXNzTmFtZSApLFxuXHRcdFsgY2xhc3NOYW1lLCBjeCBdXG5cdCk7XG5cblx0cmV0dXJuIChcblx0XHQ8VmlldyByZWY9eyBmb3J3YXJkZWRSZWYgfSBjbGFzc05hbWU9eyBjbGFzc2VzIH0geyAuLi5vdGhlclByb3BzIH0+XG5cdFx0XHQ8TmF2aWdhdG9yQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17IG5hdmlnYXRvckNvbnRleHRWYWx1ZSB9PlxuXHRcdFx0XHR7IGNoaWxkcmVuIH1cblx0XHRcdDwvTmF2aWdhdG9yQ29udGV4dC5Qcm92aWRlcj5cblx0XHQ8L1ZpZXc+XG5cdCk7XG59XG5cbi8qKlxuICogVGhlIGBOYXZpZ2F0b3JQcm92aWRlcmAgY29tcG9uZW50IGFsbG93cyByZW5kZXJpbmcgbmVzdGVkIHZpZXdzL3BhbmVscy9tZW51c1xuICogKHZpYSB0aGUgYE5hdmlnYXRvclNjcmVlbmAgY29tcG9uZW50IGFuZCBuYXZpZ2F0ZSBiZXR3ZWVuIHRoZXNlIGRpZmZlcmVudFxuICogdmlldyAodmlhIHRoZSBgTmF2aWdhdG9yQnV0dG9uYCBhbmQgYE5hdmlnYXRvckJhY2tCdXR0b25gIGNvbXBvbmVudHMgb3IgdGhlXG4gKiBgdXNlTmF2aWdhdG9yYCBob29rKS5cbiAqXG4gKiBgYGBqc3hcbiAqIGltcG9ydCB7XG4gKiAgIF9fZXhwZXJpbWVudGFsTmF2aWdhdG9yUHJvdmlkZXIgYXMgTmF2aWdhdG9yUHJvdmlkZXIsXG4gKiAgIF9fZXhwZXJpbWVudGFsTmF2aWdhdG9yU2NyZWVuIGFzIE5hdmlnYXRvclNjcmVlbixcbiAqICAgX19leHBlcmltZW50YWxOYXZpZ2F0b3JCdXR0b24gYXMgTmF2aWdhdG9yQnV0dG9uLFxuICogICBfX2V4cGVyaW1lbnRhbE5hdmlnYXRvckJhY2tCdXR0b24gYXMgTmF2aWdhdG9yQmFja0J1dHRvbixcbiAqIH0gZnJvbSAnQHdvcmRwcmVzcy9jb21wb25lbnRzJztcbiAqXG4gKiBjb25zdCBNeU5hdmlnYXRpb24gPSAoKSA9PiAoXG4gKiAgIDxOYXZpZ2F0b3JQcm92aWRlciBpbml0aWFsUGF0aD1cIi9cIj5cbiAqICAgICA8TmF2aWdhdG9yU2NyZWVuIHBhdGg9XCIvXCI+XG4gKiAgICAgICA8cD5UaGlzIGlzIHRoZSBob21lIHNjcmVlbi48L3A+XG4gKiAgICAgICAgPE5hdmlnYXRvckJ1dHRvbiBwYXRoPVwiL2NoaWxkXCI+XG4gKiAgICAgICAgICBOYXZpZ2F0ZSB0byBjaGlsZCBzY3JlZW4uXG4gKiAgICAgICA8L05hdmlnYXRvckJ1dHRvbj5cbiAqICAgICA8L05hdmlnYXRvclNjcmVlbj5cbiAqXG4gKiAgICAgPE5hdmlnYXRvclNjcmVlbiBwYXRoPVwiL2NoaWxkXCI+XG4gKiAgICAgICA8cD5UaGlzIGlzIHRoZSBjaGlsZCBzY3JlZW4uPC9wPlxuICogICAgICAgPE5hdmlnYXRvckJhY2tCdXR0b24+XG4gKiAgICAgICAgIEdvIGJhY2tcbiAqICAgICAgIDwvTmF2aWdhdG9yQmFja0J1dHRvbj5cbiAqICAgICA8L05hdmlnYXRvclNjcmVlbj5cbiAqICAgPC9OYXZpZ2F0b3JQcm92aWRlcj5cbiAqICk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IE5hdmlnYXRvclByb3ZpZGVyID0gY29udGV4dENvbm5lY3QoXG5cdFVuY29ubmVjdGVkTmF2aWdhdG9yUHJvdmlkZXIsXG5cdCdOYXZpZ2F0b3JQcm92aWRlcidcbik7XG5cbmV4cG9ydCBkZWZhdWx0IE5hdmlnYXRvclByb3ZpZGVyO1xuIl19 */",
34
34
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
35
35
  };
36
36
  function UnconnectedNavigatorProvider(props, forwardedRef) {
@@ -177,7 +177,6 @@ function UnconnectedNavigatorProvider(props, forwardedRef) {
177
177
  * view (via the `NavigatorButton` and `NavigatorBackButton` components or the
178
178
  * `useNavigator` hook).
179
179
  *
180
- * @example
181
180
  * ```jsx
182
181
  * import {
183
182
  * __experimentalNavigatorProvider as NavigatorProvider,
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_react","_isShallowEqual","_interopRequireDefault","_context","_useCx","_view","_context2","_router","_EMOTION_STRINGIFIED_CSS_ERROR__","MAX_HISTORY_LENGTH","screensReducer","state","action","type","screen","filter","s","id","_ref","process","env","NODE_ENV","name","styles","map","toString","UnconnectedNavigatorProvider","props","forwardedRef","initialPath","children","className","otherProps","useContextSystem","locationHistory","setLocationHistory","useState","path","currentLocationHistory","useRef","screens","dispatch","useReducer","currentScreens","useEffect","current","currentMatch","matchedPath","useMemo","currentPath","length","undefined","resolvePath","newMatch","patternMatch","isShallowEqual","params","addScreen","useCallback","removeScreen","goBack","prevLocationHistory","slice","isBack","hasRestoredFocus","goTo","options","focusTargetSelector","skipFocus","replace","restOptions","isNavigatingToPreviousPath","newLocation","newLocationHistory","push","goToParent","parentPath","findParent","navigatorContextValue","location","isInitial","match","cx","useCx","classes","createElement","View","ref","NavigatorContext","Provider","value","NavigatorProvider","contextConnect","exports","_default","default"],"sources":["@wordpress/components/src/navigator/navigator-provider/component.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\nimport { css } from '@emotion/react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseMemo,\n\tuseState,\n\tuseCallback,\n\tuseReducer,\n\tuseRef,\n\tuseEffect,\n} from '@wordpress/element';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../../ui/context';\nimport { contextConnect, useContextSystem } from '../../ui/context';\nimport { useCx } from '../../utils/hooks/use-cx';\nimport { View } from '../../view';\nimport { NavigatorContext } from '../context';\nimport type {\n\tNavigatorProviderProps,\n\tNavigatorLocation,\n\tNavigatorContext as NavigatorContextType,\n\tScreen,\n} from '../types';\nimport { patternMatch, findParent } from '../utils/router';\n\ntype MatchedPath = ReturnType< typeof patternMatch >;\ntype ScreenAction = { type: string; screen: Screen };\n\nconst MAX_HISTORY_LENGTH = 50;\n\nfunction screensReducer(\n\tstate: Screen[] = [],\n\taction: ScreenAction\n): Screen[] {\n\tswitch ( action.type ) {\n\t\tcase 'add':\n\t\t\treturn [ ...state, action.screen ];\n\t\tcase 'remove':\n\t\t\treturn state.filter( ( s: Screen ) => s.id !== action.screen.id );\n\t}\n\n\treturn state;\n}\n\nfunction UnconnectedNavigatorProvider(\n\tprops: WordPressComponentProps< NavigatorProviderProps, 'div' >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst { initialPath, children, className, ...otherProps } =\n\t\tuseContextSystem( props, 'NavigatorProvider' );\n\n\tconst [ locationHistory, setLocationHistory ] = useState<\n\t\tNavigatorLocation[]\n\t>( [\n\t\t{\n\t\t\tpath: initialPath,\n\t\t},\n\t] );\n\tconst currentLocationHistory = useRef< NavigatorLocation[] >( [] );\n\tconst [ screens, dispatch ] = useReducer( screensReducer, [] );\n\tconst currentScreens = useRef< Screen[] >( [] );\n\tuseEffect( () => {\n\t\tcurrentScreens.current = screens;\n\t}, [ screens ] );\n\tuseEffect( () => {\n\t\tcurrentLocationHistory.current = locationHistory;\n\t}, [ locationHistory ] );\n\tconst currentMatch = useRef< MatchedPath >();\n\tconst matchedPath = useMemo( () => {\n\t\tlet currentPath: string | undefined;\n\t\tif (\n\t\t\tlocationHistory.length === 0 ||\n\t\t\t( currentPath =\n\t\t\t\tlocationHistory[ locationHistory.length - 1 ].path ) ===\n\t\t\t\tundefined\n\t\t) {\n\t\t\tcurrentMatch.current = undefined;\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst resolvePath = ( path: string ) => {\n\t\t\tconst newMatch = patternMatch( path, screens );\n\n\t\t\t// If the new match is the same as the current match,\n\t\t\t// return the previous one for performance reasons.\n\t\t\tif (\n\t\t\t\tcurrentMatch.current &&\n\t\t\t\tnewMatch &&\n\t\t\t\tisShallowEqual(\n\t\t\t\t\tnewMatch.params,\n\t\t\t\t\tcurrentMatch.current.params\n\t\t\t\t) &&\n\t\t\t\tnewMatch.id === currentMatch.current.id\n\t\t\t) {\n\t\t\t\treturn currentMatch.current;\n\t\t\t}\n\n\t\t\treturn newMatch;\n\t\t};\n\n\t\tconst newMatch = resolvePath( currentPath );\n\t\tcurrentMatch.current = newMatch;\n\t\treturn newMatch;\n\t}, [ screens, locationHistory ] );\n\n\tconst addScreen = useCallback(\n\t\t( screen: Screen ) => dispatch( { type: 'add', screen } ),\n\t\t[]\n\t);\n\n\tconst removeScreen = useCallback(\n\t\t( screen: Screen ) => dispatch( { type: 'remove', screen } ),\n\t\t[]\n\t);\n\n\tconst goBack: NavigatorContextType[ 'goBack' ] = useCallback( () => {\n\t\tsetLocationHistory( ( prevLocationHistory ) => {\n\t\t\tif ( prevLocationHistory.length <= 1 ) {\n\t\t\t\treturn prevLocationHistory;\n\t\t\t}\n\t\t\treturn [\n\t\t\t\t...prevLocationHistory.slice( 0, -2 ),\n\t\t\t\t{\n\t\t\t\t\t...prevLocationHistory[ prevLocationHistory.length - 2 ],\n\t\t\t\t\tisBack: true,\n\t\t\t\t\thasRestoredFocus: false,\n\t\t\t\t},\n\t\t\t];\n\t\t} );\n\t}, [] );\n\n\tconst goTo: NavigatorContextType[ 'goTo' ] = useCallback(\n\t\t( path, options = {} ) => {\n\t\t\tconst {\n\t\t\t\tfocusTargetSelector,\n\t\t\t\tisBack = false,\n\t\t\t\tskipFocus = false,\n\t\t\t\treplace = false,\n\t\t\t\t...restOptions\n\t\t\t} = options;\n\n\t\t\tconst isNavigatingToPreviousPath =\n\t\t\t\tisBack &&\n\t\t\t\tcurrentLocationHistory.current.length > 1 &&\n\t\t\t\tcurrentLocationHistory.current[\n\t\t\t\t\tcurrentLocationHistory.current.length - 2\n\t\t\t\t].path === path;\n\n\t\t\tif ( isNavigatingToPreviousPath ) {\n\t\t\t\tgoBack();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetLocationHistory( ( prevLocationHistory ) => {\n\t\t\t\tconst newLocation = {\n\t\t\t\t\t...restOptions,\n\t\t\t\t\tpath,\n\t\t\t\t\tisBack,\n\t\t\t\t\thasRestoredFocus: false,\n\t\t\t\t\tskipFocus,\n\t\t\t\t};\n\n\t\t\t\tif ( prevLocationHistory.length === 0 ) {\n\t\t\t\t\treturn replace ? [] : [ newLocation ];\n\t\t\t\t}\n\n\t\t\t\tconst newLocationHistory = prevLocationHistory.slice(\n\t\t\t\t\tprevLocationHistory.length > MAX_HISTORY_LENGTH - 1 ? 1 : 0,\n\t\t\t\t\t-1\n\t\t\t\t);\n\n\t\t\t\tif ( ! replace ) {\n\t\t\t\t\tnewLocationHistory.push(\n\t\t\t\t\t\t// Assign `focusTargetSelector` to the previous location in history\n\t\t\t\t\t\t// (the one we just navigated from).\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...prevLocationHistory[\n\t\t\t\t\t\t\t\tprevLocationHistory.length - 1\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tfocusTargetSelector,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tnewLocationHistory.push( newLocation );\n\n\t\t\t\treturn newLocationHistory;\n\t\t\t} );\n\t\t},\n\t\t[ goBack ]\n\t);\n\n\tconst goToParent: NavigatorContextType[ 'goToParent' ] = useCallback(\n\t\t( options = {} ) => {\n\t\t\tconst currentPath =\n\t\t\t\tcurrentLocationHistory.current[\n\t\t\t\t\tcurrentLocationHistory.current.length - 1\n\t\t\t\t].path;\n\t\t\tif ( currentPath === undefined ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst parentPath = findParent(\n\t\t\t\tcurrentPath,\n\t\t\t\tcurrentScreens.current\n\t\t\t);\n\t\t\tif ( parentPath === undefined ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tgoTo( parentPath, { ...options, isBack: true } );\n\t\t},\n\t\t[ goTo ]\n\t);\n\n\tconst navigatorContextValue: NavigatorContextType = useMemo(\n\t\t() => ( {\n\t\t\tlocation: {\n\t\t\t\t...locationHistory[ locationHistory.length - 1 ],\n\t\t\t\tisInitial: locationHistory.length === 1,\n\t\t\t},\n\t\t\tparams: matchedPath ? matchedPath.params : {},\n\t\t\tmatch: matchedPath ? matchedPath.id : undefined,\n\t\t\tgoTo,\n\t\t\tgoBack,\n\t\t\tgoToParent,\n\t\t\taddScreen,\n\t\t\tremoveScreen,\n\t\t} ),\n\t\t[\n\t\t\tlocationHistory,\n\t\t\tmatchedPath,\n\t\t\tgoTo,\n\t\t\tgoBack,\n\t\t\tgoToParent,\n\t\t\taddScreen,\n\t\t\tremoveScreen,\n\t\t]\n\t);\n\n\tconst cx = useCx();\n\tconst classes = useMemo(\n\t\t// Prevents horizontal overflow while animating screen transitions.\n\t\t() => cx( css( { overflowX: 'hidden' } ), className ),\n\t\t[ className, cx ]\n\t);\n\n\treturn (\n\t\t<View ref={ forwardedRef } className={ classes } { ...otherProps }>\n\t\t\t<NavigatorContext.Provider value={ navigatorContextValue }>\n\t\t\t\t{ children }\n\t\t\t</NavigatorContext.Provider>\n\t\t</View>\n\t);\n}\n\n/**\n * The `NavigatorProvider` component allows rendering nested views/panels/menus\n * (via the `NavigatorScreen` component and navigate between these different\n * view (via the `NavigatorButton` and `NavigatorBackButton` components or the\n * `useNavigator` hook).\n *\n * @example\n * ```jsx\n * import {\n * __experimentalNavigatorProvider as NavigatorProvider,\n * __experimentalNavigatorScreen as NavigatorScreen,\n * __experimentalNavigatorButton as NavigatorButton,\n * __experimentalNavigatorBackButton as NavigatorBackButton,\n * } from '@wordpress/components';\n *\n * const MyNavigation = () => (\n * <NavigatorProvider initialPath=\"/\">\n * <NavigatorScreen path=\"/\">\n * <p>This is the home screen.</p>\n * <NavigatorButton path=\"/child\">\n * Navigate to child screen.\n * </NavigatorButton>\n * </NavigatorScreen>\n *\n * <NavigatorScreen path=\"/child\">\n * <p>This is the child screen.</p>\n * <NavigatorBackButton>\n * Go back\n * </NavigatorBackButton>\n * </NavigatorScreen>\n * </NavigatorProvider>\n * );\n * ```\n */\nexport const NavigatorProvider = contextConnect(\n\tUnconnectedNavigatorProvider,\n\t'NavigatorProvider'\n);\n\nexport default NavigatorProvider;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_react","_isShallowEqual","_interopRequireDefault","_context","_useCx","_view","_context2","_router","_EMOTION_STRINGIFIED_CSS_ERROR__","MAX_HISTORY_LENGTH","screensReducer","state","action","type","screen","filter","s","id","_ref","process","env","NODE_ENV","name","styles","map","toString","UnconnectedNavigatorProvider","props","forwardedRef","initialPath","children","className","otherProps","useContextSystem","locationHistory","setLocationHistory","useState","path","currentLocationHistory","useRef","screens","dispatch","useReducer","currentScreens","useEffect","current","currentMatch","matchedPath","useMemo","currentPath","length","undefined","resolvePath","newMatch","patternMatch","isShallowEqual","params","addScreen","useCallback","removeScreen","goBack","prevLocationHistory","slice","isBack","hasRestoredFocus","goTo","options","focusTargetSelector","skipFocus","replace","restOptions","isNavigatingToPreviousPath","newLocation","newLocationHistory","push","goToParent","parentPath","findParent","navigatorContextValue","location","isInitial","match","cx","useCx","classes","createElement","View","ref","NavigatorContext","Provider","value","NavigatorProvider","contextConnect","exports","_default","default"],"sources":["@wordpress/components/src/navigator/navigator-provider/component.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\nimport { css } from '@emotion/react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseMemo,\n\tuseState,\n\tuseCallback,\n\tuseReducer,\n\tuseRef,\n\tuseEffect,\n} from '@wordpress/element';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../../ui/context';\nimport { contextConnect, useContextSystem } from '../../ui/context';\nimport { useCx } from '../../utils/hooks/use-cx';\nimport { View } from '../../view';\nimport { NavigatorContext } from '../context';\nimport type {\n\tNavigatorProviderProps,\n\tNavigatorLocation,\n\tNavigatorContext as NavigatorContextType,\n\tScreen,\n} from '../types';\nimport { patternMatch, findParent } from '../utils/router';\n\ntype MatchedPath = ReturnType< typeof patternMatch >;\ntype ScreenAction = { type: string; screen: Screen };\n\nconst MAX_HISTORY_LENGTH = 50;\n\nfunction screensReducer(\n\tstate: Screen[] = [],\n\taction: ScreenAction\n): Screen[] {\n\tswitch ( action.type ) {\n\t\tcase 'add':\n\t\t\treturn [ ...state, action.screen ];\n\t\tcase 'remove':\n\t\t\treturn state.filter( ( s: Screen ) => s.id !== action.screen.id );\n\t}\n\n\treturn state;\n}\n\nfunction UnconnectedNavigatorProvider(\n\tprops: WordPressComponentProps< NavigatorProviderProps, 'div' >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst { initialPath, children, className, ...otherProps } =\n\t\tuseContextSystem( props, 'NavigatorProvider' );\n\n\tconst [ locationHistory, setLocationHistory ] = useState<\n\t\tNavigatorLocation[]\n\t>( [\n\t\t{\n\t\t\tpath: initialPath,\n\t\t},\n\t] );\n\tconst currentLocationHistory = useRef< NavigatorLocation[] >( [] );\n\tconst [ screens, dispatch ] = useReducer( screensReducer, [] );\n\tconst currentScreens = useRef< Screen[] >( [] );\n\tuseEffect( () => {\n\t\tcurrentScreens.current = screens;\n\t}, [ screens ] );\n\tuseEffect( () => {\n\t\tcurrentLocationHistory.current = locationHistory;\n\t}, [ locationHistory ] );\n\tconst currentMatch = useRef< MatchedPath >();\n\tconst matchedPath = useMemo( () => {\n\t\tlet currentPath: string | undefined;\n\t\tif (\n\t\t\tlocationHistory.length === 0 ||\n\t\t\t( currentPath =\n\t\t\t\tlocationHistory[ locationHistory.length - 1 ].path ) ===\n\t\t\t\tundefined\n\t\t) {\n\t\t\tcurrentMatch.current = undefined;\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst resolvePath = ( path: string ) => {\n\t\t\tconst newMatch = patternMatch( path, screens );\n\n\t\t\t// If the new match is the same as the current match,\n\t\t\t// return the previous one for performance reasons.\n\t\t\tif (\n\t\t\t\tcurrentMatch.current &&\n\t\t\t\tnewMatch &&\n\t\t\t\tisShallowEqual(\n\t\t\t\t\tnewMatch.params,\n\t\t\t\t\tcurrentMatch.current.params\n\t\t\t\t) &&\n\t\t\t\tnewMatch.id === currentMatch.current.id\n\t\t\t) {\n\t\t\t\treturn currentMatch.current;\n\t\t\t}\n\n\t\t\treturn newMatch;\n\t\t};\n\n\t\tconst newMatch = resolvePath( currentPath );\n\t\tcurrentMatch.current = newMatch;\n\t\treturn newMatch;\n\t}, [ screens, locationHistory ] );\n\n\tconst addScreen = useCallback(\n\t\t( screen: Screen ) => dispatch( { type: 'add', screen } ),\n\t\t[]\n\t);\n\n\tconst removeScreen = useCallback(\n\t\t( screen: Screen ) => dispatch( { type: 'remove', screen } ),\n\t\t[]\n\t);\n\n\tconst goBack: NavigatorContextType[ 'goBack' ] = useCallback( () => {\n\t\tsetLocationHistory( ( prevLocationHistory ) => {\n\t\t\tif ( prevLocationHistory.length <= 1 ) {\n\t\t\t\treturn prevLocationHistory;\n\t\t\t}\n\t\t\treturn [\n\t\t\t\t...prevLocationHistory.slice( 0, -2 ),\n\t\t\t\t{\n\t\t\t\t\t...prevLocationHistory[ prevLocationHistory.length - 2 ],\n\t\t\t\t\tisBack: true,\n\t\t\t\t\thasRestoredFocus: false,\n\t\t\t\t},\n\t\t\t];\n\t\t} );\n\t}, [] );\n\n\tconst goTo: NavigatorContextType[ 'goTo' ] = useCallback(\n\t\t( path, options = {} ) => {\n\t\t\tconst {\n\t\t\t\tfocusTargetSelector,\n\t\t\t\tisBack = false,\n\t\t\t\tskipFocus = false,\n\t\t\t\treplace = false,\n\t\t\t\t...restOptions\n\t\t\t} = options;\n\n\t\t\tconst isNavigatingToPreviousPath =\n\t\t\t\tisBack &&\n\t\t\t\tcurrentLocationHistory.current.length > 1 &&\n\t\t\t\tcurrentLocationHistory.current[\n\t\t\t\t\tcurrentLocationHistory.current.length - 2\n\t\t\t\t].path === path;\n\n\t\t\tif ( isNavigatingToPreviousPath ) {\n\t\t\t\tgoBack();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetLocationHistory( ( prevLocationHistory ) => {\n\t\t\t\tconst newLocation = {\n\t\t\t\t\t...restOptions,\n\t\t\t\t\tpath,\n\t\t\t\t\tisBack,\n\t\t\t\t\thasRestoredFocus: false,\n\t\t\t\t\tskipFocus,\n\t\t\t\t};\n\n\t\t\t\tif ( prevLocationHistory.length === 0 ) {\n\t\t\t\t\treturn replace ? [] : [ newLocation ];\n\t\t\t\t}\n\n\t\t\t\tconst newLocationHistory = prevLocationHistory.slice(\n\t\t\t\t\tprevLocationHistory.length > MAX_HISTORY_LENGTH - 1 ? 1 : 0,\n\t\t\t\t\t-1\n\t\t\t\t);\n\n\t\t\t\tif ( ! replace ) {\n\t\t\t\t\tnewLocationHistory.push(\n\t\t\t\t\t\t// Assign `focusTargetSelector` to the previous location in history\n\t\t\t\t\t\t// (the one we just navigated from).\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...prevLocationHistory[\n\t\t\t\t\t\t\t\tprevLocationHistory.length - 1\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tfocusTargetSelector,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tnewLocationHistory.push( newLocation );\n\n\t\t\t\treturn newLocationHistory;\n\t\t\t} );\n\t\t},\n\t\t[ goBack ]\n\t);\n\n\tconst goToParent: NavigatorContextType[ 'goToParent' ] = useCallback(\n\t\t( options = {} ) => {\n\t\t\tconst currentPath =\n\t\t\t\tcurrentLocationHistory.current[\n\t\t\t\t\tcurrentLocationHistory.current.length - 1\n\t\t\t\t].path;\n\t\t\tif ( currentPath === undefined ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst parentPath = findParent(\n\t\t\t\tcurrentPath,\n\t\t\t\tcurrentScreens.current\n\t\t\t);\n\t\t\tif ( parentPath === undefined ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tgoTo( parentPath, { ...options, isBack: true } );\n\t\t},\n\t\t[ goTo ]\n\t);\n\n\tconst navigatorContextValue: NavigatorContextType = useMemo(\n\t\t() => ( {\n\t\t\tlocation: {\n\t\t\t\t...locationHistory[ locationHistory.length - 1 ],\n\t\t\t\tisInitial: locationHistory.length === 1,\n\t\t\t},\n\t\t\tparams: matchedPath ? matchedPath.params : {},\n\t\t\tmatch: matchedPath ? matchedPath.id : undefined,\n\t\t\tgoTo,\n\t\t\tgoBack,\n\t\t\tgoToParent,\n\t\t\taddScreen,\n\t\t\tremoveScreen,\n\t\t} ),\n\t\t[\n\t\t\tlocationHistory,\n\t\t\tmatchedPath,\n\t\t\tgoTo,\n\t\t\tgoBack,\n\t\t\tgoToParent,\n\t\t\taddScreen,\n\t\t\tremoveScreen,\n\t\t]\n\t);\n\n\tconst cx = useCx();\n\tconst classes = useMemo(\n\t\t// Prevents horizontal overflow while animating screen transitions.\n\t\t() => cx( css( { overflowX: 'hidden' } ), className ),\n\t\t[ className, cx ]\n\t);\n\n\treturn (\n\t\t<View ref={ forwardedRef } className={ classes } { ...otherProps }>\n\t\t\t<NavigatorContext.Provider value={ navigatorContextValue }>\n\t\t\t\t{ children }\n\t\t\t</NavigatorContext.Provider>\n\t\t</View>\n\t);\n}\n\n/**\n * The `NavigatorProvider` component allows rendering nested views/panels/menus\n * (via the `NavigatorScreen` component and navigate between these different\n * view (via the `NavigatorButton` and `NavigatorBackButton` components or the\n * `useNavigator` hook).\n *\n * ```jsx\n * import {\n * __experimentalNavigatorProvider as NavigatorProvider,\n * __experimentalNavigatorScreen as NavigatorScreen,\n * __experimentalNavigatorButton as NavigatorButton,\n * __experimentalNavigatorBackButton as NavigatorBackButton,\n * } from '@wordpress/components';\n *\n * const MyNavigation = () => (\n * <NavigatorProvider initialPath=\"/\">\n * <NavigatorScreen path=\"/\">\n * <p>This is the home screen.</p>\n * <NavigatorButton path=\"/child\">\n * Navigate to child screen.\n * </NavigatorButton>\n * </NavigatorScreen>\n *\n * <NavigatorScreen path=\"/child\">\n * <p>This is the child screen.</p>\n * <NavigatorBackButton>\n * Go back\n * </NavigatorBackButton>\n * </NavigatorScreen>\n * </NavigatorProvider>\n * );\n * ```\n */\nexport const NavigatorProvider = contextConnect(\n\tUnconnectedNavigatorProvider,\n\t'NavigatorProvider'\n);\n\nexport default NavigatorProvider;\n"],"mappings":"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"}