@wordpress/components 32.2.1-next.v.202602111440.0 → 32.2.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 (588) hide show
  1. package/CHANGELOG.md +46 -1
  2. package/CLAUDE.md +1 -0
  3. package/build/alignment-matrix-control/cell.cjs +2 -2
  4. package/build/alignment-matrix-control/cell.cjs.map +1 -1
  5. package/build/alignment-matrix-control/index.cjs +2 -2
  6. package/build/alignment-matrix-control/index.cjs.map +1 -1
  7. package/build/angle-picker-control/angle-circle.cjs +4 -4
  8. package/build/angle-picker-control/angle-circle.cjs.map +2 -2
  9. package/build/autocomplete/index.cjs +16 -8
  10. package/build/autocomplete/index.cjs.map +2 -2
  11. package/build/clipboard-button/index.cjs +1 -1
  12. package/build/clipboard-button/index.cjs.map +2 -2
  13. package/build/color-picker/color-copy-button.cjs +1 -1
  14. package/build/color-picker/color-copy-button.cjs.map +2 -2
  15. package/build/confirm-dialog/component.cjs +2 -2
  16. package/build/confirm-dialog/component.cjs.map +2 -2
  17. package/build/context/context-system-provider.cjs.map +1 -1
  18. package/build/custom-gradient-picker/gradient-bar/control-points.cjs +2 -2
  19. package/build/custom-gradient-picker/gradient-bar/control-points.cjs.map +2 -2
  20. package/build/date-time/date/index.cjs +1 -1
  21. package/build/date-time/date/index.cjs.map +2 -2
  22. package/build/date-time/time/index.cjs +1 -1
  23. package/build/date-time/time/index.cjs.map +2 -2
  24. package/build/date-time/utils.cjs +9 -0
  25. package/build/date-time/utils.cjs.map +2 -2
  26. package/build/dropdown/index.cjs +1 -1
  27. package/build/dropdown/index.cjs.map +2 -2
  28. package/build/external-link/index.cjs +5 -1
  29. package/build/external-link/index.cjs.map +2 -2
  30. package/build/higher-order/with-spoken-messages/index.cjs.map +2 -2
  31. package/build/modal/index.cjs +2 -2
  32. package/build/modal/index.cjs.map +2 -2
  33. package/build/modal/use-modal-exit-animation.cjs +2 -2
  34. package/build/modal/use-modal-exit-animation.cjs.map +2 -2
  35. package/build/number-control/index.cjs +1 -1
  36. package/build/number-control/index.cjs.map +2 -2
  37. package/build/palette-edit/index.cjs +1 -1
  38. package/build/palette-edit/index.cjs.map +2 -2
  39. package/build/panel/body.cjs +1 -1
  40. package/build/panel/body.cjs.map +2 -2
  41. package/build/private-apis.cjs +0 -2
  42. package/build/private-apis.cjs.map +2 -2
  43. package/build/range-control/index.cjs +1 -1
  44. package/build/range-control/index.cjs.map +2 -2
  45. package/build/resizable-box/resize-tooltip/utils.cjs +1 -1
  46. package/build/resizable-box/resize-tooltip/utils.cjs.map +2 -2
  47. package/build/sandbox/index.cjs +126 -2
  48. package/build/sandbox/index.cjs.map +2 -2
  49. package/build/select-control/styles/select-control-styles.cjs +8 -8
  50. package/build/select-control/styles/select-control-styles.cjs.map +2 -2
  51. package/build/snackbar/list.cjs +4 -1
  52. package/build/snackbar/list.cjs.map +2 -2
  53. package/build/tabs/styles.cjs +5 -5
  54. package/build/tabs/styles.cjs.map +2 -2
  55. package/build/text/utils.cjs.map +1 -1
  56. package/build/toggle-group-control/toggle-group-control-option-base/styles.cjs +8 -8
  57. package/build/toggle-group-control/toggle-group-control-option-base/styles.cjs.map +2 -2
  58. package/build/tree-grid/roving-tab-index-item.cjs +1 -1
  59. package/build/tree-grid/roving-tab-index-item.cjs.map +2 -2
  60. package/build/utils/element-rect.cjs +1 -1
  61. package/build/utils/element-rect.cjs.map +2 -2
  62. package/build/utils/hooks/use-update-effect.cjs.map +1 -1
  63. package/build/utils/rtl.cjs +2 -2
  64. package/build/utils/rtl.cjs.map +2 -2
  65. package/build/utils/use-responsive-value.cjs +1 -7
  66. package/build/utils/use-responsive-value.cjs.map +2 -2
  67. package/build/validated-form-controls/control-with-error.cjs +26 -3
  68. package/build/validated-form-controls/control-with-error.cjs.map +2 -2
  69. package/build/validated-form-controls/validity-indicator.cjs +2 -0
  70. package/build/validated-form-controls/validity-indicator.cjs.map +2 -2
  71. package/build-module/alignment-matrix-control/cell.mjs +2 -2
  72. package/build-module/alignment-matrix-control/cell.mjs.map +1 -1
  73. package/build-module/alignment-matrix-control/index.mjs +2 -2
  74. package/build-module/alignment-matrix-control/index.mjs.map +1 -1
  75. package/build-module/angle-picker-control/angle-circle.mjs +4 -4
  76. package/build-module/angle-picker-control/angle-circle.mjs.map +2 -2
  77. package/build-module/autocomplete/index.mjs +14 -7
  78. package/build-module/autocomplete/index.mjs.map +2 -2
  79. package/build-module/clipboard-button/index.mjs +1 -1
  80. package/build-module/clipboard-button/index.mjs.map +2 -2
  81. package/build-module/color-picker/color-copy-button.mjs +1 -1
  82. package/build-module/color-picker/color-copy-button.mjs.map +2 -2
  83. package/build-module/confirm-dialog/component.mjs +2 -2
  84. package/build-module/confirm-dialog/component.mjs.map +2 -2
  85. package/build-module/context/context-system-provider.mjs.map +1 -1
  86. package/build-module/custom-gradient-picker/gradient-bar/control-points.mjs +2 -2
  87. package/build-module/custom-gradient-picker/gradient-bar/control-points.mjs.map +2 -2
  88. package/build-module/date-time/date/index.mjs +1 -1
  89. package/build-module/date-time/date/index.mjs.map +2 -2
  90. package/build-module/date-time/time/index.mjs +2 -2
  91. package/build-module/date-time/time/index.mjs.map +2 -2
  92. package/build-module/date-time/utils.mjs +8 -0
  93. package/build-module/date-time/utils.mjs.map +2 -2
  94. package/build-module/dropdown/index.mjs +1 -1
  95. package/build-module/dropdown/index.mjs.map +2 -2
  96. package/build-module/external-link/index.mjs +5 -1
  97. package/build-module/external-link/index.mjs.map +2 -2
  98. package/build-module/higher-order/with-spoken-messages/index.mjs.map +2 -2
  99. package/build-module/modal/index.mjs +2 -2
  100. package/build-module/modal/index.mjs.map +2 -2
  101. package/build-module/modal/use-modal-exit-animation.mjs +2 -2
  102. package/build-module/modal/use-modal-exit-animation.mjs.map +2 -2
  103. package/build-module/number-control/index.mjs +1 -1
  104. package/build-module/number-control/index.mjs.map +2 -2
  105. package/build-module/palette-edit/index.mjs +1 -1
  106. package/build-module/palette-edit/index.mjs.map +2 -2
  107. package/build-module/panel/body.mjs +1 -1
  108. package/build-module/panel/body.mjs.map +2 -2
  109. package/build-module/private-apis.mjs +0 -2
  110. package/build-module/private-apis.mjs.map +2 -2
  111. package/build-module/range-control/index.mjs +1 -1
  112. package/build-module/range-control/index.mjs.map +2 -2
  113. package/build-module/resizable-box/resize-tooltip/utils.mjs +1 -1
  114. package/build-module/resizable-box/resize-tooltip/utils.mjs.map +2 -2
  115. package/build-module/sandbox/index.mjs +127 -3
  116. package/build-module/sandbox/index.mjs.map +2 -2
  117. package/build-module/select-control/styles/select-control-styles.mjs +8 -8
  118. package/build-module/select-control/styles/select-control-styles.mjs.map +2 -2
  119. package/build-module/snackbar/list.mjs +4 -1
  120. package/build-module/snackbar/list.mjs.map +2 -2
  121. package/build-module/tabs/styles.mjs +5 -5
  122. package/build-module/tabs/styles.mjs.map +2 -2
  123. package/build-module/text/utils.mjs.map +1 -1
  124. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.mjs +8 -8
  125. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.mjs.map +2 -2
  126. package/build-module/tree-grid/roving-tab-index-item.mjs +1 -1
  127. package/build-module/tree-grid/roving-tab-index-item.mjs.map +2 -2
  128. package/build-module/utils/element-rect.mjs +1 -1
  129. package/build-module/utils/element-rect.mjs.map +2 -2
  130. package/build-module/utils/hooks/use-update-effect.mjs.map +1 -1
  131. package/build-module/utils/rtl.mjs +2 -2
  132. package/build-module/utils/rtl.mjs.map +2 -2
  133. package/build-module/utils/use-responsive-value.mjs +1 -7
  134. package/build-module/utils/use-responsive-value.mjs.map +2 -2
  135. package/build-module/validated-form-controls/control-with-error.mjs +27 -4
  136. package/build-module/validated-form-controls/control-with-error.mjs.map +2 -2
  137. package/build-module/validated-form-controls/validity-indicator.mjs +2 -0
  138. package/build-module/validated-form-controls/validity-indicator.mjs.map +2 -2
  139. package/build-style/style-rtl.css +8 -4
  140. package/build-style/style.css +8 -4
  141. package/build-types/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.d.ts +19 -0
  142. package/build-types/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.d.ts.map +1 -0
  143. package/build-types/alignment-matrix-control/styles/alignment-matrix-control-styles.d.ts +23 -0
  144. package/build-types/alignment-matrix-control/styles/alignment-matrix-control-styles.d.ts.map +1 -0
  145. package/build-types/angle-picker-control/angle-circle.d.ts.map +1 -1
  146. package/build-types/angle-picker-control/index.d.ts +1 -1
  147. package/build-types/angle-picker-control/stories/index.story.d.ts +1 -1
  148. package/build-types/angle-picker-control/styles/angle-picker-control-styles.d.ts +25 -0
  149. package/build-types/angle-picker-control/styles/angle-picker-control-styles.d.ts.map +1 -0
  150. package/build-types/animate/index.d.ts +1 -1
  151. package/build-types/animate/index.d.ts.map +1 -1
  152. package/build-types/animate/types.d.ts +1 -1
  153. package/build-types/animate/types.d.ts.map +1 -1
  154. package/build-types/autocomplete/get-autocomplete-match.d.ts +20 -0
  155. package/build-types/autocomplete/get-autocomplete-match.d.ts.map +1 -0
  156. package/build-types/autocomplete/index.d.ts +10 -2
  157. package/build-types/autocomplete/index.d.ts.map +1 -1
  158. package/build-types/autocomplete/test/get-autocomplete-match.d.ts +2 -0
  159. package/build-types/autocomplete/test/get-autocomplete-match.d.ts.map +1 -0
  160. package/build-types/autocomplete/types.d.ts +1 -1
  161. package/build-types/autocomplete/types.d.ts.map +1 -1
  162. package/build-types/badge/stories/e2e/index.story.d.ts +7 -0
  163. package/build-types/badge/stories/e2e/index.story.d.ts.map +1 -0
  164. package/build-types/base-control/index.d.ts +2 -2
  165. package/build-types/base-control/stories/index.story.d.ts +1 -1
  166. package/build-types/border-box-control/border-box-control/hook.d.ts +1 -1
  167. package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts +1 -1
  168. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +1 -1
  169. package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts +1 -1
  170. package/build-types/border-control/border-control/hook.d.ts +1 -1
  171. package/build-types/border-control/border-control-dropdown/hook.d.ts +1 -1
  172. package/build-types/border-control/border-control-style-picker/hook.d.ts +267 -0
  173. package/build-types/border-control/border-control-style-picker/hook.d.ts.map +1 -0
  174. package/build-types/box-control/all-input-control.d.ts +4 -0
  175. package/build-types/box-control/all-input-control.d.ts.map +1 -0
  176. package/build-types/box-control/axial-input-controls.d.ts +4 -0
  177. package/build-types/box-control/axial-input-controls.d.ts.map +1 -0
  178. package/build-types/box-control/input-controls.d.ts +4 -0
  179. package/build-types/box-control/input-controls.d.ts.map +1 -0
  180. package/build-types/box-control/styles/box-control-styles.d.ts +2 -2
  181. package/build-types/box-control/styles/box-control-styles.d.ts.map +1 -1
  182. package/build-types/box-control/styles/box-control-visualizer-styles.d.ts +46 -0
  183. package/build-types/box-control/styles/box-control-visualizer-styles.d.ts.map +1 -0
  184. package/build-types/box-control/unit-control.d.ts +4 -0
  185. package/build-types/box-control/unit-control.d.ts.map +1 -0
  186. package/build-types/card/card/hook.d.ts +1 -1
  187. package/build-types/card/card-body/hook.d.ts +1 -1
  188. package/build-types/card/card-footer/hook.d.ts +1 -1
  189. package/build-types/card/card-header/hook.d.ts +1 -1
  190. package/build-types/card/card-media/hook.d.ts +1 -1
  191. package/build-types/color-palette/stories/index.story.d.ts +6 -5
  192. package/build-types/color-palette/stories/index.story.d.ts.map +1 -1
  193. package/build-types/color-palette/styles.d.ts +1 -1
  194. package/build-types/color-picker/color-copy-button.d.ts.map +1 -1
  195. package/build-types/color-picker/styles.d.ts +2 -2
  196. package/build-types/color-picker/styles.d.ts.map +1 -1
  197. package/build-types/combobox-control/styles.d.ts +1 -1
  198. package/build-types/context/context-connect.d.ts +2 -2
  199. package/build-types/context/context-connect.d.ts.map +1 -1
  200. package/build-types/context/context-system-provider.d.ts +2 -2
  201. package/build-types/context/context-system-provider.d.ts.map +1 -1
  202. package/build-types/context/wordpress-component.d.ts +3 -3
  203. package/build-types/context/wordpress-component.d.ts.map +1 -1
  204. package/build-types/custom-gradient-picker/gradient-bar/control-points.d.ts.map +1 -1
  205. package/build-types/custom-gradient-picker/styles/custom-gradient-picker-styles.d.ts +2 -2
  206. package/build-types/custom-gradient-picker/test/index.d.ts +2 -0
  207. package/build-types/custom-gradient-picker/test/index.d.ts.map +1 -0
  208. package/build-types/custom-gradient-picker/types.d.ts +1 -1
  209. package/build-types/custom-gradient-picker/types.d.ts.map +1 -1
  210. package/build-types/custom-select-control/styles.d.ts +11 -0
  211. package/build-types/custom-select-control/styles.d.ts.map +1 -0
  212. package/build-types/custom-select-control-v2/types.d.ts +4 -4
  213. package/build-types/custom-select-control-v2/types.d.ts.map +1 -1
  214. package/build-types/date-time/date/styles.d.ts +2 -2
  215. package/build-types/date-time/date-picker/index.d.ts +23 -0
  216. package/build-types/date-time/date-picker/index.d.ts.map +1 -0
  217. package/build-types/date-time/date-picker/styles.d.ts +45 -0
  218. package/build-types/date-time/date-picker/styles.d.ts.map +1 -0
  219. package/build-types/date-time/date-picker/test/index.d.ts +2 -0
  220. package/build-types/date-time/date-picker/test/index.d.ts.map +1 -0
  221. package/build-types/date-time/date-picker/test/use-lilius.d.ts +2 -0
  222. package/build-types/date-time/date-picker/test/use-lilius.d.ts.map +1 -0
  223. package/build-types/date-time/date-picker/use-lilius/index.d.ts +169 -0
  224. package/build-types/date-time/date-picker/use-lilius/index.d.ts.map +1 -0
  225. package/build-types/date-time/date-time/styles.d.ts +1 -1
  226. package/build-types/date-time/time/index.d.ts.map +1 -1
  227. package/build-types/date-time/time-picker/index.d.ts +27 -0
  228. package/build-types/date-time/time-picker/index.d.ts.map +1 -0
  229. package/build-types/date-time/time-picker/styles.d.ts +93 -0
  230. package/build-types/date-time/time-picker/styles.d.ts.map +1 -0
  231. package/build-types/date-time/time-picker/test/index.d.ts +2 -0
  232. package/build-types/date-time/time-picker/test/index.d.ts.map +1 -0
  233. package/build-types/date-time/time-picker/time-input/index.d.ts +4 -0
  234. package/build-types/date-time/time-picker/time-input/index.d.ts.map +1 -0
  235. package/build-types/date-time/time-picker/time-input/test/index.d.ts +2 -0
  236. package/build-types/date-time/time-picker/time-input/test/index.d.ts.map +1 -0
  237. package/build-types/date-time/time-picker/timezone.d.ts +7 -0
  238. package/build-types/date-time/time-picker/timezone.d.ts.map +1 -0
  239. package/build-types/date-time/utils.d.ts +9 -0
  240. package/build-types/date-time/utils.d.ts.map +1 -1
  241. package/build-types/dimension-control/index.d.ts +28 -0
  242. package/build-types/dimension-control/index.d.ts.map +1 -0
  243. package/build-types/dimension-control/sizes.d.ts +26 -0
  244. package/build-types/dimension-control/sizes.d.ts.map +1 -0
  245. package/build-types/dimension-control/stories/index.story.d.ts +4 -0
  246. package/build-types/dimension-control/stories/index.story.d.ts.map +1 -0
  247. package/build-types/dimension-control/types.d.ts +47 -0
  248. package/build-types/dimension-control/types.d.ts.map +1 -0
  249. package/build-types/draggable/types.d.ts +1 -1
  250. package/build-types/draggable/types.d.ts.map +1 -1
  251. package/build-types/drop-zone/types.d.ts +1 -1
  252. package/build-types/drop-zone/types.d.ts.map +1 -1
  253. package/build-types/dropdown-menu/types.d.ts +1 -1
  254. package/build-types/dropdown-menu/types.d.ts.map +1 -1
  255. package/build-types/dropdown-menu-v2/index.d.ts +17 -0
  256. package/build-types/dropdown-menu-v2/index.d.ts.map +1 -0
  257. package/build-types/dropdown-menu-v2/stories/index.story.d.ts +11 -0
  258. package/build-types/dropdown-menu-v2/stories/index.story.d.ts.map +1 -0
  259. package/build-types/dropdown-menu-v2/styles.d.ts +42 -0
  260. package/build-types/dropdown-menu-v2/styles.d.ts.map +1 -0
  261. package/build-types/dropdown-menu-v2/test/index.d.ts +2 -0
  262. package/build-types/dropdown-menu-v2/test/index.d.ts.map +1 -0
  263. package/build-types/dropdown-menu-v2/types.d.ts +252 -0
  264. package/build-types/dropdown-menu-v2/types.d.ts.map +1 -0
  265. package/build-types/elevation/hook.d.ts +1 -1
  266. package/build-types/external-link/index.d.ts.map +1 -1
  267. package/build-types/external-link/styles/external-link-styles.d.ts +10 -0
  268. package/build-types/external-link/styles/external-link-styles.d.ts.map +1 -0
  269. package/build-types/flex/flex/hook.d.ts +1 -1
  270. package/build-types/flex/flex-block/hook.d.ts +1 -1
  271. package/build-types/flex/flex-item/hook.d.ts +1 -1
  272. package/build-types/focal-point-picker/styles/focal-point-picker-style.d.ts +1 -1
  273. package/build-types/font-size-picker/stories/index.story.d.ts +8 -7
  274. package/build-types/font-size-picker/stories/index.story.d.ts.map +1 -1
  275. package/build-types/font-size-picker/styles.d.ts +2 -2
  276. package/build-types/form-token-field/styles.d.ts +1 -1
  277. package/build-types/gradient-picker/stories/index.story.d.ts +6 -5
  278. package/build-types/gradient-picker/stories/index.story.d.ts.map +1 -1
  279. package/build-types/grid/hook.d.ts +1 -1
  280. package/build-types/h-stack/hook.d.ts +1 -1
  281. package/build-types/heading/hook.d.ts +1 -1
  282. package/build-types/higher-order/navigate-regions/index.d.ts +1 -1
  283. package/build-types/higher-order/with-notices/types.d.ts +1 -1
  284. package/build-types/higher-order/with-notices/types.d.ts.map +1 -1
  285. package/build-types/higher-order/with-spoken-messages/index.d.ts +2 -3
  286. package/build-types/higher-order/with-spoken-messages/index.d.ts.map +1 -1
  287. package/build-types/icon/index.d.ts +2 -2
  288. package/build-types/icon/index.d.ts.map +1 -1
  289. package/build-types/input-control/styles/input-control-styles.d.ts +2 -2
  290. package/build-types/item-group/item/hook.d.ts +1 -1
  291. package/build-types/item-group/item-group/hook.d.ts +1 -1
  292. package/build-types/menu/index.d.ts +2 -2
  293. package/build-types/menu/item-help-text.d.ts +1 -1
  294. package/build-types/menu/item-label.d.ts +1 -1
  295. package/build-types/menu/styles.d.ts +2 -2
  296. package/build-types/menu-item/index.d.ts +1 -1
  297. package/build-types/menu-item/stories/index.story.d.ts +4 -4
  298. package/build-types/menu-item/types.d.ts +1 -1
  299. package/build-types/menu-item/types.d.ts.map +1 -1
  300. package/build-types/mobile/inserter-button/sparkles.d.ts +3 -0
  301. package/build-types/mobile/inserter-button/sparkles.d.ts.map +1 -0
  302. package/build-types/modal/index.d.ts.map +1 -1
  303. package/build-types/modal/types.d.ts +1 -1
  304. package/build-types/modal/types.d.ts.map +1 -1
  305. package/build-types/modal/use-modal-exit-animation.d.ts +1 -1
  306. package/build-types/navigation/styles/navigation-styles.d.ts +2 -2
  307. package/build-types/navigation/types.d.ts +1 -1
  308. package/build-types/navigation/types.d.ts.map +1 -1
  309. package/build-types/navigator/navigator-back-button/hook.d.ts +1 -1
  310. package/build-types/navigator/navigator-back-button/index.d.ts +2 -0
  311. package/build-types/navigator/navigator-back-button/index.d.ts.map +1 -0
  312. package/build-types/navigator/navigator-button/hook.d.ts +1 -1
  313. package/build-types/navigator/navigator-button/index.d.ts +2 -0
  314. package/build-types/navigator/navigator-button/index.d.ts.map +1 -0
  315. package/build-types/navigator/navigator-provider/component.d.ts +38 -0
  316. package/build-types/navigator/navigator-provider/component.d.ts.map +1 -0
  317. package/build-types/navigator/navigator-provider/index.d.ts +2 -0
  318. package/build-types/navigator/navigator-provider/index.d.ts.map +1 -0
  319. package/build-types/navigator/navigator-screen/index.d.ts +2 -0
  320. package/build-types/navigator/navigator-screen/index.d.ts.map +1 -0
  321. package/build-types/navigator/navigator-to-parent-button/index.d.ts +2 -0
  322. package/build-types/navigator/navigator-to-parent-button/index.d.ts.map +1 -0
  323. package/build-types/palette-edit/styles.d.ts +1 -1
  324. package/build-types/palette-edit/types.d.ts +1 -1
  325. package/build-types/palette-edit/types.d.ts.map +1 -1
  326. package/build-types/panel/types.d.ts +2 -2
  327. package/build-types/panel/types.d.ts.map +1 -1
  328. package/build-types/private-apis.d.ts.map +1 -1
  329. package/build-types/radio-group/radio/index.d.ts +7 -0
  330. package/build-types/radio-group/radio/index.d.ts.map +1 -0
  331. package/build-types/radio-group/radio-context/index.d.ts +6 -0
  332. package/build-types/radio-group/radio-context/index.d.ts.map +1 -0
  333. package/build-types/range-control/index.d.ts.map +1 -1
  334. package/build-types/range-control/input-range.d.ts +1 -1
  335. package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
  336. package/build-types/range-control/types.d.ts +2 -2
  337. package/build-types/range-control/types.d.ts.map +1 -1
  338. package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts +1 -1
  339. package/build-types/resizable-box/resize-tooltip/utils.d.ts +1 -1
  340. package/build-types/resizable-box/resize-tooltip/utils.d.ts.map +1 -1
  341. package/build-types/sandbox/index.d.ts +1 -1
  342. package/build-types/sandbox/index.d.ts.map +1 -1
  343. package/build-types/sandbox/types.d.ts +11 -0
  344. package/build-types/sandbox/types.d.ts.map +1 -1
  345. package/build-types/scrollable/hook.d.ts +1 -1
  346. package/build-types/search-control/types.d.ts +1 -1
  347. package/build-types/search-control/types.d.ts.map +1 -1
  348. package/build-types/select-control/styles/select-control-styles.d.ts +2 -2
  349. package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
  350. package/build-types/slot-fill/bubbles-virtually/fill.d.ts +5 -0
  351. package/build-types/slot-fill/bubbles-virtually/fill.d.ts.map +1 -0
  352. package/build-types/slot-fill/bubbles-virtually/slot-fill-context.d.ts +12 -0
  353. package/build-types/slot-fill/bubbles-virtually/slot-fill-context.d.ts.map +1 -0
  354. package/build-types/slot-fill/bubbles-virtually/slot-fill-provider.d.ts +4 -0
  355. package/build-types/slot-fill/bubbles-virtually/slot-fill-provider.d.ts.map +1 -0
  356. package/build-types/slot-fill/bubbles-virtually/slot.d.ts +1 -1
  357. package/build-types/slot-fill/types.d.ts +1 -1
  358. package/build-types/slot-fill/types.d.ts.map +1 -1
  359. package/build-types/slot-fill/use-slot.d.ts +9 -0
  360. package/build-types/slot-fill/use-slot.d.ts.map +1 -0
  361. package/build-types/snackbar/index.d.ts +1 -1
  362. package/build-types/snackbar/list.d.ts.map +1 -1
  363. package/build-types/spacer/hook.d.ts +1 -1
  364. package/build-types/style-provider/test/index.d.ts +2 -0
  365. package/build-types/style-provider/test/index.d.ts.map +1 -0
  366. package/build-types/surface/hook.d.ts +1 -1
  367. package/build-types/tabs/styles.d.ts.map +1 -1
  368. package/build-types/text/hook.d.ts +1 -1
  369. package/build-types/text/stories/index.story.d.ts +3 -3
  370. package/build-types/text/utils.d.ts +18 -18
  371. package/build-types/text/utils.d.ts.map +1 -1
  372. package/build-types/theme/stories/index.story.d.ts +1 -1
  373. package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts.map +1 -1
  374. package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts +1 -1
  375. package/build-types/toggle-group-control/types.d.ts +1 -1
  376. package/build-types/toggle-group-control/types.d.ts.map +1 -1
  377. package/build-types/tools-panel/tools-panel/hook.d.ts +1 -1
  378. package/build-types/tools-panel/tools-panel-header/hook.d.ts +1 -1
  379. package/build-types/tools-panel/tools-panel-item/hook.d.ts +1 -1
  380. package/build-types/tree-grid/types.d.ts +1 -1
  381. package/build-types/tree-grid/types.d.ts.map +1 -1
  382. package/build-types/truncate/hook.d.ts +1 -1
  383. package/build-types/ui/context/constants.d.ts +8 -0
  384. package/build-types/ui/context/constants.d.ts.map +1 -0
  385. package/build-types/ui/context/context-connect.d.ts +40 -0
  386. package/build-types/ui/context/context-connect.d.ts.map +1 -0
  387. package/build-types/ui/context/context-system-provider.d.ts +7 -0
  388. package/build-types/ui/context/context-system-provider.d.ts.map +1 -0
  389. package/build-types/ui/context/get-styled-class-name-from-key.d.ts +2 -0
  390. package/build-types/ui/context/get-styled-class-name-from-key.d.ts.map +1 -0
  391. package/build-types/ui/context/index.d.ts +5 -0
  392. package/build-types/ui/context/index.d.ts.map +1 -0
  393. package/build-types/ui/context/test/context-connect.d.ts +2 -0
  394. package/build-types/ui/context/test/context-connect.d.ts.map +1 -0
  395. package/build-types/ui/context/test/wordpress-component.d.ts +2 -0
  396. package/build-types/ui/context/test/wordpress-component.d.ts.map +1 -0
  397. package/build-types/ui/context/use-context-system.d.ts +20 -0
  398. package/build-types/ui/context/use-context-system.d.ts.map +1 -0
  399. package/build-types/ui/context/utils.d.ts +26 -0
  400. package/build-types/ui/context/utils.d.ts.map +1 -0
  401. package/build-types/ui/context/wordpress-component.d.ts +32 -0
  402. package/build-types/ui/context/wordpress-component.d.ts.map +1 -0
  403. package/build-types/ui/shortcut/component.d.ts +12 -0
  404. package/build-types/ui/shortcut/component.d.ts.map +1 -0
  405. package/build-types/ui/shortcut/index.d.ts +3 -0
  406. package/build-types/ui/shortcut/index.d.ts.map +1 -0
  407. package/build-types/ui/tooltip/component.d.ts +29 -0
  408. package/build-types/ui/tooltip/component.d.ts.map +1 -0
  409. package/build-types/ui/tooltip/content.d.ts +9 -0
  410. package/build-types/ui/tooltip/content.d.ts.map +1 -0
  411. package/build-types/ui/tooltip/context.d.ts +10 -0
  412. package/build-types/ui/tooltip/context.d.ts.map +1 -0
  413. package/build-types/ui/tooltip/index.d.ts +3 -0
  414. package/build-types/ui/tooltip/index.d.ts.map +1 -0
  415. package/build-types/ui/tooltip/styles.d.ts +12 -0
  416. package/build-types/ui/tooltip/styles.d.ts.map +1 -0
  417. package/build-types/ui/tooltip/types.d.ts +62 -0
  418. package/build-types/ui/tooltip/types.d.ts.map +1 -0
  419. package/build-types/ui/utils/colors.d.ts +17 -0
  420. package/build-types/ui/utils/colors.d.ts.map +1 -0
  421. package/build-types/ui/utils/font-size.d.ts +18 -0
  422. package/build-types/ui/utils/font-size.d.ts.map +1 -0
  423. package/build-types/ui/utils/get-valid-children.d.ts +13 -0
  424. package/build-types/ui/utils/get-valid-children.d.ts.map +1 -0
  425. package/build-types/ui/utils/index.d.ts +2 -0
  426. package/build-types/ui/utils/index.d.ts.map +1 -0
  427. package/build-types/ui/utils/space.d.ts +23 -0
  428. package/build-types/ui/utils/space.d.ts.map +1 -0
  429. package/build-types/ui/utils/types.d.ts +14 -0
  430. package/build-types/ui/utils/types.d.ts.map +1 -0
  431. package/build-types/ui/utils/use-responsive-value.d.ts +5 -0
  432. package/build-types/ui/utils/use-responsive-value.d.ts.map +1 -0
  433. package/build-types/utils/hooks/use-latest-ref.d.ts +15 -0
  434. package/build-types/utils/hooks/use-latest-ref.d.ts.map +1 -0
  435. package/build-types/utils/hooks/use-update-effect.d.ts +3 -3
  436. package/build-types/utils/hooks/use-update-effect.d.ts.map +1 -1
  437. package/build-types/utils/input/base.d.ts +3 -0
  438. package/build-types/utils/input/base.d.ts.map +1 -0
  439. package/build-types/utils/input/index.d.ts +2 -0
  440. package/build-types/utils/input/index.d.ts.map +1 -0
  441. package/build-types/utils/input/input-control.d.ts +2 -0
  442. package/build-types/utils/input/input-control.d.ts.map +1 -0
  443. package/build-types/utils/reduce-motion.d.ts +8 -0
  444. package/build-types/utils/reduce-motion.d.ts.map +1 -0
  445. package/build-types/utils/rtl.d.ts +4 -4
  446. package/build-types/utils/rtl.d.ts.map +1 -1
  447. package/build-types/utils/use-responsive-value.d.ts.map +1 -1
  448. package/build-types/utils/z-index.d.ts +3 -0
  449. package/build-types/utils/z-index.d.ts.map +1 -0
  450. package/build-types/v-stack/hook.d.ts +1 -1
  451. package/build-types/v-stack/stories/index.story.d.ts +1 -1
  452. package/build-types/validated-form-controls/components/range-control.d.ts.map +1 -1
  453. package/build-types/validated-form-controls/components/stories/overview.story.d.ts.map +1 -1
  454. package/build-types/validated-form-controls/control-with-error.d.ts.map +1 -1
  455. package/build-types/validated-form-controls/test/checkbox-control.d.ts +2 -0
  456. package/build-types/validated-form-controls/test/checkbox-control.d.ts.map +1 -0
  457. package/build-types/validated-form-controls/test/combobox-control.d.ts +2 -0
  458. package/build-types/validated-form-controls/test/combobox-control.d.ts.map +1 -0
  459. package/build-types/validated-form-controls/test/custom-select-control.d.ts +2 -0
  460. package/build-types/validated-form-controls/test/custom-select-control.d.ts.map +1 -0
  461. package/build-types/validated-form-controls/test/form-token-field.d.ts +2 -0
  462. package/build-types/validated-form-controls/test/form-token-field.d.ts.map +1 -0
  463. package/build-types/validated-form-controls/test/input-control.d.ts +2 -0
  464. package/build-types/validated-form-controls/test/input-control.d.ts.map +1 -0
  465. package/build-types/validated-form-controls/test/number-control.d.ts +2 -0
  466. package/build-types/validated-form-controls/test/number-control.d.ts.map +1 -0
  467. package/build-types/validated-form-controls/test/radio-control.d.ts +2 -0
  468. package/build-types/validated-form-controls/test/radio-control.d.ts.map +1 -0
  469. package/build-types/validated-form-controls/test/range-control.d.ts +2 -0
  470. package/build-types/validated-form-controls/test/range-control.d.ts.map +1 -0
  471. package/build-types/validated-form-controls/test/select-control.d.ts +2 -0
  472. package/build-types/validated-form-controls/test/select-control.d.ts.map +1 -0
  473. package/build-types/validated-form-controls/test/text-control.d.ts +2 -0
  474. package/build-types/validated-form-controls/test/text-control.d.ts.map +1 -0
  475. package/build-types/validated-form-controls/test/textarea-control.d.ts +2 -0
  476. package/build-types/validated-form-controls/test/textarea-control.d.ts.map +1 -0
  477. package/build-types/validated-form-controls/test/toggle-control.d.ts +2 -0
  478. package/build-types/validated-form-controls/test/toggle-control.d.ts.map +1 -0
  479. package/build-types/validated-form-controls/test/toggle-group-control.d.ts +2 -0
  480. package/build-types/validated-form-controls/test/toggle-group-control.d.ts.map +1 -0
  481. package/build-types/validated-form-controls/validity-indicator.d.ts +2 -1
  482. package/build-types/validated-form-controls/validity-indicator.d.ts.map +1 -1
  483. package/build-types/view/types.d.ts +8 -0
  484. package/build-types/view/types.d.ts.map +1 -0
  485. package/package.json +24 -24
  486. package/src/alignment-matrix-control/test/index.tsx +1 -1
  487. package/src/angle-picker-control/angle-circle.tsx +6 -5
  488. package/src/animate/types.ts +1 -1
  489. package/src/autocomplete/autocompleter-ui.tsx +1 -1
  490. package/src/autocomplete/index.tsx +33 -8
  491. package/src/autocomplete/test/index.tsx +110 -1
  492. package/src/autocomplete/types.ts +1 -1
  493. package/src/button/style.scss +8 -5
  494. package/src/calendar/style.scss +4 -2
  495. package/src/clipboard-button/index.tsx +1 -1
  496. package/src/color-palette/stories/index.story.tsx +56 -48
  497. package/src/color-picker/color-copy-button.tsx +1 -3
  498. package/src/composite/stories/index.story.tsx +1 -1
  499. package/src/confirm-dialog/component.tsx +2 -2
  500. package/src/context/context-connect.ts +3 -3
  501. package/src/context/context-system-provider.js +4 -4
  502. package/src/context/wordpress-component.ts +3 -5
  503. package/src/custom-gradient-picker/gradient-bar/control-points.tsx +3 -2
  504. package/src/custom-gradient-picker/types.ts +1 -1
  505. package/src/custom-select-control-v2/custom-select.tsx +1 -1
  506. package/src/custom-select-control-v2/stories/index.story.tsx +3 -3
  507. package/src/custom-select-control-v2/test/index.tsx +3 -3
  508. package/src/custom-select-control-v2/types.ts +4 -4
  509. package/src/date-time/date/index.tsx +1 -1
  510. package/src/date-time/test/utils.test.ts +8 -11
  511. package/src/date-time/time/index.tsx +2 -12
  512. package/src/date-time/time/test/index.tsx +69 -0
  513. package/src/date-time/utils.ts +18 -0
  514. package/src/draggable/index.native.js +17 -17
  515. package/src/draggable/types.ts +1 -1
  516. package/src/drop-zone/types.ts +1 -1
  517. package/src/dropdown/index.tsx +1 -1
  518. package/src/dropdown-menu/types.ts +1 -1
  519. package/src/external-link/index.tsx +5 -1
  520. package/src/font-size-picker/stories/index.story.tsx +133 -125
  521. package/src/form-token-field/style.scss +1 -0
  522. package/src/gradient-picker/stories/index.story.tsx +48 -42
  523. package/src/h-stack/test/index.tsx +1 -1
  524. package/src/heading/hook.ts +2 -2
  525. package/src/higher-order/with-notices/test/index.tsx +2 -2
  526. package/src/higher-order/with-notices/types.ts +1 -1
  527. package/src/higher-order/with-spoken-messages/index.tsx +2 -4
  528. package/src/icon/index.tsx +2 -2
  529. package/src/keyboard-shortcuts/index.tsx +1 -1
  530. package/src/menu/stories/index.story.tsx +1 -1
  531. package/src/menu-item/types.ts +1 -1
  532. package/src/modal/index.tsx +4 -3
  533. package/src/modal/types.ts +1 -1
  534. package/src/modal/use-modal-exit-animation.ts +2 -2
  535. package/src/navigation/README.md +1 -1
  536. package/src/navigation/types.ts +1 -1
  537. package/src/number-control/index.tsx +1 -1
  538. package/src/palette-edit/index.tsx +2 -2
  539. package/src/palette-edit/types.ts +1 -1
  540. package/src/panel/README.md +1 -1
  541. package/src/panel/body.tsx +1 -1
  542. package/src/panel/types.ts +2 -2
  543. package/src/popover/stories/index.story.tsx +1 -1
  544. package/src/private-apis.ts +0 -2
  545. package/src/radio-control/test/index.tsx +5 -4
  546. package/src/range-control/index.tsx +1 -1
  547. package/src/range-control/types.ts +2 -2
  548. package/src/resizable-box/index.tsx +1 -1
  549. package/src/resizable-box/resize-tooltip/index.tsx +1 -1
  550. package/src/resizable-box/resize-tooltip/label.tsx +1 -1
  551. package/src/resizable-box/resize-tooltip/utils.ts +2 -2
  552. package/src/sandbox/index.tsx +190 -10
  553. package/src/sandbox/test/index.tsx +65 -24
  554. package/src/sandbox/types.ts +11 -0
  555. package/src/search-control/types.ts +1 -1
  556. package/src/select-control/styles/select-control-styles.ts +1 -0
  557. package/src/slot-fill/types.ts +1 -1
  558. package/src/snackbar/list.tsx +7 -2
  559. package/src/tabs/styles.ts +1 -0
  560. package/src/text/utils.ts +18 -18
  561. package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +18 -16
  562. package/src/toggle-group-control/toggle-group-control-option-base/component.tsx +1 -1
  563. package/src/toggle-group-control/toggle-group-control-option-base/styles.ts +4 -6
  564. package/src/toggle-group-control/types.ts +1 -1
  565. package/src/tree-grid/roving-tab-index-item.tsx +1 -1
  566. package/src/tree-grid/types.ts +1 -1
  567. package/src/utils/element-rect.ts +1 -1
  568. package/src/utils/hooks/use-update-effect.js +2 -2
  569. package/src/utils/rtl.js +4 -4
  570. package/src/utils/use-responsive-value.ts +1 -5
  571. package/src/v-stack/test/index.tsx +1 -1
  572. package/src/validated-form-controls/components/stories/overview.story.tsx +2 -1
  573. package/src/validated-form-controls/control-with-error.tsx +44 -4
  574. package/src/validated-form-controls/test/checkbox-control.tsx +49 -0
  575. package/src/validated-form-controls/test/combobox-control.tsx +61 -0
  576. package/src/validated-form-controls/test/control-with-error.tsx +182 -1
  577. package/src/validated-form-controls/test/custom-select-control.tsx +60 -0
  578. package/src/validated-form-controls/test/form-token-field.tsx +52 -0
  579. package/src/validated-form-controls/test/input-control.tsx +42 -0
  580. package/src/validated-form-controls/test/number-control.tsx +44 -0
  581. package/src/validated-form-controls/test/radio-control.tsx +61 -0
  582. package/src/validated-form-controls/test/range-control.tsx +73 -0
  583. package/src/validated-form-controls/test/select-control.tsx +57 -0
  584. package/src/validated-form-controls/test/text-control.tsx +49 -0
  585. package/src/validated-form-controls/test/textarea-control.tsx +51 -0
  586. package/src/validated-form-controls/test/toggle-control.tsx +49 -0
  587. package/src/validated-form-controls/test/toggle-group-control.tsx +28 -0
  588. package/src/validated-form-controls/validity-indicator.tsx +3 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/rtl.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport { css } from '@emotion/react';\n\n/**\n * WordPress dependencies\n */\nimport { isRTL } from '@wordpress/i18n';\nconst LOWER_LEFT_REGEXP = new RegExp(/-left/g);\nconst LOWER_RIGHT_REGEXP = new RegExp(/-right/g);\nconst UPPER_LEFT_REGEXP = new RegExp(/Left/g);\nconst UPPER_RIGHT_REGEXP = new RegExp(/Right/g);\n\n/**\n * Flips a CSS property from left <-> right.\n *\n * @param {string} key The CSS property name.\n *\n * @return {string} The flipped CSS property name, if applicable.\n */\nfunction getConvertedKey(key) {\n if (key === 'left') {\n return 'right';\n }\n if (key === 'right') {\n return 'left';\n }\n if (LOWER_LEFT_REGEXP.test(key)) {\n return key.replace(LOWER_LEFT_REGEXP, '-right');\n }\n if (LOWER_RIGHT_REGEXP.test(key)) {\n return key.replace(LOWER_RIGHT_REGEXP, '-left');\n }\n if (UPPER_LEFT_REGEXP.test(key)) {\n return key.replace(UPPER_LEFT_REGEXP, 'Right');\n }\n if (UPPER_RIGHT_REGEXP.test(key)) {\n return key.replace(UPPER_RIGHT_REGEXP, 'Left');\n }\n return key;\n}\n\n/**\n * An incredibly basic ltr -> rtl converter for style properties\n *\n * @param {import('react').CSSProperties} ltrStyles\n *\n * @return {import('react').CSSProperties} Converted ltr -> rtl styles\n */\nexport const convertLTRToRTL = (ltrStyles = {}) => {\n return Object.fromEntries(Object.entries(ltrStyles).map(([key, value]) => [getConvertedKey(key), value]));\n};\n\n/**\n * A higher-order function that create an incredibly basic ltr -> rtl style converter for CSS objects.\n *\n * @param {import('react').CSSProperties} ltrStyles Ltr styles. Converts and renders from ltr -> rtl styles, if applicable.\n * @param {import('react').CSSProperties} [rtlStyles] Rtl styles. Renders if provided.\n *\n * @return {() => import('@emotion/react').SerializedStyles} A function to output CSS styles for Emotion's renderer\n */\nexport function rtl(ltrStyles = {}, rtlStyles) {\n return () => {\n if (rtlStyles) {\n // @ts-ignore: `css` types are wrong, it can accept an object: https://emotion.sh/docs/object-styles#with-css\n return isRTL() ? /*#__PURE__*/css(rtlStyles, process.env.NODE_ENV === \"production\" ? \"\" : \";label:rtl;\", process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJ0bC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4RW9CIiwiZmlsZSI6InJ0bC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuLyoqXG4gKiBXb3JkUHJlc3MgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGlzUlRMIH0gZnJvbSAnQHdvcmRwcmVzcy9pMThuJztcblxuY29uc3QgTE9XRVJfTEVGVF9SRUdFWFAgPSBuZXcgUmVnRXhwKCAvLWxlZnQvZyApO1xuY29uc3QgTE9XRVJfUklHSFRfUkVHRVhQID0gbmV3IFJlZ0V4cCggLy1yaWdodC9nICk7XG5jb25zdCBVUFBFUl9MRUZUX1JFR0VYUCA9IG5ldyBSZWdFeHAoIC9MZWZ0L2cgKTtcbmNvbnN0IFVQUEVSX1JJR0hUX1JFR0VYUCA9IG5ldyBSZWdFeHAoIC9SaWdodC9nICk7XG5cbi8qKlxuICogRmxpcHMgYSBDU1MgcHJvcGVydHkgZnJvbSBsZWZ0IDwtPiByaWdodC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBDU1MgcHJvcGVydHkgbmFtZS5cbiAqXG4gKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBmbGlwcGVkIENTUyBwcm9wZXJ0eSBuYW1lLCBpZiBhcHBsaWNhYmxlLlxuICovXG5mdW5jdGlvbiBnZXRDb252ZXJ0ZWRLZXkoIGtleSApIHtcblx0aWYgKCBrZXkgPT09ICdsZWZ0JyApIHtcblx0XHRyZXR1cm4gJ3JpZ2h0Jztcblx0fVxuXG5cdGlmICgga2V5ID09PSAncmlnaHQnICkge1xuXHRcdHJldHVybiAnbGVmdCc7XG5cdH1cblxuXHRpZiAoIExPV0VSX0xFRlRfUkVHRVhQLnRlc3QoIGtleSApICkge1xuXHRcdHJldHVybiBrZXkucmVwbGFjZSggTE9XRVJfTEVGVF9SRUdFWFAsICctcmlnaHQnICk7XG5cdH1cblxuXHRpZiAoIExPV0VSX1JJR0hUX1JFR0VYUC50ZXN0KCBrZXkgKSApIHtcblx0XHRyZXR1cm4ga2V5LnJlcGxhY2UoIExPV0VSX1JJR0hUX1JFR0VYUCwgJy1sZWZ0JyApO1xuXHR9XG5cblx0aWYgKCBVUFBFUl9MRUZUX1JFR0VYUC50ZXN0KCBrZXkgKSApIHtcblx0XHRyZXR1cm4ga2V5LnJlcGxhY2UoIFVQUEVSX0xFRlRfUkVHRVhQLCAnUmlnaHQnICk7XG5cdH1cblxuXHRpZiAoIFVQUEVSX1JJR0hUX1JFR0VYUC50ZXN0KCBrZXkgKSApIHtcblx0XHRyZXR1cm4ga2V5LnJlcGxhY2UoIFVQUEVSX1JJR0hUX1JFR0VYUCwgJ0xlZnQnICk7XG5cdH1cblxuXHRyZXR1cm4ga2V5O1xufVxuXG4vKipcbiAqIEFuIGluY3JlZGlibHkgYmFzaWMgbHRyIC0+IHJ0bCBjb252ZXJ0ZXIgZm9yIHN0eWxlIHByb3BlcnRpZXNcbiAqXG4gKiBAcGFyYW0ge2ltcG9ydCgncmVhY3QnKS5DU1NQcm9wZXJ0aWVzfSBsdHJTdHlsZXNcbiAqXG4gKiBAcmV0dXJuIHtpbXBvcnQoJ3JlYWN0JykuQ1NTUHJvcGVydGllc30gQ29udmVydGVkIGx0ciAtPiBydGwgc3R5bGVzXG4gKi9cbmV4cG9ydCBjb25zdCBjb252ZXJ0TFRSVG9SVEwgPSAoIGx0clN0eWxlcyA9IHt9ICkgPT4ge1xuXHRyZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKFxuXHRcdE9iamVjdC5lbnRyaWVzKCBsdHJTdHlsZXMgKS5tYXAoICggWyBrZXksIHZhbHVlIF0gKSA9PiBbXG5cdFx0XHRnZXRDb252ZXJ0ZWRLZXkoIGtleSApLFxuXHRcdFx0dmFsdWUsXG5cdFx0XSApXG5cdCk7XG59O1xuXG4vKipcbiAqIEEgaGlnaGVyLW9yZGVyIGZ1bmN0aW9uIHRoYXQgY3JlYXRlIGFuIGluY3JlZGlibHkgYmFzaWMgbHRyIC0+IHJ0bCBzdHlsZSBjb252ZXJ0ZXIgZm9yIENTUyBvYmplY3RzLlxuICpcbiAqIEBwYXJhbSB7aW1wb3J0KCdyZWFjdCcpLkNTU1Byb3BlcnRpZXN9IGx0clN0eWxlcyAgIEx0ciBzdHlsZXMuIENvbnZlcnRzIGFuZCByZW5kZXJzIGZyb20gbHRyIC0+IHJ0bCBzdHlsZXMsIGlmIGFwcGxpY2FibGUuXG4gKiBAcGFyYW0ge2ltcG9ydCgncmVhY3QnKS5DU1NQcm9wZXJ0aWVzfSBbcnRsU3R5bGVzXSBSdGwgc3R5bGVzLiBSZW5kZXJzIGlmIHByb3ZpZGVkLlxuICpcbiAqIEByZXR1cm4geygpID0+IGltcG9ydCgnQGVtb3Rpb24vcmVhY3QnKS5TZXJpYWxpemVkU3R5bGVzfSBBIGZ1bmN0aW9uIHRvIG91dHB1dCBDU1Mgc3R5bGVzIGZvciBFbW90aW9uJ3MgcmVuZGVyZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJ0bCggbHRyU3R5bGVzID0ge30sIHJ0bFN0eWxlcyApIHtcblx0cmV0dXJuICgpID0+IHtcblx0XHRpZiAoIHJ0bFN0eWxlcyApIHtcblx0XHRcdC8vIEB0cy1pZ25vcmU6IGBjc3NgIHR5cGVzIGFyZSB3cm9uZywgaXQgY2FuIGFjY2VwdCBhbiBvYmplY3Q6IGh0dHBzOi8vZW1vdGlvbi5zaC9kb2NzL29iamVjdC1zdHlsZXMjd2l0aC1jc3Ncblx0XHRcdHJldHVybiBpc1JUTCgpID8gY3NzKCBydGxTdHlsZXMgKSA6IGNzcyggbHRyU3R5bGVzICk7XG5cdFx0fVxuXG5cdFx0Ly8gQHRzLWlnbm9yZTogYGNzc2AgdHlwZXMgYXJlIHdyb25nLCBpdCBjYW4gYWNjZXB0IGFuIG9iamVjdDogaHR0cHM6Ly9lbW90aW9uLnNoL2RvY3Mvb2JqZWN0LXN0eWxlcyN3aXRoLWNzc1xuXHRcdHJldHVybiBpc1JUTCgpID8gY3NzKCBjb252ZXJ0TFRSVG9SVEwoIGx0clN0eWxlcyApICkgOiBjc3MoIGx0clN0eWxlcyApO1xuXHR9O1xufVxuXG4vKipcbiAqIENhbGwgdGhpcyBpbiB0aGUgYHVzZU1lbW9gIGRlcGVuZGVuY3kgYXJyYXkgdG8gZW5zdXJlIHRoYXQgc3Vic2VxdWVudCByZW5kZXJzIHdpbGxcbiAqIGNhdXNlIHJ0bCBzdHlsZXMgdG8gdXBkYXRlIGJhc2VkIG9uIHRoZSBgaXNSVExgIHJldHVybiB2YWx1ZSBldmVuIGlmIGFsbCBvdGhlciBkZXBlbmRlbmNpZXNcbiAqIHJlbWFpbiB0aGUgc2FtZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3Qgc3R5bGVzID0gdXNlTWVtbyggKCkgPT4ge1xuICogICByZXR1cm4gY3NzYFxuICogICAgICR7IHJ0bCggeyBtYXJnaW5SaWdodDogJzEwcHgnIH0gKSB9XG4gKiAgIGA7XG4gKiB9LCBbIHJ0bC53YXRjaCgpIF0gKTtcbiAqL1xucnRsLndhdGNoID0gKCkgPT4gaXNSVEwoKTtcbiJdfQ== */\") : /*#__PURE__*/css(ltrStyles, process.env.NODE_ENV === \"production\" ? \"\" : \";label:rtl;\", process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJ0bC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4RXVDIiwiZmlsZSI6InJ0bC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuLyoqXG4gKiBXb3JkUHJlc3MgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGlzUlRMIH0gZnJvbSAnQHdvcmRwcmVzcy9pMThuJztcblxuY29uc3QgTE9XRVJfTEVGVF9SRUdFWFAgPSBuZXcgUmVnRXhwKCAvLWxlZnQvZyApO1xuY29uc3QgTE9XRVJfUklHSFRfUkVHRVhQID0gbmV3IFJlZ0V4cCggLy1yaWdodC9nICk7XG5jb25zdCBVUFBFUl9MRUZUX1JFR0VYUCA9IG5ldyBSZWdFeHAoIC9MZWZ0L2cgKTtcbmNvbnN0IFVQUEVSX1JJR0hUX1JFR0VYUCA9IG5ldyBSZWdFeHAoIC9SaWdodC9nICk7XG5cbi8qKlxuICogRmxpcHMgYSBDU1MgcHJvcGVydHkgZnJvbSBsZWZ0IDwtPiByaWdodC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBDU1MgcHJvcGVydHkgbmFtZS5cbiAqXG4gKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBmbGlwcGVkIENTUyBwcm9wZXJ0eSBuYW1lLCBpZiBhcHBsaWNhYmxlLlxuICovXG5mdW5jdGlvbiBnZXRDb252ZXJ0ZWRLZXkoIGtleSApIHtcblx0aWYgKCBrZXkgPT09ICdsZWZ0JyApIHtcblx0XHRyZXR1cm4gJ3JpZ2h0Jztcblx0fVxuXG5cdGlmICgga2V5ID09PSAncmlnaHQnICkge1xuXHRcdHJldHVybiAnbGVmdCc7XG5cdH1cblxuXHRpZiAoIExPV0VSX0xFRlRfUkVHRVhQLnRlc3QoIGtleSApICkge1xuXHRcdHJldHVybiBrZXkucmVwbGFjZSggTE9XRVJfTEVGVF9SRUdFWFAsICctcmlnaHQnICk7XG5cdH1cblxuXHRpZiAoIExPV0VSX1JJR0hUX1JFR0VYUC50ZXN0KCBrZXkgKSApIHtcblx0XHRyZXR1cm4ga2V5LnJlcGxhY2UoIExPV0VSX1JJR0hUX1JFR0VYUCwgJy1sZWZ0JyApO1xuXHR9XG5cblx0aWYgKCBVUFBFUl9MRUZUX1JFR0VYUC50ZXN0KCBrZXkgKSApIHtcblx0XHRyZXR1cm4ga2V5LnJlcGxhY2UoIFVQUEVSX0xFRlRfUkVHRVhQLCAnUmlnaHQnICk7XG5cdH1cblxuXHRpZiAoIFVQUEVSX1JJR0hUX1JFR0VYUC50ZXN0KCBrZXkgKSApIHtcblx0XHRyZXR1cm4ga2V5LnJlcGxhY2UoIFVQUEVSX1JJR0hUX1JFR0VYUCwgJ0xlZnQnICk7XG5cdH1cblxuXHRyZXR1cm4ga2V5O1xufVxuXG4vKipcbiAqIEFuIGluY3JlZGlibHkgYmFzaWMgbHRyIC0+IHJ0bCBjb252ZXJ0ZXIgZm9yIHN0eWxlIHByb3BlcnRpZXNcbiAqXG4gKiBAcGFyYW0ge2ltcG9ydCgncmVhY3QnKS5DU1NQcm9wZXJ0aWVzfSBsdHJTdHlsZXNcbiAqXG4gKiBAcmV0dXJuIHtpbXBvcnQoJ3JlYWN0JykuQ1NTUHJvcGVydGllc30gQ29udmVydGVkIGx0ciAtPiBydGwgc3R5bGVzXG4gKi9cbmV4cG9ydCBjb25zdCBjb252ZXJ0TFRSVG9SVEwgPSAoIGx0clN0eWxlcyA9IHt9ICkgPT4ge1xuXHRyZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKFxuXHRcdE9iamVjdC5lbnRyaWVzKCBsdHJTdHlsZXMgKS5tYXAoICggWyBrZXksIHZhbHVlIF0gKSA9PiBbXG5cdFx0XHRnZXRDb252ZXJ0ZWRLZXkoIGtleSApLFxuXHRcdFx0dmFsdWUsXG5cdFx0XSApXG5cdCk7XG59O1xuXG4vKipcbiAqIEEgaGlnaGVyLW9yZGVyIGZ1bmN0aW9uIHRoYXQgY3JlYXRlIGFuIGluY3JlZGlibHkgYmFzaWMgbHRyIC0+IHJ0bCBzdHlsZSBjb252ZXJ0ZXIgZm9yIENTUyBvYmplY3RzLlxuICpcbiAqIEBwYXJhbSB7aW1wb3J0KCdyZWFjdCcpLkNTU1Byb3BlcnRpZXN9IGx0clN0eWxlcyAgIEx0ciBzdHlsZXMuIENvbnZlcnRzIGFuZCByZW5kZXJzIGZyb20gbHRyIC0+IHJ0bCBzdHlsZXMsIGlmIGFwcGxpY2FibGUuXG4gKiBAcGFyYW0ge2ltcG9ydCgncmVhY3QnKS5DU1NQcm9wZXJ0aWVzfSBbcnRsU3R5bGVzXSBSdGwgc3R5bGVzLiBSZW5kZXJzIGlmIHByb3ZpZGVkLlxuICpcbiAqIEByZXR1cm4geygpID0+IGltcG9ydCgnQGVtb3Rpb24vcmVhY3QnKS5TZXJpYWxpemVkU3R5bGVzfSBBIGZ1bmN0aW9uIHRvIG91dHB1dCBDU1Mgc3R5bGVzIGZvciBFbW90aW9uJ3MgcmVuZGVyZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJ0bCggbHRyU3R5bGVzID0ge30sIHJ0bFN0eWxlcyApIHtcblx0cmV0dXJuICgpID0+IHtcblx0XHRpZiAoIHJ0bFN0eWxlcyApIHtcblx0XHRcdC8vIEB0cy1pZ25vcmU6IGBjc3NgIHR5cGVzIGFyZSB3cm9uZywgaXQgY2FuIGFjY2VwdCBhbiBvYmplY3Q6IGh0dHBzOi8vZW1vdGlvbi5zaC9kb2NzL29iamVjdC1zdHlsZXMjd2l0aC1jc3Ncblx0XHRcdHJldHVybiBpc1JUTCgpID8gY3NzKCBydGxTdHlsZXMgKSA6IGNzcyggbHRyU3R5bGVzICk7XG5cdFx0fVxuXG5cdFx0Ly8gQHRzLWlnbm9yZTogYGNzc2AgdHlwZXMgYXJlIHdyb25nLCBpdCBjYW4gYWNjZXB0IGFuIG9iamVjdDogaHR0cHM6Ly9lbW90aW9uLnNoL2RvY3Mvb2JqZWN0LXN0eWxlcyN3aXRoLWNzc1xuXHRcdHJldHVybiBpc1JUTCgpID8gY3NzKCBjb252ZXJ0TFRSVG9SVEwoIGx0clN0eWxlcyApICkgOiBjc3MoIGx0clN0eWxlcyApO1xuXHR9O1xufVxuXG4vKipcbiAqIENhbGwgdGhpcyBpbiB0aGUgYHVzZU1lbW9gIGRlcGVuZGVuY3kgYXJyYXkgdG8gZW5zdXJlIHRoYXQgc3Vic2VxdWVudCByZW5kZXJzIHdpbGxcbiAqIGNhdXNlIHJ0bCBzdHlsZXMgdG8gdXBkYXRlIGJhc2VkIG9uIHRoZSBgaXNSVExgIHJldHVybiB2YWx1ZSBldmVuIGlmIGFsbCBvdGhlciBkZXBlbmRlbmNpZXNcbiAqIHJlbWFpbiB0aGUgc2FtZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3Qgc3R5bGVzID0gdXNlTWVtbyggKCkgPT4ge1xuICogICByZXR1cm4gY3NzYFxuICogICAgICR7IHJ0bCggeyBtYXJnaW5SaWdodDogJzEwcHgnIH0gKSB9XG4gKiAgIGA7XG4gKiB9LCBbIHJ0bC53YXRjaCgpIF0gKTtcbiAqL1xucnRsLndhdGNoID0gKCkgPT4gaXNSVEwoKTtcbiJdfQ== */\");\n }\n\n // @ts-ignore: `css` types are wrong, it can accept an object: https://emotion.sh/docs/object-styles#with-css\n return isRTL() ? /*#__PURE__*/css(convertLTRToRTL(ltrStyles), process.env.NODE_ENV === \"production\" ? \"\" : \";label:rtl;\", process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJ0bC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrRm1CIiwiZmlsZSI6InJ0bC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuLyoqXG4gKiBXb3JkUHJlc3MgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGlzUlRMIH0gZnJvbSAnQHdvcmRwcmVzcy9pMThuJztcblxuY29uc3QgTE9XRVJfTEVGVF9SRUdFWFAgPSBuZXcgUmVnRXhwKCAvLWxlZnQvZyApO1xuY29uc3QgTE9XRVJfUklHSFRfUkVHRVhQID0gbmV3IFJlZ0V4cCggLy1yaWdodC9nICk7XG5jb25zdCBVUFBFUl9MRUZUX1JFR0VYUCA9IG5ldyBSZWdFeHAoIC9MZWZ0L2cgKTtcbmNvbnN0IFVQUEVSX1JJR0hUX1JFR0VYUCA9IG5ldyBSZWdFeHAoIC9SaWdodC9nICk7XG5cbi8qKlxuICogRmxpcHMgYSBDU1MgcHJvcGVydHkgZnJvbSBsZWZ0IDwtPiByaWdodC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBDU1MgcHJvcGVydHkgbmFtZS5cbiAqXG4gKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBmbGlwcGVkIENTUyBwcm9wZXJ0eSBuYW1lLCBpZiBhcHBsaWNhYmxlLlxuICovXG5mdW5jdGlvbiBnZXRDb252ZXJ0ZWRLZXkoIGtleSApIHtcblx0aWYgKCBrZXkgPT09ICdsZWZ0JyApIHtcblx0XHRyZXR1cm4gJ3JpZ2h0Jztcblx0fVxuXG5cdGlmICgga2V5ID09PSAncmlnaHQnICkge1xuXHRcdHJldHVybiAnbGVmdCc7XG5cdH1cblxuXHRpZiAoIExPV0VSX0xFRlRfUkVHRVhQLnRlc3QoIGtleSApICkge1xuXHRcdHJldHVybiBrZXkucmVwbGFjZSggTE9XRVJfTEVGVF9SRUdFWFAsICctcmlnaHQnICk7XG5cdH1cblxuXHRpZiAoIExPV0VSX1JJR0hUX1JFR0VYUC50ZXN0KCBrZXkgKSApIHtcblx0XHRyZXR1cm4ga2V5LnJlcGxhY2UoIExPV0VSX1JJR0hUX1JFR0VYUCwgJy1sZWZ0JyApO1xuXHR9XG5cblx0aWYgKCBVUFBFUl9MRUZUX1JFR0VYUC50ZXN0KCBrZXkgKSApIHtcblx0XHRyZXR1cm4ga2V5LnJlcGxhY2UoIFVQUEVSX0xFRlRfUkVHRVhQLCAnUmlnaHQnICk7XG5cdH1cblxuXHRpZiAoIFVQUEVSX1JJR0hUX1JFR0VYUC50ZXN0KCBrZXkgKSApIHtcblx0XHRyZXR1cm4ga2V5LnJlcGxhY2UoIFVQUEVSX1JJR0hUX1JFR0VYUCwgJ0xlZnQnICk7XG5cdH1cblxuXHRyZXR1cm4ga2V5O1xufVxuXG4vKipcbiAqIEFuIGluY3JlZGlibHkgYmFzaWMgbHRyIC0+IHJ0bCBjb252ZXJ0ZXIgZm9yIHN0eWxlIHByb3BlcnRpZXNcbiAqXG4gKiBAcGFyYW0ge2ltcG9ydCgncmVhY3QnKS5DU1NQcm9wZXJ0aWVzfSBsdHJTdHlsZXNcbiAqXG4gKiBAcmV0dXJuIHtpbXBvcnQoJ3JlYWN0JykuQ1NTUHJvcGVydGllc30gQ29udmVydGVkIGx0ciAtPiBydGwgc3R5bGVzXG4gKi9cbmV4cG9ydCBjb25zdCBjb252ZXJ0TFRSVG9SVEwgPSAoIGx0clN0eWxlcyA9IHt9ICkgPT4ge1xuXHRyZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKFxuXHRcdE9iamVjdC5lbnRyaWVzKCBsdHJTdHlsZXMgKS5tYXAoICggWyBrZXksIHZhbHVlIF0gKSA9PiBbXG5cdFx0XHRnZXRDb252ZXJ0ZWRLZXkoIGtleSApLFxuXHRcdFx0dmFsdWUsXG5cdFx0XSApXG5cdCk7XG59O1xuXG4vKipcbiAqIEEgaGlnaGVyLW9yZGVyIGZ1bmN0aW9uIHRoYXQgY3JlYXRlIGFuIGluY3JlZGlibHkgYmFzaWMgbHRyIC0+IHJ0bCBzdHlsZSBjb252ZXJ0ZXIgZm9yIENTUyBvYmplY3RzLlxuICpcbiAqIEBwYXJhbSB7aW1wb3J0KCdyZWFjdCcpLkNTU1Byb3BlcnRpZXN9IGx0clN0eWxlcyAgIEx0ciBzdHlsZXMuIENvbnZlcnRzIGFuZCByZW5kZXJzIGZyb20gbHRyIC0+IHJ0bCBzdHlsZXMsIGlmIGFwcGxpY2FibGUuXG4gKiBAcGFyYW0ge2ltcG9ydCgncmVhY3QnKS5DU1NQcm9wZXJ0aWVzfSBbcnRsU3R5bGVzXSBSdGwgc3R5bGVzLiBSZW5kZXJzIGlmIHByb3ZpZGVkLlxuICpcbiAqIEByZXR1cm4geygpID0+IGltcG9ydCgnQGVtb3Rpb24vcmVhY3QnKS5TZXJpYWxpemVkU3R5bGVzfSBBIGZ1bmN0aW9uIHRvIG91dHB1dCBDU1Mgc3R5bGVzIGZvciBFbW90aW9uJ3MgcmVuZGVyZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJ0bCggbHRyU3R5bGVzID0ge30sIHJ0bFN0eWxlcyApIHtcblx0cmV0dXJuICgpID0+IHtcblx0XHRpZiAoIHJ0bFN0eWxlcyApIHtcblx0XHRcdC8vIEB0cy1pZ25vcmU6IGBjc3NgIHR5cGVzIGFyZSB3cm9uZywgaXQgY2FuIGFjY2VwdCBhbiBvYmplY3Q6IGh0dHBzOi8vZW1vdGlvbi5zaC9kb2NzL29iamVjdC1zdHlsZXMjd2l0aC1jc3Ncblx0XHRcdHJldHVybiBpc1JUTCgpID8gY3NzKCBydGxTdHlsZXMgKSA6IGNzcyggbHRyU3R5bGVzICk7XG5cdFx0fVxuXG5cdFx0Ly8gQHRzLWlnbm9yZTogYGNzc2AgdHlwZXMgYXJlIHdyb25nLCBpdCBjYW4gYWNjZXB0IGFuIG9iamVjdDogaHR0cHM6Ly9lbW90aW9uLnNoL2RvY3Mvb2JqZWN0LXN0eWxlcyN3aXRoLWNzc1xuXHRcdHJldHVybiBpc1JUTCgpID8gY3NzKCBjb252ZXJ0TFRSVG9SVEwoIGx0clN0eWxlcyApICkgOiBjc3MoIGx0clN0eWxlcyApO1xuXHR9O1xufVxuXG4vKipcbiAqIENhbGwgdGhpcyBpbiB0aGUgYHVzZU1lbW9gIGRlcGVuZGVuY3kgYXJyYXkgdG8gZW5zdXJlIHRoYXQgc3Vic2VxdWVudCByZW5kZXJzIHdpbGxcbiAqIGNhdXNlIHJ0bCBzdHlsZXMgdG8gdXBkYXRlIGJhc2VkIG9uIHRoZSBgaXNSVExgIHJldHVybiB2YWx1ZSBldmVuIGlmIGFsbCBvdGhlciBkZXBlbmRlbmNpZXNcbiAqIHJlbWFpbiB0aGUgc2FtZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3Qgc3R5bGVzID0gdXNlTWVtbyggKCkgPT4ge1xuICogICByZXR1cm4gY3NzYFxuICogICAgICR7IHJ0bCggeyBtYXJnaW5SaWdodDogJzEwcHgnIH0gKSB9XG4gKiAgIGA7XG4gKiB9LCBbIHJ0bC53YXRjaCgpIF0gKTtcbiAqL1xucnRsLndhdGNoID0gKCkgPT4gaXNSVEwoKTtcbiJdfQ== */\") : /*#__PURE__*/css(ltrStyles, process.env.NODE_ENV === \"production\" ? \"\" : \";label:rtl;\", process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJ0bC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrRnlEIiwiZmlsZSI6InJ0bC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuLyoqXG4gKiBXb3JkUHJlc3MgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGlzUlRMIH0gZnJvbSAnQHdvcmRwcmVzcy9pMThuJztcblxuY29uc3QgTE9XRVJfTEVGVF9SRUdFWFAgPSBuZXcgUmVnRXhwKCAvLWxlZnQvZyApO1xuY29uc3QgTE9XRVJfUklHSFRfUkVHRVhQID0gbmV3IFJlZ0V4cCggLy1yaWdodC9nICk7XG5jb25zdCBVUFBFUl9MRUZUX1JFR0VYUCA9IG5ldyBSZWdFeHAoIC9MZWZ0L2cgKTtcbmNvbnN0IFVQUEVSX1JJR0hUX1JFR0VYUCA9IG5ldyBSZWdFeHAoIC9SaWdodC9nICk7XG5cbi8qKlxuICogRmxpcHMgYSBDU1MgcHJvcGVydHkgZnJvbSBsZWZ0IDwtPiByaWdodC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBDU1MgcHJvcGVydHkgbmFtZS5cbiAqXG4gKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBmbGlwcGVkIENTUyBwcm9wZXJ0eSBuYW1lLCBpZiBhcHBsaWNhYmxlLlxuICovXG5mdW5jdGlvbiBnZXRDb252ZXJ0ZWRLZXkoIGtleSApIHtcblx0aWYgKCBrZXkgPT09ICdsZWZ0JyApIHtcblx0XHRyZXR1cm4gJ3JpZ2h0Jztcblx0fVxuXG5cdGlmICgga2V5ID09PSAncmlnaHQnICkge1xuXHRcdHJldHVybiAnbGVmdCc7XG5cdH1cblxuXHRpZiAoIExPV0VSX0xFRlRfUkVHRVhQLnRlc3QoIGtleSApICkge1xuXHRcdHJldHVybiBrZXkucmVwbGFjZSggTE9XRVJfTEVGVF9SRUdFWFAsICctcmlnaHQnICk7XG5cdH1cblxuXHRpZiAoIExPV0VSX1JJR0hUX1JFR0VYUC50ZXN0KCBrZXkgKSApIHtcblx0XHRyZXR1cm4ga2V5LnJlcGxhY2UoIExPV0VSX1JJR0hUX1JFR0VYUCwgJy1sZWZ0JyApO1xuXHR9XG5cblx0aWYgKCBVUFBFUl9MRUZUX1JFR0VYUC50ZXN0KCBrZXkgKSApIHtcblx0XHRyZXR1cm4ga2V5LnJlcGxhY2UoIFVQUEVSX0xFRlRfUkVHRVhQLCAnUmlnaHQnICk7XG5cdH1cblxuXHRpZiAoIFVQUEVSX1JJR0hUX1JFR0VYUC50ZXN0KCBrZXkgKSApIHtcblx0XHRyZXR1cm4ga2V5LnJlcGxhY2UoIFVQUEVSX1JJR0hUX1JFR0VYUCwgJ0xlZnQnICk7XG5cdH1cblxuXHRyZXR1cm4ga2V5O1xufVxuXG4vKipcbiAqIEFuIGluY3JlZGlibHkgYmFzaWMgbHRyIC0+IHJ0bCBjb252ZXJ0ZXIgZm9yIHN0eWxlIHByb3BlcnRpZXNcbiAqXG4gKiBAcGFyYW0ge2ltcG9ydCgncmVhY3QnKS5DU1NQcm9wZXJ0aWVzfSBsdHJTdHlsZXNcbiAqXG4gKiBAcmV0dXJuIHtpbXBvcnQoJ3JlYWN0JykuQ1NTUHJvcGVydGllc30gQ29udmVydGVkIGx0ciAtPiBydGwgc3R5bGVzXG4gKi9cbmV4cG9ydCBjb25zdCBjb252ZXJ0TFRSVG9SVEwgPSAoIGx0clN0eWxlcyA9IHt9ICkgPT4ge1xuXHRyZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKFxuXHRcdE9iamVjdC5lbnRyaWVzKCBsdHJTdHlsZXMgKS5tYXAoICggWyBrZXksIHZhbHVlIF0gKSA9PiBbXG5cdFx0XHRnZXRDb252ZXJ0ZWRLZXkoIGtleSApLFxuXHRcdFx0dmFsdWUsXG5cdFx0XSApXG5cdCk7XG59O1xuXG4vKipcbiAqIEEgaGlnaGVyLW9yZGVyIGZ1bmN0aW9uIHRoYXQgY3JlYXRlIGFuIGluY3JlZGlibHkgYmFzaWMgbHRyIC0+IHJ0bCBzdHlsZSBjb252ZXJ0ZXIgZm9yIENTUyBvYmplY3RzLlxuICpcbiAqIEBwYXJhbSB7aW1wb3J0KCdyZWFjdCcpLkNTU1Byb3BlcnRpZXN9IGx0clN0eWxlcyAgIEx0ciBzdHlsZXMuIENvbnZlcnRzIGFuZCByZW5kZXJzIGZyb20gbHRyIC0+IHJ0bCBzdHlsZXMsIGlmIGFwcGxpY2FibGUuXG4gKiBAcGFyYW0ge2ltcG9ydCgncmVhY3QnKS5DU1NQcm9wZXJ0aWVzfSBbcnRsU3R5bGVzXSBSdGwgc3R5bGVzLiBSZW5kZXJzIGlmIHByb3ZpZGVkLlxuICpcbiAqIEByZXR1cm4geygpID0+IGltcG9ydCgnQGVtb3Rpb24vcmVhY3QnKS5TZXJpYWxpemVkU3R5bGVzfSBBIGZ1bmN0aW9uIHRvIG91dHB1dCBDU1Mgc3R5bGVzIGZvciBFbW90aW9uJ3MgcmVuZGVyZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJ0bCggbHRyU3R5bGVzID0ge30sIHJ0bFN0eWxlcyApIHtcblx0cmV0dXJuICgpID0+IHtcblx0XHRpZiAoIHJ0bFN0eWxlcyApIHtcblx0XHRcdC8vIEB0cy1pZ25vcmU6IGBjc3NgIHR5cGVzIGFyZSB3cm9uZywgaXQgY2FuIGFjY2VwdCBhbiBvYmplY3Q6IGh0dHBzOi8vZW1vdGlvbi5zaC9kb2NzL29iamVjdC1zdHlsZXMjd2l0aC1jc3Ncblx0XHRcdHJldHVybiBpc1JUTCgpID8gY3NzKCBydGxTdHlsZXMgKSA6IGNzcyggbHRyU3R5bGVzICk7XG5cdFx0fVxuXG5cdFx0Ly8gQHRzLWlnbm9yZTogYGNzc2AgdHlwZXMgYXJlIHdyb25nLCBpdCBjYW4gYWNjZXB0IGFuIG9iamVjdDogaHR0cHM6Ly9lbW90aW9uLnNoL2RvY3Mvb2JqZWN0LXN0eWxlcyN3aXRoLWNzc1xuXHRcdHJldHVybiBpc1JUTCgpID8gY3NzKCBjb252ZXJ0TFRSVG9SVEwoIGx0clN0eWxlcyApICkgOiBjc3MoIGx0clN0eWxlcyApO1xuXHR9O1xufVxuXG4vKipcbiAqIENhbGwgdGhpcyBpbiB0aGUgYHVzZU1lbW9gIGRlcGVuZGVuY3kgYXJyYXkgdG8gZW5zdXJlIHRoYXQgc3Vic2VxdWVudCByZW5kZXJzIHdpbGxcbiAqIGNhdXNlIHJ0bCBzdHlsZXMgdG8gdXBkYXRlIGJhc2VkIG9uIHRoZSBgaXNSVExgIHJldHVybiB2YWx1ZSBldmVuIGlmIGFsbCBvdGhlciBkZXBlbmRlbmNpZXNcbiAqIHJlbWFpbiB0aGUgc2FtZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3Qgc3R5bGVzID0gdXNlTWVtbyggKCkgPT4ge1xuICogICByZXR1cm4gY3NzYFxuICogICAgICR7IHJ0bCggeyBtYXJnaW5SaWdodDogJzEwcHgnIH0gKSB9XG4gKiAgIGA7XG4gKiB9LCBbIHJ0bC53YXRjaCgpIF0gKTtcbiAqL1xucnRsLndhdGNoID0gKCkgPT4gaXNSVEwoKTtcbiJdfQ== */\");\n };\n}\n\n/**\n * Call this in the `useMemo` dependency array to ensure that subsequent renders will\n * cause rtl styles to update based on the `isRTL` return value even if all other dependencies\n * remain the same.\n *\n * @example\n * const styles = useMemo( () => {\n * return css`\n * ${ rtl( { marginRight: '10px' } ) }\n * `;\n * }, [ rtl.watch() ] );\n */\nrtl.watch = () => isRTL();"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,mBAAoB;AAKpB,kBAAsB;AACtB,IAAM,oBAAoB,IAAI,OAAO,QAAQ;AAC7C,IAAM,qBAAqB,IAAI,OAAO,SAAS;AAC/C,IAAM,oBAAoB,IAAI,OAAO,OAAO;AAC5C,IAAM,qBAAqB,IAAI,OAAO,QAAQ;AAS9C,SAAS,gBAAgB,KAAK;AAC5B,MAAI,QAAQ,QAAQ;AAClB,WAAO;AAAA,EACT;AACA,MAAI,QAAQ,SAAS;AACnB,WAAO;AAAA,EACT;AACA,MAAI,kBAAkB,KAAK,GAAG,GAAG;AAC/B,WAAO,IAAI,QAAQ,mBAAmB,QAAQ;AAAA,EAChD;AACA,MAAI,mBAAmB,KAAK,GAAG,GAAG;AAChC,WAAO,IAAI,QAAQ,oBAAoB,OAAO;AAAA,EAChD;AACA,MAAI,kBAAkB,KAAK,GAAG,GAAG;AAC/B,WAAO,IAAI,QAAQ,mBAAmB,OAAO;AAAA,EAC/C;AACA,MAAI,mBAAmB,KAAK,GAAG,GAAG;AAChC,WAAO,IAAI,QAAQ,oBAAoB,MAAM;AAAA,EAC/C;AACA,SAAO;AACT;AASO,IAAM,kBAAkB,CAAC,YAAY,CAAC,MAAM;AACjD,SAAO,OAAO,YAAY,OAAO,QAAQ,SAAS,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,gBAAgB,GAAG,GAAG,KAAK,CAAC,CAAC;AAC1G;AAUO,SAAS,IAAI,YAAY,CAAC,GAAG,WAAW;AAC7C,SAAO,MAAM;AACX,QAAI,WAAW;AAEb,iBAAO,mBAAM,IAAiB,sCAAI,WAAW,QAAQ,IAAI,aAAa,eAAe,KAAK,eAAe,QAAQ,IAAI,aAAa,eAAe,KAAK,q9HAAq9H,IAAiB,sCAAI,WAAW,QAAQ,IAAI,aAAa,eAAe,KAAK,eAAe,QAAQ,IAAI,aAAa,eAAe,KAAK,q9HAAq9H;AAAA,IAC3sQ;AAGA,eAAO,mBAAM,IAAiB,sCAAI,gBAAgB,SAAS,GAAG,QAAQ,IAAI,aAAa,eAAe,KAAK,eAAe,QAAQ,IAAI,aAAa,eAAe,KAAK,q9HAAq9H,IAAiB,sCAAI,WAAW,QAAQ,IAAI,aAAa,eAAe,KAAK,eAAe,QAAQ,IAAI,aAAa,eAAe,KAAK,q9HAAq9H;AAAA,EAC5tQ;AACF;AAcA,IAAI,QAAQ,UAAM,mBAAM;",
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport { css } from '@emotion/react';\n\n/**\n * WordPress dependencies\n */\nimport { isRTL } from '@wordpress/i18n';\nconst LOWER_LEFT_REGEXP = new RegExp(/-left/g);\nconst LOWER_RIGHT_REGEXP = new RegExp(/-right/g);\nconst UPPER_LEFT_REGEXP = new RegExp(/Left/g);\nconst UPPER_RIGHT_REGEXP = new RegExp(/Right/g);\n\n/**\n * Flips a CSS property from left <-> right.\n *\n * @param {string} key The CSS property name.\n *\n * @return {string} The flipped CSS property name, if applicable.\n */\nfunction getConvertedKey(key) {\n if (key === 'left') {\n return 'right';\n }\n if (key === 'right') {\n return 'left';\n }\n if (LOWER_LEFT_REGEXP.test(key)) {\n return key.replace(LOWER_LEFT_REGEXP, '-right');\n }\n if (LOWER_RIGHT_REGEXP.test(key)) {\n return key.replace(LOWER_RIGHT_REGEXP, '-left');\n }\n if (UPPER_LEFT_REGEXP.test(key)) {\n return key.replace(UPPER_LEFT_REGEXP, 'Right');\n }\n if (UPPER_RIGHT_REGEXP.test(key)) {\n return key.replace(UPPER_RIGHT_REGEXP, 'Left');\n }\n return key;\n}\n\n/**\n * An incredibly basic ltr -> rtl converter for style properties\n *\n * @param {React.CSSProperties} ltrStyles\n *\n * @return {React.CSSProperties} Converted ltr -> rtl styles\n */\nexport const convertLTRToRTL = (ltrStyles = {}) => {\n return Object.fromEntries(Object.entries(ltrStyles).map(([key, value]) => [getConvertedKey(key), value]));\n};\n\n/**\n * A higher-order function that create an incredibly basic ltr -> rtl style converter for CSS objects.\n *\n * @param {React.CSSProperties} ltrStyles Ltr styles. Converts and renders from ltr -> rtl styles, if applicable.\n * @param {React.CSSProperties} [rtlStyles] Rtl styles. Renders if provided.\n *\n * @return {() => import('@emotion/react').SerializedStyles} A function to output CSS styles for Emotion's renderer\n */\nexport function rtl(ltrStyles = {}, rtlStyles) {\n return () => {\n if (rtlStyles) {\n // @ts-ignore: `css` types are wrong, it can accept an object: https://emotion.sh/docs/object-styles#with-css\n return isRTL() ? /*#__PURE__*/css(rtlStyles, process.env.NODE_ENV === \"production\" ? \"\" : \";label:rtl;\", process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJ0bC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4RW9CIiwiZmlsZSI6InJ0bC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuLyoqXG4gKiBXb3JkUHJlc3MgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGlzUlRMIH0gZnJvbSAnQHdvcmRwcmVzcy9pMThuJztcblxuY29uc3QgTE9XRVJfTEVGVF9SRUdFWFAgPSBuZXcgUmVnRXhwKCAvLWxlZnQvZyApO1xuY29uc3QgTE9XRVJfUklHSFRfUkVHRVhQID0gbmV3IFJlZ0V4cCggLy1yaWdodC9nICk7XG5jb25zdCBVUFBFUl9MRUZUX1JFR0VYUCA9IG5ldyBSZWdFeHAoIC9MZWZ0L2cgKTtcbmNvbnN0IFVQUEVSX1JJR0hUX1JFR0VYUCA9IG5ldyBSZWdFeHAoIC9SaWdodC9nICk7XG5cbi8qKlxuICogRmxpcHMgYSBDU1MgcHJvcGVydHkgZnJvbSBsZWZ0IDwtPiByaWdodC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBDU1MgcHJvcGVydHkgbmFtZS5cbiAqXG4gKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBmbGlwcGVkIENTUyBwcm9wZXJ0eSBuYW1lLCBpZiBhcHBsaWNhYmxlLlxuICovXG5mdW5jdGlvbiBnZXRDb252ZXJ0ZWRLZXkoIGtleSApIHtcblx0aWYgKCBrZXkgPT09ICdsZWZ0JyApIHtcblx0XHRyZXR1cm4gJ3JpZ2h0Jztcblx0fVxuXG5cdGlmICgga2V5ID09PSAncmlnaHQnICkge1xuXHRcdHJldHVybiAnbGVmdCc7XG5cdH1cblxuXHRpZiAoIExPV0VSX0xFRlRfUkVHRVhQLnRlc3QoIGtleSApICkge1xuXHRcdHJldHVybiBrZXkucmVwbGFjZSggTE9XRVJfTEVGVF9SRUdFWFAsICctcmlnaHQnICk7XG5cdH1cblxuXHRpZiAoIExPV0VSX1JJR0hUX1JFR0VYUC50ZXN0KCBrZXkgKSApIHtcblx0XHRyZXR1cm4ga2V5LnJlcGxhY2UoIExPV0VSX1JJR0hUX1JFR0VYUCwgJy1sZWZ0JyApO1xuXHR9XG5cblx0aWYgKCBVUFBFUl9MRUZUX1JFR0VYUC50ZXN0KCBrZXkgKSApIHtcblx0XHRyZXR1cm4ga2V5LnJlcGxhY2UoIFVQUEVSX0xFRlRfUkVHRVhQLCAnUmlnaHQnICk7XG5cdH1cblxuXHRpZiAoIFVQUEVSX1JJR0hUX1JFR0VYUC50ZXN0KCBrZXkgKSApIHtcblx0XHRyZXR1cm4ga2V5LnJlcGxhY2UoIFVQUEVSX1JJR0hUX1JFR0VYUCwgJ0xlZnQnICk7XG5cdH1cblxuXHRyZXR1cm4ga2V5O1xufVxuXG4vKipcbiAqIEFuIGluY3JlZGlibHkgYmFzaWMgbHRyIC0+IHJ0bCBjb252ZXJ0ZXIgZm9yIHN0eWxlIHByb3BlcnRpZXNcbiAqXG4gKiBAcGFyYW0ge1JlYWN0LkNTU1Byb3BlcnRpZXN9IGx0clN0eWxlc1xuICpcbiAqIEByZXR1cm4ge1JlYWN0LkNTU1Byb3BlcnRpZXN9IENvbnZlcnRlZCBsdHIgLT4gcnRsIHN0eWxlc1xuICovXG5leHBvcnQgY29uc3QgY29udmVydExUUlRvUlRMID0gKCBsdHJTdHlsZXMgPSB7fSApID0+IHtcblx0cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhcblx0XHRPYmplY3QuZW50cmllcyggbHRyU3R5bGVzICkubWFwKCAoIFsga2V5LCB2YWx1ZSBdICkgPT4gW1xuXHRcdFx0Z2V0Q29udmVydGVkS2V5KCBrZXkgKSxcblx0XHRcdHZhbHVlLFxuXHRcdF0gKVxuXHQpO1xufTtcblxuLyoqXG4gKiBBIGhpZ2hlci1vcmRlciBmdW5jdGlvbiB0aGF0IGNyZWF0ZSBhbiBpbmNyZWRpYmx5IGJhc2ljIGx0ciAtPiBydGwgc3R5bGUgY29udmVydGVyIGZvciBDU1Mgb2JqZWN0cy5cbiAqXG4gKiBAcGFyYW0ge1JlYWN0LkNTU1Byb3BlcnRpZXN9IGx0clN0eWxlcyAgIEx0ciBzdHlsZXMuIENvbnZlcnRzIGFuZCByZW5kZXJzIGZyb20gbHRyIC0+IHJ0bCBzdHlsZXMsIGlmIGFwcGxpY2FibGUuXG4gKiBAcGFyYW0ge1JlYWN0LkNTU1Byb3BlcnRpZXN9IFtydGxTdHlsZXNdIFJ0bCBzdHlsZXMuIFJlbmRlcnMgaWYgcHJvdmlkZWQuXG4gKlxuICogQHJldHVybiB7KCkgPT4gaW1wb3J0KCdAZW1vdGlvbi9yZWFjdCcpLlNlcmlhbGl6ZWRTdHlsZXN9IEEgZnVuY3Rpb24gdG8gb3V0cHV0IENTUyBzdHlsZXMgZm9yIEVtb3Rpb24ncyByZW5kZXJlclxuICovXG5leHBvcnQgZnVuY3Rpb24gcnRsKCBsdHJTdHlsZXMgPSB7fSwgcnRsU3R5bGVzICkge1xuXHRyZXR1cm4gKCkgPT4ge1xuXHRcdGlmICggcnRsU3R5bGVzICkge1xuXHRcdFx0Ly8gQHRzLWlnbm9yZTogYGNzc2AgdHlwZXMgYXJlIHdyb25nLCBpdCBjYW4gYWNjZXB0IGFuIG9iamVjdDogaHR0cHM6Ly9lbW90aW9uLnNoL2RvY3Mvb2JqZWN0LXN0eWxlcyN3aXRoLWNzc1xuXHRcdFx0cmV0dXJuIGlzUlRMKCkgPyBjc3MoIHJ0bFN0eWxlcyApIDogY3NzKCBsdHJTdHlsZXMgKTtcblx0XHR9XG5cblx0XHQvLyBAdHMtaWdub3JlOiBgY3NzYCB0eXBlcyBhcmUgd3JvbmcsIGl0IGNhbiBhY2NlcHQgYW4gb2JqZWN0OiBodHRwczovL2Vtb3Rpb24uc2gvZG9jcy9vYmplY3Qtc3R5bGVzI3dpdGgtY3NzXG5cdFx0cmV0dXJuIGlzUlRMKCkgPyBjc3MoIGNvbnZlcnRMVFJUb1JUTCggbHRyU3R5bGVzICkgKSA6IGNzcyggbHRyU3R5bGVzICk7XG5cdH07XG59XG5cbi8qKlxuICogQ2FsbCB0aGlzIGluIHRoZSBgdXNlTWVtb2AgZGVwZW5kZW5jeSBhcnJheSB0byBlbnN1cmUgdGhhdCBzdWJzZXF1ZW50IHJlbmRlcnMgd2lsbFxuICogY2F1c2UgcnRsIHN0eWxlcyB0byB1cGRhdGUgYmFzZWQgb24gdGhlIGBpc1JUTGAgcmV0dXJuIHZhbHVlIGV2ZW4gaWYgYWxsIG90aGVyIGRlcGVuZGVuY2llc1xuICogcmVtYWluIHRoZSBzYW1lLlxuICpcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBzdHlsZXMgPSB1c2VNZW1vKCAoKSA9PiB7XG4gKiAgIHJldHVybiBjc3NgXG4gKiAgICAgJHsgcnRsKCB7IG1hcmdpblJpZ2h0OiAnMTBweCcgfSApIH1cbiAqICAgYDtcbiAqIH0sIFsgcnRsLndhdGNoKCkgXSApO1xuICovXG5ydGwud2F0Y2ggPSAoKSA9PiBpc1JUTCgpO1xuIl19 */\") : /*#__PURE__*/css(ltrStyles, process.env.NODE_ENV === \"production\" ? \"\" : \";label:rtl;\", process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJ0bC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4RXVDIiwiZmlsZSI6InJ0bC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuLyoqXG4gKiBXb3JkUHJlc3MgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGlzUlRMIH0gZnJvbSAnQHdvcmRwcmVzcy9pMThuJztcblxuY29uc3QgTE9XRVJfTEVGVF9SRUdFWFAgPSBuZXcgUmVnRXhwKCAvLWxlZnQvZyApO1xuY29uc3QgTE9XRVJfUklHSFRfUkVHRVhQID0gbmV3IFJlZ0V4cCggLy1yaWdodC9nICk7XG5jb25zdCBVUFBFUl9MRUZUX1JFR0VYUCA9IG5ldyBSZWdFeHAoIC9MZWZ0L2cgKTtcbmNvbnN0IFVQUEVSX1JJR0hUX1JFR0VYUCA9IG5ldyBSZWdFeHAoIC9SaWdodC9nICk7XG5cbi8qKlxuICogRmxpcHMgYSBDU1MgcHJvcGVydHkgZnJvbSBsZWZ0IDwtPiByaWdodC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBDU1MgcHJvcGVydHkgbmFtZS5cbiAqXG4gKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBmbGlwcGVkIENTUyBwcm9wZXJ0eSBuYW1lLCBpZiBhcHBsaWNhYmxlLlxuICovXG5mdW5jdGlvbiBnZXRDb252ZXJ0ZWRLZXkoIGtleSApIHtcblx0aWYgKCBrZXkgPT09ICdsZWZ0JyApIHtcblx0XHRyZXR1cm4gJ3JpZ2h0Jztcblx0fVxuXG5cdGlmICgga2V5ID09PSAncmlnaHQnICkge1xuXHRcdHJldHVybiAnbGVmdCc7XG5cdH1cblxuXHRpZiAoIExPV0VSX0xFRlRfUkVHRVhQLnRlc3QoIGtleSApICkge1xuXHRcdHJldHVybiBrZXkucmVwbGFjZSggTE9XRVJfTEVGVF9SRUdFWFAsICctcmlnaHQnICk7XG5cdH1cblxuXHRpZiAoIExPV0VSX1JJR0hUX1JFR0VYUC50ZXN0KCBrZXkgKSApIHtcblx0XHRyZXR1cm4ga2V5LnJlcGxhY2UoIExPV0VSX1JJR0hUX1JFR0VYUCwgJy1sZWZ0JyApO1xuXHR9XG5cblx0aWYgKCBVUFBFUl9MRUZUX1JFR0VYUC50ZXN0KCBrZXkgKSApIHtcblx0XHRyZXR1cm4ga2V5LnJlcGxhY2UoIFVQUEVSX0xFRlRfUkVHRVhQLCAnUmlnaHQnICk7XG5cdH1cblxuXHRpZiAoIFVQUEVSX1JJR0hUX1JFR0VYUC50ZXN0KCBrZXkgKSApIHtcblx0XHRyZXR1cm4ga2V5LnJlcGxhY2UoIFVQUEVSX1JJR0hUX1JFR0VYUCwgJ0xlZnQnICk7XG5cdH1cblxuXHRyZXR1cm4ga2V5O1xufVxuXG4vKipcbiAqIEFuIGluY3JlZGlibHkgYmFzaWMgbHRyIC0+IHJ0bCBjb252ZXJ0ZXIgZm9yIHN0eWxlIHByb3BlcnRpZXNcbiAqXG4gKiBAcGFyYW0ge1JlYWN0LkNTU1Byb3BlcnRpZXN9IGx0clN0eWxlc1xuICpcbiAqIEByZXR1cm4ge1JlYWN0LkNTU1Byb3BlcnRpZXN9IENvbnZlcnRlZCBsdHIgLT4gcnRsIHN0eWxlc1xuICovXG5leHBvcnQgY29uc3QgY29udmVydExUUlRvUlRMID0gKCBsdHJTdHlsZXMgPSB7fSApID0+IHtcblx0cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhcblx0XHRPYmplY3QuZW50cmllcyggbHRyU3R5bGVzICkubWFwKCAoIFsga2V5LCB2YWx1ZSBdICkgPT4gW1xuXHRcdFx0Z2V0Q29udmVydGVkS2V5KCBrZXkgKSxcblx0XHRcdHZhbHVlLFxuXHRcdF0gKVxuXHQpO1xufTtcblxuLyoqXG4gKiBBIGhpZ2hlci1vcmRlciBmdW5jdGlvbiB0aGF0IGNyZWF0ZSBhbiBpbmNyZWRpYmx5IGJhc2ljIGx0ciAtPiBydGwgc3R5bGUgY29udmVydGVyIGZvciBDU1Mgb2JqZWN0cy5cbiAqXG4gKiBAcGFyYW0ge1JlYWN0LkNTU1Byb3BlcnRpZXN9IGx0clN0eWxlcyAgIEx0ciBzdHlsZXMuIENvbnZlcnRzIGFuZCByZW5kZXJzIGZyb20gbHRyIC0+IHJ0bCBzdHlsZXMsIGlmIGFwcGxpY2FibGUuXG4gKiBAcGFyYW0ge1JlYWN0LkNTU1Byb3BlcnRpZXN9IFtydGxTdHlsZXNdIFJ0bCBzdHlsZXMuIFJlbmRlcnMgaWYgcHJvdmlkZWQuXG4gKlxuICogQHJldHVybiB7KCkgPT4gaW1wb3J0KCdAZW1vdGlvbi9yZWFjdCcpLlNlcmlhbGl6ZWRTdHlsZXN9IEEgZnVuY3Rpb24gdG8gb3V0cHV0IENTUyBzdHlsZXMgZm9yIEVtb3Rpb24ncyByZW5kZXJlclxuICovXG5leHBvcnQgZnVuY3Rpb24gcnRsKCBsdHJTdHlsZXMgPSB7fSwgcnRsU3R5bGVzICkge1xuXHRyZXR1cm4gKCkgPT4ge1xuXHRcdGlmICggcnRsU3R5bGVzICkge1xuXHRcdFx0Ly8gQHRzLWlnbm9yZTogYGNzc2AgdHlwZXMgYXJlIHdyb25nLCBpdCBjYW4gYWNjZXB0IGFuIG9iamVjdDogaHR0cHM6Ly9lbW90aW9uLnNoL2RvY3Mvb2JqZWN0LXN0eWxlcyN3aXRoLWNzc1xuXHRcdFx0cmV0dXJuIGlzUlRMKCkgPyBjc3MoIHJ0bFN0eWxlcyApIDogY3NzKCBsdHJTdHlsZXMgKTtcblx0XHR9XG5cblx0XHQvLyBAdHMtaWdub3JlOiBgY3NzYCB0eXBlcyBhcmUgd3JvbmcsIGl0IGNhbiBhY2NlcHQgYW4gb2JqZWN0OiBodHRwczovL2Vtb3Rpb24uc2gvZG9jcy9vYmplY3Qtc3R5bGVzI3dpdGgtY3NzXG5cdFx0cmV0dXJuIGlzUlRMKCkgPyBjc3MoIGNvbnZlcnRMVFJUb1JUTCggbHRyU3R5bGVzICkgKSA6IGNzcyggbHRyU3R5bGVzICk7XG5cdH07XG59XG5cbi8qKlxuICogQ2FsbCB0aGlzIGluIHRoZSBgdXNlTWVtb2AgZGVwZW5kZW5jeSBhcnJheSB0byBlbnN1cmUgdGhhdCBzdWJzZXF1ZW50IHJlbmRlcnMgd2lsbFxuICogY2F1c2UgcnRsIHN0eWxlcyB0byB1cGRhdGUgYmFzZWQgb24gdGhlIGBpc1JUTGAgcmV0dXJuIHZhbHVlIGV2ZW4gaWYgYWxsIG90aGVyIGRlcGVuZGVuY2llc1xuICogcmVtYWluIHRoZSBzYW1lLlxuICpcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBzdHlsZXMgPSB1c2VNZW1vKCAoKSA9PiB7XG4gKiAgIHJldHVybiBjc3NgXG4gKiAgICAgJHsgcnRsKCB7IG1hcmdpblJpZ2h0OiAnMTBweCcgfSApIH1cbiAqICAgYDtcbiAqIH0sIFsgcnRsLndhdGNoKCkgXSApO1xuICovXG5ydGwud2F0Y2ggPSAoKSA9PiBpc1JUTCgpO1xuIl19 */\");\n }\n\n // @ts-ignore: `css` types are wrong, it can accept an object: https://emotion.sh/docs/object-styles#with-css\n return isRTL() ? /*#__PURE__*/css(convertLTRToRTL(ltrStyles), process.env.NODE_ENV === \"production\" ? \"\" : \";label:rtl;\", process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJ0bC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrRm1CIiwiZmlsZSI6InJ0bC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuLyoqXG4gKiBXb3JkUHJlc3MgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGlzUlRMIH0gZnJvbSAnQHdvcmRwcmVzcy9pMThuJztcblxuY29uc3QgTE9XRVJfTEVGVF9SRUdFWFAgPSBuZXcgUmVnRXhwKCAvLWxlZnQvZyApO1xuY29uc3QgTE9XRVJfUklHSFRfUkVHRVhQID0gbmV3IFJlZ0V4cCggLy1yaWdodC9nICk7XG5jb25zdCBVUFBFUl9MRUZUX1JFR0VYUCA9IG5ldyBSZWdFeHAoIC9MZWZ0L2cgKTtcbmNvbnN0IFVQUEVSX1JJR0hUX1JFR0VYUCA9IG5ldyBSZWdFeHAoIC9SaWdodC9nICk7XG5cbi8qKlxuICogRmxpcHMgYSBDU1MgcHJvcGVydHkgZnJvbSBsZWZ0IDwtPiByaWdodC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBDU1MgcHJvcGVydHkgbmFtZS5cbiAqXG4gKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBmbGlwcGVkIENTUyBwcm9wZXJ0eSBuYW1lLCBpZiBhcHBsaWNhYmxlLlxuICovXG5mdW5jdGlvbiBnZXRDb252ZXJ0ZWRLZXkoIGtleSApIHtcblx0aWYgKCBrZXkgPT09ICdsZWZ0JyApIHtcblx0XHRyZXR1cm4gJ3JpZ2h0Jztcblx0fVxuXG5cdGlmICgga2V5ID09PSAncmlnaHQnICkge1xuXHRcdHJldHVybiAnbGVmdCc7XG5cdH1cblxuXHRpZiAoIExPV0VSX0xFRlRfUkVHRVhQLnRlc3QoIGtleSApICkge1xuXHRcdHJldHVybiBrZXkucmVwbGFjZSggTE9XRVJfTEVGVF9SRUdFWFAsICctcmlnaHQnICk7XG5cdH1cblxuXHRpZiAoIExPV0VSX1JJR0hUX1JFR0VYUC50ZXN0KCBrZXkgKSApIHtcblx0XHRyZXR1cm4ga2V5LnJlcGxhY2UoIExPV0VSX1JJR0hUX1JFR0VYUCwgJy1sZWZ0JyApO1xuXHR9XG5cblx0aWYgKCBVUFBFUl9MRUZUX1JFR0VYUC50ZXN0KCBrZXkgKSApIHtcblx0XHRyZXR1cm4ga2V5LnJlcGxhY2UoIFVQUEVSX0xFRlRfUkVHRVhQLCAnUmlnaHQnICk7XG5cdH1cblxuXHRpZiAoIFVQUEVSX1JJR0hUX1JFR0VYUC50ZXN0KCBrZXkgKSApIHtcblx0XHRyZXR1cm4ga2V5LnJlcGxhY2UoIFVQUEVSX1JJR0hUX1JFR0VYUCwgJ0xlZnQnICk7XG5cdH1cblxuXHRyZXR1cm4ga2V5O1xufVxuXG4vKipcbiAqIEFuIGluY3JlZGlibHkgYmFzaWMgbHRyIC0+IHJ0bCBjb252ZXJ0ZXIgZm9yIHN0eWxlIHByb3BlcnRpZXNcbiAqXG4gKiBAcGFyYW0ge1JlYWN0LkNTU1Byb3BlcnRpZXN9IGx0clN0eWxlc1xuICpcbiAqIEByZXR1cm4ge1JlYWN0LkNTU1Byb3BlcnRpZXN9IENvbnZlcnRlZCBsdHIgLT4gcnRsIHN0eWxlc1xuICovXG5leHBvcnQgY29uc3QgY29udmVydExUUlRvUlRMID0gKCBsdHJTdHlsZXMgPSB7fSApID0+IHtcblx0cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhcblx0XHRPYmplY3QuZW50cmllcyggbHRyU3R5bGVzICkubWFwKCAoIFsga2V5LCB2YWx1ZSBdICkgPT4gW1xuXHRcdFx0Z2V0Q29udmVydGVkS2V5KCBrZXkgKSxcblx0XHRcdHZhbHVlLFxuXHRcdF0gKVxuXHQpO1xufTtcblxuLyoqXG4gKiBBIGhpZ2hlci1vcmRlciBmdW5jdGlvbiB0aGF0IGNyZWF0ZSBhbiBpbmNyZWRpYmx5IGJhc2ljIGx0ciAtPiBydGwgc3R5bGUgY29udmVydGVyIGZvciBDU1Mgb2JqZWN0cy5cbiAqXG4gKiBAcGFyYW0ge1JlYWN0LkNTU1Byb3BlcnRpZXN9IGx0clN0eWxlcyAgIEx0ciBzdHlsZXMuIENvbnZlcnRzIGFuZCByZW5kZXJzIGZyb20gbHRyIC0+IHJ0bCBzdHlsZXMsIGlmIGFwcGxpY2FibGUuXG4gKiBAcGFyYW0ge1JlYWN0LkNTU1Byb3BlcnRpZXN9IFtydGxTdHlsZXNdIFJ0bCBzdHlsZXMuIFJlbmRlcnMgaWYgcHJvdmlkZWQuXG4gKlxuICogQHJldHVybiB7KCkgPT4gaW1wb3J0KCdAZW1vdGlvbi9yZWFjdCcpLlNlcmlhbGl6ZWRTdHlsZXN9IEEgZnVuY3Rpb24gdG8gb3V0cHV0IENTUyBzdHlsZXMgZm9yIEVtb3Rpb24ncyByZW5kZXJlclxuICovXG5leHBvcnQgZnVuY3Rpb24gcnRsKCBsdHJTdHlsZXMgPSB7fSwgcnRsU3R5bGVzICkge1xuXHRyZXR1cm4gKCkgPT4ge1xuXHRcdGlmICggcnRsU3R5bGVzICkge1xuXHRcdFx0Ly8gQHRzLWlnbm9yZTogYGNzc2AgdHlwZXMgYXJlIHdyb25nLCBpdCBjYW4gYWNjZXB0IGFuIG9iamVjdDogaHR0cHM6Ly9lbW90aW9uLnNoL2RvY3Mvb2JqZWN0LXN0eWxlcyN3aXRoLWNzc1xuXHRcdFx0cmV0dXJuIGlzUlRMKCkgPyBjc3MoIHJ0bFN0eWxlcyApIDogY3NzKCBsdHJTdHlsZXMgKTtcblx0XHR9XG5cblx0XHQvLyBAdHMtaWdub3JlOiBgY3NzYCB0eXBlcyBhcmUgd3JvbmcsIGl0IGNhbiBhY2NlcHQgYW4gb2JqZWN0OiBodHRwczovL2Vtb3Rpb24uc2gvZG9jcy9vYmplY3Qtc3R5bGVzI3dpdGgtY3NzXG5cdFx0cmV0dXJuIGlzUlRMKCkgPyBjc3MoIGNvbnZlcnRMVFJUb1JUTCggbHRyU3R5bGVzICkgKSA6IGNzcyggbHRyU3R5bGVzICk7XG5cdH07XG59XG5cbi8qKlxuICogQ2FsbCB0aGlzIGluIHRoZSBgdXNlTWVtb2AgZGVwZW5kZW5jeSBhcnJheSB0byBlbnN1cmUgdGhhdCBzdWJzZXF1ZW50IHJlbmRlcnMgd2lsbFxuICogY2F1c2UgcnRsIHN0eWxlcyB0byB1cGRhdGUgYmFzZWQgb24gdGhlIGBpc1JUTGAgcmV0dXJuIHZhbHVlIGV2ZW4gaWYgYWxsIG90aGVyIGRlcGVuZGVuY2llc1xuICogcmVtYWluIHRoZSBzYW1lLlxuICpcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBzdHlsZXMgPSB1c2VNZW1vKCAoKSA9PiB7XG4gKiAgIHJldHVybiBjc3NgXG4gKiAgICAgJHsgcnRsKCB7IG1hcmdpblJpZ2h0OiAnMTBweCcgfSApIH1cbiAqICAgYDtcbiAqIH0sIFsgcnRsLndhdGNoKCkgXSApO1xuICovXG5ydGwud2F0Y2ggPSAoKSA9PiBpc1JUTCgpO1xuIl19 */\") : /*#__PURE__*/css(ltrStyles, process.env.NODE_ENV === \"production\" ? \"\" : \";label:rtl;\", process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJ0bC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrRnlEIiwiZmlsZSI6InJ0bC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuLyoqXG4gKiBXb3JkUHJlc3MgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGlzUlRMIH0gZnJvbSAnQHdvcmRwcmVzcy9pMThuJztcblxuY29uc3QgTE9XRVJfTEVGVF9SRUdFWFAgPSBuZXcgUmVnRXhwKCAvLWxlZnQvZyApO1xuY29uc3QgTE9XRVJfUklHSFRfUkVHRVhQID0gbmV3IFJlZ0V4cCggLy1yaWdodC9nICk7XG5jb25zdCBVUFBFUl9MRUZUX1JFR0VYUCA9IG5ldyBSZWdFeHAoIC9MZWZ0L2cgKTtcbmNvbnN0IFVQUEVSX1JJR0hUX1JFR0VYUCA9IG5ldyBSZWdFeHAoIC9SaWdodC9nICk7XG5cbi8qKlxuICogRmxpcHMgYSBDU1MgcHJvcGVydHkgZnJvbSBsZWZ0IDwtPiByaWdodC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBDU1MgcHJvcGVydHkgbmFtZS5cbiAqXG4gKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBmbGlwcGVkIENTUyBwcm9wZXJ0eSBuYW1lLCBpZiBhcHBsaWNhYmxlLlxuICovXG5mdW5jdGlvbiBnZXRDb252ZXJ0ZWRLZXkoIGtleSApIHtcblx0aWYgKCBrZXkgPT09ICdsZWZ0JyApIHtcblx0XHRyZXR1cm4gJ3JpZ2h0Jztcblx0fVxuXG5cdGlmICgga2V5ID09PSAncmlnaHQnICkge1xuXHRcdHJldHVybiAnbGVmdCc7XG5cdH1cblxuXHRpZiAoIExPV0VSX0xFRlRfUkVHRVhQLnRlc3QoIGtleSApICkge1xuXHRcdHJldHVybiBrZXkucmVwbGFjZSggTE9XRVJfTEVGVF9SRUdFWFAsICctcmlnaHQnICk7XG5cdH1cblxuXHRpZiAoIExPV0VSX1JJR0hUX1JFR0VYUC50ZXN0KCBrZXkgKSApIHtcblx0XHRyZXR1cm4ga2V5LnJlcGxhY2UoIExPV0VSX1JJR0hUX1JFR0VYUCwgJy1sZWZ0JyApO1xuXHR9XG5cblx0aWYgKCBVUFBFUl9MRUZUX1JFR0VYUC50ZXN0KCBrZXkgKSApIHtcblx0XHRyZXR1cm4ga2V5LnJlcGxhY2UoIFVQUEVSX0xFRlRfUkVHRVhQLCAnUmlnaHQnICk7XG5cdH1cblxuXHRpZiAoIFVQUEVSX1JJR0hUX1JFR0VYUC50ZXN0KCBrZXkgKSApIHtcblx0XHRyZXR1cm4ga2V5LnJlcGxhY2UoIFVQUEVSX1JJR0hUX1JFR0VYUCwgJ0xlZnQnICk7XG5cdH1cblxuXHRyZXR1cm4ga2V5O1xufVxuXG4vKipcbiAqIEFuIGluY3JlZGlibHkgYmFzaWMgbHRyIC0+IHJ0bCBjb252ZXJ0ZXIgZm9yIHN0eWxlIHByb3BlcnRpZXNcbiAqXG4gKiBAcGFyYW0ge1JlYWN0LkNTU1Byb3BlcnRpZXN9IGx0clN0eWxlc1xuICpcbiAqIEByZXR1cm4ge1JlYWN0LkNTU1Byb3BlcnRpZXN9IENvbnZlcnRlZCBsdHIgLT4gcnRsIHN0eWxlc1xuICovXG5leHBvcnQgY29uc3QgY29udmVydExUUlRvUlRMID0gKCBsdHJTdHlsZXMgPSB7fSApID0+IHtcblx0cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhcblx0XHRPYmplY3QuZW50cmllcyggbHRyU3R5bGVzICkubWFwKCAoIFsga2V5LCB2YWx1ZSBdICkgPT4gW1xuXHRcdFx0Z2V0Q29udmVydGVkS2V5KCBrZXkgKSxcblx0XHRcdHZhbHVlLFxuXHRcdF0gKVxuXHQpO1xufTtcblxuLyoqXG4gKiBBIGhpZ2hlci1vcmRlciBmdW5jdGlvbiB0aGF0IGNyZWF0ZSBhbiBpbmNyZWRpYmx5IGJhc2ljIGx0ciAtPiBydGwgc3R5bGUgY29udmVydGVyIGZvciBDU1Mgb2JqZWN0cy5cbiAqXG4gKiBAcGFyYW0ge1JlYWN0LkNTU1Byb3BlcnRpZXN9IGx0clN0eWxlcyAgIEx0ciBzdHlsZXMuIENvbnZlcnRzIGFuZCByZW5kZXJzIGZyb20gbHRyIC0+IHJ0bCBzdHlsZXMsIGlmIGFwcGxpY2FibGUuXG4gKiBAcGFyYW0ge1JlYWN0LkNTU1Byb3BlcnRpZXN9IFtydGxTdHlsZXNdIFJ0bCBzdHlsZXMuIFJlbmRlcnMgaWYgcHJvdmlkZWQuXG4gKlxuICogQHJldHVybiB7KCkgPT4gaW1wb3J0KCdAZW1vdGlvbi9yZWFjdCcpLlNlcmlhbGl6ZWRTdHlsZXN9IEEgZnVuY3Rpb24gdG8gb3V0cHV0IENTUyBzdHlsZXMgZm9yIEVtb3Rpb24ncyByZW5kZXJlclxuICovXG5leHBvcnQgZnVuY3Rpb24gcnRsKCBsdHJTdHlsZXMgPSB7fSwgcnRsU3R5bGVzICkge1xuXHRyZXR1cm4gKCkgPT4ge1xuXHRcdGlmICggcnRsU3R5bGVzICkge1xuXHRcdFx0Ly8gQHRzLWlnbm9yZTogYGNzc2AgdHlwZXMgYXJlIHdyb25nLCBpdCBjYW4gYWNjZXB0IGFuIG9iamVjdDogaHR0cHM6Ly9lbW90aW9uLnNoL2RvY3Mvb2JqZWN0LXN0eWxlcyN3aXRoLWNzc1xuXHRcdFx0cmV0dXJuIGlzUlRMKCkgPyBjc3MoIHJ0bFN0eWxlcyApIDogY3NzKCBsdHJTdHlsZXMgKTtcblx0XHR9XG5cblx0XHQvLyBAdHMtaWdub3JlOiBgY3NzYCB0eXBlcyBhcmUgd3JvbmcsIGl0IGNhbiBhY2NlcHQgYW4gb2JqZWN0OiBodHRwczovL2Vtb3Rpb24uc2gvZG9jcy9vYmplY3Qtc3R5bGVzI3dpdGgtY3NzXG5cdFx0cmV0dXJuIGlzUlRMKCkgPyBjc3MoIGNvbnZlcnRMVFJUb1JUTCggbHRyU3R5bGVzICkgKSA6IGNzcyggbHRyU3R5bGVzICk7XG5cdH07XG59XG5cbi8qKlxuICogQ2FsbCB0aGlzIGluIHRoZSBgdXNlTWVtb2AgZGVwZW5kZW5jeSBhcnJheSB0byBlbnN1cmUgdGhhdCBzdWJzZXF1ZW50IHJlbmRlcnMgd2lsbFxuICogY2F1c2UgcnRsIHN0eWxlcyB0byB1cGRhdGUgYmFzZWQgb24gdGhlIGBpc1JUTGAgcmV0dXJuIHZhbHVlIGV2ZW4gaWYgYWxsIG90aGVyIGRlcGVuZGVuY2llc1xuICogcmVtYWluIHRoZSBzYW1lLlxuICpcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBzdHlsZXMgPSB1c2VNZW1vKCAoKSA9PiB7XG4gKiAgIHJldHVybiBjc3NgXG4gKiAgICAgJHsgcnRsKCB7IG1hcmdpblJpZ2h0OiAnMTBweCcgfSApIH1cbiAqICAgYDtcbiAqIH0sIFsgcnRsLndhdGNoKCkgXSApO1xuICovXG5ydGwud2F0Y2ggPSAoKSA9PiBpc1JUTCgpO1xuIl19 */\");\n };\n}\n\n/**\n * Call this in the `useMemo` dependency array to ensure that subsequent renders will\n * cause rtl styles to update based on the `isRTL` return value even if all other dependencies\n * remain the same.\n *\n * @example\n * const styles = useMemo( () => {\n * return css`\n * ${ rtl( { marginRight: '10px' } ) }\n * `;\n * }, [ rtl.watch() ] );\n */\nrtl.watch = () => isRTL();"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,mBAAoB;AAKpB,kBAAsB;AACtB,IAAM,oBAAoB,IAAI,OAAO,QAAQ;AAC7C,IAAM,qBAAqB,IAAI,OAAO,SAAS;AAC/C,IAAM,oBAAoB,IAAI,OAAO,OAAO;AAC5C,IAAM,qBAAqB,IAAI,OAAO,QAAQ;AAS9C,SAAS,gBAAgB,KAAK;AAC5B,MAAI,QAAQ,QAAQ;AAClB,WAAO;AAAA,EACT;AACA,MAAI,QAAQ,SAAS;AACnB,WAAO;AAAA,EACT;AACA,MAAI,kBAAkB,KAAK,GAAG,GAAG;AAC/B,WAAO,IAAI,QAAQ,mBAAmB,QAAQ;AAAA,EAChD;AACA,MAAI,mBAAmB,KAAK,GAAG,GAAG;AAChC,WAAO,IAAI,QAAQ,oBAAoB,OAAO;AAAA,EAChD;AACA,MAAI,kBAAkB,KAAK,GAAG,GAAG;AAC/B,WAAO,IAAI,QAAQ,mBAAmB,OAAO;AAAA,EAC/C;AACA,MAAI,mBAAmB,KAAK,GAAG,GAAG;AAChC,WAAO,IAAI,QAAQ,oBAAoB,MAAM;AAAA,EAC/C;AACA,SAAO;AACT;AASO,IAAM,kBAAkB,CAAC,YAAY,CAAC,MAAM;AACjD,SAAO,OAAO,YAAY,OAAO,QAAQ,SAAS,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,gBAAgB,GAAG,GAAG,KAAK,CAAC,CAAC;AAC1G;AAUO,SAAS,IAAI,YAAY,CAAC,GAAG,WAAW;AAC7C,SAAO,MAAM;AACX,QAAI,WAAW;AAEb,iBAAO,mBAAM,IAAiB,sCAAI,WAAW,QAAQ,IAAI,aAAa,eAAe,KAAK,eAAe,QAAQ,IAAI,aAAa,eAAe,KAAK,65HAA65H,IAAiB,sCAAI,WAAW,QAAQ,IAAI,aAAa,eAAe,KAAK,eAAe,QAAQ,IAAI,aAAa,eAAe,KAAK,65HAA65H;AAAA,IAC3lQ;AAGA,eAAO,mBAAM,IAAiB,sCAAI,gBAAgB,SAAS,GAAG,QAAQ,IAAI,aAAa,eAAe,KAAK,eAAe,QAAQ,IAAI,aAAa,eAAe,KAAK,65HAA65H,IAAiB,sCAAI,WAAW,QAAQ,IAAI,aAAa,eAAe,KAAK,eAAe,QAAQ,IAAI,aAAa,eAAe,KAAK,65HAA65H;AAAA,EAC5mQ;AACF;AAcA,IAAI,QAAQ,UAAM,mBAAM;",
6
6
  "names": []
7
7
  }
@@ -64,13 +64,7 @@ function useResponsiveValue(values, options = {}) {
64
64
  return values;
65
65
  }
66
66
  const array = values || [];
67
- return (
68
- /** @type {T[]} */
69
- array[
70
- /* eslint-enable jsdoc/no-undefined-types */
71
- index >= array.length ? array.length - 1 : index
72
- ]
73
- );
67
+ return array[index >= array.length ? array.length - 1 : index];
74
68
  }
75
69
  // Annotate the CommonJS export names for ESM import in node:
76
70
  0 && (module.exports = {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/use-responsive-value.ts"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useEffect, useState } from '@wordpress/element';\nconst breakpoints = ['40em', '52em', '64em'];\nexport const useBreakpointIndex = (options = {}) => {\n const {\n defaultIndex = 0\n } = options;\n if (typeof defaultIndex !== 'number') {\n throw new TypeError(`Default breakpoint index should be a number. Got: ${defaultIndex}, ${typeof defaultIndex}`);\n } else if (defaultIndex < 0 || defaultIndex > breakpoints.length - 1) {\n throw new RangeError(`Default breakpoint index out of range. Theme has ${breakpoints.length} breakpoints, got index ${defaultIndex}`);\n }\n const [value, setValue] = useState(defaultIndex);\n useEffect(() => {\n const getIndex = () => breakpoints.filter(bp => {\n return typeof window !== 'undefined' ? window.matchMedia(`screen and (min-width: ${bp})`).matches : false;\n }).length;\n const onResize = () => {\n const newValue = getIndex();\n if (value !== newValue) {\n setValue(newValue);\n }\n };\n onResize();\n if (typeof window !== 'undefined') {\n window.addEventListener('resize', onResize);\n }\n return () => {\n if (typeof window !== 'undefined') {\n window.removeEventListener('resize', onResize);\n }\n };\n }, [value]);\n return value;\n};\nexport function useResponsiveValue(values, options = {}) {\n const index = useBreakpointIndex(options);\n\n // Allow calling the function with a \"normal\" value without having to check on the outside.\n if (!Array.isArray(values) && typeof values !== 'function') {\n return values;\n }\n const array = values || [];\n\n /* eslint-disable jsdoc/no-undefined-types */\n return /** @type {T[]} */array[/* eslint-enable jsdoc/no-undefined-types */\n index >= array.length ? array.length - 1 : index];\n}"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAAoC;AACpC,IAAM,cAAc,CAAC,QAAQ,QAAQ,MAAM;AACpC,IAAM,qBAAqB,CAAC,UAAU,CAAC,MAAM;AAClD,QAAM;AAAA,IACJ,eAAe;AAAA,EACjB,IAAI;AACJ,MAAI,OAAO,iBAAiB,UAAU;AACpC,UAAM,IAAI,UAAU,qDAAqD,YAAY,KAAK,OAAO,YAAY,EAAE;AAAA,EACjH,WAAW,eAAe,KAAK,eAAe,YAAY,SAAS,GAAG;AACpE,UAAM,IAAI,WAAW,oDAAoD,YAAY,MAAM,2BAA2B,YAAY,EAAE;AAAA,EACtI;AACA,QAAM,CAAC,OAAO,QAAQ,QAAI,yBAAS,YAAY;AAC/C,gCAAU,MAAM;AACd,UAAM,WAAW,MAAM,YAAY,OAAO,QAAM;AAC9C,aAAO,OAAO,WAAW,cAAc,OAAO,WAAW,0BAA0B,EAAE,GAAG,EAAE,UAAU;AAAA,IACtG,CAAC,EAAE;AACH,UAAM,WAAW,MAAM;AACrB,YAAM,WAAW,SAAS;AAC1B,UAAI,UAAU,UAAU;AACtB,iBAAS,QAAQ;AAAA,MACnB;AAAA,IACF;AACA,aAAS;AACT,QAAI,OAAO,WAAW,aAAa;AACjC,aAAO,iBAAiB,UAAU,QAAQ;AAAA,IAC5C;AACA,WAAO,MAAM;AACX,UAAI,OAAO,WAAW,aAAa;AACjC,eAAO,oBAAoB,UAAU,QAAQ;AAAA,MAC/C;AAAA,IACF;AAAA,EACF,GAAG,CAAC,KAAK,CAAC;AACV,SAAO;AACT;AACO,SAAS,mBAAmB,QAAQ,UAAU,CAAC,GAAG;AACvD,QAAM,QAAQ,mBAAmB,OAAO;AAGxC,MAAI,CAAC,MAAM,QAAQ,MAAM,KAAK,OAAO,WAAW,YAAY;AAC1D,WAAO;AAAA,EACT;AACA,QAAM,QAAQ,UAAU,CAAC;AAGzB;AAAA;AAAA,IAAyB;AAAA;AAAA,MACzB,SAAS,MAAM,SAAS,MAAM,SAAS,IAAI;AAAA,IAAK;AAAA;AAClD;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useEffect, useState } from '@wordpress/element';\nconst breakpoints = ['40em', '52em', '64em'];\nexport const useBreakpointIndex = (options = {}) => {\n const {\n defaultIndex = 0\n } = options;\n if (typeof defaultIndex !== 'number') {\n throw new TypeError(`Default breakpoint index should be a number. Got: ${defaultIndex}, ${typeof defaultIndex}`);\n } else if (defaultIndex < 0 || defaultIndex > breakpoints.length - 1) {\n throw new RangeError(`Default breakpoint index out of range. Theme has ${breakpoints.length} breakpoints, got index ${defaultIndex}`);\n }\n const [value, setValue] = useState(defaultIndex);\n useEffect(() => {\n const getIndex = () => breakpoints.filter(bp => {\n return typeof window !== 'undefined' ? window.matchMedia(`screen and (min-width: ${bp})`).matches : false;\n }).length;\n const onResize = () => {\n const newValue = getIndex();\n if (value !== newValue) {\n setValue(newValue);\n }\n };\n onResize();\n if (typeof window !== 'undefined') {\n window.addEventListener('resize', onResize);\n }\n return () => {\n if (typeof window !== 'undefined') {\n window.removeEventListener('resize', onResize);\n }\n };\n }, [value]);\n return value;\n};\nexport function useResponsiveValue(values, options = {}) {\n const index = useBreakpointIndex(options);\n\n // Allow calling the function with a \"normal\" value without having to check on the outside.\n if (!Array.isArray(values) && typeof values !== 'function') {\n return values;\n }\n const array = values || [];\n return array[index >= array.length ? array.length - 1 : index];\n}"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAAoC;AACpC,IAAM,cAAc,CAAC,QAAQ,QAAQ,MAAM;AACpC,IAAM,qBAAqB,CAAC,UAAU,CAAC,MAAM;AAClD,QAAM;AAAA,IACJ,eAAe;AAAA,EACjB,IAAI;AACJ,MAAI,OAAO,iBAAiB,UAAU;AACpC,UAAM,IAAI,UAAU,qDAAqD,YAAY,KAAK,OAAO,YAAY,EAAE;AAAA,EACjH,WAAW,eAAe,KAAK,eAAe,YAAY,SAAS,GAAG;AACpE,UAAM,IAAI,WAAW,oDAAoD,YAAY,MAAM,2BAA2B,YAAY,EAAE;AAAA,EACtI;AACA,QAAM,CAAC,OAAO,QAAQ,QAAI,yBAAS,YAAY;AAC/C,gCAAU,MAAM;AACd,UAAM,WAAW,MAAM,YAAY,OAAO,QAAM;AAC9C,aAAO,OAAO,WAAW,cAAc,OAAO,WAAW,0BAA0B,EAAE,GAAG,EAAE,UAAU;AAAA,IACtG,CAAC,EAAE;AACH,UAAM,WAAW,MAAM;AACrB,YAAM,WAAW,SAAS;AAC1B,UAAI,UAAU,UAAU;AACtB,iBAAS,QAAQ;AAAA,MACnB;AAAA,IACF;AACA,aAAS;AACT,QAAI,OAAO,WAAW,aAAa;AACjC,aAAO,iBAAiB,UAAU,QAAQ;AAAA,IAC5C;AACA,WAAO,MAAM;AACX,UAAI,OAAO,WAAW,aAAa;AACjC,eAAO,oBAAoB,UAAU,QAAQ;AAAA,MAC/C;AAAA,IACF;AAAA,EACF,GAAG,CAAC,KAAK,CAAC;AACV,SAAO;AACT;AACO,SAAS,mBAAmB,QAAQ,UAAU,CAAC,GAAG;AACvD,QAAM,QAAQ,mBAAmB,OAAO;AAGxC,MAAI,CAAC,MAAM,QAAQ,MAAM,KAAK,OAAO,WAAW,YAAY;AAC1D,WAAO;AAAA,EACT;AACA,QAAM,QAAQ,UAAU,CAAC;AACzB,SAAO,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,IAAI,KAAK;AAC/D;",
6
6
  "names": []
7
7
  }
@@ -136,21 +136,44 @@ function UnforwardedControlWithError({
136
136
  getValidityTarget()?.setAttribute(VALIDITY_VISIBLE_ATTRIBUTE, "");
137
137
  }
138
138
  };
139
- const message = () => {
139
+ const messageId = (0, import_element.useId)();
140
+ const message = (() => {
140
141
  if (errorMessage) {
141
142
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_validity_indicator.ValidityIndicator, {
143
+ id: messageId,
142
144
  type: "invalid",
143
145
  message: errorMessage
144
146
  });
145
147
  }
146
148
  if (statusMessage?.type) {
147
149
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_validity_indicator.ValidityIndicator, {
150
+ id: messageId,
148
151
  type: statusMessage.type,
149
152
  message: statusMessage.message
150
153
  });
151
154
  }
152
155
  return null;
153
- };
156
+ })();
157
+ const visibleMessage = showMessage ? message : null;
158
+ (0, import_element.useEffect)(() => {
159
+ const target = getValidityTarget();
160
+ if (!target) {
161
+ return;
162
+ }
163
+ function setDescribedBy(el, shouldAdd) {
164
+ const ids = (el.getAttribute("aria-describedby") ?? "").split(" ").filter((id) => id && id !== messageId);
165
+ if (shouldAdd) {
166
+ ids.push(messageId);
167
+ }
168
+ if (ids.length) {
169
+ el.setAttribute("aria-describedby", ids.join(" "));
170
+ } else {
171
+ el.removeAttribute("aria-describedby");
172
+ }
173
+ }
174
+ setDescribedBy(target, !!visibleMessage);
175
+ return () => setDescribedBy(target, false);
176
+ }, [visibleMessage, messageId, getValidityTarget]);
154
177
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
155
178
  className,
156
179
  ref: forwardedRef,
@@ -160,7 +183,7 @@ function UnforwardedControlWithError({
160
183
  required
161
184
  }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
162
185
  "aria-live": "polite",
163
- children: showMessage && message()
186
+ children: visibleMessage
164
187
  })]
165
188
  });
