@wordpress/components 32.0.2-next.v.0 → 32.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (304) hide show
  1. package/CHANGELOG.md +5 -1
  2. package/build/alignment-matrix-control/cell.cjs +6 -121
  3. package/build/alignment-matrix-control/cell.cjs.map +2 -2
  4. package/build/alignment-matrix-control/icon.cjs +2 -3
  5. package/build/alignment-matrix-control/icon.cjs.map +2 -2
  6. package/build/alignment-matrix-control/index.cjs +6 -121
  7. package/build/alignment-matrix-control/index.cjs.map +2 -2
  8. package/build/angle-picker-control/angle-circle.cjs +6 -85
  9. package/build/angle-picker-control/angle-circle.cjs.map +2 -2
  10. package/build/autocomplete/autocompleter-ui.cjs +1 -2
  11. package/build/autocomplete/autocompleter-ui.cjs.map +2 -2
  12. package/build/box-control/input-control.cjs +8 -12
  13. package/build/box-control/input-control.cjs.map +2 -2
  14. package/build/button/index.cjs +6 -12
  15. package/build/button/index.cjs.map +2 -2
  16. package/build/calendar/date-calendar/index.cjs +2 -2
  17. package/build/calendar/date-calendar/index.cjs.map +2 -2
  18. package/build/calendar/date-range-calendar/index.cjs +4 -6
  19. package/build/calendar/date-range-calendar/index.cjs.map +2 -2
  20. package/build/card/card/hook.cjs +1 -2
  21. package/build/card/card/hook.cjs.map +2 -2
  22. package/build/color-palette/utils.cjs +2 -2
  23. package/build/color-palette/utils.cjs.map +2 -2
  24. package/build/combobox-control/index.cjs +1 -2
  25. package/build/combobox-control/index.cjs.map +2 -2
  26. package/build/composite/group-label.cjs +1 -2
  27. package/build/composite/group-label.cjs.map +2 -2
  28. package/build/composite/group.cjs +1 -2
  29. package/build/composite/group.cjs.map +2 -2
  30. package/build/composite/hover.cjs +1 -2
  31. package/build/composite/hover.cjs.map +2 -2
  32. package/build/composite/index.cjs +1 -1
  33. package/build/composite/index.cjs.map +2 -2
  34. package/build/composite/item.cjs +1 -2
  35. package/build/composite/item.cjs.map +2 -2
  36. package/build/composite/legacy/index.cjs +1 -2
  37. package/build/composite/legacy/index.cjs.map +2 -2
  38. package/build/composite/row.cjs +1 -2
  39. package/build/composite/row.cjs.map +2 -2
  40. package/build/composite/typeahead.cjs +1 -2
  41. package/build/composite/typeahead.cjs.map +2 -2
  42. package/build/confirm-dialog/component.cjs +2 -2
  43. package/build/confirm-dialog/component.cjs.map +2 -2
  44. package/build/context/context-system-provider.cjs +1 -1
  45. package/build/context/context-system-provider.cjs.map +2 -2
  46. package/build/custom-gradient-picker/index.cjs +1 -2
  47. package/build/custom-gradient-picker/index.cjs.map +2 -2
  48. package/build/custom-gradient-picker/utils.cjs +1 -1
  49. package/build/custom-gradient-picker/utils.cjs.map +2 -2
  50. package/build/custom-select-control/index.cjs +2 -3
  51. package/build/custom-select-control/index.cjs.map +2 -2
  52. package/build/custom-select-control-v2/custom-select.cjs +1 -1
  53. package/build/custom-select-control-v2/custom-select.cjs.map +2 -2
  54. package/build/custom-select-control-v2/item.cjs +2 -3
  55. package/build/custom-select-control-v2/item.cjs.map +2 -2
  56. package/build/date-time/date/index.cjs +1 -1
  57. package/build/date-time/date/index.cjs.map +2 -2
  58. package/build/date-time/time/index.cjs +2 -2
  59. package/build/date-time/time/index.cjs.map +2 -2
  60. package/build/date-time/utils.cjs +1 -2
  61. package/build/date-time/utils.cjs.map +2 -2
  62. package/build/divider/styles.cjs +2 -2
  63. package/build/divider/styles.cjs.map +2 -2
  64. package/build/dropdown-menu/index.cjs +2 -3
  65. package/build/dropdown-menu/index.cjs.map +2 -2
  66. package/build/duotone-picker/duotone-picker.cjs +1 -1
  67. package/build/duotone-picker/duotone-picker.cjs.map +2 -2
  68. package/build/flex/flex/hook.cjs +1 -1
  69. package/build/flex/flex/hook.cjs.map +2 -2
  70. package/build/focal-point-picker/index.cjs +1 -2
  71. package/build/focal-point-picker/index.cjs.map +2 -2
  72. package/build/font-size-picker/font-size-picker-select.cjs +1 -2
  73. package/build/font-size-picker/font-size-picker-select.cjs.map +2 -2
  74. package/build/font-size-picker/index.cjs +2 -2
  75. package/build/font-size-picker/index.cjs.map +2 -2
  76. package/build/guide/index.cjs +2 -3
  77. package/build/guide/index.cjs.map +2 -2
  78. package/build/higher-order/navigate-regions/index.cjs +1 -2
  79. package/build/higher-order/navigate-regions/index.cjs.map +2 -2
  80. package/build/input-control/input-field.cjs +1 -1
  81. package/build/input-control/input-field.cjs.map +2 -2
  82. package/build/input-control/reducer/reducer.cjs +2 -4
  83. package/build/input-control/reducer/reducer.cjs.map +2 -2
  84. package/build/keyboard-shortcuts/index.cjs +1 -1
  85. package/build/keyboard-shortcuts/index.cjs.map +2 -2
  86. package/build/menu/index.cjs +1 -1
  87. package/build/menu/index.cjs.map +2 -2
  88. package/build/menu/item.cjs +1 -1
  89. package/build/menu/item.cjs.map +2 -2
  90. package/build/menu/popover.cjs +2 -2
  91. package/build/menu/popover.cjs.map +2 -2
  92. package/build/modal/index.cjs +2 -4
  93. package/build/modal/index.cjs.map +2 -2
  94. package/build/navigator/navigator/component.cjs +8 -13
  95. package/build/navigator/navigator/component.cjs.map +2 -2
  96. package/build/navigator/navigator-screen/component.cjs +1 -1
  97. package/build/navigator/navigator-screen/component.cjs.map +2 -2
  98. package/build/number-control/index.cjs +2 -3
  99. package/build/number-control/index.cjs.map +2 -2
  100. package/build/palette-edit/index.cjs +3 -4
  101. package/build/palette-edit/index.cjs.map +2 -2
  102. package/build/popover/index.cjs +1 -2
  103. package/build/popover/index.cjs.map +2 -2
  104. package/build/popover/overlay-middlewares.cjs +1 -2
  105. package/build/popover/overlay-middlewares.cjs.map +2 -2
  106. package/build/popover/utils.cjs +3 -8
  107. package/build/popover/utils.cjs.map +2 -2
  108. package/build/private-apis.cjs +1 -0
  109. package/build/private-apis.cjs.map +2 -2
  110. package/build/radio-group/index.cjs +1 -1
  111. package/build/radio-group/index.cjs.map +2 -2
  112. package/build/range-control/index.cjs +4 -4
  113. package/build/range-control/index.cjs.map +2 -2
  114. package/build/range-control/utils.cjs +1 -1
  115. package/build/range-control/utils.cjs.map +2 -2
  116. package/build/search-control/index.cjs +3 -3
  117. package/build/search-control/index.cjs.map +2 -2
  118. package/build/slot-fill/fill.cjs +1 -2
  119. package/build/slot-fill/fill.cjs.map +2 -2
  120. package/build/slot-fill/slot.cjs +1 -2
  121. package/build/slot-fill/slot.cjs.map +2 -2
  122. package/build/tabs/tab.cjs +1 -2
  123. package/build/tabs/tab.cjs.map +2 -2
  124. package/build/tabs/tablist.cjs +7 -11
  125. package/build/tabs/tablist.cjs.map +2 -2
  126. package/build/toggle-group-control/toggle-group-control/as-radio-group.cjs +1 -1
  127. package/build/toggle-group-control/toggle-group-control/as-radio-group.cjs.map +2 -2
  128. package/build/toggle-group-control/toggle-group-control/utils.cjs +1 -1
  129. package/build/toggle-group-control/toggle-group-control/utils.cjs.map +2 -2
  130. package/build/tree-grid/index.cjs +1 -2
  131. package/build/tree-grid/index.cjs.map +2 -2
  132. package/build/unit-control/index.cjs +4 -5
  133. package/build/unit-control/index.cjs.map +2 -2
  134. package/build/unit-control/utils.cjs +2 -2
  135. package/build/unit-control/utils.cjs.map +2 -2
  136. package/build/utils/element-rect.cjs +3 -4
  137. package/build/utils/element-rect.cjs.map +2 -2
  138. package/build/utils/font.cjs +1 -2
  139. package/build/utils/font.cjs.map +2 -2
  140. package/build/utils/strings.cjs +1 -2
  141. package/build/utils/strings.cjs.map +2 -2
  142. package/build/utils/use-deprecated-props.cjs +1 -1
  143. package/build/utils/use-deprecated-props.cjs.map +2 -2
  144. package/build/utils/values.cjs +1 -2
  145. package/build/utils/values.cjs.map +2 -2
  146. package/build/validated-form-controls/components/combobox-control.cjs +1 -1
  147. package/build/validated-form-controls/components/combobox-control.cjs.map +2 -2
  148. package/build/validated-form-controls/components/toggle-control.cjs +1 -1
  149. package/build/validated-form-controls/components/toggle-control.cjs.map +2 -2
  150. package/build/validated-form-controls/control-with-error.cjs +3 -6
  151. package/build/validated-form-controls/control-with-error.cjs.map +2 -2
  152. package/build-module/alignment-matrix-control/cell.mjs +6 -121
  153. package/build-module/alignment-matrix-control/cell.mjs.map +2 -2
  154. package/build-module/alignment-matrix-control/icon.mjs +2 -3
  155. package/build-module/alignment-matrix-control/icon.mjs.map +2 -2
  156. package/build-module/alignment-matrix-control/index.mjs +6 -121
  157. package/build-module/alignment-matrix-control/index.mjs.map +2 -2
  158. package/build-module/angle-picker-control/angle-circle.mjs +6 -85
  159. package/build-module/angle-picker-control/angle-circle.mjs.map +2 -2
  160. package/build-module/autocomplete/autocompleter-ui.mjs +1 -2
  161. package/build-module/autocomplete/autocompleter-ui.mjs.map +2 -2
  162. package/build-module/box-control/input-control.mjs +8 -12
  163. package/build-module/box-control/input-control.mjs.map +2 -2
  164. package/build-module/button/index.mjs +6 -12
  165. package/build-module/button/index.mjs.map +2 -2
  166. package/build-module/calendar/date-calendar/index.mjs +2 -2
  167. package/build-module/calendar/date-calendar/index.mjs.map +2 -2
  168. package/build-module/calendar/date-range-calendar/index.mjs +4 -6
  169. package/build-module/calendar/date-range-calendar/index.mjs.map +2 -2
  170. package/build-module/card/card/hook.mjs +1 -2
  171. package/build-module/card/card/hook.mjs.map +2 -2
  172. package/build-module/color-palette/utils.mjs +2 -2
  173. package/build-module/color-palette/utils.mjs.map +2 -2
  174. package/build-module/combobox-control/index.mjs +1 -2
  175. package/build-module/combobox-control/index.mjs.map +2 -2
  176. package/build-module/composite/group-label.mjs +1 -2
  177. package/build-module/composite/group-label.mjs.map +2 -2
  178. package/build-module/composite/group.mjs +1 -2
  179. package/build-module/composite/group.mjs.map +2 -2
  180. package/build-module/composite/hover.mjs +1 -2
  181. package/build-module/composite/hover.mjs.map +2 -2
  182. package/build-module/composite/index.mjs +1 -1
  183. package/build-module/composite/index.mjs.map +2 -2
  184. package/build-module/composite/item.mjs +1 -2
  185. package/build-module/composite/item.mjs.map +2 -2
  186. package/build-module/composite/legacy/index.mjs +1 -2
  187. package/build-module/composite/legacy/index.mjs.map +2 -2
  188. package/build-module/composite/row.mjs +1 -2
  189. package/build-module/composite/row.mjs.map +2 -2
  190. package/build-module/composite/typeahead.mjs +1 -2
  191. package/build-module/composite/typeahead.mjs.map +2 -2
  192. package/build-module/confirm-dialog/component.mjs +2 -2
  193. package/build-module/confirm-dialog/component.mjs.map +2 -2
  194. package/build-module/context/context-system-provider.mjs +1 -1
  195. package/build-module/context/context-system-provider.mjs.map +2 -2
  196. package/build-module/custom-gradient-picker/index.mjs +1 -2
  197. package/build-module/custom-gradient-picker/index.mjs.map +2 -2
  198. package/build-module/custom-gradient-picker/utils.mjs +1 -1
  199. package/build-module/custom-gradient-picker/utils.mjs.map +2 -2
  200. package/build-module/custom-select-control/index.mjs +2 -3
  201. package/build-module/custom-select-control/index.mjs.map +2 -2
  202. package/build-module/custom-select-control-v2/custom-select.mjs +1 -1
  203. package/build-module/custom-select-control-v2/custom-select.mjs.map +2 -2
  204. package/build-module/custom-select-control-v2/item.mjs +2 -3
  205. package/build-module/custom-select-control-v2/item.mjs.map +2 -2
  206. package/build-module/date-time/date/index.mjs +1 -1
  207. package/build-module/date-time/date/index.mjs.map +2 -2
  208. package/build-module/date-time/time/index.mjs +2 -2
  209. package/build-module/date-time/time/index.mjs.map +2 -2
  210. package/build-module/date-time/utils.mjs +1 -2
  211. package/build-module/date-time/utils.mjs.map +2 -2
  212. package/build-module/divider/styles.mjs +2 -2
  213. package/build-module/divider/styles.mjs.map +2 -2
  214. package/build-module/dropdown-menu/index.mjs +2 -3
  215. package/build-module/dropdown-menu/index.mjs.map +2 -2
  216. package/build-module/duotone-picker/duotone-picker.mjs +1 -1
  217. package/build-module/duotone-picker/duotone-picker.mjs.map +2 -2
  218. package/build-module/flex/flex/hook.mjs +1 -1
  219. package/build-module/flex/flex/hook.mjs.map +2 -2
  220. package/build-module/focal-point-picker/index.mjs +1 -2
  221. package/build-module/focal-point-picker/index.mjs.map +2 -2
  222. package/build-module/font-size-picker/font-size-picker-select.mjs +1 -2
  223. package/build-module/font-size-picker/font-size-picker-select.mjs.map +2 -2
  224. package/build-module/font-size-picker/index.mjs +2 -2
  225. package/build-module/font-size-picker/index.mjs.map +2 -2
  226. package/build-module/guide/index.mjs +2 -3
  227. package/build-module/guide/index.mjs.map +2 -2
  228. package/build-module/higher-order/navigate-regions/index.mjs +1 -2
  229. package/build-module/higher-order/navigate-regions/index.mjs.map +2 -2
  230. package/build-module/input-control/input-field.mjs +1 -1
  231. package/build-module/input-control/input-field.mjs.map +2 -2
  232. package/build-module/input-control/reducer/reducer.mjs +2 -4
  233. package/build-module/input-control/reducer/reducer.mjs.map +2 -2
  234. package/build-module/keyboard-shortcuts/index.mjs +1 -1
  235. package/build-module/keyboard-shortcuts/index.mjs.map +2 -2
  236. package/build-module/menu/index.mjs +1 -1
  237. package/build-module/menu/index.mjs.map +2 -2
  238. package/build-module/menu/item.mjs +1 -1
  239. package/build-module/menu/item.mjs.map +2 -2
  240. package/build-module/menu/popover.mjs +2 -2
  241. package/build-module/menu/popover.mjs.map +2 -2
  242. package/build-module/modal/index.mjs +2 -4
  243. package/build-module/modal/index.mjs.map +2 -2
  244. package/build-module/navigator/navigator/component.mjs +8 -13
  245. package/build-module/navigator/navigator/component.mjs.map +2 -2
  246. package/build-module/navigator/navigator-screen/component.mjs +1 -1
  247. package/build-module/navigator/navigator-screen/component.mjs.map +2 -2
  248. package/build-module/number-control/index.mjs +2 -3
  249. package/build-module/number-control/index.mjs.map +2 -2
  250. package/build-module/palette-edit/index.mjs +3 -4
  251. package/build-module/palette-edit/index.mjs.map +2 -2
  252. package/build-module/popover/index.mjs +1 -2
  253. package/build-module/popover/index.mjs.map +2 -2
  254. package/build-module/popover/overlay-middlewares.mjs +1 -2
  255. package/build-module/popover/overlay-middlewares.mjs.map +2 -2
  256. package/build-module/popover/utils.mjs +3 -8
  257. package/build-module/popover/utils.mjs.map +2 -2
  258. package/build-module/private-apis.mjs +2 -1
  259. package/build-module/private-apis.mjs.map +2 -2
  260. package/build-module/radio-group/index.mjs +1 -1
  261. package/build-module/radio-group/index.mjs.map +2 -2
  262. package/build-module/range-control/index.mjs +4 -4
  263. package/build-module/range-control/index.mjs.map +2 -2
  264. package/build-module/range-control/utils.mjs +1 -1
  265. package/build-module/range-control/utils.mjs.map +2 -2
  266. package/build-module/search-control/index.mjs +3 -3
  267. package/build-module/search-control/index.mjs.map +2 -2
  268. package/build-module/slot-fill/fill.mjs +1 -2
  269. package/build-module/slot-fill/fill.mjs.map +2 -2
  270. package/build-module/slot-fill/slot.mjs +1 -2
  271. package/build-module/slot-fill/slot.mjs.map +2 -2
  272. package/build-module/tabs/tab.mjs +1 -2
  273. package/build-module/tabs/tab.mjs.map +2 -2
  274. package/build-module/tabs/tablist.mjs +7 -11
  275. package/build-module/tabs/tablist.mjs.map +2 -2
  276. package/build-module/toggle-group-control/toggle-group-control/as-radio-group.mjs +1 -1
  277. package/build-module/toggle-group-control/toggle-group-control/as-radio-group.mjs.map +2 -2
  278. package/build-module/toggle-group-control/toggle-group-control/utils.mjs +1 -1
  279. package/build-module/toggle-group-control/toggle-group-control/utils.mjs.map +2 -2
  280. package/build-module/tree-grid/index.mjs +1 -2
  281. package/build-module/tree-grid/index.mjs.map +2 -2
  282. package/build-module/unit-control/index.mjs +4 -5
  283. package/build-module/unit-control/index.mjs.map +2 -2
  284. package/build-module/unit-control/utils.mjs +2 -2
  285. package/build-module/unit-control/utils.mjs.map +2 -2
  286. package/build-module/utils/element-rect.mjs +3 -4
  287. package/build-module/utils/element-rect.mjs.map +2 -2
  288. package/build-module/utils/font.mjs +1 -2
  289. package/build-module/utils/font.mjs.map +2 -2
  290. package/build-module/utils/strings.mjs +1 -2
  291. package/build-module/utils/strings.mjs.map +2 -2
  292. package/build-module/utils/use-deprecated-props.mjs +1 -1
  293. package/build-module/utils/use-deprecated-props.mjs.map +2 -2
  294. package/build-module/utils/values.mjs +1 -2
  295. package/build-module/utils/values.mjs.map +2 -2
  296. package/build-module/validated-form-controls/components/combobox-control.mjs +1 -1
  297. package/build-module/validated-form-controls/components/combobox-control.mjs.map +2 -2
  298. package/build-module/validated-form-controls/components/toggle-control.mjs +1 -1
  299. package/build-module/validated-form-controls/components/toggle-control.mjs.map +2 -2
  300. package/build-module/validated-form-controls/control-with-error.mjs +3 -6
  301. package/build-module/validated-form-controls/control-with-error.mjs.map +2 -2
  302. package/build-types/private-apis.d.ts.map +1 -1
  303. package/package.json +21 -21
  304. package/src/private-apis.ts +2 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/element-rect.ts"],
