@wordpress/components 19.3.0 → 19.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (318) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/CONTRIBUTING.md +1 -1
  3. package/README.md +8 -4
  4. package/build/base-field/hook.js +1 -1
  5. package/build/base-field/hook.js.map +1 -1
  6. package/build/button/deprecated.js +2 -1
  7. package/build/button/deprecated.js.map +1 -1
  8. package/build/button/index.js +2 -1
  9. package/build/button/index.js.map +1 -1
  10. package/build/card/card/component.js +1 -1
  11. package/build/card/card/component.js.map +1 -1
  12. package/build/card/card/hook.js +1 -1
  13. package/build/card/card/hook.js.map +1 -1
  14. package/build/card/card-body/hook.js +1 -1
  15. package/build/card/card-body/hook.js.map +1 -1
  16. package/build/card/card-divider/hook.js +1 -1
  17. package/build/card/card-divider/hook.js.map +1 -1
  18. package/build/card/card-footer/hook.js +1 -1
  19. package/build/card/card-footer/hook.js.map +1 -1
  20. package/build/card/card-header/hook.js +1 -1
  21. package/build/card/card-header/hook.js.map +1 -1
  22. package/build/card/card-media/hook.js +1 -1
  23. package/build/card/card-media/hook.js.map +1 -1
  24. package/build/circular-option-picker/index.js +2 -0
  25. package/build/circular-option-picker/index.js.map +1 -1
  26. package/build/color-indicator/index.js +2 -0
  27. package/build/color-indicator/index.js.map +1 -1
  28. package/build/color-palette/index.js +2 -0
  29. package/build/color-palette/index.js.map +1 -1
  30. package/build/color-picker/color-display.js.map +1 -1
  31. package/build/color-picker/color-input.js.map +1 -1
  32. package/build/color-picker/component.js +1 -1
  33. package/build/color-picker/component.js.map +1 -1
  34. package/build/color-picker/use-deprecated-props.js +2 -0
  35. package/build/color-picker/use-deprecated-props.js.map +1 -1
  36. package/build/date-time/time.js +1 -1
  37. package/build/date-time/time.js.map +1 -1
  38. package/build/dropdown/index.js +3 -3
  39. package/build/dropdown/index.js.map +1 -1
  40. package/build/elevation/hook.js +5 -5
  41. package/build/elevation/hook.js.map +1 -1
  42. package/build/flex/flex/hook.js +4 -4
  43. package/build/flex/flex/hook.js.map +1 -1
  44. package/build/grid/hook.js +2 -2
  45. package/build/grid/hook.js.map +1 -1
  46. package/build/item-group/item/hook.js +1 -1
  47. package/build/item-group/item/hook.js.map +1 -1
  48. package/build/mobile/inserter-button/index.native.js +3 -3
  49. package/build/mobile/inserter-button/index.native.js.map +1 -1
  50. package/build/mobile/inserter-button/sparkles.js +25 -0
  51. package/build/mobile/inserter-button/sparkles.js.map +1 -0
  52. package/build/modal/index.js +1 -12
  53. package/build/modal/index.js.map +1 -1
  54. package/build/navigator/context.js +2 -2
  55. package/build/navigator/context.js.map +1 -1
  56. package/build/navigator/navigator-provider/component.js +18 -25
  57. package/build/navigator/navigator-provider/component.js.map +1 -1
  58. package/build/navigator/navigator-screen/component.js +39 -13
  59. package/build/navigator/navigator-screen/component.js.map +1 -1
  60. package/build/navigator/use-navigator.js +4 -4
  61. package/build/navigator/use-navigator.js.map +1 -1
  62. package/build/placeholder/index.js +4 -4
  63. package/build/placeholder/index.js.map +1 -1
  64. package/build/scrollable/hook.js +1 -1
  65. package/build/scrollable/hook.js.map +1 -1
  66. package/build/slot-fill/bubbles-virtually/fill.js +11 -2
  67. package/build/slot-fill/bubbles-virtually/fill.js.map +1 -1
  68. package/build/spinner/index.js +44 -5
  69. package/build/spinner/index.js.map +1 -1
  70. package/build/spinner/styles.js +56 -0
  71. package/build/spinner/styles.js.map +1 -0
  72. package/build/surface/hook.js +1 -1
  73. package/build/surface/hook.js.map +1 -1
  74. package/build/text/hook.js +5 -5
  75. package/build/text/hook.js.map +1 -1
  76. package/build/tip/index.js +4 -8
  77. package/build/tip/index.js.map +1 -1
  78. package/build/toggle-group-control/toggle-group-control/component.js +1 -1
  79. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  80. package/build/tools-panel/tools-panel/hook.js +7 -7
  81. package/build/tools-panel/tools-panel/hook.js.map +1 -1
  82. package/build/tools-panel/tools-panel-header/hook.js +3 -3
  83. package/build/tools-panel/tools-panel-header/hook.js.map +1 -1
  84. package/build/tools-panel/tools-panel-item/hook.js +1 -1
  85. package/build/tools-panel/tools-panel-item/hook.js.map +1 -1
  86. package/build/tree-grid/index.js +13 -6
  87. package/build/tree-grid/index.js.map +1 -1
  88. package/build/truncate/hook.js +2 -2
  89. package/build/truncate/hook.js.map +1 -1
  90. package/build/utils/config-values.js +1 -1
  91. package/build/utils/config-values.js.map +1 -1
  92. package/build-module/base-field/hook.js +1 -1
  93. package/build-module/base-field/hook.js.map +1 -1
  94. package/build-module/button/deprecated.js +2 -1
  95. package/build-module/button/deprecated.js.map +1 -1
  96. package/build-module/button/index.js +2 -1
  97. package/build-module/button/index.js.map +1 -1
  98. package/build-module/card/card/component.js +1 -1
  99. package/build-module/card/card/component.js.map +1 -1
  100. package/build-module/card/card/hook.js +1 -1
  101. package/build-module/card/card/hook.js.map +1 -1
  102. package/build-module/card/card-body/hook.js +1 -1
  103. package/build-module/card/card-body/hook.js.map +1 -1
  104. package/build-module/card/card-divider/hook.js +1 -1
  105. package/build-module/card/card-divider/hook.js.map +1 -1
  106. package/build-module/card/card-footer/hook.js +1 -1
  107. package/build-module/card/card-footer/hook.js.map +1 -1
  108. package/build-module/card/card-header/hook.js +1 -1
  109. package/build-module/card/card-header/hook.js.map +1 -1
  110. package/build-module/card/card-media/hook.js +1 -1
  111. package/build-module/card/card-media/hook.js.map +1 -1
  112. package/build-module/circular-option-picker/index.js +1 -0
  113. package/build-module/circular-option-picker/index.js.map +1 -1
  114. package/build-module/color-indicator/index.js +1 -0
  115. package/build-module/color-indicator/index.js.map +1 -1
  116. package/build-module/color-palette/index.js +1 -0
  117. package/build-module/color-palette/index.js.map +1 -1
  118. package/build-module/color-picker/color-display.js.map +1 -1
  119. package/build-module/color-picker/color-input.js.map +1 -1
  120. package/build-module/color-picker/component.js +1 -1
  121. package/build-module/color-picker/component.js.map +1 -1
  122. package/build-module/color-picker/use-deprecated-props.js +2 -0
  123. package/build-module/color-picker/use-deprecated-props.js.map +1 -1
  124. package/build-module/date-time/time.js +1 -1
  125. package/build-module/date-time/time.js.map +1 -1
  126. package/build-module/dropdown/index.js +3 -3
  127. package/build-module/dropdown/index.js.map +1 -1
  128. package/build-module/elevation/hook.js +5 -5
  129. package/build-module/elevation/hook.js.map +1 -1
  130. package/build-module/flex/flex/hook.js +4 -4
  131. package/build-module/flex/flex/hook.js.map +1 -1
  132. package/build-module/grid/hook.js +2 -2
  133. package/build-module/grid/hook.js.map +1 -1
  134. package/build-module/item-group/item/hook.js +1 -1
  135. package/build-module/item-group/item/hook.js.map +1 -1
  136. package/build-module/mobile/inserter-button/index.native.js +1 -1
  137. package/build-module/mobile/inserter-button/index.native.js.map +1 -1
  138. package/build-module/mobile/inserter-button/sparkles.js +16 -0
  139. package/build-module/mobile/inserter-button/sparkles.js.map +1 -0
  140. package/build-module/modal/index.js +1 -11
  141. package/build-module/modal/index.js.map +1 -1
  142. package/build-module/navigator/context.js +2 -2
  143. package/build-module/navigator/context.js.map +1 -1
  144. package/build-module/navigator/navigator-provider/component.js +18 -25
  145. package/build-module/navigator/navigator-provider/component.js.map +1 -1
  146. package/build-module/navigator/navigator-screen/component.js +39 -15
  147. package/build-module/navigator/navigator-screen/component.js.map +1 -1
  148. package/build-module/navigator/use-navigator.js +4 -4
  149. package/build-module/navigator/use-navigator.js.map +1 -1
  150. package/build-module/placeholder/index.js +4 -4
  151. package/build-module/placeholder/index.js.map +1 -1
  152. package/build-module/scrollable/hook.js +1 -1
  153. package/build-module/scrollable/hook.js.map +1 -1
  154. package/build-module/slot-fill/bubbles-virtually/fill.js +11 -2
  155. package/build-module/slot-fill/bubbles-virtually/fill.js.map +1 -1
  156. package/build-module/spinner/index.js +40 -5
  157. package/build-module/spinner/index.js.map +1 -1
  158. package/build-module/spinner/styles.js +49 -0
  159. package/build-module/spinner/styles.js.map +1 -0
  160. package/build-module/surface/hook.js +1 -1
  161. package/build-module/surface/hook.js.map +1 -1
  162. package/build-module/text/hook.js +5 -5
  163. package/build-module/text/hook.js.map +1 -1
  164. package/build-module/tip/index.js +4 -8
  165. package/build-module/tip/index.js.map +1 -1
  166. package/build-module/toggle-group-control/toggle-group-control/component.js +1 -1
  167. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  168. package/build-module/tools-panel/tools-panel/hook.js +7 -7
  169. package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
  170. package/build-module/tools-panel/tools-panel-header/hook.js +3 -3
  171. package/build-module/tools-panel/tools-panel-header/hook.js.map +1 -1
  172. package/build-module/tools-panel/tools-panel-item/hook.js +1 -1
  173. package/build-module/tools-panel/tools-panel-item/hook.js.map +1 -1
  174. package/build-module/tree-grid/index.js +12 -6
  175. package/build-module/tree-grid/index.js.map +1 -1
  176. package/build-module/truncate/hook.js +2 -2
  177. package/build-module/truncate/hook.js.map +1 -1
  178. package/build-module/utils/config-values.js +1 -1
  179. package/build-module/utils/config-values.js.map +1 -1
  180. package/build-style/style-rtl.css +12 -2
  181. package/build-style/style.css +12 -2
  182. package/build-types/button/index.d.ts.map +1 -1
  183. package/build-types/circular-option-picker/index.d.ts +31 -0
  184. package/build-types/circular-option-picker/index.d.ts.map +1 -0
  185. package/build-types/color-palette/index.d.ts +16 -0
  186. package/build-types/color-palette/index.d.ts.map +1 -0
  187. package/build-types/color-palette/styles.d.ts +8 -0
  188. package/build-types/color-palette/styles.d.ts.map +1 -0
  189. package/build-types/color-picker/color-display.d.ts +14 -0
  190. package/build-types/color-picker/color-display.d.ts.map +1 -0
  191. package/build-types/color-picker/color-input.d.ts +14 -0
  192. package/build-types/color-picker/color-input.d.ts.map +1 -0
  193. package/build-types/color-picker/component.d.ts +11 -0
  194. package/build-types/color-picker/component.d.ts.map +1 -0
  195. package/build-types/color-picker/hex-input.d.ts +13 -0
  196. package/build-types/color-picker/hex-input.d.ts.map +1 -0
  197. package/build-types/color-picker/hsl-input.d.ts +13 -0
  198. package/build-types/color-picker/hsl-input.d.ts.map +1 -0
  199. package/build-types/color-picker/index.d.ts +5 -0
  200. package/build-types/color-picker/index.d.ts.map +1 -0
  201. package/build-types/color-picker/input-with-slider.d.ts +12 -0
  202. package/build-types/color-picker/input-with-slider.d.ts.map +1 -0
  203. package/build-types/color-picker/legacy-adapter.d.ts +6 -0
  204. package/build-types/color-picker/legacy-adapter.d.ts.map +1 -0
  205. package/build-types/color-picker/picker.d.ts +10 -0
  206. package/build-types/color-picker/picker.d.ts.map +1 -0
  207. package/build-types/color-picker/rgb-input.d.ts +13 -0
  208. package/build-types/color-picker/rgb-input.d.ts.map +1 -0
  209. package/build-types/color-picker/styles.d.ts +76 -0
  210. package/build-types/color-picker/styles.d.ts.map +1 -0
  211. package/build-types/color-picker/types.d.ts +2 -0
  212. package/build-types/color-picker/types.d.ts.map +1 -0
  213. package/build-types/color-picker/use-deprecated-props.d.ts +49 -0
  214. package/build-types/color-picker/use-deprecated-props.d.ts.map +1 -0
  215. package/build-types/dropdown/index.d.ts +1 -13
  216. package/build-types/dropdown/index.d.ts.map +1 -1
  217. package/build-types/elevation/hook.d.ts.map +1 -1
  218. package/build-types/flex/flex/hook.d.ts.map +1 -1
  219. package/build-types/grid/hook.d.ts.map +1 -1
  220. package/build-types/navigator/navigator-provider/component.d.ts +4 -4
  221. package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
  222. package/build-types/navigator/navigator-screen/component.d.ts +4 -4
  223. package/build-types/navigator/navigator-screen/component.d.ts.map +1 -1
  224. package/build-types/navigator/types.d.ts +5 -3
  225. package/build-types/navigator/types.d.ts.map +1 -1
  226. package/build-types/resizable-box/index.d.ts +1 -1
  227. package/build-types/resizable-box/resize-tooltip/index.d.ts +1 -1
  228. package/build-types/slot-fill/bubbles-virtually/fill.d.ts.map +1 -1
  229. package/build-types/spinner/index.d.ts +18 -1
  230. package/build-types/spinner/index.d.ts.map +1 -1
  231. package/build-types/spinner/styles.d.ts +13 -0
  232. package/build-types/spinner/styles.d.ts.map +1 -0
  233. package/build-types/surface/hook.d.ts.map +1 -1
  234. package/build-types/text/hook.d.ts.map +1 -1
  235. package/build-types/tip/index.d.ts.map +1 -1
  236. package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
  237. package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -1
  238. package/build-types/unit-control/index.d.ts +3 -2
  239. package/build-types/unit-control/index.d.ts.map +1 -1
  240. package/build-types/unit-control/types.d.ts +2 -1
  241. package/build-types/unit-control/types.d.ts.map +1 -1
  242. package/build-types/utils/config-values.d.ts +1 -1
  243. package/package.json +16 -17
  244. package/src/base-field/hook.js +1 -1
  245. package/src/button/deprecated.js +1 -0
  246. package/src/button/index.js +1 -0
  247. package/src/card/card/component.js +1 -1
  248. package/src/card/card/hook.js +1 -1
  249. package/src/card/card-body/hook.js +1 -1
  250. package/src/card/card-divider/hook.js +1 -1
  251. package/src/card/card-footer/hook.js +1 -1
  252. package/src/card/card-header/hook.js +1 -1
  253. package/src/card/card-media/hook.js +1 -1
  254. package/src/circular-option-picker/index.js +1 -0
  255. package/src/color-indicator/index.js +2 -0
  256. package/src/color-palette/index.js +1 -0
  257. package/src/color-palette/test/__snapshots__/index.js.snap +0 -1
  258. package/src/color-picker/color-display.tsx +1 -1
  259. package/src/color-picker/color-input.tsx +1 -1
  260. package/src/color-picker/component.tsx +1 -1
  261. package/src/color-picker/use-deprecated-props.ts +2 -0
  262. package/src/combobox-control/stories/index.js +6 -2
  263. package/src/combobox-control/style.scss +2 -2
  264. package/src/date-time/README.md +4 -4
  265. package/src/date-time/test/time.js +2 -2
  266. package/src/date-time/time.js +2 -2
  267. package/src/dropdown/index.js +14 -13
  268. package/src/elevation/hook.js +1 -0
  269. package/src/flex/flex/hook.js +1 -0
  270. package/src/grid/hook.js +1 -0
  271. package/src/item-group/item/hook.ts +1 -1
  272. package/src/item-group/stories/index.js +2 -2
  273. package/src/mobile/inserter-button/index.native.js +1 -2
  274. package/src/mobile/inserter-button/sparkles.js +15 -0
  275. package/src/mobile/link-settings/test/edit.native.js +5 -5
  276. package/src/modal/index.js +1 -10
  277. package/src/navigator/context.ts +2 -2
  278. package/src/navigator/navigator-provider/README.md +11 -9
  279. package/src/navigator/navigator-provider/component.tsx +16 -25
  280. package/src/navigator/navigator-screen/component.tsx +55 -15
  281. package/src/navigator/stories/index.js +19 -5
  282. package/src/navigator/test/index.js +77 -25
  283. package/src/navigator/types.ts +5 -3
  284. package/src/navigator/use-navigator.ts +3 -3
  285. package/src/placeholder/index.js +8 -6
  286. package/src/placeholder/style.scss +12 -0
  287. package/src/placeholder/test/index.js +18 -1
  288. package/src/scrollable/hook.js +1 -1
  289. package/src/slot-fill/bubbles-virtually/fill.js +12 -1
  290. package/src/spinner/README.md +10 -10
  291. package/src/spinner/index.js +42 -3
  292. package/src/spinner/stories/index.js +36 -3
  293. package/src/spinner/styles.js +47 -0
  294. package/src/surface/hook.js +1 -0
  295. package/src/text/hook.js +1 -0
  296. package/src/tip/index.js +2 -4
  297. package/src/toggle-group-control/toggle-group-control/component.tsx +1 -1
  298. package/src/tools-panel/stories/index.js +20 -1
  299. package/src/tools-panel/test/__snapshots__/index.js.snap +0 -1
  300. package/src/tools-panel/test/index.js +31 -1
  301. package/src/tools-panel/tools-panel/hook.ts +14 -9
  302. package/src/tools-panel/tools-panel-header/hook.ts +3 -3
  303. package/src/tools-panel/tools-panel-item/hook.ts +1 -0
  304. package/src/tree-grid/index.js +19 -5
  305. package/src/truncate/hook.js +1 -1
  306. package/src/unit-control/types.ts +2 -1
  307. package/src/utils/config-values.js +1 -1
  308. package/src/utils/hooks/stories/use-cx.js +121 -44
  309. package/tsconfig.json +3 -0
  310. package/tsconfig.tsbuildinfo +1 -1
  311. package/build/spinner/styles/spinner-styles.js +0 -40
  312. package/build/spinner/styles/spinner-styles.js.map +0 -1
  313. package/build-module/spinner/styles/spinner-styles.js +0 -28
  314. package/build-module/spinner/styles/spinner-styles.js.map +0 -1
  315. package/build-types/spinner/styles/spinner-styles.d.ts +0 -5
  316. package/build-types/spinner/styles/spinner-styles.d.ts.map +0 -1
  317. package/src/spinner/styles/spinner-styles.js +0 -47
  318. package/src/ui/visually-hidden/README.md +0 -21
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/grid/hook.js"],"names":["useGrid","props","align","alignment","className","columnGap","columns","gap","isInline","justify","rowGap","rows","templateColumns","templateRows","otherProps","columnsAsArray","Array","isArray","column","rowsAsArray","row","gridTemplateColumns","gridTemplateRows","cx","classes","alignmentProps","gridClasses","alignItems","display","CONFIG","gridBase","undefined","gridRowGap","gridColumnGap","justifyContent","verticalAlign"],"mappings":";;;;;;;;;AAGA;;AAKA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AAjBA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;;AAOA;AACA;AACA;AACe,SAASA,OAAT,CAAkBC,KAAlB,EAA0B;AACxC,QAAM;AACLC,IAAAA,KADK;AAELC,IAAAA,SAFK;AAGLC,IAAAA,SAHK;AAILC,IAAAA,SAJK;AAKLC,IAAAA,OAAO,GAAG,CALL;AAMLC,IAAAA,GAAG,GAAG,CAND;AAOLC,IAAAA,QAAQ,GAAG,KAPN;AAQLC,IAAAA,OARK;AASLC,IAAAA,MATK;AAULC,IAAAA,IAVK;AAWLC,IAAAA,eAXK;AAYLC,IAAAA,YAZK;AAaL,OAAGC;AAbE,MAcF,+BAAkBb,KAAlB,EAAyB,MAAzB,CAdJ;AAgBA,QAAMc,cAAc,GAAGC,KAAK,CAACC,OAAN,CAAeX,OAAf,IAA2BA,OAA3B,GAAqC,CAAEA,OAAF,CAA5D;AACA,QAAMY,MAAM,GAAG,4CAAoBH,cAApB,CAAf;AACA,QAAMI,WAAW,GAAGH,KAAK,CAACC,OAAN,CAAeN,IAAf,IAAwBA,IAAxB,GAA+B,CAAEA,IAAF,CAAnD;AACA,QAAMS,GAAG,GAAG,4CAAoBD,WAApB,CAAZ;AAEA,QAAME,mBAAmB,GACxBT,eAAe,IAAM,CAAC,CAAEN,OAAH,IAAe,WAAWY,MAAQ,SADxD;AAEA,QAAMI,gBAAgB,GACrBT,YAAY,IAAM,CAAC,CAAEF,IAAH,IAAY,WAAWS,GAAK,SAD/C;AAGA,QAAMG,EAAE,GAAG,mBAAX;AAEA,QAAMC,OAAO,GAAG,sBAAS,MAAM;AAC9B,UAAMC,cAAc,GAAG,8BAAmBtB,SAAnB,CAAvB;AAEA,UAAMuB,WAAW,gBAAG,gBAAK;AACxBC,MAAAA,UAAU,EAAEzB,KADY;AAExB0B,MAAAA,OAAO,EAAEpB,QAAQ,GAAG,aAAH,GAAmB,MAFZ;AAGxBD,MAAAA,GAAG,EAAG,SAASsB,sBAAOC,QAAU,MAAMvB,GAAK,IAHnB;AAIxBc,MAAAA,mBAAmB,EAAEA,mBAAmB,IAAIU,SAJpB;AAKxBT,MAAAA,gBAAgB,EAAEA,gBAAgB,IAAIS,SALd;AAMxBC,MAAAA,UAAU,EAAEtB,MANY;AAOxBuB,MAAAA,aAAa,EAAE5B,SAPS;AAQxB6B,MAAAA,cAAc,EAAEzB,OARQ;AASxB0B,MAAAA,aAAa,EAAE3B,QAAQ,GAAG,QAAH,GAAcuB,SATb;AAUxB,SAAGN;AAVqB,KAAL,qwGAApB;AAaA,WAAOF,EAAE,CAAEG,WAAF,EAAetB,SAAf,CAAT;AACA,GAjBe,EAiBb,CACFF,KADE,EAEFC,SAFE,EAGFC,SAHE,EAIFC,SAJE,EAKFE,GALE,EAMFc,mBANE,EAOFC,gBAPE,EAQFd,QARE,EASFC,OATE,EAUFC,MAVE,CAjBa,CAAhB;AA8BA,SAAO,EAAE,GAAGI,UAAL;AAAiBV,IAAAA,SAAS,EAAEoB;AAA5B,GAAP;AACA","sourcesContent":["/**\n * External dependencies\n */\nimport { css } from '@emotion/react';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useContextSystem } from '../ui/context';\nimport { getAlignmentProps } from './utils';\nimport { useResponsiveValue } from '../ui/utils/use-responsive-value';\nimport CONFIG from '../utils/config-values';\nimport { useCx } from '../utils/hooks/use-cx';\n\n/**\n * @param {import('../ui/context').WordPressComponentProps<import('./types').Props, 'div'>} props\n */\nexport default function useGrid( props ) {\n\tconst {\n\t\talign,\n\t\talignment,\n\t\tclassName,\n\t\tcolumnGap,\n\t\tcolumns = 2,\n\t\tgap = 3,\n\t\tisInline = false,\n\t\tjustify,\n\t\trowGap,\n\t\trows,\n\t\ttemplateColumns,\n\t\ttemplateRows,\n\t\t...otherProps\n\t} = useContextSystem( props, 'Grid' );\n\n\tconst columnsAsArray = Array.isArray( columns ) ? columns : [ columns ];\n\tconst column = useResponsiveValue( columnsAsArray );\n\tconst rowsAsArray = Array.isArray( rows ) ? rows : [ rows ];\n\tconst row = useResponsiveValue( rowsAsArray );\n\n\tconst gridTemplateColumns =\n\t\ttemplateColumns || ( !! columns && `repeat( ${ column }, 1fr )` );\n\tconst gridTemplateRows =\n\t\ttemplateRows || ( !! rows && `repeat( ${ row }, 1fr )` );\n\n\tconst cx = useCx();\n\n\tconst classes = useMemo( () => {\n\t\tconst alignmentProps = getAlignmentProps( alignment );\n\n\t\tconst gridClasses = css( {\n\t\t\talignItems: align,\n\t\t\tdisplay: isInline ? 'inline-grid' : 'grid',\n\t\t\tgap: `calc( ${ CONFIG.gridBase } * ${ gap } )`,\n\t\t\tgridTemplateColumns: gridTemplateColumns || undefined,\n\t\t\tgridTemplateRows: gridTemplateRows || undefined,\n\t\t\tgridRowGap: rowGap,\n\t\t\tgridColumnGap: columnGap,\n\t\t\tjustifyContent: justify,\n\t\t\tverticalAlign: isInline ? 'middle' : undefined,\n\t\t\t...alignmentProps,\n\t\t} );\n\n\t\treturn cx( gridClasses, className );\n\t}, [\n\t\talign,\n\t\talignment,\n\t\tclassName,\n\t\tcolumnGap,\n\t\tgap,\n\t\tgridTemplateColumns,\n\t\tgridTemplateRows,\n\t\tisInline,\n\t\tjustify,\n\t\trowGap,\n\t] );\n\n\treturn { ...otherProps, className: classes };\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/grid/hook.js"],"names":["useGrid","props","align","alignment","className","columnGap","columns","gap","isInline","justify","rowGap","rows","templateColumns","templateRows","otherProps","columnsAsArray","Array","isArray","column","rowsAsArray","row","gridTemplateColumns","gridTemplateRows","cx","classes","alignmentProps","gridClasses","alignItems","display","CONFIG","gridBase","undefined","gridRowGap","gridColumnGap","justifyContent","verticalAlign"],"mappings":";;;;;;;;;AAGA;;AAKA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AAjBA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;;AAOA;AACA;AACA;AACe,SAASA,OAAT,CAAkBC,KAAlB,EAA0B;AACxC,QAAM;AACLC,IAAAA,KADK;AAELC,IAAAA,SAFK;AAGLC,IAAAA,SAHK;AAILC,IAAAA,SAJK;AAKLC,IAAAA,OAAO,GAAG,CALL;AAMLC,IAAAA,GAAG,GAAG,CAND;AAOLC,IAAAA,QAAQ,GAAG,KAPN;AAQLC,IAAAA,OARK;AASLC,IAAAA,MATK;AAULC,IAAAA,IAVK;AAWLC,IAAAA,eAXK;AAYLC,IAAAA,YAZK;AAaL,OAAGC;AAbE,MAcF,+BAAkBb,KAAlB,EAAyB,MAAzB,CAdJ;AAgBA,QAAMc,cAAc,GAAGC,KAAK,CAACC,OAAN,CAAeX,OAAf,IAA2BA,OAA3B,GAAqC,CAAEA,OAAF,CAA5D;AACA,QAAMY,MAAM,GAAG,4CAAoBH,cAApB,CAAf;AACA,QAAMI,WAAW,GAAGH,KAAK,CAACC,OAAN,CAAeN,IAAf,IAAwBA,IAAxB,GAA+B,CAAEA,IAAF,CAAnD;AACA,QAAMS,GAAG,GAAG,4CAAoBD,WAApB,CAAZ;AAEA,QAAME,mBAAmB,GACxBT,eAAe,IAAM,CAAC,CAAEN,OAAH,IAAe,WAAWY,MAAQ,SADxD;AAEA,QAAMI,gBAAgB,GACrBT,YAAY,IAAM,CAAC,CAAEF,IAAH,IAAY,WAAWS,GAAK,SAD/C;AAGA,QAAMG,EAAE,GAAG,mBAAX;AAEA,QAAMC,OAAO,GAAG,sBAAS,MAAM;AAC9B,UAAMC,cAAc,GAAG,8BAAmBtB,SAAnB,CAAvB;AAEA,UAAMuB,WAAW,gBAAG,gBAAK;AACxBC,MAAAA,UAAU,EAAEzB,KADY;AAExB0B,MAAAA,OAAO,EAAEpB,QAAQ,GAAG,aAAH,GAAmB,MAFZ;AAGxBD,MAAAA,GAAG,EAAG,SAASsB,sBAAOC,QAAU,MAAMvB,GAAK,IAHnB;AAIxBc,MAAAA,mBAAmB,EAAEA,mBAAmB,IAAIU,SAJpB;AAKxBT,MAAAA,gBAAgB,EAAEA,gBAAgB,IAAIS,SALd;AAMxBC,MAAAA,UAAU,EAAEtB,MANY;AAOxBuB,MAAAA,aAAa,EAAE5B,SAPS;AAQxB6B,MAAAA,cAAc,EAAEzB,OARQ;AASxB0B,MAAAA,aAAa,EAAE3B,QAAQ,GAAG,QAAH,GAAcuB,SATb;AAUxB,SAAGN;AAVqB,KAAL,ixGAApB;AAaA,WAAOF,EAAE,CAAEG,WAAF,EAAetB,SAAf,CAAT;AACA,GAjBe,EAiBb,CACFF,KADE,EAEFC,SAFE,EAGFC,SAHE,EAIFC,SAJE,EAKFkB,EALE,EAMFhB,GANE,EAOFc,mBAPE,EAQFC,gBARE,EASFd,QATE,EAUFC,OAVE,EAWFC,MAXE,CAjBa,CAAhB;AA+BA,SAAO,EAAE,GAAGI,UAAL;AAAiBV,IAAAA,SAAS,EAAEoB;AAA5B,GAAP;AACA","sourcesContent":["/**\n * External dependencies\n */\nimport { css } from '@emotion/react';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useContextSystem } from '../ui/context';\nimport { getAlignmentProps } from './utils';\nimport { useResponsiveValue } from '../ui/utils/use-responsive-value';\nimport CONFIG from '../utils/config-values';\nimport { useCx } from '../utils/hooks/use-cx';\n\n/**\n * @param {import('../ui/context').WordPressComponentProps<import('./types').Props, 'div'>} props\n */\nexport default function useGrid( props ) {\n\tconst {\n\t\talign,\n\t\talignment,\n\t\tclassName,\n\t\tcolumnGap,\n\t\tcolumns = 2,\n\t\tgap = 3,\n\t\tisInline = false,\n\t\tjustify,\n\t\trowGap,\n\t\trows,\n\t\ttemplateColumns,\n\t\ttemplateRows,\n\t\t...otherProps\n\t} = useContextSystem( props, 'Grid' );\n\n\tconst columnsAsArray = Array.isArray( columns ) ? columns : [ columns ];\n\tconst column = useResponsiveValue( columnsAsArray );\n\tconst rowsAsArray = Array.isArray( rows ) ? rows : [ rows ];\n\tconst row = useResponsiveValue( rowsAsArray );\n\n\tconst gridTemplateColumns =\n\t\ttemplateColumns || ( !! columns && `repeat( ${ column }, 1fr )` );\n\tconst gridTemplateRows =\n\t\ttemplateRows || ( !! rows && `repeat( ${ row }, 1fr )` );\n\n\tconst cx = useCx();\n\n\tconst classes = useMemo( () => {\n\t\tconst alignmentProps = getAlignmentProps( alignment );\n\n\t\tconst gridClasses = css( {\n\t\t\talignItems: align,\n\t\t\tdisplay: isInline ? 'inline-grid' : 'grid',\n\t\t\tgap: `calc( ${ CONFIG.gridBase } * ${ gap } )`,\n\t\t\tgridTemplateColumns: gridTemplateColumns || undefined,\n\t\t\tgridTemplateRows: gridTemplateRows || undefined,\n\t\t\tgridRowGap: rowGap,\n\t\t\tgridColumnGap: columnGap,\n\t\t\tjustifyContent: justify,\n\t\t\tverticalAlign: isInline ? 'middle' : undefined,\n\t\t\t...alignmentProps,\n\t\t} );\n\n\t\treturn cx( gridClasses, className );\n\t}, [\n\t\talign,\n\t\talignment,\n\t\tclassName,\n\t\tcolumnGap,\n\t\tcx,\n\t\tgap,\n\t\tgridTemplateColumns,\n\t\tgridTemplateRows,\n\t\tisInline,\n\t\tjustify,\n\t\trowGap,\n\t] );\n\n\treturn { ...otherProps, className: classes };\n}\n"]}
@@ -46,7 +46,7 @@ function useItem(props) {
46
46
  const size = sizeProp || contextSize;
47
47
  const as = asProp || (typeof onClick !== 'undefined' ? 'button' : 'div');
48
48
  const cx = (0, _useCx.useCx)();
49
- const classes = (0, _element.useMemo)(() => cx(as === 'button' && styles.unstyledButton, styles.itemSizes[size] || styles.itemSizes.medium, styles.item, spacedAround && styles.spacedAround, className), [as, className, size, spacedAround]);
49
+ const classes = (0, _element.useMemo)(() => cx(as === 'button' && styles.unstyledButton, styles.itemSizes[size] || styles.itemSizes.medium, styles.item, spacedAround && styles.spacedAround, className), [as, className, cx, size, spacedAround]);
50
50
  const wrapperClassName = cx(styles.itemWrapper);
51
51
  return {
52
52
  as,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/item-group/item/hook.ts"],"names":["useItem","props","as","asProp","className","onClick","role","size","sizeProp","otherProps","spacedAround","contextSize","cx","classes","styles","unstyledButton","itemSizes","medium","item","wrapperClassName","itemWrapper"],"mappings":";;;;;;;AAQA;;AAKA;;AACA;;AACA;;AACA;;;;;;AAhBA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;AAOO,SAASA,OAAT,CAAkBC,KAAlB,EAAuE;AAC7E,QAAM;AACLC,IAAAA,EAAE,EAAEC,MADC;AAELC,IAAAA,SAFK;AAGLC,IAAAA,OAHK;AAILC,IAAAA,IAAI,GAAG,UAJF;AAKLC,IAAAA,IAAI,EAAEC,QALD;AAML,OAAGC;AANE,MAOF,+BAAkBR,KAAlB,EAAyB,MAAzB,CAPJ;AASA,QAAM;AAAES,IAAAA,YAAF;AAAgBH,IAAAA,IAAI,EAAEI;AAAtB,MAAsC,oCAA5C;AAEA,QAAMJ,IAAI,GAAGC,QAAQ,IAAIG,WAAzB;AAEA,QAAMT,EAAE,GACPC,MAAM,KACF,OAAOE,OAAP,KAAmB,WAAnB,GACD,QADC,GAED,KAHG,CADP;AAMA,QAAMO,EAAE,GAAG,mBAAX;AAEA,QAAMC,OAAO,GAAG,sBACf,MACCD,EAAE,CACDV,EAAE,KAAK,QAAP,IAAmBY,MAAM,CAACC,cADzB,EAEDD,MAAM,CAACE,SAAP,CAAkBT,IAAlB,KAA4BO,MAAM,CAACE,SAAP,CAAiBC,MAF5C,EAGDH,MAAM,CAACI,IAHN,EAIDR,YAAY,IAAII,MAAM,CAACJ,YAJtB,EAKDN,SALC,CAFY,EASf,CAAEF,EAAF,EAAME,SAAN,EAAiBG,IAAjB,EAAuBG,YAAvB,CATe,CAAhB;AAYA,QAAMS,gBAAgB,GAAGP,EAAE,CAAEE,MAAM,CAACM,WAAT,CAA3B;AAEA,SAAO;AACNlB,IAAAA,EADM;AAENE,IAAAA,SAAS,EAAES,OAFL;AAGNR,IAAAA,OAHM;AAINc,IAAAA,gBAJM;AAKNb,IAAAA,IALM;AAMN,OAAGG;AANG,GAAP;AAQA","sourcesContent":["/**\n * External dependencies\n */\nimport type { ElementType } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useContextSystem, WordPressComponentProps } from '../../ui/context';\nimport * as styles from '../styles';\nimport { useItemGroupContext } from '../context';\nimport { useCx } from '../../utils/hooks/use-cx';\nimport type { ItemProps } from '../types';\n\nexport function useItem( props: WordPressComponentProps< ItemProps, 'div' > ) {\n\tconst {\n\t\tas: asProp,\n\t\tclassName,\n\t\tonClick,\n\t\trole = 'listitem',\n\t\tsize: sizeProp,\n\t\t...otherProps\n\t} = useContextSystem( props, 'Item' );\n\n\tconst { spacedAround, size: contextSize } = useItemGroupContext();\n\n\tconst size = sizeProp || contextSize;\n\n\tconst as =\n\t\tasProp ||\n\t\t( ( typeof onClick !== 'undefined'\n\t\t\t? 'button'\n\t\t\t: 'div' ) as ElementType );\n\n\tconst cx = useCx();\n\n\tconst classes = useMemo(\n\t\t() =>\n\t\t\tcx(\n\t\t\t\tas === 'button' && styles.unstyledButton,\n\t\t\t\tstyles.itemSizes[ size ] || styles.itemSizes.medium,\n\t\t\t\tstyles.item,\n\t\t\t\tspacedAround && styles.spacedAround,\n\t\t\t\tclassName\n\t\t\t),\n\t\t[ as, className, size, spacedAround ]\n\t);\n\n\tconst wrapperClassName = cx( styles.itemWrapper );\n\n\treturn {\n\t\tas,\n\t\tclassName: classes,\n\t\tonClick,\n\t\twrapperClassName,\n\t\trole,\n\t\t...otherProps,\n\t};\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/item-group/item/hook.ts"],"names":["useItem","props","as","asProp","className","onClick","role","size","sizeProp","otherProps","spacedAround","contextSize","cx","classes","styles","unstyledButton","itemSizes","medium","item","wrapperClassName","itemWrapper"],"mappings":";;;;;;;AAQA;;AAKA;;AACA;;AACA;;AACA;;;;;;AAhBA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;AAOO,SAASA,OAAT,CAAkBC,KAAlB,EAAuE;AAC7E,QAAM;AACLC,IAAAA,EAAE,EAAEC,MADC;AAELC,IAAAA,SAFK;AAGLC,IAAAA,OAHK;AAILC,IAAAA,IAAI,GAAG,UAJF;AAKLC,IAAAA,IAAI,EAAEC,QALD;AAML,OAAGC;AANE,MAOF,+BAAkBR,KAAlB,EAAyB,MAAzB,CAPJ;AASA,QAAM;AAAES,IAAAA,YAAF;AAAgBH,IAAAA,IAAI,EAAEI;AAAtB,MAAsC,oCAA5C;AAEA,QAAMJ,IAAI,GAAGC,QAAQ,IAAIG,WAAzB;AAEA,QAAMT,EAAE,GACPC,MAAM,KACF,OAAOE,OAAP,KAAmB,WAAnB,GACD,QADC,GAED,KAHG,CADP;AAMA,QAAMO,EAAE,GAAG,mBAAX;AAEA,QAAMC,OAAO,GAAG,sBACf,MACCD,EAAE,CACDV,EAAE,KAAK,QAAP,IAAmBY,MAAM,CAACC,cADzB,EAEDD,MAAM,CAACE,SAAP,CAAkBT,IAAlB,KAA4BO,MAAM,CAACE,SAAP,CAAiBC,MAF5C,EAGDH,MAAM,CAACI,IAHN,EAIDR,YAAY,IAAII,MAAM,CAACJ,YAJtB,EAKDN,SALC,CAFY,EASf,CAAEF,EAAF,EAAME,SAAN,EAAiBQ,EAAjB,EAAqBL,IAArB,EAA2BG,YAA3B,CATe,CAAhB;AAYA,QAAMS,gBAAgB,GAAGP,EAAE,CAAEE,MAAM,CAACM,WAAT,CAA3B;AAEA,SAAO;AACNlB,IAAAA,EADM;AAENE,IAAAA,SAAS,EAAES,OAFL;AAGNR,IAAAA,OAHM;AAINc,IAAAA,gBAJM;AAKNb,IAAAA,IALM;AAMN,OAAGG;AANG,GAAP;AAQA","sourcesContent":["/**\n * External dependencies\n */\nimport type { ElementType } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useContextSystem, WordPressComponentProps } from '../../ui/context';\nimport * as styles from '../styles';\nimport { useItemGroupContext } from '../context';\nimport { useCx } from '../../utils/hooks/use-cx';\nimport type { ItemProps } from '../types';\n\nexport function useItem( props: WordPressComponentProps< ItemProps, 'div' > ) {\n\tconst {\n\t\tas: asProp,\n\t\tclassName,\n\t\tonClick,\n\t\trole = 'listitem',\n\t\tsize: sizeProp,\n\t\t...otherProps\n\t} = useContextSystem( props, 'Item' );\n\n\tconst { spacedAround, size: contextSize } = useItemGroupContext();\n\n\tconst size = sizeProp || contextSize;\n\n\tconst as =\n\t\tasProp ||\n\t\t( ( typeof onClick !== 'undefined'\n\t\t\t? 'button'\n\t\t\t: 'div' ) as ElementType );\n\n\tconst cx = useCx();\n\n\tconst classes = useMemo(\n\t\t() =>\n\t\t\tcx(\n\t\t\t\tas === 'button' && styles.unstyledButton,\n\t\t\t\tstyles.itemSizes[ size ] || styles.itemSizes.medium,\n\t\t\t\tstyles.item,\n\t\t\t\tspacedAround && styles.spacedAround,\n\t\t\t\tclassName\n\t\t\t),\n\t\t[ as, className, cx, size, spacedAround ]\n\t);\n\n\tconst wrapperClassName = cx( styles.itemWrapper );\n\n\treturn {\n\t\tas,\n\t\tclassName: classes,\n\t\tonClick,\n\t\twrapperClassName,\n\t\trole,\n\t\t...otherProps,\n\t};\n}\n"]}
@@ -17,12 +17,12 @@ var _compose = require("@wordpress/compose");
17
17
 
18
18
  var _i18n = require("@wordpress/i18n");
19
19
 
20
- var _icons = require("@wordpress/icons");
21
-
22
20
  var _blockEditor = require("@wordpress/block-editor");
23
21
 
24
22
  var _style = _interopRequireDefault(require("./style.scss"));
25
23
 
24
+ var _sparkles = _interopRequireDefault(require("./sparkles"));
25
+
26
26
  /**
27
27
  * External dependencies
28
28
  */
@@ -83,7 +83,7 @@ class MenuItem extends _element.Component {
83
83
  width: itemWidth
84
84
  }, isClipboardBlock && clipboardBlockStyles]