166
189
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/validated-form-controls/control-with-error.tsx"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { cloneElement, forwardRef, useEffect, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\n\nimport { ValidityIndicator } from './validity-indicator';\nimport { Fragment as _Fragment, jsxs as _jsxs, jsx as _jsx } from \"react/jsx-runtime\";\nfunction appendRequiredIndicator(label, required, markWhenOptional) {\n if (required && !markWhenOptional) {\n return /*#__PURE__*/_jsxs(_Fragment, {\n children: [label, \" \", `(${__('Required')})`]\n });\n }\n if (!required && markWhenOptional) {\n return /*#__PURE__*/_jsxs(_Fragment, {\n children: [label, \" \", `(${__('Optional')})`]\n });\n }\n return label;\n}\nconst VALIDITY_VISIBLE_ATTRIBUTE = 'data-validity-visible';\nconst className = 'components-validated-control';\n\n/**\n * HTML elements that support the Constraint Validation API.\n *\n * Here, we exclude HTMLButtonElement because although it does technically support the API,\n * normal buttons are actually exempted from any validation.\n * @see https://developer.mozilla.org/en-US/docs/Learn_web_development/Extensions/Forms/Form_validation\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLButtonElement/willValidate\n */\n\nfunction UnforwardedControlWithError({\n required,\n markWhenOptional,\n customValidity,\n getValidityTarget,\n children\n}, forwardedRef) {\n const [errorMessage, setErrorMessage] = useState();\n const [statusMessage, setStatusMessage] = useState();\n const [showMessage, setShowMessage] = useState(false);\n const [isTouched, setIsTouched] = useState(false);\n\n // Ensure that error messages are visible when an `invalid` event is triggered,\n // e.g. when a form is submitted or reportValidity() is called.\n useEffect(() => {\n const validityTarget = getValidityTarget();\n const handler = () => {\n setShowMessage(true);\n validityTarget?.setAttribute(VALIDITY_VISIBLE_ATTRIBUTE, '');\n };\n validityTarget?.addEventListener('invalid', handler);\n return () => validityTarget?.removeEventListener('invalid', handler);\n }, [getValidityTarget]);\n\n // Suppress the native error popover, while keeping the focus behavior intact.\n useEffect(() => {\n const validityTarget = getValidityTarget();\n const suppressNativePopover = event => {\n event.preventDefault();\n const target = event.target;\n const firstErrorInForm = Array.from(target.form?.elements ?? []).find(el => !el.validity.valid);\n if (!target.form || firstErrorInForm === target) {\n target.focus();\n }\n };\n\n // Radio inputs need special handling because all radio inputs with the\n // same `name` will be marked as invalid. Without this handling, the last radio option\n // will be focused with an unsuppressed native popover.\n const radioSibilings = validityTarget?.type === 'radio' && validityTarget?.name ? Array.from(validityTarget?.closest(`.${className}`)?.querySelectorAll(`input[type=\"radio\"][name=\"${validityTarget?.name}\"]`) ?? []).filter(sibling => sibling !== validityTarget) : [];\n validityTarget?.addEventListener('invalid', suppressNativePopover);\n radioSibilings.forEach(sibling => sibling.addEventListener('invalid', suppressNativePopover));\n return () => {\n validityTarget?.removeEventListener('invalid', suppressNativePopover);\n radioSibilings.forEach(sibling => sibling.removeEventListener('invalid', suppressNativePopover));\n };\n }, [getValidityTarget]);\n\n // Handle validity messages.\n useEffect(() => {\n const validityTarget = getValidityTarget();\n if (!customValidity?.type) {\n validityTarget?.setCustomValidity('');\n setErrorMessage(validityTarget?.validationMessage);\n setStatusMessage(undefined);\n return;\n }\n switch (customValidity.type) {\n case 'validating':\n {\n validityTarget?.setCustomValidity('');\n setErrorMessage(undefined);\n setStatusMessage({\n type: 'validating',\n message: customValidity.message\n });\n break;\n }\n case 'valid':\n {\n validityTarget?.setCustomValidity('');\n setErrorMessage(validityTarget?.validationMessage);\n setStatusMessage({\n type: 'valid',\n message: customValidity.message\n });\n break;\n }\n case 'invalid':\n {\n validityTarget?.setCustomValidity(customValidity.message ?? '');\n setErrorMessage(validityTarget?.validationMessage);\n setStatusMessage(undefined);\n break;\n }\n }\n }, [customValidity, getValidityTarget]);\n\n // Show messages if field has been touched (i.e. has blurred at least once),\n // or validation has been triggered by the consumer/user.\n useEffect(() => {\n if (!isTouched || showMessage) {\n return;\n }\n if (customValidity?.type === 'validating') {\n // Don't show validating indicators for quick calls that take less than 1 sec.\n const timer = setTimeout(() => {\n setShowMessage(true);\n }, 1000);\n return () => clearTimeout(timer);\n }\n setShowMessage(true);\n }, [isTouched, customValidity?.type, showMessage]);\n\n // Mark blurred fields as touched.\n const onBlur = event => {\n if (isTouched) {\n return;\n }\n\n // Only consider \"blurred from the component\" if focus has fully left the wrapping div.\n // This prevents unnecessary blurs from components with multiple focusable elements.\n if (!event.relatedTarget || !event.currentTarget.contains(event.relatedTarget)) {\n setIsTouched(true);\n getValidityTarget()?.setAttribute(VALIDITY_VISIBLE_ATTRIBUTE, '');\n }\n };\n const message = () => {\n if (errorMessage) {\n return /*#__PURE__*/_jsx(ValidityIndicator, {\n type: \"invalid\",\n message: errorMessage\n });\n }\n if (statusMessage?.type) {\n return /*#__PURE__*/_jsx(ValidityIndicator, {\n type: statusMessage.type,\n message: statusMessage.message\n });\n }\n return null;\n };\n return /*#__PURE__*/_jsxs(\"div\", {\n className: className,\n ref: forwardedRef,\n onBlur: onBlur,\n children: [cloneElement(children, {\n label: appendRequiredIndicator(children.props.label, required, markWhenOptional),\n required\n }), /*#__PURE__*/_jsx(\"div\", {\n \"aria-live\": \"polite\",\n children: showMessage && message()\n })]\n });\n}\nexport const ControlWithError = forwardRef(UnforwardedControlWithError);\nControlWithError.displayName = 'ControlWithError';"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { cloneElement, forwardRef, useEffect, useId, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\n\nimport { ValidityIndicator } from './validity-indicator';\nimport { Fragment as _Fragment, jsxs as _jsxs, jsx as _jsx } from \"react/jsx-runtime\";\nfunction appendRequiredIndicator(label, required, markWhenOptional) {\n if (required && !markWhenOptional) {\n return /*#__PURE__*/_jsxs(_Fragment, {\n children: [label, \" \", `(${__('Required')})`]\n });\n }\n if (!required && markWhenOptional) {\n return /*#__PURE__*/_jsxs(_Fragment, {\n children: [label, \" \", `(${__('Optional')})`]\n });\n }\n return label;\n}\nconst VALIDITY_VISIBLE_ATTRIBUTE = 'data-validity-visible';\nconst className = 'components-validated-control';\n\n/**\n * HTML elements that support the Constraint Validation API.\n *\n * Here, we exclude HTMLButtonElement because although it does technically support the API,\n * normal buttons are actually exempted from any validation.\n * @see https://developer.mozilla.org/en-US/docs/Learn_web_development/Extensions/Forms/Form_validation\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLButtonElement/willValidate\n */\n\nfunction UnforwardedControlWithError({\n required,\n markWhenOptional,\n customValidity,\n getValidityTarget,\n children\n}, forwardedRef) {\n const [errorMessage, setErrorMessage] = useState();\n const [statusMessage, setStatusMessage] = useState();\n const [showMessage, setShowMessage] = useState(false);\n const [isTouched, setIsTouched] = useState(false);\n\n // Ensure that error messages are visible when an `invalid` event is triggered,\n // e.g. when a form is submitted or reportValidity() is called.\n useEffect(() => {\n const validityTarget = getValidityTarget();\n const handler = () => {\n setShowMessage(true);\n validityTarget?.setAttribute(VALIDITY_VISIBLE_ATTRIBUTE, '');\n };\n validityTarget?.addEventListener('invalid', handler);\n return () => validityTarget?.removeEventListener('invalid', handler);\n }, [getValidityTarget]);\n\n // Suppress the native error popover, while keeping the focus behavior intact.\n useEffect(() => {\n const validityTarget = getValidityTarget();\n const suppressNativePopover = event => {\n event.preventDefault();\n const target = event.target;\n const firstErrorInForm = Array.from(target.form?.elements ?? []).find(el => !el.validity.valid);\n if (!target.form || firstErrorInForm === target) {\n target.focus();\n }\n };\n\n // Radio inputs need special handling because all radio inputs with the\n // same `name` will be marked as invalid. Without this handling, the last radio option\n // will be focused with an unsuppressed native popover.\n const radioSibilings = validityTarget?.type === 'radio' && validityTarget?.name ? Array.from(validityTarget?.closest(`.${className}`)?.querySelectorAll(`input[type=\"radio\"][name=\"${validityTarget?.name}\"]`) ?? []).filter(sibling => sibling !== validityTarget) : [];\n validityTarget?.addEventListener('invalid', suppressNativePopover);\n radioSibilings.forEach(sibling => sibling.addEventListener('invalid', suppressNativePopover));\n return () => {\n validityTarget?.removeEventListener('invalid', suppressNativePopover);\n radioSibilings.forEach(sibling => sibling.removeEventListener('invalid', suppressNativePopover));\n };\n }, [getValidityTarget]);\n\n // Handle validity messages.\n useEffect(() => {\n const validityTarget = getValidityTarget();\n if (!customValidity?.type) {\n validityTarget?.setCustomValidity('');\n setErrorMessage(validityTarget?.validationMessage);\n setStatusMessage(undefined);\n return;\n }\n switch (customValidity.type) {\n case 'validating':\n {\n validityTarget?.setCustomValidity('');\n setErrorMessage(undefined);\n setStatusMessage({\n type: 'validating',\n message: customValidity.message\n });\n break;\n }\n case 'valid':\n {\n validityTarget?.setCustomValidity('');\n setErrorMessage(validityTarget?.validationMessage);\n setStatusMessage({\n type: 'valid',\n message: customValidity.message\n });\n break;\n }\n case 'invalid':\n {\n validityTarget?.setCustomValidity(customValidity.message ?? '');\n setErrorMessage(validityTarget?.validationMessage);\n setStatusMessage(undefined);\n break;\n }\n }\n }, [customValidity, getValidityTarget]);\n\n // Show messages if field has been touched (i.e. has blurred at least once),\n // or validation has been triggered by the consumer/user.\n useEffect(() => {\n if (!isTouched || showMessage) {\n return;\n }\n if (customValidity?.type === 'validating') {\n // Don't show validating indicators for quick calls that take less than 1 sec.\n const timer = setTimeout(() => {\n setShowMessage(true);\n }, 1000);\n return () => clearTimeout(timer);\n }\n setShowMessage(true);\n }, [isTouched, customValidity?.type, showMessage]);\n\n // Mark blurred fields as touched.\n const onBlur = event => {\n if (isTouched) {\n return;\n }\n\n // Only consider \"blurred from the component\" if focus has fully left the wrapping div.\n // This prevents unnecessary blurs from components with multiple focusable elements.\n if (!event.relatedTarget || !event.currentTarget.contains(event.relatedTarget)) {\n setIsTouched(true);\n getValidityTarget()?.setAttribute(VALIDITY_VISIBLE_ATTRIBUTE, '');\n }\n };\n const messageId = useId();\n const message = (() => {\n if (errorMessage) {\n return /*#__PURE__*/_jsx(ValidityIndicator, {\n id: messageId,\n type: \"invalid\",\n message: errorMessage\n });\n }\n if (statusMessage?.type) {\n return /*#__PURE__*/_jsx(ValidityIndicator, {\n id: messageId,\n type: statusMessage.type,\n message: statusMessage.message\n });\n }\n return null;\n })();\n const visibleMessage = showMessage ? message : null;\n\n // Imperatively manage `aria-describedby` on the validity target so we\n // merge with any value the child control sets internally (e.g. from a\n // `help` prop), rather than competing with it at the props level.\n useEffect(() => {\n const target = getValidityTarget();\n if (!target) {\n return;\n }\n function setDescribedBy(el, shouldAdd) {\n const ids = (el.getAttribute('aria-describedby') ?? '').split(' ').filter(id => id && id !== messageId);\n if (shouldAdd) {\n ids.push(messageId);\n }\n if (ids.length) {\n el.setAttribute('aria-describedby', ids.join(' '));\n } else {\n el.removeAttribute('aria-describedby');\n }\n }\n setDescribedBy(target, !!visibleMessage);\n return () => setDescribedBy(target, false);\n }, [visibleMessage, messageId, getValidityTarget]);\n return /*#__PURE__*/_jsxs(\"div\", {\n className: className,\n ref: forwardedRef,\n onBlur: onBlur,\n children: [cloneElement(children, {\n label: appendRequiredIndicator(children.props.label, required, markWhenOptional),\n required\n }), /*#__PURE__*/_jsx(\"div\", {\n \"aria-live\": \"polite\",\n children: visibleMessage\n })]\n });\n}\nexport const ControlWithError = forwardRef(UnforwardedControlWithError);\nControlWithError.displayName = 'ControlWithError';"],
5
+ "mappings": "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",
6
6
  "names": ["_jsxs", "_Fragment", "_jsx"]