4
- "sourcesContent": ["/* eslint-disable jsdoc/require-param */\n/**\n * WordPress dependencies\n */\nimport { useLayoutEffect, useRef, useState } from '@wordpress/element';\nimport { useEvent, useResizeObserver } from '@wordpress/compose';\n\n/**\n * The position and dimensions of an element, relative to its offset parent.\n */\n\n/**\n * An `ElementOffsetRect` object with all values set to zero.\n */\nexport const NULL_ELEMENT_OFFSET_RECT = {\n element: undefined,\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n width: 0,\n height: 0\n};\n\n/**\n * Returns the position and dimensions of an element, relative to its offset\n * parent, with subpixel precision. Values reflect the real measures before any\n * potential scaling distortions along the X and Y axes.\n *\n * Useful in contexts where plain `getBoundingClientRect` calls or `ResizeObserver`\n * entries are not suitable, such as when the element is transformed, and when\n * `element.offset<Top|Left|Width|Height>` methods are not precise enough.\n *\n * **Note:** in some contexts, like when the scale is 0, this method will fail\n * because it's impossible to calculate a scaling ratio. When that happens, it\n * will return `undefined`.\n */\nexport function getElementOffsetRect(element) {\n var _offsetParent$getBoun, _offsetParent$scrollL, _offsetParent$scrollT;\n // Position and dimension values computed with `getBoundingClientRect` have\n // subpixel precision, but are affected by distortions since they represent\n // the \"real\" measures, or in other words, the actual final values as rendered\n // by the browser.\n const rect = element.getBoundingClientRect();\n if (rect.width === 0 || rect.height === 0) {\n return;\n }\n const offsetParent = element.offsetParent;\n const offsetParentRect = (_offsetParent$getBoun = offsetParent?.getBoundingClientRect()) !== null && _offsetParent$getBoun !== void 0 ? _offsetParent$getBoun : NULL_ELEMENT_OFFSET_RECT;\n const offsetParentScrollX = (_offsetParent$scrollL = offsetParent?.scrollLeft) !== null && _offsetParent$scrollL !== void 0 ? _offsetParent$scrollL : 0;\n const offsetParentScrollY = (_offsetParent$scrollT = offsetParent?.scrollTop) !== null && _offsetParent$scrollT !== void 0 ? _offsetParent$scrollT : 0;\n\n // Computed widths and heights have subpixel precision, and are not affected\n // by distortions.\n const computedWidth = parseFloat(getComputedStyle(element).width);\n const computedHeight = parseFloat(getComputedStyle(element).height);\n\n // We can obtain the current scale factor for the element by comparing \"computed\"\n // dimensions with the \"real\" ones.\n const scaleX = computedWidth / rect.width;\n const scaleY = computedHeight / rect.height;\n return {\n element,\n // To obtain the adjusted values for the position:\n // 1. Compute the element's position relative to the offset parent.\n // 2. Correct for the scale factor.\n // 3. Adjust for the scroll position of the offset parent.\n top: (rect.top - offsetParentRect?.top) * scaleY + offsetParentScrollY,\n right: (offsetParentRect?.right - rect.right) * scaleX - offsetParentScrollX,\n bottom: (offsetParentRect?.bottom - rect.bottom) * scaleY - offsetParentScrollY,\n left: (rect.left - offsetParentRect?.left) * scaleX + offsetParentScrollX,\n // Computed dimensions don't need any adjustments.\n width: computedWidth,\n height: computedHeight\n };\n}\nconst POLL_RATE = 100;\n\n/**\n * Tracks the position and dimensions of an element, relative to its offset\n * parent. The element can be changed dynamically.\n *\n * When no element is provided (`null` or `undefined`), the hook will return\n * a \"null\" rect, in which all values are `0` and `element` is `undefined`.\n *\n * **Note:** sometimes, the measurement will fail (see `getElementOffsetRect`'s\n * documentation for more details). When that happens, this hook will attempt\n * to measure again after a frame, and if that fails, it will poll every 100\n * milliseconds until it succeeds.\n */\nexport function useTrackElementOffsetRect(targetElement, deps = []) {\n const [indicatorPosition, setIndicatorPosition] = useState(NULL_ELEMENT_OFFSET_RECT);\n const intervalRef = useRef();\n const measure = useEvent(() => {\n // Check that the targetElement is still attached to the DOM, in case\n // it was removed since the last `measure` call.\n if (targetElement && targetElement.isConnected) {\n const elementOffsetRect = getElementOffsetRect(targetElement);\n if (elementOffsetRect) {\n setIndicatorPosition(elementOffsetRect);\n clearInterval(intervalRef.current);\n return true;\n }\n } else {\n clearInterval(intervalRef.current);\n }\n return false;\n });\n const setElement = useResizeObserver(() => {\n if (!measure()) {\n requestAnimationFrame(() => {\n if (!measure()) {\n intervalRef.current = setInterval(measure, POLL_RATE);\n }\n });\n }\n });\n useLayoutEffect(() => {\n setElement(targetElement);\n if (!targetElement) {\n setIndicatorPosition(NULL_ELEMENT_OFFSET_RECT);\n }\n }, [setElement, targetElement]);\n\n // Escape hatch to force a remeasurement when something else changes rather\n // than the target elements' ref or size (for example, the target element\n // can change its position within the tablist).\n useLayoutEffect(() => {\n measure();\n // `measure` is a stable function, so it's safe to omit it from the deps array.\n // deps can't be statically analyzed by ESLint\n }, deps);\n return indicatorPosition;\n}\n\n/* eslint-enable jsdoc/require-param */"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,qBAAkD;AAClD,qBAA4C;AASrC,IAAM,2BAA2B;AAAA,EACtC,SAAS;AAAA,EACT,KAAK;AAAA,EACL,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AACV;AAeO,SAAS,qBAAqB,SAAS;AAC5C,MAAI,uBAAuB,uBAAuB;AAKlD,QAAM,OAAO,QAAQ,sBAAsB;AAC3C,MAAI,KAAK,UAAU,KAAK,KAAK,WAAW,GAAG;AACzC;AAAA,EACF;AACA,QAAM,eAAe,QAAQ;AAC7B,QAAM,oBAAoB,wBAAwB,cAAc,sBAAsB,OAAO,QAAQ,0BAA0B,SAAS,wBAAwB;AAChK,QAAM,uBAAuB,wBAAwB,cAAc,gBAAgB,QAAQ,0BAA0B,SAAS,wBAAwB;AACtJ,QAAM,uBAAuB,wBAAwB,cAAc,eAAe,QAAQ,0BAA0B,SAAS,wBAAwB;AAIrJ,QAAM,gBAAgB,WAAW,iBAAiB,OAAO,EAAE,KAAK;AAChE,QAAM,iBAAiB,WAAW,iBAAiB,OAAO,EAAE,MAAM;AAIlE,QAAM,SAAS,gBAAgB,KAAK;AACpC,QAAM,SAAS,iBAAiB,KAAK;AACrC,SAAO;AAAA,IACL;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAM,KAAK,MAAM,kBAAkB,OAAO,SAAS;AAAA,IACnD,QAAQ,kBAAkB,QAAQ,KAAK,SAAS,SAAS;AAAA,IACzD,SAAS,kBAAkB,SAAS,KAAK,UAAU,SAAS;AAAA,IAC5D,OAAO,KAAK,OAAO,kBAAkB,QAAQ,SAAS;AAAA;AAAA,IAEtD,OAAO;AAAA,IACP,QAAQ;AAAA,EACV;AACF;AACA,IAAM,YAAY;AAcX,SAAS,0BAA0B,eAAe,OAAO,CAAC,GAAG;AAClE,QAAM,CAAC,mBAAmB,oBAAoB,QAAI,yBAAS,wBAAwB;AACnF,QAAM,kBAAc,uBAAO;AAC3B,QAAM,cAAU,yBAAS,MAAM;AAG7B,QAAI,iBAAiB,cAAc,aAAa;AAC9C,YAAM,oBAAoB,qBAAqB,aAAa;AAC5D,UAAI,mBAAmB;AACrB,6BAAqB,iBAAiB;AACtC,sBAAc,YAAY,OAAO;AACjC,eAAO;AAAA,MACT;AAAA,IACF,OAAO;AACL,oBAAc,YAAY,OAAO;AAAA,IACnC;AACA,WAAO;AAAA,EACT,CAAC;AACD,QAAM,iBAAa,kCAAkB,MAAM;AACzC,QAAI,CAAC,QAAQ,GAAG;AACd,4BAAsB,MAAM;AAC1B,YAAI,CAAC,QAAQ,GAAG;AACd,sBAAY,UAAU,YAAY,SAAS,SAAS;AAAA,QACtD;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACD,sCAAgB,MAAM;AACpB,eAAW,aAAa;AACxB,QAAI,CAAC,eAAe;AAClB,2BAAqB,wBAAwB;AAAA,IAC/C;AAAA,EACF,GAAG,CAAC,YAAY,aAAa,CAAC;AAK9B,sCAAgB,MAAM;AACpB,YAAQ;AAAA,EAGV,GAAG,IAAI;AACP,SAAO;AACT;",
4
+ "sourcesContent": ["/* eslint-disable jsdoc/require-param */\n/**\n * WordPress dependencies\n */\nimport { useLayoutEffect, useRef, useState } from '@wordpress/element';\nimport { useEvent, useResizeObserver } from '@wordpress/compose';\n\n/**\n * The position and dimensions of an element, relative to its offset parent.\n */\n\n/**\n * An `ElementOffsetRect` object with all values set to zero.\n */\nexport const NULL_ELEMENT_OFFSET_RECT = {\n element: undefined,\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n width: 0,\n height: 0\n};\n\n/**\n * Returns the position and dimensions of an element, relative to its offset\n * parent, with subpixel precision. Values reflect the real measures before any\n * potential scaling distortions along the X and Y axes.\n *\n * Useful in contexts where plain `getBoundingClientRect` calls or `ResizeObserver`\n * entries are not suitable, such as when the element is transformed, and when\n * `element.offset<Top|Left|Width|Height>` methods are not precise enough.\n *\n * **Note:** in some contexts, like when the scale is 0, this method will fail\n * because it's impossible to calculate a scaling ratio. When that happens, it\n * will return `undefined`.\n */\nexport function getElementOffsetRect(element) {\n // Position and dimension values computed with `getBoundingClientRect` have\n // subpixel precision, but are affected by distortions since they represent\n // the \"real\" measures, or in other words, the actual final values as rendered\n // by the browser.\n const rect = element.getBoundingClientRect();\n if (rect.width === 0 || rect.height === 0) {\n return;\n }\n const offsetParent = element.offsetParent;\n const offsetParentRect = offsetParent?.getBoundingClientRect() ?? NULL_ELEMENT_OFFSET_RECT;\n const offsetParentScrollX = offsetParent?.scrollLeft ?? 0;\n const offsetParentScrollY = offsetParent?.scrollTop ?? 0;\n\n // Computed widths and heights have subpixel precision, and are not affected\n // by distortions.\n const computedWidth = parseFloat(getComputedStyle(element).width);\n const computedHeight = parseFloat(getComputedStyle(element).height);\n\n // We can obtain the current scale factor for the element by comparing \"computed\"\n // dimensions with the \"real\" ones.\n const scaleX = computedWidth / rect.width;\n const scaleY = computedHeight / rect.height;\n return {\n element,\n // To obtain the adjusted values for the position:\n // 1. Compute the element's position relative to the offset parent.\n // 2. Correct for the scale factor.\n // 3. Adjust for the scroll position of the offset parent.\n top: (rect.top - offsetParentRect?.top) * scaleY + offsetParentScrollY,\n right: (offsetParentRect?.right - rect.right) * scaleX - offsetParentScrollX,\n bottom: (offsetParentRect?.bottom - rect.bottom) * scaleY - offsetParentScrollY,\n left: (rect.left - offsetParentRect?.left) * scaleX + offsetParentScrollX,\n // Computed dimensions don't need any adjustments.\n width: computedWidth,\n height: computedHeight\n };\n}\nconst POLL_RATE = 100;\n\n/**\n * Tracks the position and dimensions of an element, relative to its offset\n * parent. The element can be changed dynamically.\n *\n * When no element is provided (`null` or `undefined`), the hook will return\n * a \"null\" rect, in which all values are `0` and `element` is `undefined`.\n *\n * **Note:** sometimes, the measurement will fail (see `getElementOffsetRect`'s\n * documentation for more details). When that happens, this hook will attempt\n * to measure again after a frame, and if that fails, it will poll every 100\n * milliseconds until it succeeds.\n */\nexport function useTrackElementOffsetRect(targetElement, deps = []) {\n const [indicatorPosition, setIndicatorPosition] = useState(NULL_ELEMENT_OFFSET_RECT);\n const intervalRef = useRef();\n const measure = useEvent(() => {\n // Check that the targetElement is still attached to the DOM, in case\n // it was removed since the last `measure` call.\n if (targetElement && targetElement.isConnected) {\n const elementOffsetRect = getElementOffsetRect(targetElement);\n if (elementOffsetRect) {\n setIndicatorPosition(elementOffsetRect);\n clearInterval(intervalRef.current);\n return true;\n }\n } else {\n clearInterval(intervalRef.current);\n }\n return false;\n });\n const setElement = useResizeObserver(() => {\n if (!measure()) {\n requestAnimationFrame(() => {\n if (!measure()) {\n intervalRef.current = setInterval(measure, POLL_RATE);\n }\n });\n }\n });\n useLayoutEffect(() => {\n setElement(targetElement);\n if (!targetElement) {\n setIndicatorPosition(NULL_ELEMENT_OFFSET_RECT);\n }\n }, [setElement, targetElement]);\n\n // Escape hatch to force a remeasurement when something else changes rather\n // than the target elements' ref or size (for example, the target element\n // can change its position within the tablist).\n useLayoutEffect(() => {\n measure();\n // `measure` is a stable function, so it's safe to omit it from the deps array.\n // deps can't be statically analyzed by ESLint\n }, deps);\n return indicatorPosition;\n}\n\n/* eslint-enable jsdoc/require-param */"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,qBAAkD;AAClD,qBAA4C;AASrC,IAAM,2BAA2B;AAAA,EACtC,SAAS;AAAA,EACT,KAAK;AAAA,EACL,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AACV;AAeO,SAAS,qBAAqB,SAAS;AAK5C,QAAM,OAAO,QAAQ,sBAAsB;AAC3C,MAAI,KAAK,UAAU,KAAK,KAAK,WAAW,GAAG;AACzC;AAAA,EACF;AACA,QAAM,eAAe,QAAQ;AAC7B,QAAM,mBAAmB,cAAc,sBAAsB,KAAK;AAClE,QAAM,sBAAsB,cAAc,cAAc;AACxD,QAAM,sBAAsB,cAAc,aAAa;AAIvD,QAAM,gBAAgB,WAAW,iBAAiB,OAAO,EAAE,KAAK;AAChE,QAAM,iBAAiB,WAAW,iBAAiB,OAAO,EAAE,MAAM;AAIlE,QAAM,SAAS,gBAAgB,KAAK;AACpC,QAAM,SAAS,iBAAiB,KAAK;AACrC,SAAO;AAAA,IACL;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAM,KAAK,MAAM,kBAAkB,OAAO,SAAS;AAAA,IACnD,QAAQ,kBAAkB,QAAQ,KAAK,SAAS,SAAS;AAAA,IACzD,SAAS,kBAAkB,SAAS,KAAK,UAAU,SAAS;AAAA,IAC5D,OAAO,KAAK,OAAO,kBAAkB,QAAQ,SAAS;AAAA;AAAA,IAEtD,OAAO;AAAA,IACP,QAAQ;AAAA,EACV;AACF;AACA,IAAM,YAAY;AAcX,SAAS,0BAA0B,eAAe,OAAO,CAAC,GAAG;AAClE,QAAM,CAAC,mBAAmB,oBAAoB,QAAI,yBAAS,wBAAwB;AACnF,QAAM,kBAAc,uBAAO;AAC3B,QAAM,cAAU,yBAAS,MAAM;AAG7B,QAAI,iBAAiB,cAAc,aAAa;AAC9C,YAAM,oBAAoB,qBAAqB,aAAa;AAC5D,UAAI,mBAAmB;AACrB,6BAAqB,iBAAiB;AACtC,sBAAc,YAAY,OAAO;AACjC,eAAO;AAAA,MACT;AAAA,IACF,OAAO;AACL,oBAAc,YAAY,OAAO;AAAA,IACnC;AACA,WAAO;AAAA,EACT,CAAC;AACD,QAAM,iBAAa,kCAAkB,MAAM;AACzC,QAAI,CAAC,QAAQ,GAAG;AACd,4BAAsB,MAAM;AAC1B,YAAI,CAAC,QAAQ,GAAG;AACd,sBAAY,UAAU,YAAY,SAAS,SAAS;AAAA,QACtD;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACD,sCAAgB,MAAM;AACpB,eAAW,aAAa;AACxB,QAAI,CAAC,eAAe;AAClB,2BAAqB,wBAAwB;AAAA,IAC/C;AAAA,EACF,GAAG,CAAC,YAAY,aAAa,CAAC;AAK9B,sCAAgB,MAAM;AACpB,YAAQ;AAAA,EAGV,GAAG,IAAI;AACP,SAAO;AACT;",
6
6
  "names": []
7
7
  }
@@ -35,8 +35,7 @@ __export(font_exports, {
35
35
  module.exports = __toCommonJS(font_exports);
36
36
  var import_font_values = __toESM(require("./font-values.cjs"));
37
37
  function font(value) {
38
- var _FONT$value;
39
- return (_FONT$value = import_font_values.default[value]) !== null && _FONT$value !== void 0 ? _FONT$value : "";
38
+ return import_font_values.default[value] ?? "";
40
39
  }
41
40
  // Annotate the CommonJS export names for ESM import in node:
42
41
  0 && (module.exports = {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/font.js"],
4
- "sourcesContent": ["/**\n * Internal dependencies\n */\nimport FONT from './font-values';\n\n/**\n *\n * @param {keyof FONT} value Path of value from `FONT`\n * @return {string} Font rule value\n */\nexport function font(value) {\n var _FONT$value;\n return (_FONT$value = FONT[value]) !== null && _FONT$value !== void 0 ? _FONT$value : '';\n}"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,yBAAiB;AAOV,SAAS,KAAK,OAAO;AAC1B,MAAI;AACJ,UAAQ,cAAc,mBAAAA,QAAK,KAAK,OAAO,QAAQ,gBAAgB,SAAS,cAAc;AACxF;",
4
+ "sourcesContent": ["/**\n * Internal dependencies\n */\nimport FONT from './font-values';\n\n/**\n *\n * @param {keyof FONT} value Path of value from `FONT`\n * @return {string} Font rule value\n */\nexport function font(value) {\n return FONT[value] ?? '';\n}"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,yBAAiB;AAOV,SAAS,KAAK,OAAO;AAC1B,SAAO,mBAAAA,QAAK,KAAK,KAAK;AACxB;",
6
6
  "names": ["FONT"]
7
7
  }
@@ -42,8 +42,7 @@ var normalizeTextString = (value) => {
42
42
  return (0, import_remove_accents.default)(value).normalize("NFKC").toLocaleLowerCase().replace(ALL_UNICODE_DASH_CHARACTERS, "-");
43
43
  };
44
44
  function kebabCase(str) {
45
- var _str$toString;
46
- let input = (_str$toString = str?.toString?.()) !== null && _str$toString !== void 0 ? _str$toString : "";
45
+ let input = str?.toString?.() ?? "";
47
46
  input = input.replace(/['\u2019]/, "");
48
47
  return (0, import_change_case.paramCase)(input, {
49
48
  splitRegexp: [
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/strings.ts"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\nimport { paramCase } from 'change-case';\n\n/**\n * All unicode characters that we consider \"dash-like\":\n * - `\\u007e`: ~ (tilde)\n * - `\\u00ad`: \u00AD (soft hyphen)\n * - `\\u2053`: \u2053 (swung dash)\n * - `\\u207b`: \u207B (superscript minus)\n * - `\\u208b`: \u208B (subscript minus)\n * - `\\u2212`: \u2212 (minus sign)\n * - `\\\\p{Pd}`: any other Unicode dash character\n */\nconst ALL_UNICODE_DASH_CHARACTERS = new RegExp(/[\\u007e\\u00ad\\u2053\\u207b\\u208b\\u2212\\p{Pd}]/gu);\nexport const normalizeTextString = value => {\n return removeAccents(value).normalize('NFKC').toLocaleLowerCase().replace(ALL_UNICODE_DASH_CHARACTERS, '-');\n};\n\n/**\n * Converts any string to kebab case.\n * Backwards compatible with Lodash's `_.kebabCase()`.\n * Backwards compatible with `_wp_to_kebab_case()`.\n *\n * @see https://lodash.com/docs/4.17.15#kebabCase\n * @see https://developer.wordpress.org/reference/functions/_wp_to_kebab_case/\n *\n * @param str String to convert.\n * @return Kebab-cased string\n */\nexport function kebabCase(str) {\n var _str$toString;\n let input = (_str$toString = str?.toString?.()) !== null && _str$toString !== void 0 ? _str$toString : '';\n\n // See https://github.com/lodash/lodash/blob/b185fcee26b2133bd071f4aaca14b455c2ed1008/lodash.js#L4970\n input = input.replace(/['\\u2019]/, '');\n return paramCase(input, {\n splitRegexp: [/(?!(?:1ST|2ND|3RD|[4-9]TH)(?![a-z]))([a-z0-9])([A-Z])/g,\n // fooBar => foo-bar, 3Bar => 3-bar\n /(?!(?:1st|2nd|3rd|[4-9]th)(?![a-z]))([0-9])([a-z])/g,\n // 3bar => 3-bar\n /([A-Za-z])([0-9])/g,\n // Foo3 => foo-3, foo3 => foo-3\n /([A-Z])([A-Z][a-z])/g // FOOBar => foo-bar\n ]\n });\n}\n\n/**\n * Escapes the RegExp special characters.\n *\n * @param string Input string.\n *\n * @return Regex-escaped string.\n */\nexport function escapeRegExp(string) {\n return string.replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&');\n}"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,4BAA0B;AAC1B,yBAA0B;AAY1B,IAAM,8BAA8B,IAAI,OAAO,gDAAgD;AACxF,IAAM,sBAAsB,WAAS;AAC1C,aAAO,sBAAAA,SAAc,KAAK,EAAE,UAAU,MAAM,EAAE,kBAAkB,EAAE,QAAQ,6BAA6B,GAAG;AAC5G;AAaO,SAAS,UAAU,KAAK;AAC7B,MAAI;AACJ,MAAI,SAAS,gBAAgB,KAAK,WAAW,OAAO,QAAQ,kBAAkB,SAAS,gBAAgB;AAGvG,UAAQ,MAAM,QAAQ,aAAa,EAAE;AACrC,aAAO,8BAAU,OAAO;AAAA,IACtB,aAAa;AAAA,MAAC;AAAA;AAAA,MAEd;AAAA;AAAA,MAEA;AAAA;AAAA,MAEA;AAAA;AAAA,IACA;AAAA,EACF,CAAC;AACH;AASO,SAAS,aAAa,QAAQ;AACnC,SAAO,OAAO,QAAQ,uBAAuB,MAAM;AACrD;",
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\nimport { paramCase } from 'change-case';\n\n/**\n * All unicode characters that we consider \"dash-like\":\n * - `\\u007e`: ~ (tilde)\n * - `\\u00ad`: \u00AD (soft hyphen)\n * - `\\u2053`: \u2053 (swung dash)\n * - `\\u207b`: \u207B (superscript minus)\n * - `\\u208b`: \u208B (subscript minus)\n * - `\\u2212`: \u2212 (minus sign)\n * - `\\\\p{Pd}`: any other Unicode dash character\n */\nconst ALL_UNICODE_DASH_CHARACTERS = new RegExp(/[\\u007e\\u00ad\\u2053\\u207b\\u208b\\u2212\\p{Pd}]/gu);\nexport const normalizeTextString = value => {\n return removeAccents(value).normalize('NFKC').toLocaleLowerCase().replace(ALL_UNICODE_DASH_CHARACTERS, '-');\n};\n\n/**\n * Converts any string to kebab case.\n * Backwards compatible with Lodash's `_.kebabCase()`.\n * Backwards compatible with `_wp_to_kebab_case()`.\n *\n * @see https://lodash.com/docs/4.17.15#kebabCase\n * @see https://developer.wordpress.org/reference/functions/_wp_to_kebab_case/\n *\n * @param str String to convert.\n * @return Kebab-cased string\n */\nexport function kebabCase(str) {\n let input = str?.toString?.() ?? '';\n\n // See https://github.com/lodash/lodash/blob/b185fcee26b2133bd071f4aaca14b455c2ed1008/lodash.js#L4970\n input = input.replace(/['\\u2019]/, '');\n return paramCase(input, {\n splitRegexp: [/(?!(?:1ST|2ND|3RD|[4-9]TH)(?![a-z]))([a-z0-9])([A-Z])/g,\n // fooBar => foo-bar, 3Bar => 3-bar\n /(?!(?:1st|2nd|3rd|[4-9]th)(?![a-z]))([0-9])([a-z])/g,\n // 3bar => 3-bar\n /([A-Za-z])([0-9])/g,\n // Foo3 => foo-3, foo3 => foo-3\n /([A-Z])([A-Z][a-z])/g // FOOBar => foo-bar\n ]\n });\n}\n\n/**\n * Escapes the RegExp special characters.\n *\n * @param string Input string.\n *\n * @return Regex-escaped string.\n */\nexport function escapeRegExp(string) {\n return string.replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&');\n}"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,4BAA0B;AAC1B,yBAA0B;AAY1B,IAAM,8BAA8B,IAAI,OAAO,gDAAgD;AACxF,IAAM,sBAAsB,WAAS;AAC1C,aAAO,sBAAAA,SAAc,KAAK,EAAE,UAAU,MAAM,EAAE,kBAAkB,EAAE,QAAQ,6BAA6B,GAAG;AAC5G;AAaO,SAAS,UAAU,KAAK;AAC7B,MAAI,QAAQ,KAAK,WAAW,KAAK;AAGjC,UAAQ,MAAM,QAAQ,aAAa,EAAE;AACrC,aAAO,8BAAU,OAAO;AAAA,IACtB,aAAa;AAAA,MAAC;AAAA;AAAA,MAEd;AAAA;AAAA,MAEA;AAAA;AAAA,MAEA;AAAA;AAAA,IACA;AAAA,EACF,CAAC;AACH;AASO,SAAS,aAAa,QAAQ;AACnC,SAAO,OAAO,QAAQ,uBAAuB,MAAM;AACrD;",
6
6
  "names": ["removeAccents"]
7
7
  }
@@ -31,7 +31,7 @@ function useDeprecated36pxDefaultSizeProp(props) {
31
31
  } = props;
32
32
  return {
33
33
  ...otherProps,
34
- __next40pxDefaultSize: __next40pxDefaultSize !== null && __next40pxDefaultSize !== void 0 ? __next40pxDefaultSize : __next36pxDefaultSize
34
+ __next40pxDefaultSize: __next40pxDefaultSize ?? __next36pxDefaultSize
35
35
  };
36
36
  }
37
37
  // Annotate the CommonJS export names for ESM import in node:
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/use-deprecated-props.ts"],
4
- "sourcesContent": ["export function useDeprecated36pxDefaultSizeProp(props) {\n const {\n __next36pxDefaultSize,\n __next40pxDefaultSize,\n ...otherProps\n } = props;\n return {\n ...otherProps,\n __next40pxDefaultSize: __next40pxDefaultSize !== null && __next40pxDefaultSize !== void 0 ? __next40pxDefaultSize : __next36pxDefaultSize\n };\n}"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,SAAS,iCAAiC,OAAO;AACtD,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AACJ,SAAO;AAAA,IACL,GAAG;AAAA,IACH,uBAAuB,0BAA0B,QAAQ,0BAA0B,SAAS,wBAAwB;AAAA,EACtH;AACF;",
4
+ "sourcesContent": ["export function useDeprecated36pxDefaultSizeProp(props) {\n const {\n __next36pxDefaultSize,\n __next40pxDefaultSize,\n ...otherProps\n } = props;\n return {\n ...otherProps,\n __next40pxDefaultSize: __next40pxDefaultSize ?? __next36pxDefaultSize\n };\n}"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,SAAS,iCAAiC,OAAO;AACtD,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AACJ,SAAO;AAAA,IACL,GAAG;AAAA,IACH,uBAAuB,yBAAyB;AAAA,EAClD;AACF;",
6
6
  "names": []
7
7
  }
@@ -35,8 +35,7 @@ function isValueEmpty(value) {
35
35
  return !isValueDefined(value) || isEmptyString;
36
36
  }
37
37
  function getDefinedValue(values = [], fallbackValue) {
38
- var _values$find;
39
- return (_values$find = values.find(isValueDefined)) !== null && _values$find !== void 0 ? _values$find : fallbackValue;
38
+ return values.find(isValueDefined) ?? fallbackValue;
40
39
  }
41
40
  var stringToNumber = (value) => {
42
41
  return parseFloat(value);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/values.js"],
4
- "sourcesContent": ["/**\n * Determines if a value is null or undefined.\n *\n * @template T\n *\n * @param {T} value The value to check.\n * @return {value is Exclude<T, null | undefined>} Whether value is not null or undefined.\n */\nexport function isValueDefined(value) {\n return value !== undefined && value !== null;\n}\n\n/**\n * Determines if a value is empty, null, or undefined.\n *\n * @param {string | number | null | undefined} value The value to check.\n * @return {value is (\"\" | null | undefined)} Whether value is empty.\n */\nexport function isValueEmpty(value) {\n const isEmptyString = value === '';\n return !isValueDefined(value) || isEmptyString;\n}\n\n/**\n * Get the first defined/non-null value from an array.\n *\n * @template T\n *\n * @param {Array<T | null | undefined>} values Values to derive from.\n * @param {T} fallbackValue Fallback value if there are no defined values.\n * @return {T} A defined value or the fallback value.\n */\nexport function getDefinedValue(values = [], fallbackValue) {\n var _values$find;\n return (_values$find = values.find(isValueDefined)) !== null && _values$find !== void 0 ? _values$find : fallbackValue;\n}\n\n/**\n * Converts a string to a number.\n *\n * @param {string} value\n * @return {number} String as a number.\n */\nexport const stringToNumber = value => {\n return parseFloat(value);\n};\n\n/**\n * Regardless of the input being a string or a number, returns a number.\n *\n * Returns `undefined` in case the string is `undefined` or not a valid numeric value.\n *\n * @param {string | number} value\n * @return {number} The parsed number.\n */\nexport const ensureNumber = value => {\n return typeof value === 'string' ? stringToNumber(value) : value;\n};"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQO,SAAS,eAAe,OAAO;AACpC,SAAO,UAAU,UAAa,UAAU;AAC1C;AAQO,SAAS,aAAa,OAAO;AAClC,QAAM,gBAAgB,UAAU;AAChC,SAAO,CAAC,eAAe,KAAK,KAAK;AACnC;AAWO,SAAS,gBAAgB,SAAS,CAAC,GAAG,eAAe;AAC1D,MAAI;AACJ,UAAQ,eAAe,OAAO,KAAK,cAAc,OAAO,QAAQ,iBAAiB,SAAS,eAAe;AAC3G;AAQO,IAAM,iBAAiB,WAAS;AACrC,SAAO,WAAW,KAAK;AACzB;AAUO,IAAM,eAAe,WAAS;AACnC,SAAO,OAAO,UAAU,WAAW,eAAe,KAAK,IAAI;AAC7D;",
4
+ "sourcesContent": ["/**\n * Determines if a value is null or undefined.\n *\n * @template T\n *\n * @param {T} value The value to check.\n * @return {value is Exclude<T, null | undefined>} Whether value is not null or undefined.\n */\nexport function isValueDefined(value) {\n return value !== undefined && value !== null;\n}\n\n/**\n * Determines if a value is empty, null, or undefined.\n *\n * @param {string | number | null | undefined} value The value to check.\n * @return {value is (\"\" | null | undefined)} Whether value is empty.\n */\nexport function isValueEmpty(value) {\n const isEmptyString = value === '';\n return !isValueDefined(value) || isEmptyString;\n}\n\n/**\n * Get the first defined/non-null value from an array.\n *\n * @template T\n *\n * @param {Array<T | null | undefined>} values Values to derive from.\n * @param {T} fallbackValue Fallback value if there are no defined values.\n * @return {T} A defined value or the fallback value.\n */\nexport function getDefinedValue(values = [], fallbackValue) {\n return values.find(isValueDefined) ?? fallbackValue;\n}\n\n/**\n * Converts a string to a number.\n *\n * @param {string} value\n * @return {number} String as a number.\n */\nexport const stringToNumber = value => {\n return parseFloat(value);\n};\n\n/**\n * Regardless of the input being a string or a number, returns a number.\n *\n * Returns `undefined` in case the string is `undefined` or not a valid numeric value.\n *\n * @param {string | number} value\n * @return {number} The parsed number.\n */\nexport const ensureNumber = value => {\n return typeof value === 'string' ? stringToNumber(value) : value;\n};"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQO,SAAS,eAAe,OAAO;AACpC,SAAO,UAAU,UAAa,UAAU;AAC1C;AAQO,SAAS,aAAa,OAAO;AAClC,QAAM,gBAAgB,UAAU;AAChC,SAAO,CAAC,eAAe,KAAK,KAAK;AACnC;AAWO,SAAS,gBAAgB,SAAS,CAAC,GAAG,eAAe;AAC1D,SAAO,OAAO,KAAK,cAAc,KAAK;AACxC;AAQO,IAAM,iBAAiB,WAAS;AACrC,SAAO,WAAW,KAAK;AACzB;AAUO,IAAM,eAAe,WAAS;AACnC,SAAO,OAAO,UAAU,WAAW,eAAe,KAAK,IAAI;AAC7D;",
6
6
  "names": []
7
7
  }
@@ -49,7 +49,7 @@ var UnforwardedValidatedComboboxControl = ({
49
49
  (0, import_element.useEffect)(() => {
50
50
  const input = validityTargetRef.current?.querySelector('input[role="combobox"]');
51
51
  if (input) {
52
- input.required = required !== null && required !== void 0 ? required : false;
52
+ input.required = required ?? false;
53
53
  }
54
54
  }, [required]);
55
55
  return (
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/validated-form-controls/components/combobox-control.tsx"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useMergeRefs } from '@wordpress/compose';\nimport { forwardRef, useEffect, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { ControlWithError } from '../control-with-error';\nimport ComboboxControl from '../../combobox-control';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst UnforwardedValidatedComboboxControl = ({\n required,\n customValidity,\n markWhenOptional,\n ...restProps\n}, forwardedRef) => {\n const validityTargetRef = useRef(null);\n const mergedRefs = useMergeRefs([forwardedRef, validityTargetRef]);\n\n // TODO: Upstream limitation - The `required` attribute is not passed down to the input,\n // so we need to set it manually.\n useEffect(() => {\n const input = validityTargetRef.current?.querySelector('input[role=\"combobox\"]');\n if (input) {\n input.required = required !== null && required !== void 0 ? required : false;\n }\n }, [required]);\n return (\n /*#__PURE__*/\n // TODO: Bug - Missing value error is not cleared immediately on change, waits for blur.\n _jsx(ControlWithError, {\n required: required,\n markWhenOptional: markWhenOptional,\n ref: mergedRefs,\n customValidity: customValidity,\n getValidityTarget: () => validityTargetRef.current?.querySelector('input[role=\"combobox\"]'),\n children: /*#__PURE__*/_jsx(ComboboxControl, {\n __next40pxDefaultSize: true,\n ...restProps\n })\n })\n );\n};\nexport const ValidatedComboboxControl = forwardRef(UnforwardedValidatedComboboxControl);\nValidatedComboboxControl.displayName = 'ValidatedComboboxControl';"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAA6B;AAC7B,qBAA8C;AAK9C,gCAAiC;AACjC,8BAA4B;AAC5B,yBAA4B;AAC5B,IAAM,sCAAsC,CAAC;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAG,iBAAiB;AAClB,QAAM,wBAAoB,uBAAO,IAAI;AACrC,QAAM,iBAAa,6BAAa,CAAC,cAAc,iBAAiB,CAAC;AAIjE,gCAAU,MAAM;AACd,UAAM,QAAQ,kBAAkB,SAAS,cAAc,wBAAwB;AAC/E,QAAI,OAAO;AACT,YAAM,WAAW,aAAa,QAAQ,aAAa,SAAS,WAAW;AAAA,IACzE;AAAA,EACF,GAAG,CAAC,QAAQ,CAAC;AACb;AAAA;AAAA,IAGE,uCAAAA,KAAK,4CAAkB;AAAA,MACrB;AAAA,MACA;AAAA,MACA,KAAK;AAAA,MACL;AAAA,MACA,mBAAmB,MAAM,kBAAkB,SAAS,cAAc,wBAAwB;AAAA,MAC1F,UAAuB,uCAAAA,KAAK,wBAAAC,SAAiB;AAAA,QAC3C,uBAAuB;AAAA,QACvB,GAAG;AAAA,MACL,CAAC;AAAA,IACH,CAAC;AAAA;AAEL;AACO,IAAM,+BAA2B,2BAAW,mCAAmC;AACtF,yBAAyB,cAAc;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useMergeRefs } from '@wordpress/compose';\nimport { forwardRef, useEffect, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { ControlWithError } from '../control-with-error';\nimport ComboboxControl from '../../combobox-control';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst UnforwardedValidatedComboboxControl = ({\n required,\n customValidity,\n markWhenOptional,\n ...restProps\n}, forwardedRef) => {\n const validityTargetRef = useRef(null);\n const mergedRefs = useMergeRefs([forwardedRef, validityTargetRef]);\n\n // TODO: Upstream limitation - The `required` attribute is not passed down to the input,\n // so we need to set it manually.\n useEffect(() => {\n const input = validityTargetRef.current?.querySelector('input[role=\"combobox\"]');\n if (input) {\n input.required = required ?? false;\n }\n }, [required]);\n return (\n /*#__PURE__*/\n // TODO: Bug - Missing value error is not cleared immediately on change, waits for blur.\n _jsx(ControlWithError, {\n required: required,\n markWhenOptional: markWhenOptional,\n ref: mergedRefs,\n customValidity: customValidity,\n getValidityTarget: () => validityTargetRef.current?.querySelector('input[role=\"combobox\"]'),\n children: /*#__PURE__*/_jsx(ComboboxControl, {\n __next40pxDefaultSize: true,\n ...restProps\n })\n })\n );\n};\nexport const ValidatedComboboxControl = forwardRef(UnforwardedValidatedComboboxControl);\nValidatedComboboxControl.displayName = 'ValidatedComboboxControl';"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAA6B;AAC7B,qBAA8C;AAK9C,gCAAiC;AACjC,8BAA4B;AAC5B,yBAA4B;AAC5B,IAAM,sCAAsC,CAAC;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAG,iBAAiB;AAClB,QAAM,wBAAoB,uBAAO,IAAI;AACrC,QAAM,iBAAa,6BAAa,CAAC,cAAc,iBAAiB,CAAC;AAIjE,gCAAU,MAAM;AACd,UAAM,QAAQ,kBAAkB,SAAS,cAAc,wBAAwB;AAC/E,QAAI,OAAO;AACT,YAAM,WAAW,YAAY;AAAA,IAC/B;AAAA,EACF,GAAG,CAAC,QAAQ,CAAC;AACb;AAAA;AAAA,IAGE,uCAAAA,KAAK,4CAAkB;AAAA,MACrB;AAAA,MACA;AAAA,MACA,KAAK;AAAA,MACL;AAAA,MACA,mBAAmB,MAAM,kBAAkB,SAAS,cAAc,wBAAwB;AAAA,MAC1F,UAAuB,uCAAAA,KAAK,wBAAAC,SAAiB;AAAA,QAC3C,uBAAuB;AAAA,QACvB,GAAG;AAAA,MACL,CAAC;AAAA,IACH,CAAC;AAAA;AAEL;AACO,IAAM,+BAA2B,2BAAW,mCAAmC;AACtF,yBAAyB,cAAc;",
6
6
  "names": ["_jsx", "ComboboxControl"]
7
7
  }
@@ -48,7 +48,7 @@ var UnforwardedValidatedToggleControl = ({
48
48
  const mergedRefs = (0, import_compose.useMergeRefs)([forwardedRef, validityTargetRef]);
49
49
  (0, import_element.useEffect)(() => {
50
50
  if (validityTargetRef.current) {
51
- validityTargetRef.current.required = required !== null && required !== void 0 ? required : false;
51
+ validityTargetRef.current.required = required ?? false;
52
52
  }
53
53
  }, [required]);
54
54
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_control_with_error.ControlWithError, {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/validated-form-controls/components/toggle-control.tsx"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { forwardRef, useRef, useEffect } from '@wordpress/element';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { ControlWithError } from '../control-with-error';\nimport ToggleControl from '../../toggle-control';\n\n// TODO: Should we customize the default `missingValue` message? It says to \"check this box\".\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst UnforwardedValidatedToggleControl = ({\n required,\n customValidity,\n markWhenOptional,\n ...restProps\n}, forwardedRef) => {\n const validityTargetRef = useRef(null);\n const mergedRefs = useMergeRefs([forwardedRef, validityTargetRef]);\n\n // TODO: Upstream limitation - The `required` attribute is not passed down to the input,\n // so we need to set it manually.\n useEffect(() => {\n if (validityTargetRef.current) {\n validityTargetRef.current.required = required !== null && required !== void 0 ? required : false;\n }\n }, [required]);\n return /*#__PURE__*/_jsx(ControlWithError, {\n required: required,\n markWhenOptional: markWhenOptional,\n customValidity: customValidity,\n getValidityTarget: () => validityTargetRef.current,\n children: /*#__PURE__*/_jsx(ToggleControl, {\n ref: mergedRefs,\n ...restProps\n })\n });\n};\nexport const ValidatedToggleControl = forwardRef(UnforwardedValidatedToggleControl);\nValidatedToggleControl.displayName = 'ValidatedToggleControl';"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAA8C;AAC9C,qBAA6B;AAK7B,gCAAiC;AACjC,4BAA0B;AAG1B,yBAA4B;AAC5B,IAAM,oCAAoC,CAAC;AAAA,EACzC;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAG,iBAAiB;AAClB,QAAM,wBAAoB,uBAAO,IAAI;AACrC,QAAM,iBAAa,6BAAa,CAAC,cAAc,iBAAiB,CAAC;AAIjE,gCAAU,MAAM;AACd,QAAI,kBAAkB,SAAS;AAC7B,wBAAkB,QAAQ,WAAW,aAAa,QAAQ,aAAa,SAAS,WAAW;AAAA,IAC7F;AAAA,EACF,GAAG,CAAC,QAAQ,CAAC;AACb,SAAoB,uCAAAA,KAAK,4CAAkB;AAAA,IACzC;AAAA,IACA;AAAA,IACA;AAAA,IACA,mBAAmB,MAAM,kBAAkB;AAAA,IAC3C,UAAuB,uCAAAA,KAAK,sBAAAC,SAAe;AAAA,MACzC,KAAK;AAAA,MACL,GAAG;AAAA,IACL,CAAC;AAAA,EACH,CAAC;AACH;AACO,IAAM,6BAAyB,2BAAW,iCAAiC;AAClF,uBAAuB,cAAc;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { forwardRef, useRef, useEffect } from '@wordpress/element';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { ControlWithError } from '../control-with-error';\nimport ToggleControl from '../../toggle-control';\n\n// TODO: Should we customize the default `missingValue` message? It says to \"check this box\".\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst UnforwardedValidatedToggleControl = ({\n required,\n customValidity,\n markWhenOptional,\n ...restProps\n}, forwardedRef) => {\n const validityTargetRef = useRef(null);\n const mergedRefs = useMergeRefs([forwardedRef, validityTargetRef]);\n\n // TODO: Upstream limitation - The `required` attribute is not passed down to the input,\n // so we need to set it manually.\n useEffect(() => {\n if (validityTargetRef.current) {\n validityTargetRef.current.required = required ?? false;\n }\n }, [required]);\n return /*#__PURE__*/_jsx(ControlWithError, {\n required: required,\n markWhenOptional: markWhenOptional,\n customValidity: customValidity,\n getValidityTarget: () => validityTargetRef.current,\n children: /*#__PURE__*/_jsx(ToggleControl, {\n ref: mergedRefs,\n ...restProps\n })\n });\n};\nexport const ValidatedToggleControl = forwardRef(UnforwardedValidatedToggleControl);\nValidatedToggleControl.displayName = 'ValidatedToggleControl';"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAA8C;AAC9C,qBAA6B;AAK7B,gCAAiC;AACjC,4BAA0B;AAG1B,yBAA4B;AAC5B,IAAM,oCAAoC,CAAC;AAAA,EACzC;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAG,iBAAiB;AAClB,QAAM,wBAAoB,uBAAO,IAAI;AACrC,QAAM,iBAAa,6BAAa,CAAC,cAAc,iBAAiB,CAAC;AAIjE,gCAAU,MAAM;AACd,QAAI,kBAAkB,SAAS;AAC7B,wBAAkB,QAAQ,WAAW,YAAY;AAAA,IACnD;AAAA,EACF,GAAG,CAAC,QAAQ,CAAC;AACb,SAAoB,uCAAAA,KAAK,4CAAkB;AAAA,IACzC;AAAA,IACA;AAAA,IACA;AAAA,IACA,mBAAmB,MAAM,kBAAkB;AAAA,IAC3C,UAAuB,uCAAAA,KAAK,sBAAAC,SAAe;AAAA,MACzC,KAAK;AAAA,MACL,GAAG;AAAA,IACL,CAAC;AAAA,EACH,CAAC;AACH;AACO,IAAM,6BAAyB,2BAAW,iCAAiC;AAClF,uBAAuB,cAAc;",
6
6
  "names": ["_jsx", "ToggleControl"]
7
7
  }
@@ -63,18 +63,16 @@ function UnforwardedControlWithError({
63
63
  return () => validityTarget?.removeEventListener("invalid", handler);
64
64
  }, [getValidityTarget]);
65
65
  (0, import_element.useEffect)(() => {
66
- var _validityTarget$close;
67
66
  const validityTarget = getValidityTarget();
68
67
  const suppressNativePopover = (event) => {
69
- var _target$form$elements;
70
68
  event.preventDefault();
71
69
  const target = event.target;
72
- const firstErrorInForm = Array.from((_target$form$elements = target.form?.elements) !== null && _target$form$elements !== void 0 ? _target$form$elements : []).find((el) => !el.validity.valid);
70
+ const firstErrorInForm = Array.from(target.form?.elements ?? []).find((el) => !el.validity.valid);
73
71
  if (!target.form || firstErrorInForm === target) {
74
72
  target.focus();
75
73
  }
76
74
  };
77
- const radioSibilings = validityTarget?.type === "radio" && validityTarget?.name ? Array.from((_validityTarget$close = validityTarget?.closest(`.${className}`)?.querySelectorAll(`input[type="radio"][name="${validityTarget?.name}"]`)) !== null && _validityTarget$close !== void 0 ? _validityTarget$close : []).filter((sibling) => sibling !== validityTarget) : [];
75
+ const radioSibilings = validityTarget?.type === "radio" && validityTarget?.name ? Array.from(validityTarget?.closest(`.${className}`)?.querySelectorAll(`input[type="radio"][name="${validityTarget?.name}"]`) ?? []).filter((sibling) => sibling !== validityTarget) : [];
78
76
  validityTarget?.addEventListener("invalid", suppressNativePopover);
79
77
  radioSibilings.forEach((sibling) => sibling.addEventListener("invalid", suppressNativePopover));
80
78
  return () => {
@@ -110,8 +108,7 @@ function UnforwardedControlWithError({
110
108
  break;
111
109
  }
112
110
  case "invalid": {
113
- var _customValidity$messa;
114
- validityTarget?.setCustomValidity((_customValidity$messa = customValidity.message) !== null && _customValidity$messa !== void 0 ? _customValidity$messa : "");
111
+ validityTarget?.setCustomValidity(customValidity.message ?? "");
115
112
  setErrorMessage(validityTarget?.validationMessage);
116
113
  setStatusMessage(void 0);
117
114
  break;
@@ -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 var _validityTarget$close;\n const validityTarget = getValidityTarget();\n const suppressNativePopover = event => {\n var _target$form$elements;\n event.preventDefault();\n const target = event.target;\n const firstErrorInForm = Array.from((_target$form$elements = target.form?.elements) !== null && _target$form$elements !== void 0 ? _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$close = validityTarget?.closest(`.${className}`)?.querySelectorAll(`input[type=\"radio\"][name=\"${validityTarget?.name}\"]`)) !== null && _validityTarget$close !== void 0 ? _validityTarget$close : []).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 var _customValidity$messa;\n validityTarget?.setCustomValidity((_customValidity$messa = customValidity.message) !== null && _customValidity$messa !== void 0 ? _customValidity$messa : '');\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, 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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",
6
6
  "names": ["_jsxs", "_Fragment", "_jsx"]
7
7
  }
@@ -6,128 +6,13 @@ 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
- var css = `/**
10
- * SCSS Variables.
11
- *
12
- * Please use variables from this sheet to ensure consistency across the UI.
13
- * Don't add to this sheet unless you're pretty sure the value will be reused in many places.
14
- * For example, don't add rules to this sheet that affect block visuals. It's purely for UI.
15
- */
16
- /**
17
- * Colors
18
- */
19
- /**
20
- * Fonts & basic variables.
21
- */
22
- /**
23
- * Typography
24
- */
25
- /**
26
- * Grid System.
27
- * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/
28
- */
29
- /**
30
- * Radius scale.
31
- */
32
- /**
33
- * Elevation scale.
34
- */
35
- /**
36
- * Dimensions.
37
- */
38
- /**
39
- * Mobile specific styles
40
- */
41
- /**
42
- * Editor styles.
43
- */
44
- /**
45
- * Block & Editor UI.
46
- */
47
- /**
48
- * Block paddings.
49
- */
50
- /**
51
- * React Native specific.
52
- * These variables do not appear to be used anywhere else.
53
- */
54
- .style-module__grid-container__AuKvW {
55
- direction: ltr;
56
- display: grid;
57
- grid-template-columns: repeat(3, 1fr);
58
- grid-template-rows: repeat(3, 1fr);
59
- box-sizing: border-box;
60
- aspect-ratio: 1;
61
- border: 1px solid transparent;
62
- border-radius: 4px;
63
- outline: none;
64
- cursor: pointer;
9
+ if (typeof document !== "undefined" && !document.head.querySelector("style[data-wp-hash='0584b48070']")) {
10
+ const style = document.createElement("style");
11
+ style.setAttribute("data-wp-hash", "0584b48070");
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
+ document.head.appendChild(style);
65
14
  }
66
-
67
- .style-module__grid-row__xCH47 {
68
- grid-column: 1/-1;
69
- box-sizing: border-box;
70
- display: grid;
71
- grid-template-columns: repeat(3, 1fr);
72
- }
73
-
74
- .style-module__cell__Ovdp9 {
75
- position: relative;
76
- display: flex;
77
- align-items: center;
78
- justify-content: center;
79
- box-sizing: border-box;
80
- margin: 0;
81
- padding: 0;
82
- appearance: none;
83
- border: none;
84
- outline: none;
85
- }
86
-
87
- .style-module__point__N-8S1 {
88
- display: block;
89
- contain: strict;
90
- box-sizing: border-box;
91
- width: 6px;
92
- aspect-ratio: 1;
93
- margin: auto;
94
- color: var(--wp-components-color-gray-400, #ccc);
95
- /* Use border instead of background color so that the point shows
96
- in Windows High Contrast Mode */
97
- border: 3px solid currentColor;
98
- /* Highlight active item */
99
- }
100
- .style-module__cell__Ovdp9[data-active-item] .style-module__point__N-8S1 {
101
- color: var(--wp-components-color-foreground, #1e1e1e);
102
- transform: scale(1.6666666667);
103
- }
104
- .style-module__point__N-8S1 {
105
- /* Hover styles for non-active items */
106
- }
107
- .style-module__cell__Ovdp9:not([data-active-item]):hover .style-module__point__N-8S1 {
108
- color: var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9));
109
- }
110
- .style-module__point__N-8S1 {
111
- /* Show an outline only when interacting with keyboard */
112
- }
113
- .style-module__cell__Ovdp9[data-focus-visible] .style-module__point__N-8S1 {
114
- outline: 1px solid var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9));
115
- outline-offset: 1px;
116
- }
117
- @media not (prefers-reduced-motion) {
118
- .style-module__point__N-8S1 {
119
- transition-property: color, transform;
120
- transition-duration: 120ms;
121
- transition-timing-function: linear;
122
- }
123
- }`;
124
- document.head.appendChild(document.createElement("style")).appendChild(document.createTextNode(css));
125
- var style_module_default = {
126
- "grid-container": "style-module__grid-container__AuKvW",
127
- "grid-row": "style-module__grid-row__xCH47",
128
- "cell": "style-module__cell__Ovdp9",
129
- "point": "style-module__point__N-8S1"
130
- };
15
+ var style_module_default = { "grid-container": "_02e2af5803bf5bda__grid-container", "grid-row": "c421f8ed08c23077__grid-row", "cell": "_3af769f755097fdb__cell", "point": "_37ef12d4fb6d6131__point" };
131
16
 
132
17
  // packages/components/src/alignment-matrix-control/cell.tsx
133
18
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
@@ -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}", "const css = `/**\n * SCSS Variables.\n *\n * Please use variables from this sheet to ensure consistency across the UI.\n * Don't add to this sheet unless you're pretty sure the value will be reused in many places.\n * For example, don't add rules to this sheet that affect block visuals. It's purely for UI.\n */\n/**\n * Colors\n */\n/**\n * Fonts & basic variables.\n */\n/**\n * Typography\n */\n/**\n * Grid System.\n * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/\n */\n/**\n * Radius scale.\n */\n/**\n * Elevation scale.\n */\n/**\n * Dimensions.\n */\n/**\n * Mobile specific styles\n */\n/**\n * Editor styles.\n */\n/**\n * Block & Editor UI.\n */\n/**\n * Block paddings.\n */\n/**\n * React Native specific.\n * These variables do not appear to be used anywhere else.\n */\n.style-module__grid-container__AuKvW {\n direction: ltr;\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n grid-template-rows: repeat(3, 1fr);\n box-sizing: border-box;\n aspect-ratio: 1;\n border: 1px solid transparent;\n border-radius: 4px;\n outline: none;\n cursor: pointer;\n}\n\n.style-module__grid-row__xCH47 {\n grid-column: 1/-1;\n box-sizing: border-box;\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n}\n\n.style-module__cell__Ovdp9 {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n appearance: none;\n border: none;\n outline: none;\n}\n\n.style-module__point__N-8S1 {\n display: block;\n contain: strict;\n box-sizing: border-box;\n width: 6px;\n aspect-ratio: 1;\n margin: auto;\n color: var(--wp-components-color-gray-400, #ccc);\n /* Use border instead of background color so that the point shows\n in Windows High Contrast Mode */\n border: 3px solid currentColor;\n /* Highlight active item */\n}\n.style-module__cell__Ovdp9[data-active-item] .style-module__point__N-8S1 {\n color: var(--wp-components-color-foreground, #1e1e1e);\n transform: scale(1.6666666667);\n}\n.style-module__point__N-8S1 {\n /* Hover styles for non-active items */\n}\n.style-module__cell__Ovdp9:not([data-active-item]):hover .style-module__point__N-8S1 {\n color: var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9));\n}\n.style-module__point__N-8S1 {\n /* Show an outline only when interacting with keyboard */\n}\n.style-module__cell__Ovdp9[data-focus-visible] .style-module__point__N-8S1 {\n outline: 1px solid var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9));\n outline-offset: 1px;\n}\n@media not (prefers-reduced-motion) {\n .style-module__point__N-8S1 {\n transition-property: color, transform;\n transition-duration: 120ms;\n transition-timing-function: linear;\n }\n}`;\ndocument.head\n .appendChild(document.createElement(\"style\"))\n .appendChild(document.createTextNode(css));\nexport {css};\nexport default {\n \"grid-container\": \"style-module__grid-container__AuKvW\",\n \"grid-row\": \"style-module__grid-row__xCH47\",\n \"cell\": \"style-module__cell__Ovdp9\",\n \"point\": \"style-module__point__N-8S1\"\n};"],
5
- "mappings": ";AAGA,OAAO,UAAU;AAKjB,SAAS,iBAAiB;AAC1B,OAAO,aAAa;AACpB,SAAS,sBAAsB;AAK/B,SAAS,uBAAuB;;;ACfhC,IAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmHZ,SAAS,KACJ,YAAY,SAAS,cAAc,OAAO,CAAC,EAC3C,YAAY,SAAS,eAAe,GAAG,CAAC;AAE7C,IAAO,uBAAQ;AAAA,EACb,kBAAkB;AAAA,EAClB,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,SAAS;AACX;;;AD3GA,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;",
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"],
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
  }
@@ -18,12 +18,11 @@ function AlignmentMatrixControlIcon({
18
18
  value = "center",
19
19
  ...props
20
20
  }) {
21
- var _ref, _ref2;
22
21
  return /* @__PURE__ */ _jsx(SVG, {
23
22
  xmlns: "http://www.w3.org/2000/svg",
24
23
  viewBox: `0 0 ${BASE_SIZE} ${BASE_SIZE}`,
25
- width: (_ref = size !== null && size !== void 0 ? size : width) !== null && _ref !== void 0 ? _ref : BASE_SIZE,
26
- height: (_ref2 = size !== null && size !== void 0 ? size : height) !== null && _ref2 !== void 0 ? _ref2 : BASE_SIZE,
24
+ width: size ?? width ?? BASE_SIZE,
25
+ height: size ?? height ?? BASE_SIZE,
27
26
  role: "presentation",
28
27
  className: clsx("component-alignment-matrix-control-icon", className),
29
28
  style: {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/alignment-matrix-control/icon.tsx"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { Rect, SVG } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport { ALIGNMENTS, getAlignmentIndex } from './utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst BASE_SIZE = 24;\nconst GRID_CELL_SIZE = 7;\nconst GRID_PADDING = (BASE_SIZE - 3 * GRID_CELL_SIZE) / 2;\nconst DOT_SIZE = 2;\nconst DOT_SIZE_SELECTED = 4;\nfunction AlignmentMatrixControlIcon({\n className,\n disablePointerEvents = true,\n size,\n width,\n height,\n style = {},\n value = 'center',\n ...props\n}) {\n var _ref, _ref2;\n return /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: `0 0 ${BASE_SIZE} ${BASE_SIZE}`,\n width: (_ref = size !== null && size !== void 0 ? size : width) !== null && _ref !== void 0 ? _ref : BASE_SIZE,\n height: (_ref2 = size !== null && size !== void 0 ? size : height) !== null && _ref2 !== void 0 ? _ref2 : BASE_SIZE,\n role: \"presentation\",\n className: clsx('component-alignment-matrix-control-icon', className),\n style: {\n pointerEvents: disablePointerEvents ? 'none' : undefined,\n ...style\n },\n ...props,\n children: ALIGNMENTS.map((align, index) => {\n const dotSize = getAlignmentIndex(value) === index ? DOT_SIZE_SELECTED : DOT_SIZE;\n return /*#__PURE__*/_jsx(Rect, {\n x: GRID_PADDING + index % 3 * GRID_CELL_SIZE + (GRID_CELL_SIZE - dotSize) / 2,\n y: GRID_PADDING + Math.floor(index / 3) * GRID_CELL_SIZE + (GRID_CELL_SIZE - dotSize) / 2,\n width: dotSize,\n height: dotSize,\n fill: \"currentColor\"\n }, align);\n })\n });\n}\nexport default AlignmentMatrixControlIcon;"],
5
- "mappings": ";AAGA,OAAO,UAAU;AAKjB,SAAS,MAAM,WAAW;AAK1B,SAAS,YAAY,yBAAyB;AAC9C,SAAS,OAAO,YAAY;AAC5B,IAAM,YAAY;AAClB,IAAM,iBAAiB;AACvB,IAAM,gBAAgB,YAAY,IAAI,kBAAkB;AACxD,IAAM,WAAW;AACjB,IAAM,oBAAoB;AAC1B,SAAS,2BAA2B;AAAA,EAClC;AAAA,EACA,uBAAuB;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ,CAAC;AAAA,EACT,QAAQ;AAAA,EACR,GAAG;AACL,GAAG;AACD,MAAI,MAAM;AACV,SAAoB,qBAAK,KAAK;AAAA,IAC5B,OAAO;AAAA,IACP,SAAS,OAAO,SAAS,IAAI,SAAS;AAAA,IACtC,QAAQ,OAAO,SAAS,QAAQ,SAAS,SAAS,OAAO,WAAW,QAAQ,SAAS,SAAS,OAAO;AAAA,IACrG,SAAS,QAAQ,SAAS,QAAQ,SAAS,SAAS,OAAO,YAAY,QAAQ,UAAU,SAAS,QAAQ;AAAA,IAC1G,MAAM;AAAA,IACN,WAAW,KAAK,2CAA2C,SAAS;AAAA,IACpE,OAAO;AAAA,MACL,eAAe,uBAAuB,SAAS;AAAA,MAC/C,GAAG;AAAA,IACL;AAAA,IACA,GAAG;AAAA,IACH,UAAU,WAAW,IAAI,CAAC,OAAO,UAAU;AACzC,YAAM,UAAU,kBAAkB,KAAK,MAAM,QAAQ,oBAAoB;AACzE,aAAoB,qBAAK,MAAM;AAAA,QAC7B,GAAG,eAAe,QAAQ,IAAI,kBAAkB,iBAAiB,WAAW;AAAA,QAC5E,GAAG,eAAe,KAAK,MAAM,QAAQ,CAAC,IAAI,kBAAkB,iBAAiB,WAAW;AAAA,QACxF,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,MAAM;AAAA,MACR,GAAG,KAAK;AAAA,IACV,CAAC;AAAA,EACH,CAAC;AACH;AACA,IAAO,eAAQ;",
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { Rect, SVG } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport { ALIGNMENTS, getAlignmentIndex } from './utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst BASE_SIZE = 24;\nconst GRID_CELL_SIZE = 7;\nconst GRID_PADDING = (BASE_SIZE - 3 * GRID_CELL_SIZE) / 2;\nconst DOT_SIZE = 2;\nconst DOT_SIZE_SELECTED = 4;\nfunction AlignmentMatrixControlIcon({\n className,\n disablePointerEvents = true,\n size,\n width,\n height,\n style = {},\n value = 'center',\n ...props\n}) {\n return /*#__PURE__*/_jsx(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: `0 0 ${BASE_SIZE} ${BASE_SIZE}`,\n width: size ?? width ?? BASE_SIZE,\n height: size ?? height ?? BASE_SIZE,\n role: \"presentation\",\n className: clsx('component-alignment-matrix-control-icon', className),\n style: {\n pointerEvents: disablePointerEvents ? 'none' : undefined,\n ...style\n },\n ...props,\n children: ALIGNMENTS.map((align, index) => {\n const dotSize = getAlignmentIndex(value) === index ? DOT_SIZE_SELECTED : DOT_SIZE;\n return /*#__PURE__*/_jsx(Rect, {\n x: GRID_PADDING + index % 3 * GRID_CELL_SIZE + (GRID_CELL_SIZE - dotSize) / 2,\n y: GRID_PADDING + Math.floor(index / 3) * GRID_CELL_SIZE + (GRID_CELL_SIZE - dotSize) / 2,\n width: dotSize,\n height: dotSize,\n fill: \"currentColor\"\n }, align);\n })\n });\n}\nexport default AlignmentMatrixControlIcon;"],
5
+ "mappings": ";AAGA,OAAO,UAAU;AAKjB,SAAS,MAAM,WAAW;AAK1B,SAAS,YAAY,yBAAyB;AAC9C,SAAS,OAAO,YAAY;AAC5B,IAAM,YAAY;AAClB,IAAM,iBAAiB;AACvB,IAAM,gBAAgB,YAAY,IAAI,kBAAkB;AACxD,IAAM,WAAW;AACjB,IAAM,oBAAoB;AAC1B,SAAS,2BAA2B;AAAA,EAClC;AAAA,EACA,uBAAuB;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ,CAAC;AAAA,EACT,QAAQ;AAAA,EACR,GAAG;AACL,GAAG;AACD,SAAoB,qBAAK,KAAK;AAAA,IAC5B,OAAO;AAAA,IACP,SAAS,OAAO,SAAS,IAAI,SAAS;AAAA,IACtC,OAAO,QAAQ,SAAS;AAAA,IACxB,QAAQ,QAAQ,UAAU;AAAA,IAC1B,MAAM;AAAA,IACN,WAAW,KAAK,2CAA2C,SAAS;AAAA,IACpE,OAAO;AAAA,MACL,eAAe,uBAAuB,SAAS;AAAA,MAC/C,GAAG;AAAA,IACL;AAAA,IACA,GAAG;AAAA,IACH,UAAU,WAAW,IAAI,CAAC,OAAO,UAAU;AACzC,YAAM,UAAU,kBAAkB,KAAK,MAAM,QAAQ,oBAAoB;AACzE,aAAoB,qBAAK,MAAM;AAAA,QAC7B,GAAG,eAAe,QAAQ,IAAI,kBAAkB,iBAAiB,WAAW;AAAA,QAC5E,GAAG,eAAe,KAAK,MAAM,QAAQ,CAAC,IAAI,kBAAkB,iBAAiB,WAAW;AAAA,QACxF,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,MAAM;AAAA,MACR,GAAG,KAAK;AAAA,IACV,CAAC;AAAA,EACH,CAAC;AACH;AACA,IAAO,eAAQ;",
6
6
  "names": []
7
7
  }