85
85
  }, blockIsNew && (0, _element.createElement)(_components.Icon, {
86
- icon: _icons.sparkles,
86
+ icon: _sparkles.default,
87
87
  style: _style.default.newIndicator
88
88
  }), (0, _element.createElement)(_reactNative.View, {
89
89
  style: modalIconStyle
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/mobile/inserter-button/index.native.js"],"names":["MenuItem","Component","constructor","arguments","onPress","bind","onSelect","item","props","render","getStylesFromColorScheme","itemWidth","maxWidth","modalIconWrapperStyle","styles","modalIconWrapper","modalIconWrapperDark","modalIconStyle","modalIcon","modalItemLabelStyle","modalItemLabel","modalItemLabelDark","clipboardBlockStyles","clipboardBlock","clipboardBlockDark","isClipboardBlock","id","blockTitle","title","blockIsNew","isNew","accessibilityLabelFormat","accessibilityLabel","touchableArea","isDisabled","disabled","modalItem","width","sparkles","newIndicator","icon","InserterButton","Styles"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, TouchableHighlight, Text } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { Icon } from '@wordpress/components';\nimport { withPreferredColorScheme } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { sparkles } from '@wordpress/icons';\nimport { BlockIcon } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nclass MenuItem extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onPress = this.onPress.bind( this );\n\t}\n\n\tonPress() {\n\t\tconst { onSelect, item } = this.props;\n\t\tonSelect( item );\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tgetStylesFromColorScheme,\n\t\t\titem,\n\t\t\titemWidth,\n\t\t\tmaxWidth,\n\t\t} = this.props;\n\n\t\tconst modalIconWrapperStyle = getStylesFromColorScheme(\n\t\t\tstyles.modalIconWrapper,\n\t\t\tstyles.modalIconWrapperDark\n\t\t);\n\t\tconst modalIconStyle = styles.modalIcon;\n\t\tconst modalItemLabelStyle = getStylesFromColorScheme(\n\t\t\tstyles.modalItemLabel,\n\t\t\tstyles.modalItemLabelDark\n\t\t);\n\n\t\tconst clipboardBlockStyles = getStylesFromColorScheme(\n\t\t\tstyles.clipboardBlock,\n\t\t\tstyles.clipboardBlockDark\n\t\t);\n\n\t\tconst isClipboardBlock = item.id === 'clipboard';\n\t\tconst blockTitle = isClipboardBlock ? __( 'Copied block' ) : item.title;\n\t\tconst blockIsNew = item.isNew === true;\n\t\tconst accessibilityLabelFormat = blockIsNew\n\t\t\t? // translators: Newly available block name. %s: The localized block name\n\t\t\t __( '%s block, newly available' )\n\t\t\t: // translators: Block name. %s: The localized block name\n\t\t\t __( '%s block' );\n\t\tconst accessibilityLabel = sprintf(\n\t\t\taccessibilityLabelFormat,\n\t\t\titem.title\n\t\t);\n\n\t\treturn (\n\t\t\t<TouchableHighlight\n\t\t\t\tstyle={ [\n\t\t\t\t\tstyles.touchableArea,\n\t\t\t\t\titem.isDisabled ? styles.disabled : null,\n\t\t\t\t] }\n\t\t\t\tunderlayColor=\"transparent\"\n\t\t\t\tactiveOpacity={ 0.5 }\n\t\t\t\taccessibilityRole=\"button\"\n\t\t\t\taccessibilityLabel={ accessibilityLabel }\n\t\t\t\tonPress={ this.onPress }\n\t\t\t\tdisabled={ item.isDisabled }\n\t\t\t>\n\t\t\t\t<View style={ [ styles.modalItem, { width: maxWidth } ] }>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\tmodalIconWrapperStyle,\n\t\t\t\t\t\t\titemWidth && {\n\t\t\t\t\t\t\t\twidth: itemWidth,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tisClipboardBlock && clipboardBlockStyles,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ blockIsNew && (\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\ticon={ sparkles }\n\t\t\t\t\t\t\t\tstyle={ styles.newIndicator }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<View style={ modalIconStyle }>\n\t\t\t\t\t\t\t<BlockIcon\n\t\t\t\t\t\t\t\ticon={ item.icon }\n\t\t\t\t\t\t\t\tsize={ modalIconStyle.width }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t\t<Text numberOfLines={ 3 } style={ modalItemLabelStyle }>\n\t\t\t\t\t\t{ blockTitle }\n\t\t\t\t\t</Text>\n\t\t\t\t</View>\n\t\t\t</TouchableHighlight>\n\t\t);\n\t}\n}\n\nconst InserterButton = withPreferredColorScheme( MenuItem );\n\nInserterButton.Styles = {\n\tmodalItem: styles.modalItem,\n\tmodalIconWrapper: styles.modalIconWrapper,\n};\n\nexport default InserterButton;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/mobile/inserter-button/index.native.js"],"names":["MenuItem","Component","constructor","arguments","onPress","bind","onSelect","item","props","render","getStylesFromColorScheme","itemWidth","maxWidth","modalIconWrapperStyle","styles","modalIconWrapper","modalIconWrapperDark","modalIconStyle","modalIcon","modalItemLabelStyle","modalItemLabel","modalItemLabelDark","clipboardBlockStyles","clipboardBlock","clipboardBlockDark","isClipboardBlock","id","blockTitle","title","blockIsNew","isNew","accessibilityLabelFormat","accessibilityLabel","touchableArea","isDisabled","disabled","modalItem","width","sparkles","newIndicator","icon","InserterButton","Styles"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, TouchableHighlight, Text } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { Icon } from '@wordpress/components';\nimport { withPreferredColorScheme } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { BlockIcon } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport sparkles from './sparkles';\nclass MenuItem extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onPress = this.onPress.bind( this );\n\t}\n\n\tonPress() {\n\t\tconst { onSelect, item } = this.props;\n\t\tonSelect( item );\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tgetStylesFromColorScheme,\n\t\t\titem,\n\t\t\titemWidth,\n\t\t\tmaxWidth,\n\t\t} = this.props;\n\n\t\tconst modalIconWrapperStyle = getStylesFromColorScheme(\n\t\t\tstyles.modalIconWrapper,\n\t\t\tstyles.modalIconWrapperDark\n\t\t);\n\t\tconst modalIconStyle = styles.modalIcon;\n\t\tconst modalItemLabelStyle = getStylesFromColorScheme(\n\t\t\tstyles.modalItemLabel,\n\t\t\tstyles.modalItemLabelDark\n\t\t);\n\n\t\tconst clipboardBlockStyles = getStylesFromColorScheme(\n\t\t\tstyles.clipboardBlock,\n\t\t\tstyles.clipboardBlockDark\n\t\t);\n\n\t\tconst isClipboardBlock = item.id === 'clipboard';\n\t\tconst blockTitle = isClipboardBlock ? __( 'Copied block' ) : item.title;\n\t\tconst blockIsNew = item.isNew === true;\n\t\tconst accessibilityLabelFormat = blockIsNew\n\t\t\t? // translators: Newly available block name. %s: The localized block name\n\t\t\t __( '%s block, newly available' )\n\t\t\t: // translators: Block name. %s: The localized block name\n\t\t\t __( '%s block' );\n\t\tconst accessibilityLabel = sprintf(\n\t\t\taccessibilityLabelFormat,\n\t\t\titem.title\n\t\t);\n\n\t\treturn (\n\t\t\t<TouchableHighlight\n\t\t\t\tstyle={ [\n\t\t\t\t\tstyles.touchableArea,\n\t\t\t\t\titem.isDisabled ? styles.disabled : null,\n\t\t\t\t] }\n\t\t\t\tunderlayColor=\"transparent\"\n\t\t\t\tactiveOpacity={ 0.5 }\n\t\t\t\taccessibilityRole=\"button\"\n\t\t\t\taccessibilityLabel={ accessibilityLabel }\n\t\t\t\tonPress={ this.onPress }\n\t\t\t\tdisabled={ item.isDisabled }\n\t\t\t>\n\t\t\t\t<View style={ [ styles.modalItem, { width: maxWidth } ] }>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\tmodalIconWrapperStyle,\n\t\t\t\t\t\t\titemWidth && {\n\t\t\t\t\t\t\t\twidth: itemWidth,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tisClipboardBlock && clipboardBlockStyles,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ blockIsNew && (\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\ticon={ sparkles }\n\t\t\t\t\t\t\t\tstyle={ styles.newIndicator }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<View style={ modalIconStyle }>\n\t\t\t\t\t\t\t<BlockIcon\n\t\t\t\t\t\t\t\ticon={ item.icon }\n\t\t\t\t\t\t\t\tsize={ modalIconStyle.width }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t\t<Text numberOfLines={ 3 } style={ modalItemLabelStyle }>\n\t\t\t\t\t\t{ blockTitle }\n\t\t\t\t\t</Text>\n\t\t\t\t</View>\n\t\t\t</TouchableHighlight>\n\t\t);\n\t}\n}\n\nconst InserterButton = withPreferredColorScheme( MenuItem );\n\nInserterButton.Styles = {\n\tmodalItem: styles.modalItem,\n\tmodalIconWrapper: styles.modalIconWrapper,\n};\n\nexport default InserterButton;\n"]}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _element = require("@wordpress/element");
9
+
10
+ var _primitives = require("@wordpress/primitives");
11
+
12
+ /**
13
+ * WordPress dependencies
14
+ */
15
+ const sparkles = (0, _element.createElement)(_primitives.SVG, {
16
+ viewBox: "0 0 24 24",
17
+ fill: "none",
18
+ xmlns: "http://www.w3.org/2000/svg"
19
+ }, (0, _element.createElement)(_primitives.Path, {
20
+ d: "M10 11c-1.588-.479-4-.91-4-.91s2-.241 4-.454c1.8-.191 3.365-.502 4-3.181C14.635 3.775 15 1 15 1s.365 2.775 1 5.455c.635 2.679 2 2.969 4 3.181 2 .213 4 .455 4 .455s-2.412.43-4 .909c-1.588.479-3 1-4 4.546-.746 2.643-.893 4.948-1 5.454-.107-.506-.167-2.5-1-5.454C13 12 11.588 11.479 10 11zM7.333 3.5C6.803 3.333 6 3.182 6 3.182s.667-.085 1.333-.16c.6-.066 1.122-.175 1.334-1.113C8.878.971 9 0 9 0s.122.971.333 1.91c.212.937.667 1.038 1.334 1.113.666.074 1.333.159 1.333.159s-.804.15-1.333.318c-.53.167-1 .35-1.334 1.59C9.085 6.017 9.036 6.824 9 7c-.036-.177-.056-.875-.333-1.91-.334-1.24-.804-1.423-1.334-1.59zM2.444 18C1.474 17.713 0 17.454 0 17.454s1.222-.145 2.444-.272c1.1-.115 2.057-.302 2.445-1.91C5.277 13.666 5.5 12 5.5 12s.223 1.665.611 3.273c.388 1.607 1.222 1.781 2.445 1.909 1.222.127 2.444.273 2.444.273s-1.474.258-2.444.545c-.971.287-1.834.6-2.445 2.727-.456 1.586-.546 2.97-.611 3.273-.065-.304-.102-1.5-.611-3.273C4.278 18.6 3.415 18.287 2.444 18z",
21
+ fill: "#F0C930"
22
+ }));
23
+ var _default = sparkles;
24
+ exports.default = _default;
25
+ //# sourceMappingURL=sparkles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/components/src/mobile/inserter-button/sparkles.js"],"names":["sparkles"],"mappings":";;;;;;;;;AAGA;;AAHA;AACA;AACA;AAGA,MAAMA,QAAQ,GACb,4BAAC,eAAD;AAAK,EAAA,OAAO,EAAC,WAAb;AAAyB,EAAA,IAAI,EAAC,MAA9B;AAAqC,EAAA,KAAK,EAAC;AAA3C,GACC,4BAAC,gBAAD;AACC,EAAA,CAAC,EAAC,k8BADH;AAEC,EAAA,IAAI,EAAC;AAFN,EADD,CADD;eASeA,Q","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst sparkles = (\n\t<SVG viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t<Path\n\t\t\td=\"M10 11c-1.588-.479-4-.91-4-.91s2-.241 4-.454c1.8-.191 3.365-.502 4-3.181C14.635 3.775 15 1 15 1s.365 2.775 1 5.455c.635 2.679 2 2.969 4 3.181 2 .213 4 .455 4 .455s-2.412.43-4 .909c-1.588.479-3 1-4 4.546-.746 2.643-.893 4.948-1 5.454-.107-.506-.167-2.5-1-5.454C13 12 11.588 11.479 10 11zM7.333 3.5C6.803 3.333 6 3.182 6 3.182s.667-.085 1.333-.16c.6-.066 1.122-.175 1.334-1.113C8.878.971 9 0 9 0s.122.971.333 1.91c.212.937.667 1.038 1.334 1.113.666.074 1.333.159 1.333.159s-.804.15-1.333.318c-.53.167-1 .35-1.334 1.59C9.085 6.017 9.036 6.824 9 7c-.036-.177-.056-.875-.333-1.91-.334-1.24-.804-1.423-1.334-1.59zM2.444 18C1.474 17.713 0 17.454 0 17.454s1.222-.145 2.444-.272c1.1-.115 2.057-.302 2.445-1.91C5.277 13.666 5.5 12 5.5 12s.223 1.665.611 3.273c.388 1.607 1.222 1.781 2.445 1.909 1.222.127 2.444.273 2.444.273s-1.474.258-2.444.545c-.971.287-1.834.6-2.445 2.727-.456 1.586-.546 2.97-.611 3.273-.065-.304-.102-1.5-.611-3.273C4.278 18.6 3.415 18.287 2.444 18z\"\n\t\t\tfill=\"#F0C930\"\n\t\t/>\n\t</SVG>\n);\n\nexport default sparkles;\n"]}
@@ -15,8 +15,6 @@ var _classnames = _interopRequireDefault(require("classnames"));
15
15
 