7
7
  }
@@ -39,6 +39,7 @@ var import_icon = __toESM(require("../icon/index.cjs"));
39
39
  var import_spinner = __toESM(require("../spinner/index.cjs"));
40
40
  var import_jsx_runtime = require("react/jsx-runtime");
41
41
  function ValidityIndicator({
42
+ id,
42
43
  type,
43
44
  message
44
45
  }) {
@@ -47,6 +48,7 @@ function ValidityIndicator({
47
48
  invalid: import_icons.error
48
49
  };
49
50
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", {
51
+ id,
50
52
  className: (0, import_clsx.default)("components-validated-control__indicator", `is-${type}`),
51
53
  children: [type === "validating" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_spinner.default, {
52
54
  className: "components-validated-control__indicator-spinner"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/validated-form-controls/validity-indicator.tsx"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { error, published } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport Icon from '../icon';\nimport Spinner from '../spinner';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nexport function ValidityIndicator({\n type,\n message\n}) {\n const ICON = {\n valid: published,\n invalid: error\n };\n return /*#__PURE__*/_jsxs(\"p\", {\n className: clsx('components-validated-control__indicator', `is-${type}`),\n children: [type === 'validating' ? /*#__PURE__*/_jsx(Spinner, {\n className: \"components-validated-control__indicator-spinner\"\n }) : /*#__PURE__*/_jsx(Icon, {\n className: \"components-validated-control__indicator-icon\",\n icon: ICON[type],\n size: 16,\n fill: \"currentColor\"\n }), message]\n });\n}"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAiB;AAKjB,mBAAiC;AAKjC,kBAAiB;AACjB,qBAAoB;AACpB,yBAA2C;AACpC,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA;AACF,GAAG;AACD,QAAM,OAAO;AAAA,IACX,OAAO;AAAA,IACP,SAAS;AAAA,EACX;AACA,SAAoB,uCAAAA,MAAM,KAAK;AAAA,IAC7B,eAAW,YAAAC,SAAK,2CAA2C,MAAM,IAAI,EAAE;AAAA,IACvE,UAAU,CAAC,SAAS,eAA4B,uCAAAC,KAAK,eAAAC,SAAS;AAAA,MAC5D,WAAW;AAAA,IACb,CAAC,IAAiB,uCAAAD,KAAK,YAAAE,SAAM;AAAA,MAC3B,WAAW;AAAA,MACX,MAAM,KAAK,IAAI;AAAA,MACf,MAAM;AAAA,MACN,MAAM;AAAA,IACR,CAAC,GAAG,OAAO;AAAA,EACb,CAAC;AACH;",
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { error, published } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport Icon from '../icon';\nimport Spinner from '../spinner';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nexport function ValidityIndicator({\n id,\n type,\n message\n}) {\n const ICON = {\n valid: published,\n invalid: error\n };\n return /*#__PURE__*/_jsxs(\"p\", {\n id: id,\n className: clsx('components-validated-control__indicator', `is-${type}`),\n children: [type === 'validating' ? /*#__PURE__*/_jsx(Spinner, {\n className: \"components-validated-control__indicator-spinner\"\n }) : /*#__PURE__*/_jsx(Icon, {\n className: \"components-validated-control__indicator-icon\",\n icon: ICON[type],\n size: 16,\n fill: \"currentColor\"\n }), message]\n });\n}"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAiB;AAKjB,mBAAiC;AAKjC,kBAAiB;AACjB,qBAAoB;AACpB,yBAA2C;AACpC,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AACF,GAAG;AACD,QAAM,OAAO;AAAA,IACX,OAAO;AAAA,IACP,SAAS;AAAA,EACX;AACA,SAAoB,uCAAAA,MAAM,KAAK;AAAA,IAC7B;AAAA,IACA,eAAW,YAAAC,SAAK,2CAA2C,MAAM,IAAI,EAAE;AAAA,IACvE,UAAU,CAAC,SAAS,eAA4B,uCAAAC,KAAK,eAAAC,SAAS;AAAA,MAC5D,WAAW;AAAA,IACb,CAAC,IAAiB,uCAAAD,KAAK,YAAAE,SAAM;AAAA,MAC3B,WAAW;AAAA,MACX,MAAM,KAAK,IAAI;AAAA,MACf,MAAM;AAAA,MACN,MAAM;AAAA,IACR,CAAC,GAAG,OAAO;AAAA,EACb,CAAC;AACH;",
6
6
  "names": ["_jsxs", "clsx", "_jsx", "Spinner", "Icon"]
7
7
  }
@@ -6,9 +6,9 @@ import { VisuallyHidden } from "../visually-hidden/index.mjs";
6
6
  import { ALIGNMENT_LABEL } from "./utils.mjs";
7
7
 
8
8
  // packages/components/src/alignment-matrix-control/style.module.scss
9
- if (typeof document !== "undefined" && !document.head.querySelector("style[data-wp-hash='0584b48070']")) {
9
+ if (typeof document !== "undefined" && !document.head.querySelector("style[data-wp-hash='4c2e860238']")) {
10
10
  const style = document.createElement("style");
11
- style.setAttribute("data-wp-hash", "0584b48070");
11
+ style.setAttribute("data-wp-hash", "4c2e860238");
12
12
  style.appendChild(document.createTextNode("._02e2af5803bf5bda__grid-container{aspect-ratio:1;border:1px solid #0000;border-radius:4px;box-sizing:border-box;cursor:pointer;direction:ltr;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);outline:none}.c421f8ed08c23077__grid-row{box-sizing:border-box;display:grid;grid-column:1/-1;grid-template-columns:repeat(3,1fr)}._3af769f755097fdb__cell{align-items:center;appearance:none;border:none;box-sizing:border-box;display:flex;justify-content:center;margin:0;outline:none;padding:0;position:relative}._37ef12d4fb6d6131__point{aspect-ratio:1;border:3px solid;box-sizing:border-box;color:var(--wp-components-color-gray-400,#ccc);contain:strict;display:block;margin:auto;width:6px}._3af769f755097fdb__cell[data-active-item] ._37ef12d4fb6d6131__point{color:var(--wp-components-color-foreground,#1e1e1e);transform:scale(1.6666666667)}._3af769f755097fdb__cell:not([data-active-item]):hover ._37ef12d4fb6d6131__point{color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}._3af769f755097fdb__cell[data-focus-visible] ._37ef12d4fb6d6131__point{outline:1px solid var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline-offset:1px}@media not (prefers-reduced-motion){._37ef12d4fb6d6131__point{transition-duration:.12s;transition-property:color,transform;transition-timing-function:linear}}"));
13
13
  document.head.appendChild(style);
14
14
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/alignment-matrix-control/cell.tsx", "../../src/alignment-matrix-control/style.module.scss"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * Internal dependencies\n */\nimport { Composite } from '../composite';\nimport Tooltip from '../tooltip';\nimport { VisuallyHidden } from '../visually-hidden';\n\n/**\n * Internal dependencies\n */\nimport { ALIGNMENT_LABEL } from './utils';\nimport styles from './style.module.scss';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function Cell({\n id,\n value,\n ...props\n}) {\n return /*#__PURE__*/_jsx(Tooltip, {\n text: ALIGNMENT_LABEL[value],\n children: /*#__PURE__*/_jsxs(Composite.Item, {\n id: id,\n render: /*#__PURE__*/_jsx(\"span\", {\n ...props,\n className: clsx(styles.cell, props.className),\n role: \"gridcell\"\n }),\n children: [/*#__PURE__*/_jsx(VisuallyHidden, {\n children: value\n }), /*#__PURE__*/_jsx(\"span\", {\n className: styles.point,\n role: \"presentation\"\n })]\n })\n });\n}", "if (typeof document !== 'undefined' && !document.head.querySelector(\"style[data-wp-hash='0584b48070']\")) {\n\tconst style = document.createElement(\"style\");\n\tstyle.setAttribute(\"data-wp-hash\", \"0584b48070\");\n\tstyle.appendChild(document.createTextNode(\"._02e2af5803bf5bda__grid-container{aspect-ratio:1;border:1px solid #0000;border-radius:4px;box-sizing:border-box;cursor:pointer;direction:ltr;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);outline:none}.c421f8ed08c23077__grid-row{box-sizing:border-box;display:grid;grid-column:1/-1;grid-template-columns:repeat(3,1fr)}._3af769f755097fdb__cell{align-items:center;appearance:none;border:none;box-sizing:border-box;display:flex;justify-content:center;margin:0;outline:none;padding:0;position:relative}._37ef12d4fb6d6131__point{aspect-ratio:1;border:3px solid;box-sizing:border-box;color:var(--wp-components-color-gray-400,#ccc);contain:strict;display:block;margin:auto;width:6px}._3af769f755097fdb__cell[data-active-item] ._37ef12d4fb6d6131__point{color:var(--wp-components-color-foreground,#1e1e1e);transform:scale(1.6666666667)}._3af769f755097fdb__cell:not([data-active-item]):hover ._37ef12d4fb6d6131__point{color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}._3af769f755097fdb__cell[data-focus-visible] ._37ef12d4fb6d6131__point{outline:1px solid var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline-offset:1px}@media not (prefers-reduced-motion){._37ef12d4fb6d6131__point{transition-duration:.12s;transition-property:color,transform;transition-timing-function:linear}}\"));\n\tdocument.head.appendChild(style);\n}\nexport default {\"grid-container\":\"_02e2af5803bf5bda__grid-container\",\"grid-row\":\"c421f8ed08c23077__grid-row\",\"cell\":\"_3af769f755097fdb__cell\",\"point\":\"_37ef12d4fb6d6131__point\"};\n"],
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * Internal dependencies\n */\nimport { Composite } from '../composite';\nimport Tooltip from '../tooltip';\nimport { VisuallyHidden } from '../visually-hidden';\n\n/**\n * Internal dependencies\n */\nimport { ALIGNMENT_LABEL } from './utils';\nimport styles from './style.module.scss';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function Cell({\n id,\n value,\n ...props\n}) {\n return /*#__PURE__*/_jsx(Tooltip, {\n text: ALIGNMENT_LABEL[value],\n children: /*#__PURE__*/_jsxs(Composite.Item, {\n id: id,\n render: /*#__PURE__*/_jsx(\"span\", {\n ...props,\n className: clsx(styles.cell, props.className),\n role: \"gridcell\"\n }),\n children: [/*#__PURE__*/_jsx(VisuallyHidden, {\n children: value\n }), /*#__PURE__*/_jsx(\"span\", {\n className: styles.point,\n role: \"presentation\"\n })]\n })\n });\n}", "if (typeof document !== 'undefined' && !document.head.querySelector(\"style[data-wp-hash='4c2e860238']\")) {\n\tconst style = document.createElement(\"style\");\n\tstyle.setAttribute(\"data-wp-hash\", \"4c2e860238\");\n\tstyle.appendChild(document.createTextNode(\"._02e2af5803bf5bda__grid-container{aspect-ratio:1;border:1px solid #0000;border-radius:4px;box-sizing:border-box;cursor:pointer;direction:ltr;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);outline:none}.c421f8ed08c23077__grid-row{box-sizing:border-box;display:grid;grid-column:1/-1;grid-template-columns:repeat(3,1fr)}._3af769f755097fdb__cell{align-items:center;appearance:none;border:none;box-sizing:border-box;display:flex;justify-content:center;margin:0;outline:none;padding:0;position:relative}._37ef12d4fb6d6131__point{aspect-ratio:1;border:3px solid;box-sizing:border-box;color:var(--wp-components-color-gray-400,#ccc);contain:strict;display:block;margin:auto;width:6px}._3af769f755097fdb__cell[data-active-item] ._37ef12d4fb6d6131__point{color:var(--wp-components-color-foreground,#1e1e1e);transform:scale(1.6666666667)}._3af769f755097fdb__cell:not([data-active-item]):hover ._37ef12d4fb6d6131__point{color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}._3af769f755097fdb__cell[data-focus-visible] ._37ef12d4fb6d6131__point{outline:1px solid var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline-offset:1px}@media not (prefers-reduced-motion){._37ef12d4fb6d6131__point{transition-duration:.12s;transition-property:color,transform;transition-timing-function:linear}}\"));\n\tdocument.head.appendChild(style);\n}\nexport default {\"grid-container\":\"_02e2af5803bf5bda__grid-container\",\"grid-row\":\"c421f8ed08c23077__grid-row\",\"cell\":\"_3af769f755097fdb__cell\",\"point\":\"_37ef12d4fb6d6131__point\"};\n"],
5
5
  "mappings": ";AAGA,OAAO,UAAU;AAKjB,SAAS,iBAAiB;AAC1B,OAAO,aAAa;AACpB,SAAS,sBAAsB;AAK/B,SAAS,uBAAuB;;;ACfhC,IAAI,OAAO,aAAa,eAAe,CAAC,SAAS,KAAK,cAAc,kCAAkC,GAAG;AACxG,QAAM,QAAQ,SAAS,cAAc,OAAO;AAC5C,QAAM,aAAa,gBAAgB,YAAY;AAC/C,QAAM,YAAY,SAAS,eAAe,60CAA60C,CAAC;AACx3C,WAAS,KAAK,YAAY,KAAK;AAChC;AACA,IAAO,uBAAQ,EAAC,kBAAiB,qCAAoC,YAAW,8BAA6B,QAAO,2BAA0B,SAAQ,2BAA0B;;;ADWhL,SAAS,OAAO,MAAM,QAAQ,aAAa;AAC5B,SAAR,KAAsB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAG;AACD,SAAoB,qBAAK,SAAS;AAAA,IAChC,MAAM,gBAAgB,KAAK;AAAA,IAC3B,UAAuB,sBAAM,UAAU,MAAM;AAAA,MAC3C;AAAA,MACA,QAAqB,qBAAK,QAAQ;AAAA,QAChC,GAAG;AAAA,QACH,WAAW,KAAK,qBAAO,MAAM,MAAM,SAAS;AAAA,QAC5C,MAAM;AAAA,MACR,CAAC;AAAA,MACD,UAAU,CAAc,qBAAK,gBAAgB;AAAA,QAC3C,UAAU;AAAA,MACZ,CAAC,GAAgB,qBAAK,QAAQ;AAAA,QAC5B,WAAW,qBAAO;AAAA,QAClB,MAAM;AAAA,MACR,CAAC,CAAC;AAAA,IACJ,CAAC;AAAA,EACH,CAAC;AACH;",
6
6
  "names": []
7
7
  }
@@ -9,9 +9,9 @@ import AlignmentMatrixControlIcon from "./icon.mjs";
9
9
  import { GRID, getItemId, getItemValue } from "./utils.mjs";
10
10
 
11
11
  // packages/components/src/alignment-matrix-control/style.module.scss
12
- if (typeof document !== "undefined" && !document.head.querySelector("style[data-wp-hash='0584b48070']")) {
12
+ if (typeof document !== "undefined" && !document.head.querySelector("style[data-wp-hash='4c2e860238']")) {
13
13
  const style = document.createElement("style");
14
- style.setAttribute("data-wp-hash", "0584b48070");
14
+ style.setAttribute("data-wp-hash", "4c2e860238");
15
15
  style.appendChild(document.createTextNode("._02e2af5803bf5bda__grid-container{aspect-ratio:1;border:1px solid #0000;border-radius:4px;box-sizing:border-box;cursor:pointer;direction:ltr;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);outline:none}.c421f8ed08c23077__grid-row{box-sizing:border-box;display:grid;grid-column:1/-1;grid-template-columns:repeat(3,1fr)}._3af769f755097fdb__cell{align-items:center;appearance:none;border:none;box-sizing:border-box;display:flex;justify-content:center;margin:0;outline:none;padding:0;position:relative}._37ef12d4fb6d6131__point{aspect-ratio:1;border:3px solid;box-sizing:border-box;color:var(--wp-components-color-gray-400,#ccc);contain:strict;display:block;margin:auto;width:6px}._3af769f755097fdb__cell[data-active-item] ._37ef12d4fb6d6131__point{color:var(--wp-components-color-foreground,#1e1e1e);transform:scale(1.6666666667)}._3af769f755097fdb__cell:not([data-active-item]):hover ._37ef12d4fb6d6131__point{color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}._3af769f755097fdb__cell[data-focus-visible] ._37ef12d4fb6d6131__point{outline:1px solid var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline-offset:1px}@media not (prefers-reduced-motion){._37ef12d4fb6d6131__point{transition-duration:.12s;transition-property:color,transform;transition-timing-function:linear}}"));
16
16
  document.head.appendChild(style);
17
17
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/alignment-matrix-control/index.tsx", "../../src/alignment-matrix-control/style.module.scss"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Cell from './cell';\nimport { Composite } from '../composite';\nimport AlignmentMatrixControlIcon from './icon';\nimport { GRID, getItemId, getItemValue } from './utils';\nimport styles from './style.module.scss';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction UnforwardedAlignmentMatrixControl({\n className,\n id,\n label = __('Alignment Matrix Control'),\n defaultValue = 'center center',\n value,\n onChange,\n width = 92,\n ...props\n}) {\n const baseId = useInstanceId(UnforwardedAlignmentMatrixControl, 'alignment-matrix-control', id);\n const setActiveId = useCallback(nextActiveId => {\n const nextValue = getItemValue(baseId, nextActiveId);\n if (nextValue) {\n onChange?.(nextValue);\n }\n }, [baseId, onChange]);\n const classes = clsx('component-alignment-matrix-control', styles['grid-container'], className);\n return /*#__PURE__*/_jsx(Composite, {\n defaultActiveId: getItemId(baseId, defaultValue),\n activeId: getItemId(baseId, value),\n setActiveId: setActiveId,\n rtl: isRTL(),\n render: /*#__PURE__*/_jsx(\"div\", {\n ...props,\n className: classes,\n \"aria-label\": label,\n id: baseId,\n role: \"grid\",\n style: {\n width: `${width}px`\n }\n }),\n children: GRID.map((cells, index) => /*#__PURE__*/_jsx(Composite.Row, {\n render: /*#__PURE__*/_jsx(\"div\", {\n className: styles['grid-row'],\n role: \"row\"\n }),\n children: cells.map(cell => /*#__PURE__*/_jsx(Cell, {\n id: getItemId(baseId, cell),\n value: cell\n }, cell))\n }, index))\n });\n}\n\n/**\n * AlignmentMatrixControl components enable adjustments to horizontal and vertical alignments for UI.\n *\n * ```jsx\n * import { AlignmentMatrixControl } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const Example = () => {\n * \tconst [ alignment, setAlignment ] = useState( 'center center' );\n *\n * \treturn (\n * \t\t<AlignmentMatrixControl\n * \t\t\tvalue={ alignment }\n * \t\t\tonChange={ setAlignment }\n * \t\t/>\n * \t);\n * };\n * ```\n */\nexport const AlignmentMatrixControl = Object.assign(UnforwardedAlignmentMatrixControl, {\n /**\n * Render an alignment matrix as an icon.\n *\n * ```jsx\n * import { AlignmentMatrixControl } from '@wordpress/components';\n *\n * <Icon icon={<AlignmentMatrixControl.Icon value=\"top left\" />} />\n * ```\n */\n Icon: Object.assign(AlignmentMatrixControlIcon, {\n displayName: 'AlignmentMatrixControl.Icon'\n })\n});\nexport default AlignmentMatrixControl;", "if (typeof document !== 'undefined' && !document.head.querySelector(\"style[data-wp-hash='0584b48070']\")) {\n\tconst style = document.createElement(\"style\");\n\tstyle.setAttribute(\"data-wp-hash\", \"0584b48070\");\n\tstyle.appendChild(document.createTextNode(\"._02e2af5803bf5bda__grid-container{aspect-ratio:1;border:1px solid #0000;border-radius:4px;box-sizing:border-box;cursor:pointer;direction:ltr;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);outline:none}.c421f8ed08c23077__grid-row{box-sizing:border-box;display:grid;grid-column:1/-1;grid-template-columns:repeat(3,1fr)}._3af769f755097fdb__cell{align-items:center;appearance:none;border:none;box-sizing:border-box;display:flex;justify-content:center;margin:0;outline:none;padding:0;position:relative}._37ef12d4fb6d6131__point{aspect-ratio:1;border:3px solid;box-sizing:border-box;color:var(--wp-components-color-gray-400,#ccc);contain:strict;display:block;margin:auto;width:6px}._3af769f755097fdb__cell[data-active-item] ._37ef12d4fb6d6131__point{color:var(--wp-components-color-foreground,#1e1e1e);transform:scale(1.6666666667)}._3af769f755097fdb__cell:not([data-active-item]):hover ._37ef12d4fb6d6131__point{color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}._3af769f755097fdb__cell[data-focus-visible] ._37ef12d4fb6d6131__point{outline:1px solid var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline-offset:1px}@media not (prefers-reduced-motion){._37ef12d4fb6d6131__point{transition-duration:.12s;transition-property:color,transform;transition-timing-function:linear}}\"));\n\tdocument.head.appendChild(style);\n}\nexport default {\"grid-container\":\"_02e2af5803bf5bda__grid-container\",\"grid-row\":\"c421f8ed08c23077__grid-row\",\"cell\":\"_3af769f755097fdb__cell\",\"point\":\"_37ef12d4fb6d6131__point\"};\n"],
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Cell from './cell';\nimport { Composite } from '../composite';\nimport AlignmentMatrixControlIcon from './icon';\nimport { GRID, getItemId, getItemValue } from './utils';\nimport styles from './style.module.scss';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction UnforwardedAlignmentMatrixControl({\n className,\n id,\n label = __('Alignment Matrix Control'),\n defaultValue = 'center center',\n value,\n onChange,\n width = 92,\n ...props\n}) {\n const baseId = useInstanceId(UnforwardedAlignmentMatrixControl, 'alignment-matrix-control', id);\n const setActiveId = useCallback(nextActiveId => {\n const nextValue = getItemValue(baseId, nextActiveId);\n if (nextValue) {\n onChange?.(nextValue);\n }\n }, [baseId, onChange]);\n const classes = clsx('component-alignment-matrix-control', styles['grid-container'], className);\n return /*#__PURE__*/_jsx(Composite, {\n defaultActiveId: getItemId(baseId, defaultValue),\n activeId: getItemId(baseId, value),\n setActiveId: setActiveId,\n rtl: isRTL(),\n render: /*#__PURE__*/_jsx(\"div\", {\n ...props,\n className: classes,\n \"aria-label\": label,\n id: baseId,\n role: \"grid\",\n style: {\n width: `${width}px`\n }\n }),\n children: GRID.map((cells, index) => /*#__PURE__*/_jsx(Composite.Row, {\n render: /*#__PURE__*/_jsx(\"div\", {\n className: styles['grid-row'],\n role: \"row\"\n }),\n children: cells.map(cell => /*#__PURE__*/_jsx(Cell, {\n id: getItemId(baseId, cell),\n value: cell\n }, cell))\n }, index))\n });\n}\n\n/**\n * AlignmentMatrixControl components enable adjustments to horizontal and vertical alignments for UI.\n *\n * ```jsx\n * import { AlignmentMatrixControl } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const Example = () => {\n * \tconst [ alignment, setAlignment ] = useState( 'center center' );\n *\n * \treturn (\n * \t\t<AlignmentMatrixControl\n * \t\t\tvalue={ alignment }\n * \t\t\tonChange={ setAlignment }\n * \t\t/>\n * \t);\n * };\n * ```\n */\nexport const AlignmentMatrixControl = Object.assign(UnforwardedAlignmentMatrixControl, {\n /**\n * Render an alignment matrix as an icon.\n *\n * ```jsx\n * import { AlignmentMatrixControl } from '@wordpress/components';\n *\n * <Icon icon={<AlignmentMatrixControl.Icon value=\"top left\" />} />\n * ```\n */\n Icon: Object.assign(AlignmentMatrixControlIcon, {\n displayName: 'AlignmentMatrixControl.Icon'\n })\n});\nexport default AlignmentMatrixControl;", "if (typeof document !== 'undefined' && !document.head.querySelector(\"style[data-wp-hash='4c2e860238']\")) {\n\tconst style = document.createElement(\"style\");\n\tstyle.setAttribute(\"data-wp-hash\", \"4c2e860238\");\n\tstyle.appendChild(document.createTextNode(\"._02e2af5803bf5bda__grid-container{aspect-ratio:1;border:1px solid #0000;border-radius:4px;box-sizing:border-box;cursor:pointer;direction:ltr;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);outline:none}.c421f8ed08c23077__grid-row{box-sizing:border-box;display:grid;grid-column:1/-1;grid-template-columns:repeat(3,1fr)}._3af769f755097fdb__cell{align-items:center;appearance:none;border:none;box-sizing:border-box;display:flex;justify-content:center;margin:0;outline:none;padding:0;position:relative}._37ef12d4fb6d6131__point{aspect-ratio:1;border:3px solid;box-sizing:border-box;color:var(--wp-components-color-gray-400,#ccc);contain:strict;display:block;margin:auto;width:6px}._3af769f755097fdb__cell[data-active-item] ._37ef12d4fb6d6131__point{color:var(--wp-components-color-foreground,#1e1e1e);transform:scale(1.6666666667)}._3af769f755097fdb__cell:not([data-active-item]):hover ._37ef12d4fb6d6131__point{color:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))}._3af769f755097fdb__cell[data-focus-visible] ._37ef12d4fb6d6131__point{outline:1px solid var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));outline-offset:1px}@media not (prefers-reduced-motion){._37ef12d4fb6d6131__point{transition-duration:.12s;transition-property:color,transform;transition-timing-function:linear}}\"));\n\tdocument.head.appendChild(style);\n}\nexport default {\"grid-container\":\"_02e2af5803bf5bda__grid-container\",\"grid-row\":\"c421f8ed08c23077__grid-row\",\"cell\":\"_3af769f755097fdb__cell\",\"point\":\"_37ef12d4fb6d6131__point\"};\n"],
5
5
  "mappings": ";AAGA,OAAO,UAAU;AAKjB,SAAS,IAAI,aAAa;AAC1B,SAAS,qBAAqB;AAC9B,SAAS,mBAAmB;AAK5B,OAAO,UAAU;AACjB,SAAS,iBAAiB;AAC1B,OAAO,gCAAgC;AACvC,SAAS,MAAM,WAAW,oBAAoB;;;AClB9C,IAAI,OAAO,aAAa,eAAe,CAAC,SAAS,KAAK,cAAc,kCAAkC,GAAG;AACxG,QAAM,QAAQ,SAAS,cAAc,OAAO;AAC5C,QAAM,aAAa,gBAAgB,YAAY;AAC/C,QAAM,YAAY,SAAS,eAAe,60CAA60C,CAAC;AACx3C,WAAS,KAAK,YAAY,KAAK;AAChC;AACA,IAAO,uBAAQ,EAAC,kBAAiB,qCAAoC,YAAW,8BAA6B,QAAO,2BAA0B,SAAQ,2BAA0B;;;ADchL,SAAS,OAAO,YAAY;AAC5B,SAAS,kCAAkC;AAAA,EACzC;AAAA,EACA;AAAA,EACA,QAAQ,GAAG,0BAA0B;AAAA,EACrC,eAAe;AAAA,EACf;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR,GAAG;AACL,GAAG;AACD,QAAM,SAAS,cAAc,mCAAmC,4BAA4B,EAAE;AAC9F,QAAM,cAAc,YAAY,kBAAgB;AAC9C,UAAM,YAAY,aAAa,QAAQ,YAAY;AACnD,QAAI,WAAW;AACb,iBAAW,SAAS;AAAA,IACtB;AAAA,EACF,GAAG,CAAC,QAAQ,QAAQ,CAAC;AACrB,QAAM,UAAU,KAAK,sCAAsC,qBAAO,gBAAgB,GAAG,SAAS;AAC9F,SAAoB,qBAAK,WAAW;AAAA,IAClC,iBAAiB,UAAU,QAAQ,YAAY;AAAA,IAC/C,UAAU,UAAU,QAAQ,KAAK;AAAA,IACjC;AAAA,IACA,KAAK,MAAM;AAAA,IACX,QAAqB,qBAAK,OAAO;AAAA,MAC/B,GAAG;AAAA,MACH,WAAW;AAAA,MACX,cAAc;AAAA,MACd,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,OAAO;AAAA,QACL,OAAO,GAAG,KAAK;AAAA,MACjB;AAAA,IACF,CAAC;AAAA,IACD,UAAU,KAAK,IAAI,CAAC,OAAO,UAAuB,qBAAK,UAAU,KAAK;AAAA,MACpE,QAAqB,qBAAK,OAAO;AAAA,QAC/B,WAAW,qBAAO,UAAU;AAAA,QAC5B,MAAM;AAAA,MACR,CAAC;AAAA,MACD,UAAU,MAAM,IAAI,UAAqB,qBAAK,MAAM;AAAA,QAClD,IAAI,UAAU,QAAQ,IAAI;AAAA,QAC1B,OAAO;AAAA,MACT,GAAG,IAAI,CAAC;AAAA,IACV,GAAG,KAAK,CAAC;AAAA,EACX,CAAC;AACH;AAqBO,IAAM,yBAAyB,OAAO,OAAO,mCAAmC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUrF,MAAM,OAAO,OAAO,4BAA4B;AAAA,IAC9C,aAAa;AAAA,EACf,CAAC;AACH,CAAC;AACD,IAAO,mCAAQ;",
6
6
  "names": []
7
7
  }
@@ -4,9 +4,9 @@ import { useEffect, useRef } from "@wordpress/element";
4
4
  import { __experimentalUseDragging as useDragging } from "@wordpress/compose";
5
5
 
6
6
  // packages/components/src/angle-picker-control/style.module.scss
7
- if (typeof document !== "undefined" && !document.head.querySelector("style[data-wp-hash='a61a1d6ad7']")) {
7
+ if (typeof document !== "undefined" && !document.head.querySelector("style[data-wp-hash='f35cc94692']")) {
8
8
  const style = document.createElement("style");
9
- style.setAttribute("data-wp-hash", "a61a1d6ad7");
9
+ style.setAttribute("data-wp-hash", "f35cc94692");
10
10
  style.appendChild(document.createTextNode("._8f57b8d483c51fbe__circle-root{border:1px solid var(--wp-components-color-gray-600,#949494);border-radius:50%;box-sizing:border-box;cursor:grab;height:32px;overflow:hidden;width:32px}._8f57b8d483c51fbe__circle-root:active{cursor:grabbing}.b1bae984ac10fcc3__circle-indicator-wrapper{box-sizing:border-box;height:100%;position:relative;width:100%}.b1bae984ac10fcc3__circle-indicator-wrapper:focus-visible{outline:none}._6d2fe0a2cbb31bf0__circle-indicator{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));border-radius:50%;box-sizing:border-box;display:block;height:6px;left:50%;position:absolute;top:4px;transform:translateX(-50%);width:6px}"));
11
11
  document.head.appendChild(style);
12
12
  }
@@ -21,8 +21,8 @@ function AngleCircle({
21
21
  ...props
22
22
  }) {
23
23
  const angleCircleRef = useRef(null);
24
- const angleCircleCenterRef = useRef();
25
- const previousCursorValueRef = useRef();
24
+ const angleCircleCenterRef = useRef(void 0);
25
+ const previousCursorValueRef = useRef(void 0);
26
26
  const setAngleCircleCenter = () => {
27
27
  if (angleCircleRef.current === null) {
28
28
  return;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/angle-picker-control/angle-circle.tsx", "../../src/angle-picker-control/style.module.scss"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useRef } from '@wordpress/element';\nimport { __experimentalUseDragging as useDragging } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.module.scss';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction AngleCircle({\n value,\n onChange,\n className,\n ...props\n}) {\n const angleCircleRef = useRef(null);\n const angleCircleCenterRef = useRef();\n const previousCursorValueRef = useRef();\n const setAngleCircleCenter = () => {\n if (angleCircleRef.current === null) {\n return;\n }\n const rect = angleCircleRef.current.getBoundingClientRect();\n angleCircleCenterRef.current = {\n x: rect.x + rect.width / 2,\n y: rect.y + rect.height / 2\n };\n };\n const changeAngleToPosition = event => {\n if (event === undefined) {\n return;\n }\n\n // Prevent (drag) mouse events from selecting and accidentally\n // triggering actions from other elements.\n event.preventDefault();\n // Input control needs to lose focus and by preventDefault above, it doesn't.\n event.target?.focus();\n if (angleCircleCenterRef.current !== undefined && onChange !== undefined) {\n const {\n x: centerX,\n y: centerY\n } = angleCircleCenterRef.current;\n onChange(getAngle(centerX, centerY, event.clientX, event.clientY));\n }\n };\n const {\n startDrag,\n isDragging\n } = useDragging({\n onDragStart: event => {\n setAngleCircleCenter();\n changeAngleToPosition(event);\n },\n onDragMove: changeAngleToPosition,\n onDragEnd: changeAngleToPosition\n });\n useEffect(() => {\n if (isDragging) {\n if (previousCursorValueRef.current === undefined) {\n previousCursorValueRef.current = document.body.style.cursor;\n }\n document.body.style.cursor = 'grabbing';\n } else {\n document.body.style.cursor = previousCursorValueRef.current || '';\n previousCursorValueRef.current = undefined;\n }\n }, [isDragging]);\n return (\n /*#__PURE__*/\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n _jsx(\"div\", {\n ref: angleCircleRef,\n onMouseDown: startDrag,\n className: clsx('components-angle-picker-control__angle-circle', styles['circle-root'], className),\n ...props,\n children: /*#__PURE__*/_jsx(\"div\", {\n style: value ? {\n transform: `rotate(${value}deg)`\n } : undefined,\n className: clsx('components-angle-picker-control__angle-circle-indicator-wrapper', styles['circle-indicator-wrapper']),\n tabIndex: -1,\n children: /*#__PURE__*/_jsx(\"div\", {\n className: clsx('components-angle-picker-control__angle-circle-indicator', styles['circle-indicator'])\n })\n })\n })\n );\n}\nfunction getAngle(centerX, centerY, pointX, pointY) {\n const y = pointY - centerY;\n const x = pointX - centerX;\n const angleInRadians = Math.atan2(y, x);\n const angleInDeg = Math.round(angleInRadians * (180 / Math.PI)) + 90;\n if (angleInDeg < 0) {\n return 360 + angleInDeg;\n }\n return angleInDeg;\n}\nexport default AngleCircle;", "if (typeof document !== 'undefined' && !document.head.querySelector(\"style[data-wp-hash='a61a1d6ad7']\")) {\n\tconst style = document.createElement(\"style\");\n\tstyle.setAttribute(\"data-wp-hash\", \"a61a1d6ad7\");\n\tstyle.appendChild(document.createTextNode(\"._8f57b8d483c51fbe__circle-root{border:1px solid var(--wp-components-color-gray-600,#949494);border-radius:50%;box-sizing:border-box;cursor:grab;height:32px;overflow:hidden;width:32px}._8f57b8d483c51fbe__circle-root:active{cursor:grabbing}.b1bae984ac10fcc3__circle-indicator-wrapper{box-sizing:border-box;height:100%;position:relative;width:100%}.b1bae984ac10fcc3__circle-indicator-wrapper:focus-visible{outline:none}._6d2fe0a2cbb31bf0__circle-indicator{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));border-radius:50%;box-sizing:border-box;display:block;height:6px;left:50%;position:absolute;top:4px;transform:translateX(-50%);width:6px}\"));\n\tdocument.head.appendChild(style);\n}\nexport default {\"circle-root\":\"_8f57b8d483c51fbe__circle-root\",\"circle-indicator-wrapper\":\"b1bae984ac10fcc3__circle-indicator-wrapper\",\"circle-indicator\":\"_6d2fe0a2cbb31bf0__circle-indicator\"};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useRef } from '@wordpress/element';\nimport { __experimentalUseDragging as useDragging } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.module.scss';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction AngleCircle({\n value,\n onChange,\n className,\n ...props\n}) {\n const angleCircleRef = useRef(null);\n const angleCircleCenterRef = useRef(undefined);\n const previousCursorValueRef = useRef(undefined);\n const setAngleCircleCenter = () => {\n if (angleCircleRef.current === null) {\n return;\n }\n const rect = angleCircleRef.current.getBoundingClientRect();\n angleCircleCenterRef.current = {\n x: rect.x + rect.width / 2,\n y: rect.y + rect.height / 2\n };\n };\n const changeAngleToPosition = event => {\n if (event === undefined) {\n return;\n }\n\n // Prevent (drag) mouse events from selecting and accidentally\n // triggering actions from other elements.\n event.preventDefault();\n // Input control needs to lose focus and by preventDefault above, it doesn't.\n event.target?.focus();\n if (angleCircleCenterRef.current !== undefined && onChange !== undefined) {\n const {\n x: centerX,\n y: centerY\n } = angleCircleCenterRef.current;\n onChange(getAngle(centerX, centerY, event.clientX, event.clientY));\n }\n };\n const {\n startDrag,\n isDragging\n } = useDragging({\n onDragStart: event => {\n setAngleCircleCenter();\n changeAngleToPosition(event);\n },\n onDragMove: changeAngleToPosition,\n onDragEnd: changeAngleToPosition\n });\n useEffect(() => {\n if (isDragging) {\n if (previousCursorValueRef.current === undefined) {\n previousCursorValueRef.current = document.body.style.cursor;\n }\n document.body.style.cursor = 'grabbing';\n } else {\n document.body.style.cursor = previousCursorValueRef.current || '';\n previousCursorValueRef.current = undefined;\n }\n }, [isDragging]);\n return (\n /*#__PURE__*/\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n _jsx(\"div\", {\n ref: angleCircleRef,\n onMouseDown: startDrag,\n className: clsx('components-angle-picker-control__angle-circle', styles['circle-root'], className),\n ...props,\n children: /*#__PURE__*/_jsx(\"div\", {\n style: value ? {\n transform: `rotate(${value}deg)`\n } : undefined,\n className: clsx('components-angle-picker-control__angle-circle-indicator-wrapper', styles['circle-indicator-wrapper']),\n tabIndex: -1,\n children: /*#__PURE__*/_jsx(\"div\", {\n className: clsx('components-angle-picker-control__angle-circle-indicator', styles['circle-indicator'])\n })\n })\n })\n );\n}\nfunction getAngle(centerX, centerY, pointX, pointY) {\n const y = pointY - centerY;\n const x = pointX - centerX;\n const angleInRadians = Math.atan2(y, x);\n const angleInDeg = Math.round(angleInRadians * (180 / Math.PI)) + 90;\n if (angleInDeg < 0) {\n return 360 + angleInDeg;\n }\n return angleInDeg;\n}\nexport default AngleCircle;", "if (typeof document !== 'undefined' && !document.head.querySelector(\"style[data-wp-hash='f35cc94692']\")) {\n\tconst style = document.createElement(\"style\");\n\tstyle.setAttribute(\"data-wp-hash\", \"f35cc94692\");\n\tstyle.appendChild(document.createTextNode(\"._8f57b8d483c51fbe__circle-root{border:1px solid var(--wp-components-color-gray-600,#949494);border-radius:50%;box-sizing:border-box;cursor:grab;height:32px;overflow:hidden;width:32px}._8f57b8d483c51fbe__circle-root:active{cursor:grabbing}.b1bae984ac10fcc3__circle-indicator-wrapper{box-sizing:border-box;height:100%;position:relative;width:100%}.b1bae984ac10fcc3__circle-indicator-wrapper:focus-visible{outline:none}._6d2fe0a2cbb31bf0__circle-indicator{background:var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9));border-radius:50%;box-sizing:border-box;display:block;height:6px;left:50%;position:absolute;top:4px;transform:translateX(-50%);width:6px}\"));\n\tdocument.head.appendChild(style);\n}\nexport default {\"circle-root\":\"_8f57b8d483c51fbe__circle-root\",\"circle-indicator-wrapper\":\"b1bae984ac10fcc3__circle-indicator-wrapper\",\"circle-indicator\":\"_6d2fe0a2cbb31bf0__circle-indicator\"};\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -219,17 +219,23 @@ function useAutocomplete({
219
219
  })
220
220
  };
221
221
  }
222
+ function recordValuesMatch(a, b) {
223
+ return a.text === b.text && a.start === b.start && a.end === b.end;
224
+ }
222
225
  function useLastDifferentValue(value) {
223
- const history = useRef(/* @__PURE__ */ new Set());
224
- history.current.add(value);
225
- if (history.current.size > 2) {
226
- history.current.delete(Array.from(history.current)[0]);
226
+ const history = useRef([]);
227
+ const lastEntry = history.current[history.current.length - 1];
228
+ if (!lastEntry || !recordValuesMatch(value, lastEntry)) {
229
+ history.current.push(value);
230
+ }
231
+ if (history.current.length > 2) {
232
+ history.current.shift();
227
233
  }
228
- return Array.from(history.current)[0];
234
+ return history.current[0];
229
235
  }
230
236
  function useAutocompleteProps(options) {
231
237
  const ref = useRef(null);
232
- const onKeyDownRef = useRef();
238
+ const onKeyDownRef = useRef(void 0);
233
239
  const {
234
240
  record
235
241
  } = options;
@@ -283,6 +289,7 @@ function Autocomplete({
283
289
  export {
284
290
  Autocomplete as default,
285
291
  useAutocomplete,
286
- useAutocompleteProps
292
+ useAutocompleteProps,
293
+ useLastDifferentValue
287
294
  };
288
295
  //# sourceMappingURL=index.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/autocomplete/index.tsx"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport { renderToString, useEffect, useState, useRef, useMemo } from '@wordpress/element';\nimport { useInstanceId, useMergeRefs, useRefEffect } from '@wordpress/compose';\nimport { create, slice, insert, isCollapsed, getTextContent } from '@wordpress/rich-text';\nimport { speak } from '@wordpress/a11y';\nimport { isAppleOS } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { getAutoCompleterUI } from './autocompleter-ui';\nimport { escapeRegExp } from '../utils/strings';\nimport { withIgnoreIMEEvents } from '../utils/with-ignore-ime-events';\nimport getNodeText from '../utils/get-node-text';\nimport { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst EMPTY_FILTERED_OPTIONS = [];\n\n// Used for generating the instance ID\nconst AUTOCOMPLETE_HOOK_REFERENCE = {};\nexport function useAutocomplete({\n record,\n onChange,\n onReplace,\n completers,\n contentRef\n}) {\n const instanceId = useInstanceId(AUTOCOMPLETE_HOOK_REFERENCE);\n const [selectedIndex, setSelectedIndex] = useState(0);\n const [filteredOptions, setFilteredOptions] = useState(EMPTY_FILTERED_OPTIONS);\n const [filterValue, setFilterValue] = useState('');\n const [autocompleter, setAutocompleter] = useState(null);\n const [AutocompleterUI, setAutocompleterUI] = useState(null);\n const backspacingRef = useRef(false);\n function insertCompletion(replacement) {\n if (autocompleter === null) {\n return;\n }\n const end = record.start;\n const start = end - autocompleter.triggerPrefix.length - filterValue.length;\n const toInsert = create({\n html: renderToString(replacement)\n });\n onChange(insert(record, toInsert, start, end));\n }\n function select(option) {\n const {\n getOptionCompletion\n } = autocompleter || {};\n if (option.isDisabled) {\n return;\n }\n if (getOptionCompletion) {\n const completion = getOptionCompletion(option.value, filterValue);\n const isCompletionObject = obj => {\n return obj !== null && typeof obj === 'object' && 'action' in obj && obj.action !== undefined && 'value' in obj && obj.value !== undefined;\n };\n const completionObject = isCompletionObject(completion) ? completion : {\n action: 'insert-at-caret',\n value: completion\n };\n if ('replace' === completionObject.action) {\n onReplace([completionObject.value]);\n // When replacing, the component will unmount, so don't reset\n // state (below) on an unmounted component.\n return;\n } else if ('insert-at-caret' === completionObject.action) {\n insertCompletion(completionObject.value);\n }\n }\n\n // Reset autocomplete state after insertion rather than before\n // so insertion events don't cause the completion menu to redisplay.\n reset();\n\n // Make sure that the content remains focused after making a selection\n // and that the text cursor position is not lost.\n contentRef.current?.focus();\n }\n function reset() {\n setSelectedIndex(0);\n setFilteredOptions(EMPTY_FILTERED_OPTIONS);\n setFilterValue('');\n setAutocompleter(null);\n setAutocompleterUI(null);\n }\n\n /**\n * Load options for an autocompleter.\n *\n * @param {Array} options\n */\n function onChangeOptions(options) {\n setSelectedIndex(options.length === filteredOptions.length ? selectedIndex : 0);\n setFilteredOptions(options);\n }\n function handleKeyDown(event) {\n backspacingRef.current = event.key === 'Backspace';\n if (!autocompleter) {\n return;\n }\n if (filteredOptions.length === 0) {\n return;\n }\n if (event.defaultPrevented) {\n return;\n }\n switch (event.key) {\n case 'ArrowUp':\n {\n const newIndex = (selectedIndex === 0 ? filteredOptions.length : selectedIndex) - 1;\n setSelectedIndex(newIndex);\n // See the related PR as to why this is necessary: https://github.com/WordPress/gutenberg/pull/54902.\n if (isAppleOS()) {\n speak(getNodeText(filteredOptions[newIndex].label), 'assertive');\n }\n break;\n }\n case 'ArrowDown':\n {\n const newIndex = (selectedIndex + 1) % filteredOptions.length;\n setSelectedIndex(newIndex);\n if (isAppleOS()) {\n speak(getNodeText(filteredOptions[newIndex].label), 'assertive');\n }\n break;\n }\n case 'Escape':\n setAutocompleter(null);\n setAutocompleterUI(null);\n event.preventDefault();\n break;\n case 'Enter':\n select(filteredOptions[selectedIndex]);\n break;\n case 'ArrowLeft':\n case 'ArrowRight':\n reset();\n return;\n default:\n return;\n }\n\n // Any handled key should prevent original behavior. This relies on\n // the early return in the default case.\n event.preventDefault();\n }\n\n // textContent is a primitive (string), memoizing is not strictly necessary\n // but this is a preemptive performance improvement, since the autocompleter\n // is a potential bottleneck for the editor type metric.\n const textContent = useMemo(() => {\n if (isCollapsed(record)) {\n return getTextContent(slice(record, 0));\n }\n return '';\n }, [record]);\n useEffect(() => {\n if (!textContent) {\n if (autocompleter) {\n reset();\n }\n return;\n }\n\n // Find the completer with the highest triggerPrefix index in the\n // textContent.\n const completer = completers.reduce((lastTrigger, currentCompleter) => {\n const triggerIndex = textContent.lastIndexOf(currentCompleter.triggerPrefix);\n const lastTriggerIndex = lastTrigger !== null ? textContent.lastIndexOf(lastTrigger.triggerPrefix) : -1;\n return triggerIndex > lastTriggerIndex ? currentCompleter : lastTrigger;\n }, null);\n if (!completer) {\n if (autocompleter) {\n reset();\n }\n return;\n }\n const {\n allowContext,\n triggerPrefix\n } = completer;\n const triggerIndex = textContent.lastIndexOf(triggerPrefix);\n const textWithoutTrigger = textContent.slice(triggerIndex + triggerPrefix.length);\n const tooDistantFromTrigger = textWithoutTrigger.length > 50; // 50 chars seems to be a good limit.\n // This is a final barrier to prevent the effect from completing with\n // an extremely long string, which causes the editor to slow-down\n // significantly. This could happen, for example, if `matchingWhileBackspacing`\n // is true and one of the \"words\" end up being too long. If that's the case,\n // it will be caught by this guard.\n if (tooDistantFromTrigger) {\n return;\n }\n const mismatch = filteredOptions.length === 0;\n const wordsFromTrigger = textWithoutTrigger.split(/\\s/);\n // We need to allow the effect to run when not backspacing and if there\n // was a mismatch. i.e when typing a trigger + the match string or when\n // clicking in an existing trigger word on the page. We do that if we\n // detect that we have one word from trigger in the current textual context.\n //\n // Ex.: \"Some text @a\" <-- \"@a\" will be detected as the trigger word and\n // allow the effect to run. It will run until there's a mismatch.\n const hasOneTriggerWord = wordsFromTrigger.length === 1;\n // This is used to allow the effect to run when backspacing and if\n // \"touching\" a word that \"belongs\" to a trigger. We consider a \"trigger\n // word\" any word up to the limit of 3 from the trigger character.\n // Anything beyond that is ignored if there's a mismatch. This allows\n // us to \"escape\" a mismatch when backspacing, but still imposing some\n // sane limits.\n //\n // Ex: \"Some text @marcelo sekkkk\" <--- \"kkkk\" caused a mismatch, but\n // if the user presses backspace here, it will show the completion popup again.\n const matchingWhileBackspacing = backspacingRef.current && wordsFromTrigger.length <= 3;\n if (mismatch && !(matchingWhileBackspacing || hasOneTriggerWord)) {\n if (autocompleter) {\n reset();\n }\n return;\n }\n const textAfterSelection = getTextContent(slice(record, undefined, getTextContent(record).length));\n if (allowContext && !allowContext(textContent.slice(0, triggerIndex), textAfterSelection)) {\n if (autocompleter) {\n reset();\n }\n return;\n }\n if (/^\\s/.test(textWithoutTrigger) || /\\s\\s+$/.test(textWithoutTrigger)) {\n if (autocompleter) {\n reset();\n }\n return;\n }\n if (!/[\\u0000-\\uFFFF]*$/.test(textWithoutTrigger)) {\n if (autocompleter) {\n reset();\n }\n return;\n }\n const safeTrigger = escapeRegExp(completer.triggerPrefix);\n const text = removeAccents(textContent);\n const match = text.slice(text.lastIndexOf(completer.triggerPrefix)).match(new RegExp(`${safeTrigger}([\\u0000-\\uFFFF]*)$`));\n const query = match && match[1];\n setAutocompleter(completer);\n setAutocompleterUI(() => completer !== autocompleter ? getAutoCompleterUI(completer) : AutocompleterUI);\n setFilterValue(query === null ? '' : query);\n // We want to avoid introducing unexpected side effects.\n // See https://github.com/WordPress/gutenberg/pull/41820\n }, [textContent]);\n const {\n key: selectedKey = ''\n } = filteredOptions[selectedIndex] || {};\n const {\n className\n } = autocompleter || {};\n const isExpanded = !!autocompleter && filteredOptions.length > 0;\n const listBoxId = isExpanded ? `components-autocomplete-listbox-${instanceId}` : undefined;\n const activeId = isExpanded ? `components-autocomplete-item-${instanceId}-${selectedKey}` : null;\n const hasSelection = record.start !== undefined;\n const showPopover = !!textContent && hasSelection && !!AutocompleterUI;\n return {\n listBoxId,\n activeId,\n onKeyDown: withIgnoreIMEEvents(handleKeyDown),\n popover: showPopover && /*#__PURE__*/_jsx(AutocompleterUI, {\n className: className,\n filterValue: filterValue,\n instanceId: instanceId,\n listBoxId: listBoxId,\n selectedIndex: selectedIndex,\n onChangeOptions: onChangeOptions,\n onSelect: select,\n value: record,\n contentRef: contentRef,\n reset: reset\n })\n };\n}\nfunction useLastDifferentValue(value) {\n const history = useRef(new Set());\n history.current.add(value);\n\n // Keep the history size to 2.\n if (history.current.size > 2) {\n history.current.delete(Array.from(history.current)[0]);\n }\n return Array.from(history.current)[0];\n}\nexport function useAutocompleteProps(options) {\n const ref = useRef(null);\n const onKeyDownRef = useRef();\n const {\n record\n } = options;\n const previousRecord = useLastDifferentValue(record);\n const {\n popover,\n listBoxId,\n activeId,\n onKeyDown\n } = useAutocomplete({\n ...options,\n contentRef: ref\n });\n onKeyDownRef.current = onKeyDown;\n const mergedRefs = useMergeRefs([ref, useRefEffect(element => {\n function _onKeyDown(event) {\n onKeyDownRef.current?.(event);\n }\n element.addEventListener('keydown', _onKeyDown);\n return () => {\n element.removeEventListener('keydown', _onKeyDown);\n };\n }, [])]);\n\n // We only want to show the popover if the user has typed something.\n const didUserInput = record.text !== previousRecord?.text;\n if (!didUserInput) {\n return {\n ref: mergedRefs\n };\n }\n return {\n ref: mergedRefs,\n children: popover,\n 'aria-autocomplete': listBoxId ? 'list' : undefined,\n 'aria-owns': listBoxId,\n 'aria-activedescendant': activeId\n };\n}\nexport default function Autocomplete({\n children,\n isSelected,\n ...options\n}) {\n const {\n popover,\n ...props\n } = useAutocomplete(options);\n return /*#__PURE__*/_jsxs(_Fragment, {\n children: [children(props), isSelected && popover]\n });\n}"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport { renderToString, useEffect, useState, useRef, useMemo } from '@wordpress/element';\nimport { useInstanceId, useMergeRefs, useRefEffect } from '@wordpress/compose';\nimport { create, slice, insert, isCollapsed, getTextContent } from '@wordpress/rich-text';\nimport { speak } from '@wordpress/a11y';\nimport { isAppleOS } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { getAutoCompleterUI } from './autocompleter-ui';\nimport { escapeRegExp } from '../utils/strings';\nimport { withIgnoreIMEEvents } from '../utils/with-ignore-ime-events';\nimport getNodeText from '../utils/get-node-text';\nimport { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst EMPTY_FILTERED_OPTIONS = [];\n\n// Used for generating the instance ID\nconst AUTOCOMPLETE_HOOK_REFERENCE = {};\nexport function useAutocomplete({\n record,\n onChange,\n onReplace,\n completers,\n contentRef\n}) {\n const instanceId = useInstanceId(AUTOCOMPLETE_HOOK_REFERENCE);\n const [selectedIndex, setSelectedIndex] = useState(0);\n const [filteredOptions, setFilteredOptions] = useState(EMPTY_FILTERED_OPTIONS);\n const [filterValue, setFilterValue] = useState('');\n const [autocompleter, setAutocompleter] = useState(null);\n const [AutocompleterUI, setAutocompleterUI] = useState(null);\n const backspacingRef = useRef(false);\n function insertCompletion(replacement) {\n if (autocompleter === null) {\n return;\n }\n const end = record.start;\n const start = end - autocompleter.triggerPrefix.length - filterValue.length;\n const toInsert = create({\n html: renderToString(replacement)\n });\n onChange(insert(record, toInsert, start, end));\n }\n function select(option) {\n const {\n getOptionCompletion\n } = autocompleter || {};\n if (option.isDisabled) {\n return;\n }\n if (getOptionCompletion) {\n const completion = getOptionCompletion(option.value, filterValue);\n const isCompletionObject = obj => {\n return obj !== null && typeof obj === 'object' && 'action' in obj && obj.action !== undefined && 'value' in obj && obj.value !== undefined;\n };\n const completionObject = isCompletionObject(completion) ? completion : {\n action: 'insert-at-caret',\n value: completion\n };\n if ('replace' === completionObject.action) {\n onReplace([completionObject.value]);\n // When replacing, the component will unmount, so don't reset\n // state (below) on an unmounted component.\n return;\n } else if ('insert-at-caret' === completionObject.action) {\n insertCompletion(completionObject.value);\n }\n }\n\n // Reset autocomplete state after insertion rather than before\n // so insertion events don't cause the completion menu to redisplay.\n reset();\n\n // Make sure that the content remains focused after making a selection\n // and that the text cursor position is not lost.\n contentRef.current?.focus();\n }\n function reset() {\n setSelectedIndex(0);\n setFilteredOptions(EMPTY_FILTERED_OPTIONS);\n setFilterValue('');\n setAutocompleter(null);\n setAutocompleterUI(null);\n }\n\n /**\n * Load options for an autocompleter.\n *\n * @param {Array} options\n */\n function onChangeOptions(options) {\n setSelectedIndex(options.length === filteredOptions.length ? selectedIndex : 0);\n setFilteredOptions(options);\n }\n function handleKeyDown(event) {\n backspacingRef.current = event.key === 'Backspace';\n if (!autocompleter) {\n return;\n }\n if (filteredOptions.length === 0) {\n return;\n }\n if (event.defaultPrevented) {\n return;\n }\n switch (event.key) {\n case 'ArrowUp':\n {\n const newIndex = (selectedIndex === 0 ? filteredOptions.length : selectedIndex) - 1;\n setSelectedIndex(newIndex);\n // See the related PR as to why this is necessary: https://github.com/WordPress/gutenberg/pull/54902.\n if (isAppleOS()) {\n speak(getNodeText(filteredOptions[newIndex].label), 'assertive');\n }\n break;\n }\n case 'ArrowDown':\n {\n const newIndex = (selectedIndex + 1) % filteredOptions.length;\n setSelectedIndex(newIndex);\n if (isAppleOS()) {\n speak(getNodeText(filteredOptions[newIndex].label), 'assertive');\n }\n break;\n }\n case 'Escape':\n setAutocompleter(null);\n setAutocompleterUI(null);\n event.preventDefault();\n break;\n case 'Enter':\n select(filteredOptions[selectedIndex]);\n break;\n case 'ArrowLeft':\n case 'ArrowRight':\n reset();\n return;\n default:\n return;\n }\n\n // Any handled key should prevent original behavior. This relies on\n // the early return in the default case.\n event.preventDefault();\n }\n\n // textContent is a primitive (string), memoizing is not strictly necessary\n // but this is a preemptive performance improvement, since the autocompleter\n // is a potential bottleneck for the editor type metric.\n const textContent = useMemo(() => {\n if (isCollapsed(record)) {\n return getTextContent(slice(record, 0));\n }\n return '';\n }, [record]);\n useEffect(() => {\n if (!textContent) {\n if (autocompleter) {\n reset();\n }\n return;\n }\n\n // Find the completer with the highest triggerPrefix index in the\n // textContent.\n const completer = completers.reduce((lastTrigger, currentCompleter) => {\n const triggerIndex = textContent.lastIndexOf(currentCompleter.triggerPrefix);\n const lastTriggerIndex = lastTrigger !== null ? textContent.lastIndexOf(lastTrigger.triggerPrefix) : -1;\n return triggerIndex > lastTriggerIndex ? currentCompleter : lastTrigger;\n }, null);\n if (!completer) {\n if (autocompleter) {\n reset();\n }\n return;\n }\n const {\n allowContext,\n triggerPrefix\n } = completer;\n const triggerIndex = textContent.lastIndexOf(triggerPrefix);\n const textWithoutTrigger = textContent.slice(triggerIndex + triggerPrefix.length);\n const tooDistantFromTrigger = textWithoutTrigger.length > 50; // 50 chars seems to be a good limit.\n // This is a final barrier to prevent the effect from completing with\n // an extremely long string, which causes the editor to slow-down\n // significantly. This could happen, for example, if `matchingWhileBackspacing`\n // is true and one of the \"words\" end up being too long. If that's the case,\n // it will be caught by this guard.\n if (tooDistantFromTrigger) {\n return;\n }\n const mismatch = filteredOptions.length === 0;\n const wordsFromTrigger = textWithoutTrigger.split(/\\s/);\n // We need to allow the effect to run when not backspacing and if there\n // was a mismatch. i.e when typing a trigger + the match string or when\n // clicking in an existing trigger word on the page. We do that if we\n // detect that we have one word from trigger in the current textual context.\n //\n // Ex.: \"Some text @a\" <-- \"@a\" will be detected as the trigger word and\n // allow the effect to run. It will run until there's a mismatch.\n const hasOneTriggerWord = wordsFromTrigger.length === 1;\n // This is used to allow the effect to run when backspacing and if\n // \"touching\" a word that \"belongs\" to a trigger. We consider a \"trigger\n // word\" any word up to the limit of 3 from the trigger character.\n // Anything beyond that is ignored if there's a mismatch. This allows\n // us to \"escape\" a mismatch when backspacing, but still imposing some\n // sane limits.\n //\n // Ex: \"Some text @marcelo sekkkk\" <--- \"kkkk\" caused a mismatch, but\n // if the user presses backspace here, it will show the completion popup again.\n const matchingWhileBackspacing = backspacingRef.current && wordsFromTrigger.length <= 3;\n if (mismatch && !(matchingWhileBackspacing || hasOneTriggerWord)) {\n if (autocompleter) {\n reset();\n }\n return;\n }\n const textAfterSelection = getTextContent(slice(record, undefined, getTextContent(record).length));\n if (allowContext && !allowContext(textContent.slice(0, triggerIndex), textAfterSelection)) {\n if (autocompleter) {\n reset();\n }\n return;\n }\n if (/^\\s/.test(textWithoutTrigger) || /\\s\\s+$/.test(textWithoutTrigger)) {\n if (autocompleter) {\n reset();\n }\n return;\n }\n if (!/[\\u0000-\\uFFFF]*$/.test(textWithoutTrigger)) {\n if (autocompleter) {\n reset();\n }\n return;\n }\n const safeTrigger = escapeRegExp(completer.triggerPrefix);\n const text = removeAccents(textContent);\n const match = text.slice(text.lastIndexOf(completer.triggerPrefix)).match(new RegExp(`${safeTrigger}([\\u0000-\\uFFFF]*)$`));\n const query = match && match[1];\n setAutocompleter(completer);\n setAutocompleterUI(() => completer !== autocompleter ? getAutoCompleterUI(completer) : AutocompleterUI);\n setFilterValue(query === null ? '' : query);\n // We want to avoid introducing unexpected side effects.\n // See https://github.com/WordPress/gutenberg/pull/41820\n }, [textContent]);\n const {\n key: selectedKey = ''\n } = filteredOptions[selectedIndex] || {};\n const {\n className\n } = autocompleter || {};\n const isExpanded = !!autocompleter && filteredOptions.length > 0;\n const listBoxId = isExpanded ? `components-autocomplete-listbox-${instanceId}` : undefined;\n const activeId = isExpanded ? `components-autocomplete-item-${instanceId}-${selectedKey}` : null;\n const hasSelection = record.start !== undefined;\n const showPopover = !!textContent && hasSelection && !!AutocompleterUI;\n return {\n listBoxId,\n activeId,\n onKeyDown: withIgnoreIMEEvents(handleKeyDown),\n popover: showPopover && /*#__PURE__*/_jsx(AutocompleterUI, {\n className: className,\n filterValue: filterValue,\n instanceId: instanceId,\n listBoxId: listBoxId,\n selectedIndex: selectedIndex,\n onChangeOptions: onChangeOptions,\n onSelect: select,\n value: record,\n contentRef: contentRef,\n reset: reset\n })\n };\n}\n\n/**\n * Checks whether two records represent the same user-visible state\n * (same text content and cursor position).\n */\nfunction recordValuesMatch(a, b) {\n return a.text === b.text && a.start === b.start && a.end === b.end;\n}\n\n/**\n * Tracks the last record whose value differed from the current one.\n * Used to determine whether the user has actually typed something\n */\nexport function useLastDifferentValue(value) {\n const history = useRef([]);\n const lastEntry = history.current[history.current.length - 1];\n\n // Only add to history if the value is meaningfully different from\n // the most recent entry (analogous to Set.add being a no-op for\n // duplicate references in the original implementation).\n if (!lastEntry || !recordValuesMatch(value, lastEntry)) {\n history.current.push(value);\n }\n\n // Keep the history size to 2.\n if (history.current.length > 2) {\n history.current.shift();\n }\n return history.current[0];\n}\nexport function useAutocompleteProps(options) {\n const ref = useRef(null);\n const onKeyDownRef = useRef(undefined);\n const {\n record\n } = options;\n const previousRecord = useLastDifferentValue(record);\n const {\n popover,\n listBoxId,\n activeId,\n onKeyDown\n } = useAutocomplete({\n ...options,\n contentRef: ref\n });\n onKeyDownRef.current = onKeyDown;\n const mergedRefs = useMergeRefs([ref, useRefEffect(element => {\n function _onKeyDown(event) {\n onKeyDownRef.current?.(event);\n }\n element.addEventListener('keydown', _onKeyDown);\n return () => {\n element.removeEventListener('keydown', _onKeyDown);\n };\n }, [])]);\n\n // We only want to show the popover if the user has typed something.\n const didUserInput = record.text !== previousRecord?.text;\n if (!didUserInput) {\n return {\n ref: mergedRefs\n };\n }\n return {\n ref: mergedRefs,\n children: popover,\n 'aria-autocomplete': listBoxId ? 'list' : undefined,\n 'aria-owns': listBoxId,\n 'aria-activedescendant': activeId\n };\n}\nexport default function Autocomplete({\n children,\n isSelected,\n ...options\n}) {\n const {\n popover,\n ...props\n } = useAutocomplete(options);\n return /*#__PURE__*/_jsxs(_Fragment, {\n children: [children(props), isSelected && popover]\n });\n}"],
5
+ "mappings": ";AAGA,OAAO,mBAAmB;AAK1B,SAAS,gBAAgB,WAAW,UAAU,QAAQ,eAAe;AACrE,SAAS,eAAe,cAAc,oBAAoB;AAC1D,SAAS,QAAQ,OAAO,QAAQ,aAAa,sBAAsB;AACnE,SAAS,aAAa;AACtB,SAAS,iBAAiB;AAK1B,SAAS,0BAA0B;AACnC,SAAS,oBAAoB;AAC7B,SAAS,2BAA2B;AACpC,OAAO,iBAAiB;AACxB,SAAS,OAAO,MAAM,YAAY,WAAW,QAAQ,aAAa;AAClE,IAAM,yBAAyB,CAAC;AAGhC,IAAM,8BAA8B,CAAC;AAC9B,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAG;AACD,QAAM,aAAa,cAAc,2BAA2B;AAC5D,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAAS,CAAC;AACpD,QAAM,CAAC,iBAAiB,kBAAkB,IAAI,SAAS,sBAAsB;AAC7E,QAAM,CAAC,aAAa,cAAc,IAAI,SAAS,EAAE;AACjD,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAAS,IAAI;AACvD,QAAM,CAAC,iBAAiB,kBAAkB,IAAI,SAAS,IAAI;AAC3D,QAAM,iBAAiB,OAAO,KAAK;AACnC,WAAS,iBAAiB,aAAa;AACrC,QAAI,kBAAkB,MAAM;AAC1B;AAAA,IACF;AACA,UAAM,MAAM,OAAO;AACnB,UAAM,QAAQ,MAAM,cAAc,cAAc,SAAS,YAAY;AACrE,UAAM,WAAW,OAAO;AAAA,MACtB,MAAM,eAAe,WAAW;AAAA,IAClC,CAAC;AACD,aAAS,OAAO,QAAQ,UAAU,OAAO,GAAG,CAAC;AAAA,EAC/C;AACA,WAAS,OAAO,QAAQ;AACtB,UAAM;AAAA,MACJ;AAAA,IACF,IAAI,iBAAiB,CAAC;AACtB,QAAI,OAAO,YAAY;AACrB;AAAA,IACF;AACA,QAAI,qBAAqB;AACvB,YAAM,aAAa,oBAAoB,OAAO,OAAO,WAAW;AAChE,YAAM,qBAAqB,SAAO;AAChC,eAAO,QAAQ,QAAQ,OAAO,QAAQ,YAAY,YAAY,OAAO,IAAI,WAAW,UAAa,WAAW,OAAO,IAAI,UAAU;AAAA,MACnI;AACA,YAAM,mBAAmB,mBAAmB,UAAU,IAAI,aAAa;AAAA,QACrE,QAAQ;AAAA,QACR,OAAO;AAAA,MACT;AACA,UAAI,cAAc,iBAAiB,QAAQ;AACzC,kBAAU,CAAC,iBAAiB,KAAK,CAAC;AAGlC;AAAA,MACF,WAAW,sBAAsB,iBAAiB,QAAQ;AACxD,yBAAiB,iBAAiB,KAAK;AAAA,MACzC;AAAA,IACF;AAIA,UAAM;AAIN,eAAW,SAAS,MAAM;AAAA,EAC5B;AACA,WAAS,QAAQ;AACf,qBAAiB,CAAC;AAClB,uBAAmB,sBAAsB;AACzC,mBAAe,EAAE;AACjB,qBAAiB,IAAI;AACrB,uBAAmB,IAAI;AAAA,EACzB;AAOA,WAAS,gBAAgB,SAAS;AAChC,qBAAiB,QAAQ,WAAW,gBAAgB,SAAS,gBAAgB,CAAC;AAC9E,uBAAmB,OAAO;AAAA,EAC5B;AACA,WAAS,cAAc,OAAO;AAC5B,mBAAe,UAAU,MAAM,QAAQ;AACvC,QAAI,CAAC,eAAe;AAClB;AAAA,IACF;AACA,QAAI,gBAAgB,WAAW,GAAG;AAChC;AAAA,IACF;AACA,QAAI,MAAM,kBAAkB;AAC1B;AAAA,IACF;AACA,YAAQ,MAAM,KAAK;AAAA,MACjB,KAAK,WACH;AACE,cAAM,YAAY,kBAAkB,IAAI,gBAAgB,SAAS,iBAAiB;AAClF,yBAAiB,QAAQ;AAEzB,YAAI,UAAU,GAAG;AACf,gBAAM,YAAY,gBAAgB,QAAQ,EAAE,KAAK,GAAG,WAAW;AAAA,QACjE;AACA;AAAA,MACF;AAAA,MACF,KAAK,aACH;AACE,cAAM,YAAY,gBAAgB,KAAK,gBAAgB;AACvD,yBAAiB,QAAQ;AACzB,YAAI,UAAU,GAAG;AACf,gBAAM,YAAY,gBAAgB,QAAQ,EAAE,KAAK,GAAG,WAAW;AAAA,QACjE;AACA;AAAA,MACF;AAAA,MACF,KAAK;AACH,yBAAiB,IAAI;AACrB,2BAAmB,IAAI;AACvB,cAAM,eAAe;AACrB;AAAA,MACF,KAAK;AACH,eAAO,gBAAgB,aAAa,CAAC;AACrC;AAAA,MACF,KAAK;AAAA,MACL,KAAK;AACH,cAAM;AACN;AAAA,MACF;AACE;AAAA,IACJ;AAIA,UAAM,eAAe;AAAA,EACvB;AAKA,QAAM,cAAc,QAAQ,MAAM;AAChC,QAAI,YAAY,MAAM,GAAG;AACvB,aAAO,eAAe,MAAM,QAAQ,CAAC,CAAC;AAAA,IACxC;AACA,WAAO;AAAA,EACT,GAAG,CAAC,MAAM,CAAC;AACX,YAAU,MAAM;AACd,QAAI,CAAC,aAAa;AAChB,UAAI,eAAe;AACjB,cAAM;AAAA,MACR;AACA;AAAA,IACF;AAIA,UAAM,YAAY,WAAW,OAAO,CAAC,aAAa,qBAAqB;AACrE,YAAMA,gBAAe,YAAY,YAAY,iBAAiB,aAAa;AAC3E,YAAM,mBAAmB,gBAAgB,OAAO,YAAY,YAAY,YAAY,aAAa,IAAI;AACrG,aAAOA,gBAAe,mBAAmB,mBAAmB;AAAA,IAC9D,GAAG,IAAI;AACP,QAAI,CAAC,WAAW;AACd,UAAI,eAAe;AACjB,cAAM;AAAA,MACR;AACA;AAAA,IACF;AACA,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,IACF,IAAI;AACJ,UAAM,eAAe,YAAY,YAAY,aAAa;AAC1D,UAAM,qBAAqB,YAAY,MAAM,eAAe,cAAc,MAAM;AAChF,UAAM,wBAAwB,mBAAmB,SAAS;AAM1D,QAAI,uBAAuB;AACzB;AAAA,IACF;AACA,UAAM,WAAW,gBAAgB,WAAW;AAC5C,UAAM,mBAAmB,mBAAmB,MAAM,IAAI;AAQtD,UAAM,oBAAoB,iBAAiB,WAAW;AAUtD,UAAM,2BAA2B,eAAe,WAAW,iBAAiB,UAAU;AACtF,QAAI,YAAY,EAAE,4BAA4B,oBAAoB;AAChE,UAAI,eAAe;AACjB,cAAM;AAAA,MACR;AACA;AAAA,IACF;AACA,UAAM,qBAAqB,eAAe,MAAM,QAAQ,QAAW,eAAe,MAAM,EAAE,MAAM,CAAC;AACjG,QAAI,gBAAgB,CAAC,aAAa,YAAY,MAAM,GAAG,YAAY,GAAG,kBAAkB,GAAG;AACzF,UAAI,eAAe;AACjB,cAAM;AAAA,MACR;AACA;AAAA,IACF;AACA,QAAI,MAAM,KAAK,kBAAkB,KAAK,SAAS,KAAK,kBAAkB,GAAG;AACvE,UAAI,eAAe;AACjB,cAAM;AAAA,MACR;AACA;AAAA,IACF;AACA,QAAI,CAAC,oBAAoB,KAAK,kBAAkB,GAAG;AACjD,UAAI,eAAe;AACjB,cAAM;AAAA,MACR;AACA;AAAA,IACF;AACA,UAAM,cAAc,aAAa,UAAU,aAAa;AACxD,UAAM,OAAO,cAAc,WAAW;AACtC,UAAM,QAAQ,KAAK,MAAM,KAAK,YAAY,UAAU,aAAa,CAAC,EAAE,MAAM,IAAI,OAAO,GAAG,WAAW,iBAAqB,CAAC;AACzH,UAAM,QAAQ,SAAS,MAAM,CAAC;AAC9B,qBAAiB,SAAS;AAC1B,uBAAmB,MAAM,cAAc,gBAAgB,mBAAmB,SAAS,IAAI,eAAe;AACtG,mBAAe,UAAU,OAAO,KAAK,KAAK;AAAA,EAG5C,GAAG,CAAC,WAAW,CAAC;AAChB,QAAM;AAAA,IACJ,KAAK,cAAc;AAAA,EACrB,IAAI,gBAAgB,aAAa,KAAK,CAAC;AACvC,QAAM;AAAA,IACJ;AAAA,EACF,IAAI,iBAAiB,CAAC;AACtB,QAAM,aAAa,CAAC,CAAC,iBAAiB,gBAAgB,SAAS;AAC/D,QAAM,YAAY,aAAa,mCAAmC,UAAU,KAAK;AACjF,QAAM,WAAW,aAAa,gCAAgC,UAAU,IAAI,WAAW,KAAK;AAC5F,QAAM,eAAe,OAAO,UAAU;AACtC,QAAM,cAAc,CAAC,CAAC,eAAe,gBAAgB,CAAC,CAAC;AACvD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,WAAW,oBAAoB,aAAa;AAAA,IAC5C,SAAS,eAA4B,qBAAK,iBAAiB;AAAA,MACzD;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,UAAU;AAAA,MACV,OAAO;AAAA,MACP;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AACF;AAMA,SAAS,kBAAkB,GAAG,GAAG;AAC/B,SAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE;AACjE;AAMO,SAAS,sBAAsB,OAAO;AAC3C,QAAM,UAAU,OAAO,CAAC,CAAC;AACzB,QAAM,YAAY,QAAQ,QAAQ,QAAQ,QAAQ,SAAS,CAAC;AAK5D,MAAI,CAAC,aAAa,CAAC,kBAAkB,OAAO,SAAS,GAAG;AACtD,YAAQ,QAAQ,KAAK,KAAK;AAAA,EAC5B;AAGA,MAAI,QAAQ,QAAQ,SAAS,GAAG;AAC9B,YAAQ,QAAQ,MAAM;AAAA,EACxB;AACA,SAAO,QAAQ,QAAQ,CAAC;AAC1B;AACO,SAAS,qBAAqB,SAAS;AAC5C,QAAM,MAAM,OAAO,IAAI;AACvB,QAAM,eAAe,OAAO,MAAS;AACrC,QAAM;AAAA,IACJ;AAAA,EACF,IAAI;AACJ,QAAM,iBAAiB,sBAAsB,MAAM;AACnD,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,gBAAgB;AAAA,IAClB,GAAG;AAAA,IACH,YAAY;AAAA,EACd,CAAC;AACD,eAAa,UAAU;AACvB,QAAM,aAAa,aAAa,CAAC,KAAK,aAAa,aAAW;AAC5D,aAAS,WAAW,OAAO;AACzB,mBAAa,UAAU,KAAK;AAAA,IAC9B;AACA,YAAQ,iBAAiB,WAAW,UAAU;AAC9C,WAAO,MAAM;AACX,cAAQ,oBAAoB,WAAW,UAAU;AAAA,IACnD;AAAA,EACF,GAAG,CAAC,CAAC,CAAC,CAAC;AAGP,QAAM,eAAe,OAAO,SAAS,gBAAgB;AACrD,MAAI,CAAC,cAAc;AACjB,WAAO;AAAA,MACL,KAAK;AAAA,IACP;AAAA,EACF;AACA,SAAO;AAAA,IACL,KAAK;AAAA,IACL,UAAU;AAAA,IACV,qBAAqB,YAAY,SAAS;AAAA,IAC1C,aAAa;AAAA,IACb,yBAAyB;AAAA,EAC3B;AACF;AACe,SAAR,aAA8B;AAAA,EACnC;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAG;AACD,QAAM;AAAA,IACJ;AAAA,IACA,GAAG;AAAA,EACL,IAAI,gBAAgB,OAAO;AAC3B,SAAoB,sBAAM,WAAW;AAAA,IACnC,UAAU,CAAC,SAAS,KAAK,GAAG,cAAc,OAAO;AAAA,EACnD,CAAC;AACH;",
6
6
  "names": ["triggerIndex"]
7
7
  }