16
16
  var _compose = require("@wordpress/compose");
17
17
 
18
- var _deprecated = _interopRequireDefault(require("@wordpress/deprecated"));
19
-
20
18
  var _keycodes = require("@wordpress/keycodes");
21
19
 
22
20
  var _i18n = require("@wordpress/i18n");
@@ -57,9 +55,7 @@ function Modal(props, forwardedRef) {
57
55
  focusOnMount = true,
58
56
  shouldCloseOnEsc = true,
59
57
  shouldCloseOnClickOutside = true,
60
- isDismissable,
61
- // Deprecated
62
- isDismissible = isDismissable || true,
58
+ isDismissible = true,
63
59
 
64
60
  /* accessibility */
65
61
  aria = {
@@ -103,13 +99,6 @@ function Modal(props, forwardedRef) {
103
99
  };
104
100
  }, []);
105
101
 
106
- if (isDismissable) {
107
- (0, _deprecated.default)('isDismissable prop of the Modal component', {
108
- since: '5.4',
109
- alternative: 'isDismissible prop (renamed) of the Modal component'
110
- });
111
- }
112
-
113
102
  function handleEscapeKeyDown(event) {
114
103
  if (shouldCloseOnEsc && event.keyCode === _keycodes.ESCAPE && !event.defaultPrevented) {
115
104
  event.preventDefault();
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/modal/index.js"],"names":["openModalCount","Modal","props","forwardedRef","bodyOpenClassName","role","title","focusOnMount","shouldCloseOnEsc","shouldCloseOnClickOutside","isDismissable","isDismissible","aria","labelledby","describedby","onRequestClose","icon","closeButtonLabel","children","style","overlayClassName","className","contentLabel","onKeyDown","isFullScreen","__experimentalHideHeader","ref","instanceId","headingId","focusOnMountRef","constrainedTabbingRef","focusReturnRef","focusOutsideProps","ariaHelper","hideApp","current","document","body","classList","add","remove","showApp","since","alternative","handleEscapeKeyDown","event","keyCode","ESCAPE","defaultPrevented","preventDefault","closeSmall"],"mappings":";;;;;;;;;AAUA;;;;AALA;;AAWA;;AAQA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AACA;;;;;;AAlCA;;AAEA;AACA;AACA;;AAGA;AACA;AACA;;AAoBA;AACA;AACA;AAKA;AACA,IAAIA,cAAc,GAAG,CAArB;;AAEA,SAASC,KAAT,CAAgBC,KAAhB,EAAuBC,YAAvB,EAAsC;AACrC,QAAM;AACLC,IAAAA,iBAAiB,GAAG,YADf;AAELC,IAAAA,IAAI,GAAG,QAFF;AAGLC,IAAAA,KAAK,GAAG,IAHH;AAILC,IAAAA,YAAY,GAAG,IAJV;AAKLC,IAAAA,gBAAgB,GAAG,IALd;AAMLC,IAAAA,yBAAyB,GAAG,IANvB;AAOLC,IAAAA,aAPK;AAOU;AACfC,IAAAA,aAAa,GAAGD,aAAa,IAAI,IAR5B;;AASL;AACAE,IAAAA,IAAI,GAAG;AACNC,MAAAA,UAAU,EAAE,IADN;AAENC,MAAAA,WAAW,EAAE;AAFP,KAVF;AAcLC,IAAAA,cAdK;AAeLC,IAAAA,IAfK;AAgBLC,IAAAA,gBAhBK;AAiBLC,IAAAA,QAjBK;AAkBLC,IAAAA,KAlBK;AAmBLC,IAAAA,gBAnBK;AAoBLC,IAAAA,SApBK;AAqBLC,IAAAA,YArBK;AAsBLC,IAAAA,SAtBK;AAuBLC,IAAAA,YAAY,GAAG,KAvBV;AAwBLC,IAAAA,wBAAwB,GAAG;AAxBtB,MAyBFvB,KAzBJ;AA2BA,QAAMwB,GAAG,GAAG,sBAAZ;AACA,QAAMC,UAAU,GAAG,4BAAe1B,KAAf,CAAnB;AACA,QAAM2B,SAAS,GAAGtB,KAAK,GACnB,2BAA2BqB,UAAY,EADpB,GAEpBf,IAAI,CAACC,UAFR;AAGA,QAAMgB,eAAe,GAAG,8BAAiBtB,YAAjB,CAAxB;AACA,QAAMuB,qBAAqB,GAAG,qCAA9B;AACA,QAAMC,cAAc,GAAG,8BAAvB;AACA,QAAMC,iBAAiB,GAAG,4CAAiBjB,cAAjB,CAA1B;AAEA,0BAAW,MAAM;AAChBf,IAAAA,cAAc;;AAEd,QAAKA,cAAc,KAAK,CAAxB,EAA4B;AAC3BiC,MAAAA,UAAU,CAACC,OAAX,CAAoBR,GAAG,CAACS,OAAxB;AACAC,MAAAA,QAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBC,GAAxB,CAA6BnC,iBAA7B;AACA;;AAED,WAAO,MAAM;AACZJ,MAAAA,cAAc;;AAEd,UAAKA,cAAc,KAAK,CAAxB,EAA4B;AAC3BoC,QAAAA,QAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBE,MAAxB,CAAgCpC,iBAAhC;AACA6B,QAAAA,UAAU,CAACQ,OAAX;AACA;AACD,KAPD;AAQA,GAhBD,EAgBG,EAhBH;;AAkBA,MAAK/B,aAAL,EAAqB;AACpB,6BAAY,2CAAZ,EAAyD;AACxDgC,MAAAA,KAAK,EAAE,KADiD;AAExDC,MAAAA,WAAW,EAAE;AAF2C,KAAzD;AAIA;;AAED,WAASC,mBAAT,CAA8BC,KAA9B,EAAsC;AACrC,QACCrC,gBAAgB,IAChBqC,KAAK,CAACC,OAAN,KAAkBC,gBADlB,IAEA,CAAEF,KAAK,CAACG,gBAHT,EAIE;AACDH,MAAAA,KAAK,CAACI,cAAN;;AACA,UAAKlC,cAAL,EAAsB;AACrBA,QAAAA,cAAc,CAAE8B,KAAF,CAAd;AACA;AACD;AACD;;AAED,SAAO,4BACN;AACA;AACC,IAAA,GAAG,EAAG,2BAAc,CAAEnB,GAAF,EAAOvB,YAAP,CAAd,CADP;AAEC,IAAA,SAAS,EAAG,yBACX,kCADW,EAEXiB,gBAFW,CAFb;AAMC,IAAA,SAAS,EAAGwB;AANb,KAQC,4BAAC,sBAAD;AAAe,IAAA,QAAQ,EAAGR;AAA1B,KACC;AACC,IAAA,SAAS,EAAG,yBACX,yBADW,EAEXf,SAFW,EAGX;AACC,wBAAkBG;AADnB,KAHW,CADb;AAQC,IAAA,KAAK,EAAGL,KART;AASC,IAAA,GAAG,EAAG,2BAAc,CACnBW,qBADmB,EAEnBC,cAFmB,EAGnBF,eAHmB,CAAd,CATP;AAcC,IAAA,IAAI,EAAGxB,IAdR;AAeC,kBAAaiB,YAfd;AAgBC,uBAAkBA,YAAY,GAAG,IAAH,GAAUM,SAhBzC;AAiBC,wBAAmBhB,IAAI,CAACE,WAjBzB;AAkBC,IAAA,QAAQ,EAAC;AAlBV,KAmBQL,yBAAyB,GAC7BuB,iBAD6B,GAE7B,EArBJ;AAsBC,IAAA,SAAS,EAAGT;AAtBb,MAwBC;AACC,IAAA,SAAS,EAAG,yBAAY,2BAAZ,EAAyC;AACpD,qBAAeE;AADqC,KAAzC,CADb;AAIC,IAAA,IAAI,EAAC;AAJN,KAMG,CAAEA,wBAAF,IACD;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACGT,IAAI,IACL;AACC,IAAA,SAAS,EAAC,kCADX;AAEC;AAFD,KAIGA,IAJH,CAFF,EASGV,KAAK,IACN;AACC,IAAA,EAAE,EAAGsB,SADN;AAEC,IAAA,SAAS,EAAC;AAFX,KAIGtB,KAJH,CAVF,CADD,EAmBGK,aAAa,IACd,4BAAC,eAAD;AACC,IAAA,OAAO,EAAGI,cADX;AAEC,IAAA,IAAI,EAAGmC,iBAFR;AAGC,IAAA,KAAK,EACJjC,gBAAgB,IAChB,cAAI,cAAJ;AALF,IApBF,CAPF,EAsCGC,QAtCH,CAxBD,CADD,CARD,CAFM,EA8ENkB,QAAQ,CAACC,IA9EH,CAAP;AAgFA;;eAEc,yBAAYpC,KAAZ,C","sourcesContent":["//@ts-nocheck\n\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tcreatePortal,\n\tuseEffect,\n\tuseRef,\n\tforwardRef,\n} from '@wordpress/element';\nimport {\n\tuseInstanceId,\n\tuseFocusReturn,\n\tuseFocusOnMount,\n\t__experimentalUseFocusOutside as useFocusOutside,\n\tuseConstrainedTabbing,\n\tuseMergeRefs,\n} from '@wordpress/compose';\nimport deprecated from '@wordpress/deprecated';\nimport { ESCAPE } from '@wordpress/keycodes';\nimport { __ } from '@wordpress/i18n';\nimport { closeSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport * as ariaHelper from './aria-helper';\nimport Button from '../button';\nimport StyleProvider from '../style-provider';\n\n// Used to count the number of open modals.\nlet openModalCount = 0;\n\nfunction Modal( props, forwardedRef ) {\n\tconst {\n\t\tbodyOpenClassName = 'modal-open',\n\t\trole = 'dialog',\n\t\ttitle = null,\n\t\tfocusOnMount = true,\n\t\tshouldCloseOnEsc = true,\n\t\tshouldCloseOnClickOutside = true,\n\t\tisDismissable, // Deprecated\n\t\tisDismissible = isDismissable || true,\n\t\t/* accessibility */\n\t\taria = {\n\t\t\tlabelledby: null,\n\t\t\tdescribedby: null,\n\t\t},\n\t\tonRequestClose,\n\t\ticon,\n\t\tcloseButtonLabel,\n\t\tchildren,\n\t\tstyle,\n\t\toverlayClassName,\n\t\tclassName,\n\t\tcontentLabel,\n\t\tonKeyDown,\n\t\tisFullScreen = false,\n\t\t__experimentalHideHeader = false,\n\t} = props;\n\n\tconst ref = useRef();\n\tconst instanceId = useInstanceId( Modal );\n\tconst headingId = title\n\t\t? `components-modal-header-${ instanceId }`\n\t\t: aria.labelledby;\n\tconst focusOnMountRef = useFocusOnMount( focusOnMount );\n\tconst constrainedTabbingRef = useConstrainedTabbing();\n\tconst focusReturnRef = useFocusReturn();\n\tconst focusOutsideProps = useFocusOutside( onRequestClose );\n\n\tuseEffect( () => {\n\t\topenModalCount++;\n\n\t\tif ( openModalCount === 1 ) {\n\t\t\tariaHelper.hideApp( ref.current );\n\t\t\tdocument.body.classList.add( bodyOpenClassName );\n\t\t}\n\n\t\treturn () => {\n\t\t\topenModalCount--;\n\n\t\t\tif ( openModalCount === 0 ) {\n\t\t\t\tdocument.body.classList.remove( bodyOpenClassName );\n\t\t\t\tariaHelper.showApp();\n\t\t\t}\n\t\t};\n\t}, [] );\n\n\tif ( isDismissable ) {\n\t\tdeprecated( 'isDismissable prop of the Modal component', {\n\t\t\tsince: '5.4',\n\t\t\talternative: 'isDismissible prop (renamed) of the Modal component',\n\t\t} );\n\t}\n\n\tfunction handleEscapeKeyDown( event ) {\n\t\tif (\n\t\t\tshouldCloseOnEsc &&\n\t\t\tevent.keyCode === ESCAPE &&\n\t\t\t! event.defaultPrevented\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\tif ( onRequestClose ) {\n\t\t\t\tonRequestClose( event );\n\t\t\t}\n\t\t}\n\t}\n\n\treturn createPortal(\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<div\n\t\t\tref={ useMergeRefs( [ ref, forwardedRef ] ) }\n\t\t\tclassName={ classnames(\n\t\t\t\t'components-modal__screen-overlay',\n\t\t\t\toverlayClassName\n\t\t\t) }\n\t\t\tonKeyDown={ handleEscapeKeyDown }\n\t\t>\n\t\t\t<StyleProvider document={ document }>\n\t\t\t\t<div\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'components-modal__frame',\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'is-full-screen': isFullScreen,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ style }\n\t\t\t\t\tref={ useMergeRefs( [\n\t\t\t\t\t\tconstrainedTabbingRef,\n\t\t\t\t\t\tfocusReturnRef,\n\t\t\t\t\t\tfocusOnMountRef,\n\t\t\t\t\t] ) }\n\t\t\t\t\trole={ role }\n\t\t\t\t\taria-label={ contentLabel }\n\t\t\t\t\taria-labelledby={ contentLabel ? null : headingId }\n\t\t\t\t\taria-describedby={ aria.describedby }\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t{ ...( shouldCloseOnClickOutside\n\t\t\t\t\t\t? focusOutsideProps\n\t\t\t\t\t\t: {} ) }\n\t\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ classnames( 'components-modal__content', {\n\t\t\t\t\t\t\t'hide-header': __experimentalHideHeader,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t\trole=\"document\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ! __experimentalHideHeader && (\n\t\t\t\t\t\t\t<div className=\"components-modal__header\">\n\t\t\t\t\t\t\t\t<div className=\"components-modal__header-heading-container\">\n\t\t\t\t\t\t\t\t\t{ icon && (\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-modal__icon-container\"\n\t\t\t\t\t\t\t\t\t\t\taria-hidden\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ icon }\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ title && (\n\t\t\t\t\t\t\t\t\t\t<h1\n\t\t\t\t\t\t\t\t\t\t\tid={ headingId }\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-modal__header-heading\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t{ isDismissible && (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tonClick={ onRequestClose }\n\t\t\t\t\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t\t\tcloseButtonLabel ||\n\t\t\t\t\t\t\t\t\t\t\t__( 'Close dialog' )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</StyleProvider>\n\t\t</div>,\n\t\tdocument.body\n\t);\n}\n\nexport default forwardRef( Modal );\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/modal/index.js"],"names":["openModalCount","Modal","props","forwardedRef","bodyOpenClassName","role","title","focusOnMount","shouldCloseOnEsc","shouldCloseOnClickOutside","isDismissible","aria","labelledby","describedby","onRequestClose","icon","closeButtonLabel","children","style","overlayClassName","className","contentLabel","onKeyDown","isFullScreen","__experimentalHideHeader","ref","instanceId","headingId","focusOnMountRef","constrainedTabbingRef","focusReturnRef","focusOutsideProps","ariaHelper","hideApp","current","document","body","classList","add","remove","showApp","handleEscapeKeyDown","event","keyCode","ESCAPE","defaultPrevented","preventDefault","closeSmall"],"mappings":"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","sourcesContent":["//@ts-nocheck\n\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tcreatePortal,\n\tuseEffect,\n\tuseRef,\n\tforwardRef,\n} from '@wordpress/element';\nimport {\n\tuseInstanceId,\n\tuseFocusReturn,\n\tuseFocusOnMount,\n\t__experimentalUseFocusOutside as useFocusOutside,\n\tuseConstrainedTabbing,\n\tuseMergeRefs,\n} from '@wordpress/compose';\nimport { ESCAPE } from '@wordpress/keycodes';\nimport { __ } from '@wordpress/i18n';\nimport { closeSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport * as ariaHelper from './aria-helper';\nimport Button from '../button';\nimport StyleProvider from '../style-provider';\n\n// Used to count the number of open modals.\nlet openModalCount = 0;\n\nfunction Modal( props, forwardedRef ) {\n\tconst {\n\t\tbodyOpenClassName = 'modal-open',\n\t\trole = 'dialog',\n\t\ttitle = null,\n\t\tfocusOnMount = true,\n\t\tshouldCloseOnEsc = true,\n\t\tshouldCloseOnClickOutside = true,\n\t\tisDismissible = true,\n\t\t/* accessibility */\n\t\taria = {\n\t\t\tlabelledby: null,\n\t\t\tdescribedby: null,\n\t\t},\n\t\tonRequestClose,\n\t\ticon,\n\t\tcloseButtonLabel,\n\t\tchildren,\n\t\tstyle,\n\t\toverlayClassName,\n\t\tclassName,\n\t\tcontentLabel,\n\t\tonKeyDown,\n\t\tisFullScreen = false,\n\t\t__experimentalHideHeader = false,\n\t} = props;\n\n\tconst ref = useRef();\n\tconst instanceId = useInstanceId( Modal );\n\tconst headingId = title\n\t\t? `components-modal-header-${ instanceId }`\n\t\t: aria.labelledby;\n\tconst focusOnMountRef = useFocusOnMount( focusOnMount );\n\tconst constrainedTabbingRef = useConstrainedTabbing();\n\tconst focusReturnRef = useFocusReturn();\n\tconst focusOutsideProps = useFocusOutside( onRequestClose );\n\n\tuseEffect( () => {\n\t\topenModalCount++;\n\n\t\tif ( openModalCount === 1 ) {\n\t\t\tariaHelper.hideApp( ref.current );\n\t\t\tdocument.body.classList.add( bodyOpenClassName );\n\t\t}\n\n\t\treturn () => {\n\t\t\topenModalCount--;\n\n\t\t\tif ( openModalCount === 0 ) {\n\t\t\t\tdocument.body.classList.remove( bodyOpenClassName );\n\t\t\t\tariaHelper.showApp();\n\t\t\t}\n\t\t};\n\t}, [] );\n\n\tfunction handleEscapeKeyDown( event ) {\n\t\tif (\n\t\t\tshouldCloseOnEsc &&\n\t\t\tevent.keyCode === ESCAPE &&\n\t\t\t! event.defaultPrevented\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\tif ( onRequestClose ) {\n\t\t\t\tonRequestClose( event );\n\t\t\t}\n\t\t}\n\t}\n\n\treturn createPortal(\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<div\n\t\t\tref={ useMergeRefs( [ ref, forwardedRef ] ) }\n\t\t\tclassName={ classnames(\n\t\t\t\t'components-modal__screen-overlay',\n\t\t\t\toverlayClassName\n\t\t\t) }\n\t\t\tonKeyDown={ handleEscapeKeyDown }\n\t\t>\n\t\t\t<StyleProvider document={ document }>\n\t\t\t\t<div\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'components-modal__frame',\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'is-full-screen': isFullScreen,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ style }\n\t\t\t\t\tref={ useMergeRefs( [\n\t\t\t\t\t\tconstrainedTabbingRef,\n\t\t\t\t\t\tfocusReturnRef,\n\t\t\t\t\t\tfocusOnMountRef,\n\t\t\t\t\t] ) }\n\t\t\t\t\trole={ role }\n\t\t\t\t\taria-label={ contentLabel }\n\t\t\t\t\taria-labelledby={ contentLabel ? null : headingId }\n\t\t\t\t\taria-describedby={ aria.describedby }\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t{ ...( shouldCloseOnClickOutside\n\t\t\t\t\t\t? focusOutsideProps\n\t\t\t\t\t\t: {} ) }\n\t\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ classnames( 'components-modal__content', {\n\t\t\t\t\t\t\t'hide-header': __experimentalHideHeader,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t\trole=\"document\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ! __experimentalHideHeader && (\n\t\t\t\t\t\t\t<div className=\"components-modal__header\">\n\t\t\t\t\t\t\t\t<div className=\"components-modal__header-heading-container\">\n\t\t\t\t\t\t\t\t\t{ icon && (\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-modal__icon-container\"\n\t\t\t\t\t\t\t\t\t\t\taria-hidden\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ icon }\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ title && (\n\t\t\t\t\t\t\t\t\t\t<h1\n\t\t\t\t\t\t\t\t\t\t\tid={ headingId }\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-modal__header-heading\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t{ isDismissible && (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tonClick={ onRequestClose }\n\t\t\t\t\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t\t\tcloseButtonLabel ||\n\t\t\t\t\t\t\t\t\t\t\t__( 'Close dialog' )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</StyleProvider>\n\t\t</div>,\n\t\tdocument.body\n\t);\n}\n\nexport default forwardRef( Modal );\n"]}
@@ -12,8 +12,8 @@ var _element = require("@wordpress/element");
12
12
  */
13
13
  const initialContextValue = {
14
14
  location: {},
15
- push: () => {},
16
- pop: () => {}
15
+ goTo: () => {},
16
+ goBack: () => {}
17
17
  };
18
18
  const NavigatorContext = (0, _element.createContext)(initialContextValue);
19
19
  exports.NavigatorContext = NavigatorContext;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/navigator/context.ts"],"names":["initialContextValue","location","push","pop","NavigatorContext"],"mappings":";;;;;;;AAGA;;AAHA;AACA;AACA;AAQA,MAAMA,mBAAyC,GAAG;AACjDC,EAAAA,QAAQ,EAAE,EADuC;AAEjDC,EAAAA,IAAI,EAAE,MAAM,CAAE,CAFmC;AAGjDC,EAAAA,GAAG,EAAE,MAAM,CAAE;AAHoC,CAAlD;AAKO,MAAMC,gBAAgB,GAAG,4BAAeJ,mBAAf,CAAzB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { NavigatorContext as NavigatorContextType } from './types';\n\nconst initialContextValue: NavigatorContextType = {\n\tlocation: {},\n\tpush: () => {},\n\tpop: () => {},\n};\nexport const NavigatorContext = createContext( initialContextValue );\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/navigator/context.ts"],"names":["initialContextValue","location","goTo","goBack","NavigatorContext"],"mappings":";;;;;;;AAGA;;AAHA;AACA;AACA;AAQA,MAAMA,mBAAyC,GAAG;AACjDC,EAAAA,QAAQ,EAAE,EADuC;AAEjDC,EAAAA,IAAI,EAAE,MAAM,CAAE,CAFmC;AAGjDC,EAAAA,MAAM,EAAE,MAAM,CAAE;AAHiC,CAAlD;AAKO,MAAMC,gBAAgB,GAAG,4BAAeJ,mBAAf,CAAzB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { NavigatorContext as NavigatorContextType } from './types';\n\nconst initialContextValue: NavigatorContextType = {\n\tlocation: {},\n\tgoTo: () => {},\n\tgoBack: () => {},\n};\nexport const NavigatorContext = createContext( initialContextValue );\n"]}
@@ -29,7 +29,7 @@ var _ref = process.env.NODE_ENV === "production" ? {
29
29
  } : {
30
30
  name: "192ebb7-classes",
31
31
  styles: "overflow-x:hidden;label:classes;",
32
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvbmF2aWdhdG9yL25hdmlnYXRvci1wcm92aWRlci9jb21wb25lbnQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlHWSIsImZpbGUiOiJAd29yZHByZXNzL2NvbXBvbmVudHMvc3JjL25hdmlnYXRvci9uYXZpZ2F0b3ItcHJvdmlkZXIvY29tcG9uZW50LnRzeCIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB0eXBlIHsgUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuXG4vKipcbiAqIFdvcmRQcmVzcyBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0IHsgdXNlTWVtbywgdXNlU3RhdGUsIHVzZUNhbGxiYWNrIH0gZnJvbSAnQHdvcmRwcmVzcy9lbGVtZW50JztcblxuLyoqXG4gKiBJbnRlcm5hbCBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0IHtcblx0Y29udGV4dENvbm5lY3QsXG5cdHVzZUNvbnRleHRTeXN0ZW0sXG5cdFdvcmRQcmVzc0NvbXBvbmVudFByb3BzLFxufSBmcm9tICcuLi8uLi91aS9jb250ZXh0JztcbmltcG9ydCB7IHVzZUN4IH0gZnJvbSAnLi4vLi4vdXRpbHMvaG9va3MvdXNlLWN4JztcbmltcG9ydCB7IFZpZXcgfSBmcm9tICcuLi8uLi92aWV3JztcbmltcG9ydCB7IE5hdmlnYXRvckNvbnRleHQgfSBmcm9tICcuLi9jb250ZXh0JztcbmltcG9ydCB0eXBlIHtcblx0TmF2aWdhdG9yUHJvdmlkZXJQcm9wcyxcblx0TmF2aWdhdG9yTG9jYXRpb24sXG5cdE5hdmlnYXRvckNvbnRleHQgYXMgTmF2aWdhdG9yQ29udGV4dFR5cGUsXG59IGZyb20gJy4uL3R5cGVzJztcblxuZnVuY3Rpb24gTmF2aWdhdG9yUHJvdmlkZXIoXG5cdHByb3BzOiBXb3JkUHJlc3NDb21wb25lbnRQcm9wczwgTmF2aWdhdG9yUHJvdmlkZXJQcm9wcywgJ2RpdicgPixcblx0Zm9yd2FyZGVkUmVmOiBSZWY8IGFueSA+XG4pIHtcblx0Y29uc3Qge1xuXHRcdGluaXRpYWxQYXRoLFxuXHRcdGNoaWxkcmVuLFxuXHRcdGNsYXNzTmFtZSxcblx0XHQuLi5vdGhlclByb3BzXG5cdH0gPSB1c2VDb250ZXh0U3lzdGVtKCBwcm9wcywgJ05hdmlnYXRvclByb3ZpZGVyJyApO1xuXG5cdGNvbnN0IFsgbG9jYXRpb25IaXN0b3J5LCBzZXRMb2NhdGlvbkhpc3RvcnkgXSA9IHVzZVN0YXRlPFxuXHRcdE5hdmlnYXRvckxvY2F0aW9uW11cblx0PiggW1xuXHRcdHtcblx0XHRcdHBhdGg6IGluaXRpYWxQYXRoLFxuXHRcdFx0aXNCYWNrOiBmYWxzZSxcblx0XHRcdGlzSW5pdGlhbDogdHJ1ZSxcblx0XHR9LFxuXHRdICk7XG5cblx0Y29uc3QgcHVzaDogTmF2aWdhdG9yQ29udGV4dFR5cGVbICdwdXNoJyBdID0gdXNlQ2FsbGJhY2soXG5cdFx0KCBwYXRoLCBvcHRpb25zICkgPT4ge1xuXHRcdFx0Ly8gRm9yY2UgdGhlIGBpc0JhY2tgIGZsYWcgdG8gYGZhbHNlYCB3aGVuIG5hdmlnYXRpbmcgZm9yd2FyZCBvbiBib3RoIHRoZVxuXHRcdFx0Ly8gcHJldmlvdXMgYW5kIHRoZSBuZXcgbG9jYXRpb24uXG5cdFx0XHQvLyBBbHNvIGZvcmNlIHRoZSBgaXNJbml0aWFsYCBmbGFnIHRvIGBmYWxzZWAgZm9yIHRoZSBuZXcgbG9jYXRpb24sIHRvIG1ha2Vcblx0XHRcdC8vIHN1cmUgaXQgZG9lc24ndCBnZXQgb3ZlcnJpZGRlbiBieSBtaXN0YWtlLlxuXHRcdFx0c2V0TG9jYXRpb25IaXN0b3J5KCBbXG5cdFx0XHRcdC4uLmxvY2F0aW9uSGlzdG9yeS5zbGljZSggMCwgLTEgKSxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdC4uLmxvY2F0aW9uSGlzdG9yeVsgbG9jYXRpb25IaXN0b3J5Lmxlbmd0aCAtIDEgXSxcblx0XHRcdFx0XHRpc0JhY2s6IGZhbHNlLFxuXHRcdFx0XHR9LFxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0Li4ub3B0aW9ucyxcblx0XHRcdFx0XHRwYXRoLFxuXHRcdFx0XHRcdGlzQmFjazogZmFsc2UsXG5cdFx0XHRcdFx0aXNJbml0aWFsOiBmYWxzZSxcblx0XHRcdFx0fSxcblx0XHRcdF0gKTtcblx0XHR9LFxuXHRcdFsgbG9jYXRpb25IaXN0b3J5IF1cblx0KTtcblxuXHRjb25zdCBwb3A6IE5hdmlnYXRvckNvbnRleHRUeXBlWyAncG9wJyBdID0gdXNlQ2FsbGJhY2soICgpID0+IHtcblx0XHRpZiAoIGxvY2F0aW9uSGlzdG9yeS5sZW5ndGggPiAxICkge1xuXHRcdFx0Ly8gRm9yY2UgdGhlIGBpc0JhY2tgIGZsYWcgdG8gYHRydWVgIHdoZW4gbmF2aWdhdGluZyBiYWNrLlxuXHRcdFx0c2V0TG9jYXRpb25IaXN0b3J5KCBbXG5cdFx0XHRcdC4uLmxvY2F0aW9uSGlzdG9yeS5zbGljZSggMCwgLTIgKSxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdC4uLmxvY2F0aW9uSGlzdG9yeVsgbG9jYXRpb25IaXN0b3J5Lmxlbmd0aCAtIDIgXSxcblx0XHRcdFx0XHRpc0JhY2s6IHRydWUsXG5cdFx0XHRcdH0sXG5cdFx0XHRdICk7XG5cdFx0fVxuXHR9LCBbIGxvY2F0aW9uSGlzdG9yeSBdICk7XG5cblx0Y29uc3QgbmF2aWdhdG9yQ29udGV4dFZhbHVlOiBOYXZpZ2F0b3JDb250ZXh0VHlwZSA9IHVzZU1lbW8oXG5cdFx0KCkgPT4gKCB7XG5cdFx0XHRsb2NhdGlvbjogbG9jYXRpb25IaXN0b3J5WyBsb2NhdGlvbkhpc3RvcnkubGVuZ3RoIC0gMSBdLFxuXHRcdFx0cHVzaCxcblx0XHRcdHBvcCxcblx0XHR9ICksXG5cdFx0WyBsb2NhdGlvbkhpc3RvcnksIHB1c2gsIHBvcCBdXG5cdCk7XG5cblx0Y29uc3QgY3ggPSB1c2VDeCgpO1xuXHRjb25zdCBjbGFzc2VzID0gdXNlTWVtbyhcblx0XHQvLyBQcmV2ZW50cyBob3Jpem9udGFsIG92ZXJmbG93IHdoaWxlIGFuaW1hdGluZyBzY3JlZW4gdHJhbnNpdGlvbnNcblx0XHQoKSA9PiBjeCggY3NzKCB7IG92ZXJmbG93WDogJ2hpZGRlbicgfSApLCBjbGFzc05hbWUgKSxcblx0XHRbIGNsYXNzTmFtZSBdXG5cdCk7XG5cblx0cmV0dXJuIChcblx0XHQ8VmlldyByZWY9eyBmb3J3YXJkZWRSZWYgfSBjbGFzc05hbWU9eyBjbGFzc2VzIH0geyAuLi5vdGhlclByb3BzIH0+XG5cdFx0XHQ8TmF2aWdhdG9yQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17IG5hdmlnYXRvckNvbnRleHRWYWx1ZSB9PlxuXHRcdFx0XHR7IGNoaWxkcmVuIH1cblx0XHRcdDwvTmF2aWdhdG9yQ29udGV4dC5Qcm92aWRlcj5cblx0XHQ8L1ZpZXc+XG5cdCk7XG59XG5cbi8qKlxuICogVGhlIGBOYXZpZ2F0b3JQcm92aWRlcmAgY29tcG9uZW50IGFsbG93cyByZW5kZXJpbmcgbmVzdGVkIHBhbmVscyBvciBtZW51cyAodmlhIHRoZSBgTmF2aWdhdG9yU2NyZWVuYCBjb21wb25lbnQpIGFuZCBuYXZpZ2F0ZSBiZXR3ZWVuIHRoZXNlIGRpZmZlcmVudCBzdGF0ZXMgKHZpYSB0aGUgYHVzZU5hdmlnYXRvcmAgaG9vaykuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGpzeFxuICogaW1wb3J0IHtcbiAqICAgX19leHBlcmltZW50YWxOYXZpZ2F0b3JQcm92aWRlciBhcyBOYXZpZ2F0b3JQcm92aWRlcixcbiAqICAgX19leHBlcmltZW50YWxOYXZpZ2F0b3JTY3JlZW4gYXMgTmF2aWdhdG9yU2NyZWVuLFxuICogICBfX2V4cGVyaW1lbnRhbFVzZU5hdmlnYXRvciBhcyB1c2VOYXZpZ2F0b3IsXG4gKiB9IGZyb20gJ0B3b3JkcHJlc3MvY29tcG9uZW50cyc7XG4gKlxuICogZnVuY3Rpb24gTmF2aWdhdG9yQnV0dG9uKCB7IHBhdGgsIC4uLnByb3BzIH0gKSB7XG4gKiAgY29uc3QgeyBwdXNoIH0gPSB1c2VOYXZpZ2F0b3IoKTtcbiAqICByZXR1cm4gKFxuICogICAgPEJ1dHRvblxuICogICAgICB2YXJpYW50PVwicHJpbWFyeVwiXG4gKiAgICAgIG9uQ2xpY2s9eyAoKSA9PiBwdXNoKCBwYXRoICkgfVxuICogICAgICB7IC4uLnByb3BzIH1cbiAqICAgIC8+XG4gKiAgKTtcbiAqIH1cbiAqXG4gKiBmdW5jdGlvbiBOYXZpZ2F0b3JCYWNrQnV0dG9uKCBwcm9wcyApIHtcbiAqICAgY29uc3QgeyBwb3AgfSA9IHVzZU5hdmlnYXRvcigpO1xuICogICByZXR1cm4gPEJ1dHRvbiB2YXJpYW50PVwic2Vjb25kYXJ5XCIgb25DbGljaz17ICgpID0+IHBvcCgpIH0geyAuLi5wcm9wcyB9IC8+O1xuICogfVxuICpcbiAqIGNvbnN0IE15TmF2aWdhdGlvbiA9ICgpID0+IChcbiAqICAgPE5hdmlnYXRvclByb3ZpZGVyIGluaXRpYWxQYXRoPVwiL1wiPlxuICogICAgIDxOYXZpZ2F0b3JTY3JlZW4gcGF0aD1cIi9cIj5cbiAqICAgICAgIDxwPlRoaXMgaXMgdGhlIGhvbWUgc2NyZWVuLjwvcD5cbiAqICAgXHQgICA8TmF2aWdhdG9yQnV0dG9uIHBhdGg9XCIvY2hpbGRcIj5cbiAqICAgICAgICAgIE5hdmlnYXRlIHRvIGNoaWxkIHNjcmVlbi5cbiAqICAgICAgIDwvTmF2aWdhdG9yQnV0dG9uPlxuICogICAgIDwvTmF2aWdhdG9yU2NyZWVuPlxuICpcbiAqICAgICA8TmF2aWdhdG9yU2NyZWVuIHBhdGg9XCIvY2hpbGRcIj5cbiAqICAgICAgIDxwPlRoaXMgaXMgdGhlIGNoaWxkIHNjcmVlbi48L3A+XG4gKiAgICAgICA8TmF2aWdhdG9yQmFja0J1dHRvbj5HbyBiYWNrPC9OYXZpZ2F0b3JCYWNrQnV0dG9uPlxuICogICAgIDwvTmF2aWdhdG9yU2NyZWVuPlxuICogICA8L05hdmlnYXRvclByb3ZpZGVyPlxuICogKTtcbiAqIGBgYFxuICovXG5jb25zdCBDb25uZWN0ZWROYXZpZ2F0b3JQcm92aWRlciA9IGNvbnRleHRDb25uZWN0KFxuXHROYXZpZ2F0b3JQcm92aWRlcixcblx0J05hdmlnYXRvclByb3ZpZGVyJ1xuKTtcblxuZXhwb3J0IGRlZmF1bHQgQ29ubmVjdGVkTmF2aWdhdG9yUHJvdmlkZXI7XG4iXX0= */",
32
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvbmF2aWdhdG9yL25hdmlnYXRvci1wcm92aWRlci9jb21wb25lbnQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdGWSIsImZpbGUiOiJAd29yZHByZXNzL2NvbXBvbmVudHMvc3JjL25hdmlnYXRvci9uYXZpZ2F0b3ItcHJvdmlkZXIvY29tcG9uZW50LnRzeCIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB0eXBlIHsgUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuXG4vKipcbiAqIFdvcmRQcmVzcyBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0IHsgdXNlTWVtbywgdXNlU3RhdGUsIHVzZUNhbGxiYWNrIH0gZnJvbSAnQHdvcmRwcmVzcy9lbGVtZW50JztcblxuLyoqXG4gKiBJbnRlcm5hbCBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0IHtcblx0Y29udGV4dENvbm5lY3QsXG5cdHVzZUNvbnRleHRTeXN0ZW0sXG5cdFdvcmRQcmVzc0NvbXBvbmVudFByb3BzLFxufSBmcm9tICcuLi8uLi91aS9jb250ZXh0JztcbmltcG9ydCB7IHVzZUN4IH0gZnJvbSAnLi4vLi4vdXRpbHMvaG9va3MvdXNlLWN4JztcbmltcG9ydCB7IFZpZXcgfSBmcm9tICcuLi8uLi92aWV3JztcbmltcG9ydCB7IE5hdmlnYXRvckNvbnRleHQgfSBmcm9tICcuLi9jb250ZXh0JztcbmltcG9ydCB0eXBlIHtcblx0TmF2aWdhdG9yUHJvdmlkZXJQcm9wcyxcblx0TmF2aWdhdG9yTG9jYXRpb24sXG5cdE5hdmlnYXRvckNvbnRleHQgYXMgTmF2aWdhdG9yQ29udGV4dFR5cGUsXG59IGZyb20gJy4uL3R5cGVzJztcblxuZnVuY3Rpb24gTmF2aWdhdG9yUHJvdmlkZXIoXG5cdHByb3BzOiBXb3JkUHJlc3NDb21wb25lbnRQcm9wczwgTmF2aWdhdG9yUHJvdmlkZXJQcm9wcywgJ2RpdicgPixcblx0Zm9yd2FyZGVkUmVmOiBSZWY8IGFueSA+XG4pIHtcblx0Y29uc3Qge1xuXHRcdGluaXRpYWxQYXRoLFxuXHRcdGNoaWxkcmVuLFxuXHRcdGNsYXNzTmFtZSxcblx0XHQuLi5vdGhlclByb3BzXG5cdH0gPSB1c2VDb250ZXh0U3lzdGVtKCBwcm9wcywgJ05hdmlnYXRvclByb3ZpZGVyJyApO1xuXG5cdGNvbnN0IFsgbG9jYXRpb25IaXN0b3J5LCBzZXRMb2NhdGlvbkhpc3RvcnkgXSA9IHVzZVN0YXRlPFxuXHRcdE5hdmlnYXRvckxvY2F0aW9uW11cblx0PiggW1xuXHRcdHtcblx0XHRcdHBhdGg6IGluaXRpYWxQYXRoLFxuXHRcdH0sXG5cdF0gKTtcblxuXHRjb25zdCBnb1RvOiBOYXZpZ2F0b3JDb250ZXh0VHlwZVsgJ2dvVG8nIF0gPSB1c2VDYWxsYmFjayhcblx0XHQoIHBhdGgsIG9wdGlvbnMgPSB7fSApID0+IHtcblx0XHRcdHNldExvY2F0aW9uSGlzdG9yeSggW1xuXHRcdFx0XHQuLi5sb2NhdGlvbkhpc3RvcnksXG5cdFx0XHRcdHtcblx0XHRcdFx0XHQuLi5vcHRpb25zLFxuXHRcdFx0XHRcdHBhdGgsXG5cdFx0XHRcdFx0aXNCYWNrOiBmYWxzZSxcblx0XHRcdFx0fSxcblx0XHRcdF0gKTtcblx0XHR9LFxuXHRcdFsgbG9jYXRpb25IaXN0b3J5IF1cblx0KTtcblxuXHRjb25zdCBnb0JhY2s6IE5hdmlnYXRvckNvbnRleHRUeXBlWyAnZ29CYWNrJyBdID0gdXNlQ2FsbGJhY2soICgpID0+IHtcblx0XHRpZiAoIGxvY2F0aW9uSGlzdG9yeS5sZW5ndGggPiAxICkge1xuXHRcdFx0c2V0TG9jYXRpb25IaXN0b3J5KCBbXG5cdFx0XHRcdC4uLmxvY2F0aW9uSGlzdG9yeS5zbGljZSggMCwgLTIgKSxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdC4uLmxvY2F0aW9uSGlzdG9yeVsgbG9jYXRpb25IaXN0b3J5Lmxlbmd0aCAtIDIgXSxcblx0XHRcdFx0XHRpc0JhY2s6IHRydWUsXG5cdFx0XHRcdH0sXG5cdFx0XHRdICk7XG5cdFx0fVxuXHR9LCBbIGxvY2F0aW9uSGlzdG9yeSBdICk7XG5cblx0Y29uc3QgbmF2aWdhdG9yQ29udGV4dFZhbHVlOiBOYXZpZ2F0b3JDb250ZXh0VHlwZSA9IHVzZU1lbW8oXG5cdFx0KCkgPT4gKCB7XG5cdFx0XHRsb2NhdGlvbjoge1xuXHRcdFx0XHQuLi5sb2NhdGlvbkhpc3RvcnlbIGxvY2F0aW9uSGlzdG9yeS5sZW5ndGggLSAxIF0sXG5cdFx0XHRcdGlzSW5pdGlhbDogbG9jYXRpb25IaXN0b3J5Lmxlbmd0aCA9PT0gMSxcblx0XHRcdH0sXG5cdFx0XHRnb1RvLFxuXHRcdFx0Z29CYWNrLFxuXHRcdH0gKSxcblx0XHRbIGxvY2F0aW9uSGlzdG9yeSwgZ29UbywgZ29CYWNrIF1cblx0KTtcblxuXHRjb25zdCBjeCA9IHVzZUN4KCk7XG5cdGNvbnN0IGNsYXNzZXMgPSB1c2VNZW1vKFxuXHRcdC8vIFByZXZlbnRzIGhvcml6b250YWwgb3ZlcmZsb3cgd2hpbGUgYW5pbWF0aW5nIHNjcmVlbiB0cmFuc2l0aW9uc1xuXHRcdCgpID0+IGN4KCBjc3MoIHsgb3ZlcmZsb3dYOiAnaGlkZGVuJyB9ICksIGNsYXNzTmFtZSApLFxuXHRcdFsgY2xhc3NOYW1lLCBjeCBdXG5cdCk7XG5cblx0cmV0dXJuIChcblx0XHQ8VmlldyByZWY9eyBmb3J3YXJkZWRSZWYgfSBjbGFzc05hbWU9eyBjbGFzc2VzIH0geyAuLi5vdGhlclByb3BzIH0+XG5cdFx0XHQ8TmF2aWdhdG9yQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17IG5hdmlnYXRvckNvbnRleHRWYWx1ZSB9PlxuXHRcdFx0XHR7IGNoaWxkcmVuIH1cblx0XHRcdDwvTmF2aWdhdG9yQ29udGV4dC5Qcm92aWRlcj5cblx0XHQ8L1ZpZXc+XG5cdCk7XG59XG5cbi8qKlxuICogVGhlIGBOYXZpZ2F0b3JQcm92aWRlcmAgY29tcG9uZW50IGFsbG93cyByZW5kZXJpbmcgbmVzdGVkIHBhbmVscyBvciBtZW51cyAodmlhIHRoZSBgTmF2aWdhdG9yU2NyZWVuYCBjb21wb25lbnQpIGFuZCBuYXZpZ2F0ZSBiZXR3ZWVuIHRoZXNlIGRpZmZlcmVudCBzdGF0ZXMgKHZpYSB0aGUgYHVzZU5hdmlnYXRvcmAgaG9vaykuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGpzeFxuICogaW1wb3J0IHtcbiAqICAgX19leHBlcmltZW50YWxOYXZpZ2F0b3JQcm92aWRlciBhcyBOYXZpZ2F0b3JQcm92aWRlcixcbiAqICAgX19leHBlcmltZW50YWxOYXZpZ2F0b3JTY3JlZW4gYXMgTmF2aWdhdG9yU2NyZWVuLFxuICogICBfX2V4cGVyaW1lbnRhbFVzZU5hdmlnYXRvciBhcyB1c2VOYXZpZ2F0b3IsXG4gKiB9IGZyb20gJ0B3b3JkcHJlc3MvY29tcG9uZW50cyc7XG4gKlxuICogZnVuY3Rpb24gTmF2aWdhdG9yQnV0dG9uKCB7IHBhdGgsIC4uLnByb3BzIH0gKSB7XG4gKiAgY29uc3QgeyBnb1RvIH0gPSB1c2VOYXZpZ2F0b3IoKTtcbiAqICByZXR1cm4gKFxuICogICAgPEJ1dHRvblxuICogICAgICB2YXJpYW50PVwicHJpbWFyeVwiXG4gKiAgICAgIG9uQ2xpY2s9eyAoKSA9PiBnb1RvKCBwYXRoICkgfVxuICogICAgICB7IC4uLnByb3BzIH1cbiAqICAgIC8+XG4gKiAgKTtcbiAqIH1cbiAqXG4gKiBmdW5jdGlvbiBOYXZpZ2F0b3JCYWNrQnV0dG9uKCBwcm9wcyApIHtcbiAqICAgY29uc3QgeyBnb0JhY2sgfSA9IHVzZU5hdmlnYXRvcigpO1xuICogICByZXR1cm4gPEJ1dHRvbiB2YXJpYW50PVwic2Vjb25kYXJ5XCIgb25DbGljaz17ICgpID0+IGdvQmFjaygpIH0geyAuLi5wcm9wcyB9IC8+O1xuICogfVxuICpcbiAqIGNvbnN0IE15TmF2aWdhdGlvbiA9ICgpID0+IChcbiAqICAgPE5hdmlnYXRvclByb3ZpZGVyIGluaXRpYWxQYXRoPVwiL1wiPlxuICogICAgIDxOYXZpZ2F0b3JTY3JlZW4gcGF0aD1cIi9cIj5cbiAqICAgICAgIDxwPlRoaXMgaXMgdGhlIGhvbWUgc2NyZWVuLjwvcD5cbiAqICAgXHQgICA8TmF2aWdhdG9yQnV0dG9uIHBhdGg9XCIvY2hpbGRcIj5cbiAqICAgICAgICAgIE5hdmlnYXRlIHRvIGNoaWxkIHNjcmVlbi5cbiAqICAgICAgIDwvTmF2aWdhdG9yQnV0dG9uPlxuICogICAgIDwvTmF2aWdhdG9yU2NyZWVuPlxuICpcbiAqICAgICA8TmF2aWdhdG9yU2NyZWVuIHBhdGg9XCIvY2hpbGRcIj5cbiAqICAgICAgIDxwPlRoaXMgaXMgdGhlIGNoaWxkIHNjcmVlbi48L3A+XG4gKiAgICAgICA8TmF2aWdhdG9yQmFja0J1dHRvbj5HbyBiYWNrPC9OYXZpZ2F0b3JCYWNrQnV0dG9uPlxuICogICAgIDwvTmF2aWdhdG9yU2NyZWVuPlxuICogICA8L05hdmlnYXRvclByb3ZpZGVyPlxuICogKTtcbiAqIGBgYFxuICovXG5jb25zdCBDb25uZWN0ZWROYXZpZ2F0b3JQcm92aWRlciA9IGNvbnRleHRDb25uZWN0KFxuXHROYXZpZ2F0b3JQcm92aWRlcixcblx0J05hdmlnYXRvclByb3ZpZGVyJ1xuKTtcblxuZXhwb3J0IGRlZmF1bHQgQ29ubmVjdGVkTmF2aWdhdG9yUHJvdmlkZXI7XG4iXX0= */",
33
33
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
34
34
  };
35
35
 
@@ -41,39 +41,32 @@ function NavigatorProvider(props, forwardedRef) {
41
41
  ...otherProps
42
42
  } = (0, _context.useContextSystem)(props, 'NavigatorProvider');
43
43
  const [locationHistory, setLocationHistory] = (0, _element.useState)([{
44
- path: initialPath,
45
- isBack: false,
46
- isInitial: true
44
+ path: initialPath
47
45
  }]);
48
- const push = (0, _element.useCallback)((path, options) => {
49
- // Force the `isBack` flag to `false` when navigating forward on both the
50
- // previous and the new location.
51
- // Also force the `isInitial` flag to `false` for the new location, to make
52
- // sure it doesn't get overridden by mistake.
53
- setLocationHistory([...locationHistory.slice(0, -1), { ...locationHistory[locationHistory.length - 1],
54
- isBack: false
55
- }, { ...options,
46
+ const goTo = (0, _element.useCallback)(function (path) {
47
+ let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
48
+ setLocationHistory([...locationHistory, { ...options,
56
49
  path,
57
- isBack: false,
58
- isInitial: false
50
+ isBack: false
59
51
  }]);
60
52
  }, [locationHistory]);
61
- const pop = (0, _element.useCallback)(() => {
53
+ const goBack = (0, _element.useCallback)(() => {
62
54
  if (locationHistory.length > 1) {
63
- // Force the `isBack` flag to `true` when navigating back.
64
55
  setLocationHistory([...locationHistory.slice(0, -2), { ...locationHistory[locationHistory.length - 2],
65
56
  isBack: true
66
57
  }]);
67
58
  }
68
59
  }, [locationHistory]);
69
60
  const navigatorContextValue = (0, _element.useMemo)(() => ({
70
- location: locationHistory[locationHistory.length - 1],
71
- push,
72
- pop
73
- }), [locationHistory, push, pop]);
61
+ location: { ...locationHistory[locationHistory.length - 1],
62
+ isInitial: locationHistory.length === 1
63
+ },
64
+ goTo,
65
+ goBack
66
+ }), [locationHistory, goTo, goBack]);
74
67
  const cx = (0, _useCx.useCx)();
75
68
  const classes = (0, _element.useMemo)( // Prevents horizontal overflow while animating screen transitions
76
- () => cx(_ref, className), [className]);
69
+ () => cx(_ref, className), [className, cx]);
77
70
  return (0, _element.createElement)(_view.View, (0, _extends2.default)({
78
71
  ref: forwardedRef,
79
72
  className: classes
@@ -93,19 +86,19 @@ function NavigatorProvider(props, forwardedRef) {
93
86
  * } from '@wordpress/components';
94
87
  *
95
88
  * function NavigatorButton( { path, ...props } ) {
96
- * const { push } = useNavigator();
89
+ * const { goTo } = useNavigator();
97
90
  * return (
98
91
  * <Button
99
92
  * variant="primary"
100
- * onClick={ () => push( path ) }
93
+ * onClick={ () => goTo( path ) }
101
94
  * { ...props }
102
95
  * />
103
96
  * );
104
97
  * }
105
98
  *
106
99
  * function NavigatorBackButton( props ) {
107
- * const { pop } = useNavigator();
108
- * return <Button variant="secondary" onClick={ () => pop() } { ...props } />;
100
+ * const { goBack } = useNavigator();
101
+ * return <Button variant="secondary" onClick={ () => goBack() } { ...props } />;
109
102
  * }
110
103
  *
111
104
  * const MyNavigation = () => (
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/navigator/navigator-provider/component.tsx"],"names":["NavigatorProvider","props","forwardedRef","initialPath","children","className","otherProps","locationHistory","setLocationHistory","path","isBack","isInitial","push","options","slice","length","pop","navigatorContextValue","location","cx","classes","ConnectedNavigatorProvider"],"mappings":";;;;;;;;;AASA;;;;AALA;;AAUA;;AAKA;;AACA;;AACA;;;;;;;;;;;;;;AAOA,SAASA,iBAAT,CACCC,KADD,EAECC,YAFD,EAGE;AACD,QAAM;AACLC,IAAAA,WADK;AAELC,IAAAA,QAFK;AAGLC,IAAAA,SAHK;AAIL,OAAGC;AAJE,MAKF,+BAAkBL,KAAlB,EAAyB,mBAAzB,CALJ;AAOA,QAAM,CAAEM,eAAF,EAAmBC,kBAAnB,IAA0C,uBAE7C,CACF;AACCC,IAAAA,IAAI,EAAEN,WADP;AAECO,IAAAA,MAAM,EAAE,KAFT;AAGCC,IAAAA,SAAS,EAAE;AAHZ,GADE,CAF6C,CAAhD;AAUA,QAAMC,IAAoC,GAAG,0BAC5C,CAAEH,IAAF,EAAQI,OAAR,KAAqB;AACpB;AACA;AACA;AACA;AACAL,IAAAA,kBAAkB,CAAE,CACnB,GAAGD,eAAe,CAACO,KAAhB,CAAuB,CAAvB,EAA0B,CAAC,CAA3B,CADgB,EAEnB,EACC,GAAGP,eAAe,CAAEA,eAAe,CAACQ,MAAhB,GAAyB,CAA3B,CADnB;AAECL,MAAAA,MAAM,EAAE;AAFT,KAFmB,EAMnB,EACC,GAAGG,OADJ;AAECJ,MAAAA,IAFD;AAGCC,MAAAA,MAAM,EAAE,KAHT;AAICC,MAAAA,SAAS,EAAE;AAJZ,KANmB,CAAF,CAAlB;AAaA,GAnB2C,EAoB5C,CAAEJ,eAAF,CApB4C,CAA7C;AAuBA,QAAMS,GAAkC,GAAG,0BAAa,MAAM;AAC7D,QAAKT,eAAe,CAACQ,MAAhB,GAAyB,CAA9B,EAAkC;AACjC;AACAP,MAAAA,kBAAkB,CAAE,CACnB,GAAGD,eAAe,CAACO,KAAhB,CAAuB,CAAvB,EAA0B,CAAC,CAA3B,CADgB,EAEnB,EACC,GAAGP,eAAe,CAAEA,eAAe,CAACQ,MAAhB,GAAyB,CAA3B,CADnB;AAECL,QAAAA,MAAM,EAAE;AAFT,OAFmB,CAAF,CAAlB;AAOA;AACD,GAX0C,EAWxC,CAAEH,eAAF,CAXwC,CAA3C;AAaA,QAAMU,qBAA2C,GAAG,sBACnD,OAAQ;AACPC,IAAAA,QAAQ,EAAEX,eAAe,CAAEA,eAAe,CAACQ,MAAhB,GAAyB,CAA3B,CADlB;AAEPH,IAAAA,IAFO;AAGPI,IAAAA;AAHO,GAAR,CADmD,EAMnD,CAAET,eAAF,EAAmBK,IAAnB,EAAyBI,GAAzB,CANmD,CAApD;AASA,QAAMG,EAAE,GAAG,mBAAX;AACA,QAAMC,OAAO,GAAG,uBACf;AACA,QAAMD,EAAE,OAAkCd,SAAlC,CAFO,EAGf,CAAEA,SAAF,CAHe,CAAhB;AAMA,SACC,4BAAC,UAAD;AAAM,IAAA,GAAG,EAAGH,YAAZ;AAA2B,IAAA,SAAS,EAAGkB;AAAvC,KAAsDd,UAAtD,GACC,4BAAC,0BAAD,CAAkB,QAAlB;AAA2B,IAAA,KAAK,EAAGW;AAAnC,KACGb,QADH,CADD,CADD;AAOA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMiB,0BAA0B,GAAG,6BAClCrB,iBADkC,EAElC,mBAFkC,CAAnC;eAKeqB,0B","sourcesContent":["/**\n * External dependencies\n */\nimport type { Ref } from 'react';\nimport { css } from '@emotion/react';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo, useState, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tcontextConnect,\n\tuseContextSystem,\n\tWordPressComponentProps,\n} 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} from '../types';\n\nfunction NavigatorProvider(\n\tprops: WordPressComponentProps< NavigatorProviderProps, 'div' >,\n\tforwardedRef: Ref< any >\n) {\n\tconst {\n\t\tinitialPath,\n\t\tchildren,\n\t\tclassName,\n\t\t...otherProps\n\t} = useContextSystem( props, 'NavigatorProvider' );\n\n\tconst [ locationHistory, setLocationHistory ] = useState<\n\t\tNavigatorLocation[]\n\t>( [\n\t\t{\n\t\t\tpath: initialPath,\n\t\t\tisBack: false,\n\t\t\tisInitial: true,\n\t\t},\n\t] );\n\n\tconst push: NavigatorContextType[ 'push' ] = useCallback(\n\t\t( path, options ) => {\n\t\t\t// Force the `isBack` flag to `false` when navigating forward on both the\n\t\t\t// previous and the new location.\n\t\t\t// Also force the `isInitial` flag to `false` for the new location, to make\n\t\t\t// sure it doesn't get overridden by mistake.\n\t\t\tsetLocationHistory( [\n\t\t\t\t...locationHistory.slice( 0, -1 ),\n\t\t\t\t{\n\t\t\t\t\t...locationHistory[ locationHistory.length - 1 ],\n\t\t\t\t\tisBack: false,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t...options,\n\t\t\t\t\tpath,\n\t\t\t\t\tisBack: false,\n\t\t\t\t\tisInitial: false,\n\t\t\t\t},\n\t\t\t] );\n\t\t},\n\t\t[ locationHistory ]\n\t);\n\n\tconst pop: NavigatorContextType[ 'pop' ] = useCallback( () => {\n\t\tif ( locationHistory.length > 1 ) {\n\t\t\t// Force the `isBack` flag to `true` when navigating back.\n\t\t\tsetLocationHistory( [\n\t\t\t\t...locationHistory.slice( 0, -2 ),\n\t\t\t\t{\n\t\t\t\t\t...locationHistory[ locationHistory.length - 2 ],\n\t\t\t\t\tisBack: true,\n\t\t\t\t},\n\t\t\t] );\n\t\t}\n\t}, [ locationHistory ] );\n\n\tconst navigatorContextValue: NavigatorContextType = useMemo(\n\t\t() => ( {\n\t\t\tlocation: locationHistory[ locationHistory.length - 1 ],\n\t\t\tpush,\n\t\t\tpop,\n\t\t} ),\n\t\t[ locationHistory, push, pop ]\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 ]\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 panels or menus (via the `NavigatorScreen` component) and navigate between these different states (via the `useNavigator` hook).\n *\n * @example\n * ```jsx\n * import {\n * __experimentalNavigatorProvider as NavigatorProvider,\n * __experimentalNavigatorScreen as NavigatorScreen,\n * __experimentalUseNavigator as useNavigator,\n * } from '@wordpress/components';\n *\n * function NavigatorButton( { path, ...props } ) {\n * const { push } = useNavigator();\n * return (\n * <Button\n * variant=\"primary\"\n * onClick={ () => push( path ) }\n * { ...props }\n * />\n * );\n * }\n *\n * function NavigatorBackButton( props ) {\n * const { pop } = useNavigator();\n * return <Button variant=\"secondary\" onClick={ () => pop() } { ...props } />;\n * }\n *\n * const MyNavigation = () => (\n * <NavigatorProvider initialPath=\"/\">\n * <NavigatorScreen path=\"/\">\n * <p>This is the home screen.</p>\n * \t <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>Go back</NavigatorBackButton>\n * </NavigatorScreen>\n * </NavigatorProvider>\n * );\n * ```\n */\nconst ConnectedNavigatorProvider = contextConnect(\n\tNavigatorProvider,\n\t'NavigatorProvider'\n);\n\nexport default ConnectedNavigatorProvider;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/navigator/navigator-provider/component.tsx"],"names":["NavigatorProvider","props","forwardedRef","initialPath","children","className","otherProps","locationHistory","setLocationHistory","path","goTo","options","isBack","goBack","length","slice","navigatorContextValue","location","isInitial","cx","classes","ConnectedNavigatorProvider"],"mappings":";;;;;;;;;AASA;;;;AALA;;AAUA;;AAKA;;AACA;;AACA;;;;;;;;;;;;;;AAOA,SAASA,iBAAT,CACCC,KADD,EAECC,YAFD,EAGE;AACD,QAAM;AACLC,IAAAA,WADK;AAELC,IAAAA,QAFK;AAGLC,IAAAA,SAHK;AAIL,OAAGC;AAJE,MAKF,+BAAkBL,KAAlB,EAAyB,mBAAzB,CALJ;AAOA,QAAM,CAAEM,eAAF,EAAmBC,kBAAnB,IAA0C,uBAE7C,CACF;AACCC,IAAAA,IAAI,EAAEN;AADP,GADE,CAF6C,CAAhD;AAQA,QAAMO,IAAoC,GAAG,0BAC5C,UAAED,IAAF,EAA0B;AAAA,QAAlBE,OAAkB,uEAAR,EAAQ;AACzBH,IAAAA,kBAAkB,CAAE,CACnB,GAAGD,eADgB,EAEnB,EACC,GAAGI,OADJ;AAECF,MAAAA,IAFD;AAGCG,MAAAA,MAAM,EAAE;AAHT,KAFmB,CAAF,CAAlB;AAQA,GAV2C,EAW5C,CAAEL,eAAF,CAX4C,CAA7C;AAcA,QAAMM,MAAwC,GAAG,0BAAa,MAAM;AACnE,QAAKN,eAAe,CAACO,MAAhB,GAAyB,CAA9B,EAAkC;AACjCN,MAAAA,kBAAkB,CAAE,CACnB,GAAGD,eAAe,CAACQ,KAAhB,CAAuB,CAAvB,EAA0B,CAAC,CAA3B,CADgB,EAEnB,EACC,GAAGR,eAAe,CAAEA,eAAe,CAACO,MAAhB,GAAyB,CAA3B,CADnB;AAECF,QAAAA,MAAM,EAAE;AAFT,OAFmB,CAAF,CAAlB;AAOA;AACD,GAVgD,EAU9C,CAAEL,eAAF,CAV8C,CAAjD;AAYA,QAAMS,qBAA2C,GAAG,sBACnD,OAAQ;AACPC,IAAAA,QAAQ,EAAE,EACT,GAAGV,eAAe,CAAEA,eAAe,CAACO,MAAhB,GAAyB,CAA3B,CADT;AAETI,MAAAA,SAAS,EAAEX,eAAe,CAACO,MAAhB,KAA2B;AAF7B,KADH;AAKPJ,IAAAA,IALO;AAMPG,IAAAA;AANO,GAAR,CADmD,EASnD,CAAEN,eAAF,EAAmBG,IAAnB,EAAyBG,MAAzB,CATmD,CAApD;AAYA,QAAMM,EAAE,GAAG,mBAAX;AACA,QAAMC,OAAO,GAAG,uBACf;AACA,QAAMD,EAAE,OAAkCd,SAAlC,CAFO,EAGf,CAAEA,SAAF,EAAac,EAAb,CAHe,CAAhB;AAMA,SACC,4BAAC,UAAD;AAAM,IAAA,GAAG,EAAGjB,YAAZ;AAA2B,IAAA,SAAS,EAAGkB;AAAvC,KAAsDd,UAAtD,GACC,4BAAC,0BAAD,CAAkB,QAAlB;AAA2B,IAAA,KAAK,EAAGU;AAAnC,KACGZ,QADH,CADD,CADD;AAOA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMiB,0BAA0B,GAAG,6BAClCrB,iBADkC,EAElC,mBAFkC,CAAnC;eAKeqB,0B","sourcesContent":["/**\n * External dependencies\n */\nimport type { Ref } from 'react';\nimport { css } from '@emotion/react';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo, useState, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tcontextConnect,\n\tuseContextSystem,\n\tWordPressComponentProps,\n} 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} from '../types';\n\nfunction NavigatorProvider(\n\tprops: WordPressComponentProps< NavigatorProviderProps, 'div' >,\n\tforwardedRef: Ref< any >\n) {\n\tconst {\n\t\tinitialPath,\n\t\tchildren,\n\t\tclassName,\n\t\t...otherProps\n\t} = useContextSystem( 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\n\tconst goTo: NavigatorContextType[ 'goTo' ] = useCallback(\n\t\t( path, options = {} ) => {\n\t\t\tsetLocationHistory( [\n\t\t\t\t...locationHistory,\n\t\t\t\t{\n\t\t\t\t\t...options,\n\t\t\t\t\tpath,\n\t\t\t\t\tisBack: false,\n\t\t\t\t},\n\t\t\t] );\n\t\t},\n\t\t[ locationHistory ]\n\t);\n\n\tconst goBack: NavigatorContextType[ 'goBack' ] = useCallback( () => {\n\t\tif ( locationHistory.length > 1 ) {\n\t\t\tsetLocationHistory( [\n\t\t\t\t...locationHistory.slice( 0, -2 ),\n\t\t\t\t{\n\t\t\t\t\t...locationHistory[ locationHistory.length - 2 ],\n\t\t\t\t\tisBack: true,\n\t\t\t\t},\n\t\t\t] );\n\t\t}\n\t}, [ locationHistory ] );\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\tgoTo,\n\t\t\tgoBack,\n\t\t} ),\n\t\t[ locationHistory, goTo, goBack ]\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 panels or menus (via the `NavigatorScreen` component) and navigate between these different states (via the `useNavigator` hook).\n *\n * @example\n * ```jsx\n * import {\n * __experimentalNavigatorProvider as NavigatorProvider,\n * __experimentalNavigatorScreen as NavigatorScreen,\n * __experimentalUseNavigator as useNavigator,\n * } from '@wordpress/components';\n *\n * function NavigatorButton( { path, ...props } ) {\n * const { goTo } = useNavigator();\n * return (\n * <Button\n * variant=\"primary\"\n * onClick={ () => goTo( path ) }\n * { ...props }\n * />\n * );\n * }\n *\n * function NavigatorBackButton( props ) {\n * const { goBack } = useNavigator();\n * return <Button variant=\"secondary\" onClick={ () => goBack() } { ...props } />;\n * }\n *\n * const MyNavigation = () => (\n * <NavigatorProvider initialPath=\"/\">\n * <NavigatorScreen path=\"/\">\n * <p>This is the home screen.</p>\n * \t <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>Go back</NavigatorBackButton>\n * </NavigatorScreen>\n * </NavigatorProvider>\n * );\n * ```\n */\nconst ConnectedNavigatorProvider = contextConnect(\n\tNavigatorProvider,\n\t'NavigatorProvider'\n);\n\nexport default ConnectedNavigatorProvider;\n"]}
@@ -15,6 +15,8 @@ var _framerMotion = require("framer-motion");
15
15
 
16
16
  var _react = require("@emotion/react");
17
17
 
18
+ var _dom = require("@wordpress/dom");
19
+
18
20
  var _compose = require("@wordpress/compose");
19
21
 
20
22
  var _i18n = require("@wordpress/i18n");
@@ -41,7 +43,7 @@ var _ref = process.env.NODE_ENV === "production" ? {
41
43
  } : {
42
44
  name: "1ulogbc-classes",
43
45
  styles: "overflow-x:auto;max-height:100%;label:classes;",
44
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvbmF2aWdhdG9yL25hdmlnYXRvci1zY3JlZW4vY29tcG9uZW50LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1REkiLCJmaWxlIjoiQHdvcmRwcmVzcy9jb21wb25lbnRzL3NyYy9uYXZpZ2F0b3IvbmF2aWdhdG9yLXNjcmVlbi9jb21wb25lbnQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFeHRlcm5hbCBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0IHR5cGUgeyBSZWYgfSBmcm9tICdyZWFjdCc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVzdHJpY3RlZC1pbXBvcnRzXG5pbXBvcnQgeyBtb3Rpb24sIE1vdGlvblByb3BzIH0gZnJvbSAnZnJhbWVyLW1vdGlvbic7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5cbi8qKlxuICogV29yZFByZXNzIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgeyB1c2VDb250ZXh0LCB1c2VFZmZlY3QsIHVzZVN0YXRlLCB1c2VNZW1vIH0gZnJvbSAnQHdvcmRwcmVzcy9lbGVtZW50JztcbmltcG9ydCB7IHVzZVJlZHVjZWRNb3Rpb24sIHVzZUZvY3VzT25Nb3VudCB9IGZyb20gJ0B3b3JkcHJlc3MvY29tcG9zZSc7XG5pbXBvcnQgeyBpc1JUTCB9IGZyb20gJ0B3b3JkcHJlc3MvaTE4bic7XG5cbi8qKlxuICogSW50ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7XG5cdGNvbnRleHRDb25uZWN0LFxuXHR1c2VDb250ZXh0U3lzdGVtLFxuXHRXb3JkUHJlc3NDb21wb25lbnRQcm9wcyxcbn0gZnJvbSAnLi4vLi4vdWkvY29udGV4dCc7XG5pbXBvcnQgeyB1c2VDeCB9IGZyb20gJy4uLy4uL3V0aWxzL2hvb2tzL3VzZS1jeCc7XG5pbXBvcnQgeyBWaWV3IH0gZnJvbSAnLi4vLi4vdmlldyc7XG5pbXBvcnQgeyBOYXZpZ2F0b3JDb250ZXh0IH0gZnJvbSAnLi4vY29udGV4dCc7XG5pbXBvcnQgdHlwZSB7IE5hdmlnYXRvclNjcmVlblByb3BzIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5jb25zdCBhbmltYXRpb25FbnRlckRlbGF5ID0gMDtcbmNvbnN0IGFuaW1hdGlvbkVudGVyRHVyYXRpb24gPSAwLjE0O1xuY29uc3QgYW5pbWF0aW9uRXhpdER1cmF0aW9uID0gMC4xNDtcbmNvbnN0IGFuaW1hdGlvbkV4aXREZWxheSA9IDA7XG5cbi8vIFByb3BzIHNwZWNpZmljIHRvIGBmcmFtZXItbW90aW9uYCBjYW4ndCBiZSBjdXJyZW50bHkgcGFzc2VkIHRvIGBOYXZpZ2F0b3JTY3JlZW5gLFxuLy8gYXMgc29tZSBvZiB0aGVtIHdvdWxkIG92ZXJsYXAgd2l0aCBIVE1MIHByb3BzIChlLmcuIGBvbkFuaW1hdGlvblN0YXJ0YCwgLi4uKVxudHlwZSBQcm9wcyA9IE9taXQ8XG5cdFdvcmRQcmVzc0NvbXBvbmVudFByb3BzPCBOYXZpZ2F0b3JTY3JlZW5Qcm9wcywgJ2RpdicsIGZhbHNlID4sXG5cdGtleW9mIE1vdGlvblByb3BzXG4+O1xuXG5mdW5jdGlvbiBOYXZpZ2F0b3JTY3JlZW4oIHByb3BzOiBQcm9wcywgZm9yd2FyZGVkUmVmOiBSZWY8IGFueSA+ICkge1xuXHRjb25zdCB7IGNoaWxkcmVuLCBjbGFzc05hbWUsIHBhdGgsIC4uLm90aGVyUHJvcHMgfSA9IHVzZUNvbnRleHRTeXN0ZW0oXG5cdFx0cHJvcHMsXG5cdFx0J05hdmlnYXRvclNjcmVlbidcblx0KTtcblxuXHRjb25zdCBwcmVmZXJzUmVkdWNlZE1vdGlvbiA9IHVzZVJlZHVjZWRNb3Rpb24oKTtcblx0Y29uc3QgeyBsb2NhdGlvbiB9ID0gdXNlQ29udGV4dCggTmF2aWdhdG9yQ29udGV4dCApO1xuXHRjb25zdCBpc01hdGNoID0gbG9jYXRpb24ucGF0aCA9PT0gcGF0aDtcblx0Y29uc3QgcmVmID0gdXNlRm9jdXNPbk1vdW50KCk7XG5cblx0Y29uc3QgY3ggPSB1c2VDeCgpO1xuXHRjb25zdCBjbGFzc2VzID0gdXNlTWVtbyhcblx0XHQoKSA9PlxuXHRcdFx0Y3goXG5cdFx0XHRcdGNzcygge1xuXHRcdFx0XHRcdC8vIEVuc3VyZXMgaG9yaXpvbnRhbCBvdmVyZmxvdyBpcyB2aXN1YWxseSBhY2Nlc3NpYmxlXG5cdFx0XHRcdFx0b3ZlcmZsb3dYOiAnYXV0bycsXG5cdFx0XHRcdFx0Ly8gSW4gY2FzZSB0aGUgcm9vdCBoYXMgYSBoZWlnaHQsIGl0IHNob3VsZCBub3QgYmUgZXhjZWVkZWRcblx0XHRcdFx0XHRtYXhIZWlnaHQ6ICcxMDAlJyxcblx0XHRcdFx0fSApLFxuXHRcdFx0XHRjbGFzc05hbWVcblx0XHRcdCksXG5cdFx0WyBjbGFzc05hbWUgXVxuXHQpO1xuXG5cdC8vIFRoaXMgZmxhZyBpcyB1c2VkIHRvIG9ubHkgYXBwbHkgdGhlIGZvY3VzIG9uIG1vdW50IHdoZW4gdGhlIGFjdHVhbCBwYXRoIGNoYW5nZXMuXG5cdC8vIEl0IGF2b2lkcyB0aGUgZm9jdXMgdG8gaGFwcGVuIG9uIHRoZSBmaXJzdCByZW5kZXIuXG5cdGNvbnN0IFsgaGFzUGF0aENoYW5nZWQsIHNldEhhc1BhdGhDaGFuZ2VkIF0gPSB1c2VTdGF0ZSggZmFsc2UgKTtcblx0dXNlRWZmZWN0KCAoKSA9PiB7XG5cdFx0c2V0SGFzUGF0aENoYW5nZWQoIHRydWUgKTtcblx0fSwgWyBwYXRoIF0gKTtcblxuXHRpZiAoICEgaXNNYXRjaCApIHtcblx0XHRyZXR1cm4gbnVsbDtcblx0fVxuXG5cdGlmICggcHJlZmVyc1JlZHVjZWRNb3Rpb24gKSB7XG5cdFx0cmV0dXJuIChcblx0XHRcdDxWaWV3IHJlZj17IGZvcndhcmRlZFJlZiB9IGNsYXNzTmFtZT17IGNsYXNzZXMgfSB7IC4uLm90aGVyUHJvcHMgfT5cblx0XHRcdFx0eyBjaGlsZHJlbiB9XG5cdFx0XHQ8L1ZpZXc+XG5cdFx0KTtcblx0fVxuXG5cdGNvbnN0IGFuaW1hdGUgPSB7XG5cdFx0b3BhY2l0eTogMSxcblx0XHR0cmFuc2l0aW9uOiB7XG5cdFx0XHRkZWxheTogYW5pbWF0aW9uRW50ZXJEZWxheSxcblx0XHRcdGR1cmF0aW9uOiBhbmltYXRpb25FbnRlckR1cmF0aW9uLFxuXHRcdFx0ZWFzZTogJ2Vhc2VJbk91dCcsXG5cdFx0fSxcblx0XHR4OiAwLFxuXHR9O1xuXHRjb25zdCBpbml0aWFsID0ge1xuXHRcdG9wYWNpdHk6IDAsXG5cdFx0eDpcblx0XHRcdCggaXNSVEwoKSAmJiBsb2NhdGlvbi5pc0JhY2sgKSB8fCAoICEgaXNSVEwoKSAmJiAhIGxvY2F0aW9uLmlzQmFjayApXG5cdFx0XHRcdD8gNTBcblx0XHRcdFx0OiAtNTAsXG5cdH07XG5cdGNvbnN0IGV4aXQgPSB7XG5cdFx0ZGVsYXk6IGFuaW1hdGlvbkV4aXREZWxheSxcblx0XHRvcGFjaXR5OiAwLFxuXHRcdHg6XG5cdFx0XHQoICEgaXNSVEwoKSAmJiBsb2NhdGlvbi5pc0JhY2sgKSB8fCAoIGlzUlRMKCkgJiYgISBsb2NhdGlvbi5pc0JhY2sgKVxuXHRcdFx0XHQ/IDUwXG5cdFx0XHRcdDogLTUwLFxuXHRcdHRyYW5zaXRpb246IHtcblx0XHRcdGR1cmF0aW9uOiBhbmltYXRpb25FeGl0RHVyYXRpb24sXG5cdFx0XHRlYXNlOiAnZWFzZUluT3V0Jyxcblx0XHR9LFxuXHR9O1xuXG5cdGNvbnN0IGFuaW1hdGVkUHJvcHMgPSB7XG5cdFx0YW5pbWF0ZSxcblx0XHRleGl0LFxuXHRcdGluaXRpYWwsXG5cdH07XG5cblx0cmV0dXJuIChcblx0XHQ8bW90aW9uLmRpdlxuXHRcdFx0cmVmPXsgaGFzUGF0aENoYW5nZWQgPyByZWYgOiB1bmRlZmluZWQgfVxuXHRcdFx0Y2xhc3NOYW1lPXsgY2xhc3NlcyB9XG5cdFx0XHR7IC4uLm90aGVyUHJvcHMgfVxuXHRcdFx0eyAuLi5hbmltYXRlZFByb3BzIH1cblx0XHQ+XG5cdFx0XHR7IGNoaWxkcmVuIH1cblx0XHQ8L21vdGlvbi5kaXY+XG5cdCk7XG59XG5cbi8qKlxuICogVGhlIGBOYXZpZ2F0b3JTY3JlZW5gIGNvbXBvbmVudCByZXByZXNlbnRzIGEgc2luZ2xlIHZpZXcvc2NyZWVuL3BhbmVsL21lbnUgYW5kIGlzIHN1cHBvc2VkIHRvIGJlIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCB0aGUgYE5hdmlnYXRvclByb3ZpZGVyYCBjb21wb25lbnQuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGpzeFxuICogaW1wb3J0IHtcbiAqICAgX19leHBlcmltZW50YWxOYXZpZ2F0b3JQcm92aWRlciBhcyBOYXZpZ2F0b3JQcm92aWRlcixcbiAqICAgX19leHBlcmltZW50YWxOYXZpZ2F0b3JTY3JlZW4gYXMgTmF2aWdhdG9yU2NyZWVuLFxuICogICBfX2V4cGVyaW1lbnRhbFVzZU5hdmlnYXRvciBhcyB1c2VOYXZpZ2F0b3IsXG4gKiB9IGZyb20gJ0B3b3JkcHJlc3MvY29tcG9uZW50cyc7XG4gKlxuICogZnVuY3Rpb24gTmF2aWdhdG9yQnV0dG9uKCB7IHBhdGgsIC4uLnByb3BzIH0gKSB7XG4gKiAgY29uc3QgeyBwdXNoIH0gPSB1c2VOYXZpZ2F0b3IoKTtcbiAqICByZXR1cm4gKFxuICogICAgPEJ1dHRvblxuICogICAgICB2YXJpYW50PVwicHJpbWFyeVwiXG4gKiAgICAgIG9uQ2xpY2s9eyAoKSA9PiBwdXNoKCBwYXRoICkgfVxuICogICAgICB7IC4uLnByb3BzIH1cbiAqICAgIC8+XG4gKiAgKTtcbiAqIH1cbiAqXG4gKiBmdW5jdGlvbiBOYXZpZ2F0b3JCYWNrQnV0dG9uKCBwcm9wcyApIHtcbiAqICAgY29uc3QgeyBwb3AgfSA9IHVzZU5hdmlnYXRvcigpO1xuICogICByZXR1cm4gPEJ1dHRvbiB2YXJpYW50PVwic2Vjb25kYXJ5XCIgb25DbGljaz17ICgpID0+IHBvcCgpIH0geyAuLi5wcm9wcyB9IC8+O1xuICogfVxuICpcbiAqIGNvbnN0IE15TmF2aWdhdGlvbiA9ICgpID0+IChcbiAqICAgPE5hdmlnYXRvclByb3ZpZGVyIGluaXRpYWxQYXRoPVwiL1wiPlxuICogICAgIDxOYXZpZ2F0b3JTY3JlZW4gcGF0aD1cIi9cIj5cbiAqICAgICAgIDxwPlRoaXMgaXMgdGhlIGhvbWUgc2NyZWVuLjwvcD5cbiAqICAgXHQgICA8TmF2aWdhdG9yQnV0dG9uIHBhdGg9XCIvY2hpbGRcIj5cbiAqICAgICAgICAgIE5hdmlnYXRlIHRvIGNoaWxkIHNjcmVlbi5cbiAqICAgICAgIDwvTmF2aWdhdG9yQnV0dG9uPlxuICogICAgIDwvTmF2aWdhdG9yU2NyZWVuPlxuICpcbiAqICAgICA8TmF2aWdhdG9yU2NyZWVuIHBhdGg9XCIvY2hpbGRcIj5cbiAqICAgICAgIDxwPlRoaXMgaXMgdGhlIGNoaWxkIHNjcmVlbi48L3A+XG4gKiAgICAgICA8TmF2aWdhdG9yQmFja0J1dHRvbj5HbyBiYWNrPC9OYXZpZ2F0b3JCYWNrQnV0dG9uPlxuICogICAgIDwvTmF2aWdhdG9yU2NyZWVuPlxuICogICA8L05hdmlnYXRvclByb3ZpZGVyPlxuICogKTtcbiAqIGBgYFxuICovXG5jb25zdCBDb25uZWN0ZWROYXZpZ2F0b3JTY3JlZW4gPSBjb250ZXh0Q29ubmVjdChcblx0TmF2aWdhdG9yU2NyZWVuLFxuXHQnTmF2aWdhdG9yU2NyZWVuJ1xuKTtcblxuZXhwb3J0IGRlZmF1bHQgQ29ubmVjdGVkTmF2aWdhdG9yU2NyZWVuO1xuIl19 */",
46
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvbmF2aWdhdG9yL25hdmlnYXRvci1zY3JlZW4vY29tcG9uZW50LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4REkiLCJmaWxlIjoiQHdvcmRwcmVzcy9jb21wb25lbnRzL3NyYy9uYXZpZ2F0b3IvbmF2aWdhdG9yLXNjcmVlbi9jb21wb25lbnQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFeHRlcm5hbCBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0IHR5cGUgeyBSZWYgfSBmcm9tICdyZWFjdCc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVzdHJpY3RlZC1pbXBvcnRzXG5pbXBvcnQgeyBtb3Rpb24sIE1vdGlvblByb3BzIH0gZnJvbSAnZnJhbWVyLW1vdGlvbic7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5cbi8qKlxuICogV29yZFByZXNzIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgeyBmb2N1cyB9IGZyb20gJ0B3b3JkcHJlc3MvZG9tJztcbmltcG9ydCB7IHVzZUNvbnRleHQsIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmIH0gZnJvbSAnQHdvcmRwcmVzcy9lbGVtZW50JztcbmltcG9ydCB7XG5cdHVzZVJlZHVjZWRNb3Rpb24sXG5cdHVzZU1lcmdlUmVmcyxcblx0dXNlUHJldmlvdXMsXG59IGZyb20gJ0B3b3JkcHJlc3MvY29tcG9zZSc7XG5pbXBvcnQgeyBpc1JUTCB9IGZyb20gJ0B3b3JkcHJlc3MvaTE4bic7XG5cbi8qKlxuICogSW50ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7XG5cdGNvbnRleHRDb25uZWN0LFxuXHR1c2VDb250ZXh0U3lzdGVtLFxuXHRXb3JkUHJlc3NDb21wb25lbnRQcm9wcyxcbn0gZnJvbSAnLi4vLi4vdWkvY29udGV4dCc7XG5pbXBvcnQgeyB1c2VDeCB9IGZyb20gJy4uLy4uL3V0aWxzL2hvb2tzL3VzZS1jeCc7XG5pbXBvcnQgeyBWaWV3IH0gZnJvbSAnLi4vLi4vdmlldyc7XG5pbXBvcnQgeyBOYXZpZ2F0b3JDb250ZXh0IH0gZnJvbSAnLi4vY29udGV4dCc7XG5pbXBvcnQgdHlwZSB7IE5hdmlnYXRvclNjcmVlblByb3BzIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5jb25zdCBhbmltYXRpb25FbnRlckRlbGF5ID0gMDtcbmNvbnN0IGFuaW1hdGlvbkVudGVyRHVyYXRpb24gPSAwLjE0O1xuY29uc3QgYW5pbWF0aW9uRXhpdER1cmF0aW9uID0gMC4xNDtcbmNvbnN0IGFuaW1hdGlvbkV4aXREZWxheSA9IDA7XG5cbi8vIFByb3BzIHNwZWNpZmljIHRvIGBmcmFtZXItbW90aW9uYCBjYW4ndCBiZSBjdXJyZW50bHkgcGFzc2VkIHRvIGBOYXZpZ2F0b3JTY3JlZW5gLFxuLy8gYXMgc29tZSBvZiB0aGVtIHdvdWxkIG92ZXJsYXAgd2l0aCBIVE1MIHByb3BzIChlLmcuIGBvbkFuaW1hdGlvblN0YXJ0YCwgLi4uKVxudHlwZSBQcm9wcyA9IE9taXQ8XG5cdFdvcmRQcmVzc0NvbXBvbmVudFByb3BzPCBOYXZpZ2F0b3JTY3JlZW5Qcm9wcywgJ2RpdicsIGZhbHNlID4sXG5cdGtleW9mIE1vdGlvblByb3BzXG4+O1xuXG5mdW5jdGlvbiBOYXZpZ2F0b3JTY3JlZW4oIHByb3BzOiBQcm9wcywgZm9yd2FyZGVkUmVmOiBSZWY8IGFueSA+ICkge1xuXHRjb25zdCB7IGNoaWxkcmVuLCBjbGFzc05hbWUsIHBhdGgsIC4uLm90aGVyUHJvcHMgfSA9IHVzZUNvbnRleHRTeXN0ZW0oXG5cdFx0cHJvcHMsXG5cdFx0J05hdmlnYXRvclNjcmVlbidcblx0KTtcblxuXHRjb25zdCBwcmVmZXJzUmVkdWNlZE1vdGlvbiA9IHVzZVJlZHVjZWRNb3Rpb24oKTtcblx0Y29uc3QgeyBsb2NhdGlvbiB9ID0gdXNlQ29udGV4dCggTmF2aWdhdG9yQ29udGV4dCApO1xuXHRjb25zdCBpc01hdGNoID0gbG9jYXRpb24ucGF0aCA9PT0gcGF0aDtcblx0Y29uc3Qgd3JhcHBlclJlZiA9IHVzZVJlZjwgSFRNTERpdkVsZW1lbnQgPiggbnVsbCApO1xuXG5cdGNvbnN0IHByZXZpb3VzTG9jYXRpb24gPSB1c2VQcmV2aW91cyggbG9jYXRpb24gKTtcblxuXHRjb25zdCBjeCA9IHVzZUN4KCk7XG5cdGNvbnN0IGNsYXNzZXMgPSB1c2VNZW1vKFxuXHRcdCgpID0+XG5cdFx0XHRjeChcblx0XHRcdFx0Y3NzKCB7XG5cdFx0XHRcdFx0Ly8gRW5zdXJlcyBob3Jpem9udGFsIG92ZXJmbG93IGlzIHZpc3VhbGx5IGFjY2Vzc2libGVcblx0XHRcdFx0XHRvdmVyZmxvd1g6ICdhdXRvJyxcblx0XHRcdFx0XHQvLyBJbiBjYXNlIHRoZSByb290IGhhcyBhIGhlaWdodCwgaXQgc2hvdWxkIG5vdCBiZSBleGNlZWRlZFxuXHRcdFx0XHRcdG1heEhlaWdodDogJzEwMCUnLFxuXHRcdFx0XHR9ICksXG5cdFx0XHRcdGNsYXNzTmFtZVxuXHRcdFx0KSxcblx0XHRbIGNsYXNzTmFtZSwgY3ggXVxuXHQpO1xuXG5cdC8vIEZvY3VzIHJlc3RvcmF0aW9uXG5cdGNvbnN0IGlzSW5pdGlhbExvY2F0aW9uID0gbG9jYXRpb24uaXNJbml0aWFsICYmICEgbG9jYXRpb24uaXNCYWNrO1xuXHR1c2VFZmZlY3QoICgpID0+IHtcblx0XHQvLyBPbmx5IGF0dGVtcHQgdG8gcmVzdG9yZSBmb2N1czpcblx0XHQvLyAtIGlmIHRoZSBjdXJyZW50IGxvY2F0aW9uIGlzIG5vdCB0aGUgaW5pdGlhbCBvbmUgKHRvIGF2b2lkIG1vdmluZyBmb2N1cyBvbiBwYWdlIGxvYWQpXG5cdFx0Ly8gLSB3aGVuIHRoZSBzY3JlZW4gYmVjb21lcyB2aXNpYmxlXG5cdFx0Ly8gLSBpZiB0aGUgd3JhcHBlciByZWYgaGFzIGJlZW4gYXNzaWduZWRcblx0XHRpZiAoIGlzSW5pdGlhbExvY2F0aW9uIHx8ICEgaXNNYXRjaCB8fCAhIHdyYXBwZXJSZWYuY3VycmVudCApIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRsZXQgZWxlbWVudFRvRm9jdXM6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cblx0XHQvLyBXaGVuIG5hdmlnYXRpbmcgYmFjaywgaWYgYSBzZWxlY3RvciBpcyBwcm92aWRlZCwgdXNlIGl0IHRvIGxvb2sgZm9yIHRoZVxuXHRcdC8vIHRhcmdldCBlbGVtZW50IChhc3N1bWVkIHRvIGJlIGEgbm9kZSBpbnNpZGUgdGhlIGN1cnJlbnQgTmF2aWdhdG9yU2NyZWVuKVxuXHRcdGlmICggbG9jYXRpb24uaXNCYWNrICYmIHByZXZpb3VzTG9jYXRpb24/LmZvY3VzVGFyZ2V0U2VsZWN0b3IgKSB7XG5cdFx0XHRlbGVtZW50VG9Gb2N1cyA9IHdyYXBwZXJSZWYuY3VycmVudC5xdWVyeVNlbGVjdG9yKFxuXHRcdFx0XHRwcmV2aW91c0xvY2F0aW9uLmZvY3VzVGFyZ2V0U2VsZWN0b3Jcblx0XHRcdCk7XG5cdFx0fVxuXG5cdFx0Ly8gSWYgdGhlIHByZXZpb3VzIHF1ZXJ5IGRpZG4ndCBydW4gb3IgZmluZCBhbnkgZWxlbWVudCB0byBmb2N1cywgZmFsbGJhY2tcblx0XHQvLyB0byB0aGUgZmlyc3QgdGFiYmFibGUgZWxlbWVudCBpbiB0aGUgc2NyZWVuIChvciB0aGUgc2NyZWVuIGl0c2VsZikuXG5cdFx0aWYgKCAhIGVsZW1lbnRUb0ZvY3VzICkge1xuXHRcdFx0Y29uc3QgZmlyc3RUYWJiYWJsZSA9ICggZm9jdXMudGFiYmFibGUuZmluZChcblx0XHRcdFx0d3JhcHBlclJlZi5jdXJyZW50XG5cdFx0XHQpIGFzIEhUTUxFbGVtZW50W10gKVsgMCBdO1xuXG5cdFx0XHRlbGVtZW50VG9Gb2N1cyA9IGZpcnN0VGFiYmFibGUgPz8gd3JhcHBlclJlZi5jdXJyZW50O1xuXHRcdH1cblxuXHRcdGVsZW1lbnRUb0ZvY3VzLmZvY3VzKCk7XG5cdH0sIFsgaXNJbml0aWFsTG9jYXRpb24sIGlzTWF0Y2ggXSApO1xuXG5cdGNvbnN0IG1lcmdlZFdyYXBwZXJSZWYgPSB1c2VNZXJnZVJlZnMoIFsgZm9yd2FyZGVkUmVmLCB3cmFwcGVyUmVmIF0gKTtcblxuXHRpZiAoICEgaXNNYXRjaCApIHtcblx0XHRyZXR1cm4gbnVsbDtcblx0fVxuXG5cdGlmICggcHJlZmVyc1JlZHVjZWRNb3Rpb24gKSB7XG5cdFx0cmV0dXJuIChcblx0XHRcdDxWaWV3XG5cdFx0XHRcdHJlZj17IG1lcmdlZFdyYXBwZXJSZWYgfVxuXHRcdFx0XHRjbGFzc05hbWU9eyBjbGFzc2VzIH1cblx0XHRcdFx0eyAuLi5vdGhlclByb3BzIH1cblx0XHRcdD5cblx0XHRcdFx0eyBjaGlsZHJlbiB9XG5cdFx0XHQ8L1ZpZXc+XG5cdFx0KTtcblx0fVxuXG5cdGNvbnN0IGFuaW1hdGUgPSB7XG5cdFx0b3BhY2l0eTogMSxcblx0XHR0cmFuc2l0aW9uOiB7XG5cdFx0XHRkZWxheTogYW5pbWF0aW9uRW50ZXJEZWxheSxcblx0XHRcdGR1cmF0aW9uOiBhbmltYXRpb25FbnRlckR1cmF0aW9uLFxuXHRcdFx0ZWFzZTogJ2Vhc2VJbk91dCcsXG5cdFx0fSxcblx0XHR4OiAwLFxuXHR9O1xuXHRjb25zdCBpbml0aWFsID0ge1xuXHRcdG9wYWNpdHk6IDAsXG5cdFx0eDpcblx0XHRcdCggaXNSVEwoKSAmJiBsb2NhdGlvbi5pc0JhY2sgKSB8fCAoICEgaXNSVEwoKSAmJiAhIGxvY2F0aW9uLmlzQmFjayApXG5cdFx0XHRcdD8gNTBcblx0XHRcdFx0OiAtNTAsXG5cdH07XG5cdGNvbnN0IGV4aXQgPSB7XG5cdFx0ZGVsYXk6IGFuaW1hdGlvbkV4aXREZWxheSxcblx0XHRvcGFjaXR5OiAwLFxuXHRcdHg6XG5cdFx0XHQoICEgaXNSVEwoKSAmJiBsb2NhdGlvbi5pc0JhY2sgKSB8fCAoIGlzUlRMKCkgJiYgISBsb2NhdGlvbi5pc0JhY2sgKVxuXHRcdFx0XHQ/IDUwXG5cdFx0XHRcdDogLTUwLFxuXHRcdHRyYW5zaXRpb246IHtcblx0XHRcdGR1cmF0aW9uOiBhbmltYXRpb25FeGl0RHVyYXRpb24sXG5cdFx0XHRlYXNlOiAnZWFzZUluT3V0Jyxcblx0XHR9LFxuXHR9O1xuXG5cdGNvbnN0IGFuaW1hdGVkUHJvcHMgPSB7XG5cdFx0YW5pbWF0ZSxcblx0XHRleGl0LFxuXHRcdGluaXRpYWwsXG5cdH07XG5cblx0cmV0dXJuIChcblx0XHQ8bW90aW9uLmRpdlxuXHRcdFx0cmVmPXsgbWVyZ2VkV3JhcHBlclJlZiB9XG5cdFx0XHRjbGFzc05hbWU9eyBjbGFzc2VzIH1cblx0XHRcdHsgLi4ub3RoZXJQcm9wcyB9XG5cdFx0XHR7IC4uLmFuaW1hdGVkUHJvcHMgfVxuXHRcdD5cblx0XHRcdHsgY2hpbGRyZW4gfVxuXHRcdDwvbW90aW9uLmRpdj5cblx0KTtcbn1cblxuLyoqXG4gKiBUaGUgYE5hdmlnYXRvclNjcmVlbmAgY29tcG9uZW50IHJlcHJlc2VudHMgYSBzaW5nbGUgdmlldy9zY3JlZW4vcGFuZWwvbWVudSBhbmQgaXMgc3VwcG9zZWQgdG8gYmUgdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIHRoZSBgTmF2aWdhdG9yUHJvdmlkZXJgIGNvbXBvbmVudC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBganN4XG4gKiBpbXBvcnQge1xuICogICBfX2V4cGVyaW1lbnRhbE5hdmlnYXRvclByb3ZpZGVyIGFzIE5hdmlnYXRvclByb3ZpZGVyLFxuICogICBfX2V4cGVyaW1lbnRhbE5hdmlnYXRvclNjcmVlbiBhcyBOYXZpZ2F0b3JTY3JlZW4sXG4gKiAgIF9fZXhwZXJpbWVudGFsVXNlTmF2aWdhdG9yIGFzIHVzZU5hdmlnYXRvcixcbiAqIH0gZnJvbSAnQHdvcmRwcmVzcy9jb21wb25lbnRzJztcbiAqXG4gKiBmdW5jdGlvbiBOYXZpZ2F0b3JCdXR0b24oIHsgcGF0aCwgLi4ucHJvcHMgfSApIHtcbiAqICBjb25zdCB7IGdvVG8gfSA9IHVzZU5hdmlnYXRvcigpO1xuICogIHJldHVybiAoXG4gKiAgICA8QnV0dG9uXG4gKiAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAqICAgICAgb25DbGljaz17ICgpID0+IGdvVG8oIHBhdGggKSB9XG4gKiAgICAgIHsgLi4ucHJvcHMgfVxuICogICAgLz5cbiAqICApO1xuICogfVxuICpcbiAqIGZ1bmN0aW9uIE5hdmlnYXRvckJhY2tCdXR0b24oIHByb3BzICkge1xuICogICBjb25zdCB7IGdvQmFjayB9ID0gdXNlTmF2aWdhdG9yKCk7XG4gKiAgIHJldHVybiA8QnV0dG9uIHZhcmlhbnQ9XCJzZWNvbmRhcnlcIiBvbkNsaWNrPXsgKCkgPT4gZ29CYWNrKCkgfSB7IC4uLnByb3BzIH0gLz47XG4gKiB9XG4gKlxuICogY29uc3QgTXlOYXZpZ2F0aW9uID0gKCkgPT4gKFxuICogICA8TmF2aWdhdG9yUHJvdmlkZXIgaW5pdGlhbFBhdGg9XCIvXCI+XG4gKiAgICAgPE5hdmlnYXRvclNjcmVlbiBwYXRoPVwiL1wiPlxuICogICAgICAgPHA+VGhpcyBpcyB0aGUgaG9tZSBzY3JlZW4uPC9wPlxuICogICBcdCAgIDxOYXZpZ2F0b3JCdXR0b24gcGF0aD1cIi9jaGlsZFwiPlxuICogICAgICAgICAgTmF2aWdhdGUgdG8gY2hpbGQgc2NyZWVuLlxuICogICAgICAgPC9OYXZpZ2F0b3JCdXR0b24+XG4gKiAgICAgPC9OYXZpZ2F0b3JTY3JlZW4+XG4gKlxuICogICAgIDxOYXZpZ2F0b3JTY3JlZW4gcGF0aD1cIi9jaGlsZFwiPlxuICogICAgICAgPHA+VGhpcyBpcyB0aGUgY2hpbGQgc2NyZWVuLjwvcD5cbiAqICAgICAgIDxOYXZpZ2F0b3JCYWNrQnV0dG9uPkdvIGJhY2s8L05hdmlnYXRvckJhY2tCdXR0b24+XG4gKiAgICAgPC9OYXZpZ2F0b3JTY3JlZW4+XG4gKiAgIDwvTmF2aWdhdG9yUHJvdmlkZXI+XG4gKiApO1xuICogYGBgXG4gKi9cbmNvbnN0IENvbm5lY3RlZE5hdmlnYXRvclNjcmVlbiA9IGNvbnRleHRDb25uZWN0KFxuXHROYXZpZ2F0b3JTY3JlZW4sXG5cdCdOYXZpZ2F0b3JTY3JlZW4nXG4pO1xuXG5leHBvcnQgZGVmYXVsdCBDb25uZWN0ZWROYXZpZ2F0b3JTY3JlZW47XG4iXX0= */",
45
47
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
46
48
  };
47
49
 
@@ -57,15 +59,39 @@ function NavigatorScreen(props, forwardedRef) {
57
59
  location
58
60
  } = (0, _element.useContext)(_context2.NavigatorContext);
59
61
  const isMatch = location.path === path;
60
- const ref = (0, _compose.useFocusOnMount)();
62
+ const wrapperRef = (0, _element.useRef)(null);
63
+ const previousLocation = (0, _compose.usePrevious)(location);
61
64
  const cx = (0, _useCx.useCx)();
62
- const classes = (0, _element.useMemo)(() => cx(_ref, className), [className]); // This flag is used to only apply the focus on mount when the actual path changes.
63
- // It avoids the focus to happen on the first render.
65
+ const classes = (0, _element.useMemo)(() => cx(_ref, className), [className, cx]); // Focus restoration
64
66
 
65
- const [hasPathChanged, setHasPathChanged] = (0, _element.useState)(false);
67
+ const isInitialLocation = location.isInitial && !location.isBack;
66
68
  (0, _element.useEffect)(() => {
67
- setHasPathChanged(true);
68
- }, [path]);
69
+ // Only attempt to restore focus:
70
+ // - if the current location is not the initial one (to avoid moving focus on page load)
71
+ // - when the screen becomes visible
72
+ // - if the wrapper ref has been assigned
73
+ if (isInitialLocation || !isMatch || !wrapperRef.current) {
74
+ return;
75
+ }
76
+
77
+ let elementToFocus = null; // When navigating back, if a selector is provided, use it to look for the
78
+ // target element (assumed to be a node inside the current NavigatorScreen)
79
+
80
+ if (location.isBack && previousLocation !== null && previousLocation !== void 0 && previousLocation.focusTargetSelector) {
81
+ elementToFocus = wrapperRef.current.querySelector(previousLocation.focusTargetSelector);
82
+ } // If the previous query didn't run or find any element to focus, fallback
83
+ // to the first tabbable element in the screen (or the screen itself).
84
+
85
+
86
+ if (!elementToFocus) {
87
+ const firstTabbable = _dom.focus.tabbable.find(wrapperRef.current)[0];
88
+
89
+ elementToFocus = firstTabbable !== null && firstTabbable !== void 0 ? firstTabbable : wrapperRef.current;
90
+ }
91
+
92
+ elementToFocus.focus();
93
+ }, [isInitialLocation, isMatch]);
94
+ const mergedWrapperRef = (0, _compose.useMergeRefs)([forwardedRef, wrapperRef]);
69
95
 
70
96
  if (!isMatch) {
71
97
  return null;
@@ -73,7 +99,7 @@ function NavigatorScreen(props, forwardedRef) {
73
99
 
74
100
  if (prefersReducedMotion) {
75
101
  return (0, _element.createElement)(_view.View, (0, _extends2.default)({
76
- ref: forwardedRef,
102
+ ref: mergedWrapperRef,
77
103
  className: classes
78
104
  }, otherProps), children);
79
105
  }
@@ -106,7 +132,7 @@ function NavigatorScreen(props, forwardedRef) {
106
132
  initial
107
133
  };
108
134
  return (0, _element.createElement)(_framerMotion.motion.div, (0, _extends2.default)({
109
- ref: hasPathChanged ? ref : undefined,
135
+ ref: mergedWrapperRef,
110
136
  className: classes
111
137
  }, otherProps, animatedProps), children);
112
138
  }
@@ -122,19 +148,19 @@ function NavigatorScreen(props, forwardedRef) {
122
148
  * } from '@wordpress/components';
123
149
  *
124
150
  * function NavigatorButton( { path, ...props } ) {
125
- * const { push } = useNavigator();
151
+ * const { goTo } = useNavigator();
126
152
  * return (
127
153
  * <Button
128
154
  * variant="primary"
129
- * onClick={ () => push( path ) }
155
+ * onClick={ () => goTo( path ) }
130
156
  * { ...props }
131
157
  * />
132
158
  * );
133
159
  * }
134
160
  *
135
161
  * function NavigatorBackButton( props ) {
136
- * const { pop } = useNavigator();
137
- * return <Button variant="secondary" onClick={ () => pop() } { ...props } />;
162
+ * const { goBack } = useNavigator();
163
+ * return <Button variant="secondary" onClick={ () => goBack() } { ...props } />;
138
164
  * }
139
165
  *
140
166
  * const MyNavigation = () => (
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/navigator/navigator-screen/component.tsx"],"names":["animationEnterDelay","animationEnterDuration","animationExitDuration","animationExitDelay","NavigatorScreen","props","forwardedRef","children","className","path","otherProps","prefersReducedMotion","location","NavigatorContext","isMatch","ref","cx","classes","hasPathChanged","setHasPathChanged","animate","opacity","transition","delay","duration","ease","x","initial","isBack","exit","animatedProps","undefined","ConnectedNavigatorScreen"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport type { Ref } from 'react';\n// eslint-disable-next-line no-restricted-imports\nimport { motion, MotionProps } from 'framer-motion';\nimport { css } from '@emotion/react';\n\n/**\n * WordPress dependencies\n */\nimport { useContext, useEffect, useState, useMemo } from '@wordpress/element';\nimport { useReducedMotion, useFocusOnMount } from '@wordpress/compose';\nimport { isRTL } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tcontextConnect,\n\tuseContextSystem,\n\tWordPressComponentProps,\n} from '../../ui/context';\nimport { useCx } from '../../utils/hooks/use-cx';\nimport { View } from '../../view';\nimport { NavigatorContext } from '../context';\nimport type { NavigatorScreenProps } from '../types';\n\nconst animationEnterDelay = 0;\nconst animationEnterDuration = 0.14;\nconst animationExitDuration = 0.14;\nconst animationExitDelay = 0;\n\n// Props specific to `framer-motion` can't be currently passed to `NavigatorScreen`,\n// as some of them would overlap with HTML props (e.g. `onAnimationStart`, ...)\ntype Props = Omit<\n\tWordPressComponentProps< NavigatorScreenProps, 'div', false >,\n\tkeyof MotionProps\n>;\n\nfunction NavigatorScreen( props: Props, forwardedRef: Ref< any > ) {\n\tconst { children, className, path, ...otherProps } = useContextSystem(\n\t\tprops,\n\t\t'NavigatorScreen'\n\t);\n\n\tconst prefersReducedMotion = useReducedMotion();\n\tconst { location } = useContext( NavigatorContext );\n\tconst isMatch = location.path === path;\n\tconst ref = useFocusOnMount();\n\n\tconst cx = useCx();\n\tconst classes = useMemo(\n\t\t() =>\n\t\t\tcx(\n\t\t\t\tcss( {\n\t\t\t\t\t// Ensures horizontal overflow is visually accessible\n\t\t\t\t\toverflowX: 'auto',\n\t\t\t\t\t// In case the root has a height, it should not be exceeded\n\t\t\t\t\tmaxHeight: '100%',\n\t\t\t\t} ),\n\t\t\t\tclassName\n\t\t\t),\n\t\t[ className ]\n\t);\n\n\t// This flag is used to only apply the focus on mount when the actual path changes.\n\t// It avoids the focus to happen on the first render.\n\tconst [ hasPathChanged, setHasPathChanged ] = useState( false );\n\tuseEffect( () => {\n\t\tsetHasPathChanged( true );\n\t}, [ path ] );\n\n\tif ( ! isMatch ) {\n\t\treturn null;\n\t}\n\n\tif ( prefersReducedMotion ) {\n\t\treturn (\n\t\t\t<View ref={ forwardedRef } className={ classes } { ...otherProps }>\n\t\t\t\t{ children }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tconst animate = {\n\t\topacity: 1,\n\t\ttransition: {\n\t\t\tdelay: animationEnterDelay,\n\t\t\tduration: animationEnterDuration,\n\t\t\tease: 'easeInOut',\n\t\t},\n\t\tx: 0,\n\t};\n\tconst initial = {\n\t\topacity: 0,\n\t\tx:\n\t\t\t( isRTL() && location.isBack ) || ( ! isRTL() && ! location.isBack )\n\t\t\t\t? 50\n\t\t\t\t: -50,\n\t};\n\tconst exit = {\n\t\tdelay: animationExitDelay,\n\t\topacity: 0,\n\t\tx:\n\t\t\t( ! isRTL() && location.isBack ) || ( isRTL() && ! location.isBack )\n\t\t\t\t? 50\n\t\t\t\t: -50,\n\t\ttransition: {\n\t\t\tduration: animationExitDuration,\n\t\t\tease: 'easeInOut',\n\t\t},\n\t};\n\n\tconst animatedProps = {\n\t\tanimate,\n\t\texit,\n\t\tinitial,\n\t};\n\n\treturn (\n\t\t<motion.div\n\t\t\tref={ hasPathChanged ? ref : undefined }\n\t\t\tclassName={ classes }\n\t\t\t{ ...otherProps }\n\t\t\t{ ...animatedProps }\n\t\t>\n\t\t\t{ children }\n\t\t</motion.div>\n\t);\n}\n\n/**\n * The `NavigatorScreen` component represents a single view/screen/panel/menu and is supposed to be used in combination with the `NavigatorProvider` component.\n *\n * @example\n * ```jsx\n * import {\n * __experimentalNavigatorProvider as NavigatorProvider,\n * __experimentalNavigatorScreen as NavigatorScreen,\n * __experimentalUseNavigator as useNavigator,\n * } from '@wordpress/components';\n *\n * function NavigatorButton( { path, ...props } ) {\n * const { push } = useNavigator();\n * return (\n * <Button\n * variant=\"primary\"\n * onClick={ () => push( path ) }\n * { ...props }\n * />\n * );\n * }\n *\n * function NavigatorBackButton( props ) {\n * const { pop } = useNavigator();\n * return <Button variant=\"secondary\" onClick={ () => pop() } { ...props } />;\n * }\n *\n * const MyNavigation = () => (\n * <NavigatorProvider initialPath=\"/\">\n * <NavigatorScreen path=\"/\">\n * <p>This is the home screen.</p>\n * \t <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>Go back</NavigatorBackButton>\n * </NavigatorScreen>\n * </NavigatorProvider>\n * );\n * ```\n */\nconst ConnectedNavigatorScreen = contextConnect(\n\tNavigatorScreen,\n\t'NavigatorScreen'\n);\n\nexport default ConnectedNavigatorScreen;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/navigator/navigator-screen/component.tsx"],"names":["animationEnterDelay","animationEnterDuration","animationExitDuration","animationExitDelay","NavigatorScreen","props","forwardedRef","children","className","path","otherProps","prefersReducedMotion","location","NavigatorContext","isMatch","wrapperRef","previousLocation","cx","classes","isInitialLocation","isInitial","isBack","current","elementToFocus","focusTargetSelector","querySelector","firstTabbable","focus","tabbable","find","mergedWrapperRef","animate","opacity","transition","delay","duration","ease","x","initial","exit","animatedProps","ConnectedNavigatorScreen"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport type { Ref } from 'react';\n// eslint-disable-next-line no-restricted-imports\nimport { motion, MotionProps } from 'framer-motion';\nimport { css } from '@emotion/react';\n\n/**\n * WordPress dependencies\n */\nimport { focus } from '@wordpress/dom';\nimport { useContext, useEffect, useMemo, useRef } from '@wordpress/element';\nimport {\n\tuseReducedMotion,\n\tuseMergeRefs,\n\tusePrevious,\n} from '@wordpress/compose';\nimport { isRTL } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tcontextConnect,\n\tuseContextSystem,\n\tWordPressComponentProps,\n} from '../../ui/context';\nimport { useCx } from '../../utils/hooks/use-cx';\nimport { View } from '../../view';\nimport { NavigatorContext } from '../context';\nimport type { NavigatorScreenProps } from '../types';\n\nconst animationEnterDelay = 0;\nconst animationEnterDuration = 0.14;\nconst animationExitDuration = 0.14;\nconst animationExitDelay = 0;\n\n// Props specific to `framer-motion` can't be currently passed to `NavigatorScreen`,\n// as some of them would overlap with HTML props (e.g. `onAnimationStart`, ...)\ntype Props = Omit<\n\tWordPressComponentProps< NavigatorScreenProps, 'div', false >,\n\tkeyof MotionProps\n>;\n\nfunction NavigatorScreen( props: Props, forwardedRef: Ref< any > ) {\n\tconst { children, className, path, ...otherProps } = useContextSystem(\n\t\tprops,\n\t\t'NavigatorScreen'\n\t);\n\n\tconst prefersReducedMotion = useReducedMotion();\n\tconst { location } = useContext( NavigatorContext );\n\tconst isMatch = location.path === path;\n\tconst wrapperRef = useRef< HTMLDivElement >( null );\n\n\tconst previousLocation = usePrevious( location );\n\n\tconst cx = useCx();\n\tconst classes = useMemo(\n\t\t() =>\n\t\t\tcx(\n\t\t\t\tcss( {\n\t\t\t\t\t// Ensures horizontal overflow is visually accessible\n\t\t\t\t\toverflowX: 'auto',\n\t\t\t\t\t// In case the root has a height, it should not be exceeded\n\t\t\t\t\tmaxHeight: '100%',\n\t\t\t\t} ),\n\t\t\t\tclassName\n\t\t\t),\n\t\t[ className, cx ]\n\t);\n\n\t// Focus restoration\n\tconst isInitialLocation = location.isInitial && ! location.isBack;\n\tuseEffect( () => {\n\t\t// Only attempt to restore focus:\n\t\t// - if the current location is not the initial one (to avoid moving focus on page load)\n\t\t// - when the screen becomes visible\n\t\t// - if the wrapper ref has been assigned\n\t\tif ( isInitialLocation || ! isMatch || ! wrapperRef.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet elementToFocus: HTMLElement | null = null;\n\n\t\t// When navigating back, if a selector is provided, use it to look for the\n\t\t// target element (assumed to be a node inside the current NavigatorScreen)\n\t\tif ( location.isBack && previousLocation?.focusTargetSelector ) {\n\t\t\telementToFocus = wrapperRef.current.querySelector(\n\t\t\t\tpreviousLocation.focusTargetSelector\n\t\t\t);\n\t\t}\n\n\t\t// If the previous query didn't run or find any element to focus, fallback\n\t\t// to the first tabbable element in the screen (or the screen itself).\n\t\tif ( ! elementToFocus ) {\n\t\t\tconst firstTabbable = ( focus.tabbable.find(\n\t\t\t\twrapperRef.current\n\t\t\t) as HTMLElement[] )[ 0 ];\n\n\t\t\telementToFocus = firstTabbable ?? wrapperRef.current;\n\t\t}\n\n\t\telementToFocus.focus();\n\t}, [ isInitialLocation, isMatch ] );\n\n\tconst mergedWrapperRef = useMergeRefs( [ forwardedRef, wrapperRef ] );\n\n\tif ( ! isMatch ) {\n\t\treturn null;\n\t}\n\n\tif ( prefersReducedMotion ) {\n\t\treturn (\n\t\t\t<View\n\t\t\t\tref={ mergedWrapperRef }\n\t\t\t\tclassName={ classes }\n\t\t\t\t{ ...otherProps }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tconst animate = {\n\t\topacity: 1,\n\t\ttransition: {\n\t\t\tdelay: animationEnterDelay,\n\t\t\tduration: animationEnterDuration,\n\t\t\tease: 'easeInOut',\n\t\t},\n\t\tx: 0,\n\t};\n\tconst initial = {\n\t\topacity: 0,\n\t\tx:\n\t\t\t( isRTL() && location.isBack ) || ( ! isRTL() && ! location.isBack )\n\t\t\t\t? 50\n\t\t\t\t: -50,\n\t};\n\tconst exit = {\n\t\tdelay: animationExitDelay,\n\t\topacity: 0,\n\t\tx:\n\t\t\t( ! isRTL() && location.isBack ) || ( isRTL() && ! location.isBack )\n\t\t\t\t? 50\n\t\t\t\t: -50,\n\t\ttransition: {\n\t\t\tduration: animationExitDuration,\n\t\t\tease: 'easeInOut',\n\t\t},\n\t};\n\n\tconst animatedProps = {\n\t\tanimate,\n\t\texit,\n\t\tinitial,\n\t};\n\n\treturn (\n\t\t<motion.div\n\t\t\tref={ mergedWrapperRef }\n\t\t\tclassName={ classes }\n\t\t\t{ ...otherProps }\n\t\t\t{ ...animatedProps }\n\t\t>\n\t\t\t{ children }\n\t\t</motion.div>\n\t);\n}\n\n/**\n * The `NavigatorScreen` component represents a single view/screen/panel/menu and is supposed to be used in combination with the `NavigatorProvider` component.\n *\n * @example\n * ```jsx\n * import {\n * __experimentalNavigatorProvider as NavigatorProvider,\n * __experimentalNavigatorScreen as NavigatorScreen,\n * __experimentalUseNavigator as useNavigator,\n * } from '@wordpress/components';\n *\n * function NavigatorButton( { path, ...props } ) {\n * const { goTo } = useNavigator();\n * return (\n * <Button\n * variant=\"primary\"\n * onClick={ () => goTo( path ) }\n * { ...props }\n * />\n * );\n * }\n *\n * function NavigatorBackButton( props ) {\n * const { goBack } = useNavigator();\n * return <Button variant=\"secondary\" onClick={ () => goBack() } { ...props } />;\n * }\n *\n * const MyNavigation = () => (\n * <NavigatorProvider initialPath=\"/\">\n * <NavigatorScreen path=\"/\">\n * <p>This is the home screen.</p>\n * \t <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>Go back</NavigatorBackButton>\n * </NavigatorScreen>\n * </NavigatorProvider>\n * );\n * ```\n */\nconst ConnectedNavigatorScreen = contextConnect(\n\tNavigatorScreen,\n\t'NavigatorScreen'\n);\n\nexport default ConnectedNavigatorScreen;\n"]}