@wordpress/components 32.5.0 → 32.6.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 (282) hide show
  1. package/AGENTS.md +2 -2
  2. package/CHANGELOG.md +40 -0
  3. package/README.md +18 -4
  4. package/build/alignment-matrix-control/cell.cjs +3 -3
  5. package/build/alignment-matrix-control/cell.cjs.map +2 -2
  6. package/build/alignment-matrix-control/index.cjs +3 -3
  7. package/build/alignment-matrix-control/index.cjs.map +2 -2
  8. package/build/autocomplete/autocompleter-ui.cjs +75 -79
  9. package/build/autocomplete/autocompleter-ui.cjs.map +2 -2
  10. package/build/autocomplete/get-autocomplete-match.cjs +91 -0
  11. package/build/autocomplete/get-autocomplete-match.cjs.map +7 -0
  12. package/build/autocomplete/index.cjs +104 -107
  13. package/build/autocomplete/index.cjs.map +3 -3
  14. package/build/box-control/index.cjs +0 -8
  15. package/build/box-control/index.cjs.map +2 -2
  16. package/build/box-control/utils.cjs +1 -10
  17. package/build/box-control/utils.cjs.map +2 -2
  18. package/build/calendar/utils/use-localization-props.cjs +3 -2
  19. package/build/calendar/utils/use-localization-props.cjs.map +2 -2
  20. package/build/custom-gradient-picker/index.cjs.map +2 -2
  21. package/build/custom-select-control/index.cjs.map +3 -3
  22. package/build/custom-select-control-v2/custom-select.cjs +2 -2
  23. package/build/custom-select-control-v2/custom-select.cjs.map +2 -2
  24. package/build/custom-select-control-v2/index.cjs.map +3 -3
  25. package/build/date-time/{date → date-picker}/index.cjs +6 -6
  26. package/build/date-time/{date → date-picker}/index.cjs.map +2 -2
  27. package/build/date-time/{date → date-picker}/styles.cjs +17 -17
  28. package/build/date-time/{date → date-picker}/styles.cjs.map +2 -2
  29. package/build/date-time/{date → date-picker}/use-lilius/index.cjs +1 -1
  30. package/build/date-time/{date → date-picker}/use-lilius/index.cjs.map +1 -1
  31. package/build/date-time/date-time/index.cjs +6 -6
  32. package/build/date-time/date-time/index.cjs.map +2 -2
  33. package/build/date-time/index.cjs +4 -4
  34. package/build/date-time/index.cjs.map +2 -2
  35. package/build/date-time/{time → time-picker}/index.cjs +6 -6
  36. package/build/date-time/time-picker/index.cjs.map +7 -0
  37. package/build/date-time/{time → time-picker}/styles.cjs +21 -21
  38. package/build/date-time/{time → time-picker}/styles.cjs.map +2 -2
  39. package/build/date-time/{time → time-picker}/time-input/index.cjs +1 -1
  40. package/build/date-time/{time → time-picker}/time-input/index.cjs.map +1 -1
  41. package/build/date-time/{time → time-picker}/timezone.cjs +1 -1
  42. package/build/date-time/{time → time-picker}/timezone.cjs.map +1 -1
  43. package/build/modal/index.cjs.map +2 -2
  44. package/build/palette-edit/index.cjs.map +2 -2
  45. package/build/radio-control/index.cjs +2 -0
  46. package/build/radio-control/index.cjs.map +2 -2
  47. package/build/sandbox/index.cjs +127 -3
  48. package/build/sandbox/index.cjs.map +2 -2
  49. package/build/textarea-control/styles/textarea-control-styles.cjs +3 -3
  50. package/build/textarea-control/styles/textarea-control-styles.cjs.map +2 -2
  51. package/build/validated-form-controls/control-with-error.cjs +12 -8
  52. package/build/validated-form-controls/control-with-error.cjs.map +2 -2
  53. package/build-module/alignment-matrix-control/cell.mjs +3 -3
  54. package/build-module/alignment-matrix-control/cell.mjs.map +2 -2
  55. package/build-module/alignment-matrix-control/index.mjs +3 -3
  56. package/build-module/alignment-matrix-control/index.mjs.map +2 -2
  57. package/build-module/autocomplete/autocompleter-ui.mjs +74 -78
  58. package/build-module/autocomplete/autocompleter-ui.mjs.map +2 -2
  59. package/build-module/autocomplete/get-autocomplete-match.mjs +56 -0
  60. package/build-module/autocomplete/get-autocomplete-match.mjs.map +7 -0
  61. package/build-module/autocomplete/index.mjs +103 -107
  62. package/build-module/autocomplete/index.mjs.map +3 -3
  63. package/build-module/box-control/index.mjs +1 -9
  64. package/build-module/box-control/index.mjs.map +2 -2
  65. package/build-module/box-control/utils.mjs +1 -9
  66. package/build-module/box-control/utils.mjs.map +2 -2
  67. package/build-module/calendar/utils/use-localization-props.mjs +3 -2
  68. package/build-module/calendar/utils/use-localization-props.mjs.map +2 -2
  69. package/build-module/custom-gradient-picker/index.mjs.map +2 -2
  70. package/build-module/custom-select-control/index.mjs +2 -2
  71. package/build-module/custom-select-control/index.mjs.map +2 -2
  72. package/build-module/custom-select-control-v2/custom-select.mjs +2 -2
  73. package/build-module/custom-select-control-v2/custom-select.mjs.map +2 -2
  74. package/build-module/custom-select-control-v2/index.mjs +2 -2
  75. package/build-module/custom-select-control-v2/index.mjs.map +2 -2
  76. package/build-module/date-time/{date → date-picker}/index.mjs +3 -3
  77. package/build-module/date-time/{date → date-picker}/index.mjs.map +2 -2
  78. package/build-module/date-time/{date → date-picker}/styles.mjs +17 -17
  79. package/build-module/date-time/{date → date-picker}/styles.mjs.map +2 -2
  80. package/build-module/date-time/{date → date-picker}/use-lilius/index.mjs +1 -1
  81. package/build-module/date-time/{date → date-picker}/use-lilius/index.mjs.map +1 -1
  82. package/build-module/date-time/date-time/index.mjs +2 -2
  83. package/build-module/date-time/date-time/index.mjs.map +1 -1
  84. package/build-module/date-time/index.mjs +2 -2
  85. package/build-module/date-time/index.mjs.map +1 -1
  86. package/build-module/date-time/{time → time-picker}/index.mjs +3 -3
  87. package/build-module/date-time/time-picker/index.mjs.map +7 -0
  88. package/build-module/date-time/{time → time-picker}/styles.mjs +21 -21
  89. package/build-module/date-time/{time → time-picker}/styles.mjs.map +2 -2
  90. package/build-module/date-time/{time → time-picker}/time-input/index.mjs +1 -1
  91. package/build-module/date-time/{time → time-picker}/time-input/index.mjs.map +1 -1
  92. package/build-module/date-time/{time → time-picker}/timezone.mjs +1 -1
  93. package/build-module/date-time/{time → time-picker}/timezone.mjs.map +1 -1
  94. package/build-module/modal/index.mjs.map +2 -2
  95. package/build-module/palette-edit/index.mjs.map +2 -2
  96. package/build-module/radio-control/index.mjs +2 -0
  97. package/build-module/radio-control/index.mjs.map +2 -2
  98. package/build-module/sandbox/index.mjs +128 -4
  99. package/build-module/sandbox/index.mjs.map +2 -2
  100. package/build-module/textarea-control/styles/textarea-control-styles.mjs +3 -3
  101. package/build-module/textarea-control/styles/textarea-control-styles.mjs.map +2 -2
  102. package/build-module/validated-form-controls/control-with-error.mjs +12 -8
  103. package/build-module/validated-form-controls/control-with-error.mjs.map +2 -2
  104. package/build-style/style-rtl.css +83 -26
  105. package/build-style/style.css +83 -26
  106. package/build-types/autocomplete/autocompleter-ui.d.ts +2 -2
  107. package/build-types/autocomplete/autocompleter-ui.d.ts.map +1 -1
  108. package/build-types/autocomplete/get-autocomplete-match.d.ts +11 -0
  109. package/build-types/autocomplete/get-autocomplete-match.d.ts.map +1 -0
  110. package/build-types/autocomplete/index.d.ts +8 -0
  111. package/build-types/autocomplete/index.d.ts.map +1 -1
  112. package/build-types/autocomplete/test/get-autocomplete-match.d.ts +2 -0
  113. package/build-types/autocomplete/test/get-autocomplete-match.d.ts.map +1 -0
  114. package/build-types/autocomplete/types.d.ts +23 -9
  115. package/build-types/autocomplete/types.d.ts.map +1 -1
  116. package/build-types/box-control/index.d.ts.map +1 -1
  117. package/build-types/box-control/utils.d.ts +7 -16
  118. package/build-types/box-control/utils.d.ts.map +1 -1
  119. package/build-types/button/stories/index.story.d.ts +0 -1
  120. package/build-types/button/stories/index.story.d.ts.map +1 -1
  121. package/build-types/calendar/utils/use-localization-props.d.ts +3 -3
  122. package/build-types/calendar/utils/use-localization-props.d.ts.map +1 -1
  123. package/build-types/checkbox-control/types.d.ts +4 -0
  124. package/build-types/checkbox-control/types.d.ts.map +1 -1
  125. package/build-types/custom-gradient-picker/constants.d.ts +2 -2
  126. package/build-types/custom-gradient-picker/index.d.ts.map +1 -1
  127. package/build-types/custom-select-control-v2/custom-select.d.ts +3 -3
  128. package/build-types/custom-select-control-v2/custom-select.d.ts.map +1 -1
  129. package/build-types/custom-select-control-v2/types.d.ts +1 -1
  130. package/build-types/custom-select-control-v2/types.d.ts.map +1 -1
  131. package/build-types/date-time/date-picker/index.d.ts.map +1 -0
  132. package/build-types/date-time/date-picker/styles.d.ts.map +1 -0
  133. package/build-types/date-time/date-picker/test/index.d.ts.map +1 -0
  134. package/build-types/date-time/date-picker/test/use-lilius.d.ts.map +1 -0
  135. package/build-types/date-time/date-picker/use-lilius/index.d.ts.map +1 -0
  136. package/build-types/date-time/date-time/index.d.ts +2 -2
  137. package/build-types/date-time/date-time/index.d.ts.map +1 -1
  138. package/build-types/date-time/index.d.ts +2 -2
  139. package/build-types/date-time/index.d.ts.map +1 -1
  140. package/build-types/date-time/stories/date.story.d.ts +1 -1
  141. package/build-types/date-time/stories/date.story.d.ts.map +1 -1
  142. package/build-types/date-time/stories/time.story.d.ts +1 -1
  143. package/build-types/date-time/stories/time.story.d.ts.map +1 -1
  144. package/build-types/date-time/{time → time-picker}/index.d.ts +1 -1
  145. package/build-types/date-time/time-picker/index.d.ts.map +1 -0
  146. package/build-types/date-time/time-picker/styles.d.ts.map +1 -0
  147. package/build-types/date-time/time-picker/test/index.d.ts.map +1 -0
  148. package/build-types/date-time/time-picker/time-input/index.d.ts.map +1 -0
  149. package/build-types/date-time/time-picker/time-input/test/index.d.ts.map +1 -0
  150. package/build-types/date-time/time-picker/timezone.d.ts.map +1 -0
  151. package/build-types/date-time/types.d.ts +1 -1
  152. package/build-types/date-time/types.d.ts.map +1 -1
  153. package/build-types/font-size-picker/constants.d.ts +2 -2
  154. package/build-types/font-size-picker/constants.d.ts.map +1 -1
  155. package/build-types/modal/index.d.ts.map +1 -1
  156. package/build-types/palette-edit/index.d.ts +1 -1
  157. package/build-types/palette-edit/index.d.ts.map +1 -1
  158. package/build-types/radio-control/index.d.ts.map +1 -1
  159. package/build-types/radio-control/types.d.ts +6 -0
  160. package/build-types/radio-control/types.d.ts.map +1 -1
  161. package/build-types/sandbox/index.d.ts +1 -1
  162. package/build-types/sandbox/index.d.ts.map +1 -1
  163. package/build-types/sandbox/types.d.ts +11 -0
  164. package/build-types/sandbox/types.d.ts.map +1 -1
  165. package/build-types/textarea-control/stories/index.story.d.ts.map +1 -1
  166. package/build-types/textarea-control/styles/textarea-control-styles.d.ts.map +1 -1
  167. package/build-types/validated-form-controls/components/checkbox-control.d.ts +2 -1
  168. package/build-types/validated-form-controls/components/checkbox-control.d.ts.map +1 -1
  169. package/build-types/validated-form-controls/components/radio-control.d.ts +2 -1
  170. package/build-types/validated-form-controls/components/radio-control.d.ts.map +1 -1
  171. package/build-types/validated-form-controls/control-with-error.d.ts.map +1 -1
  172. package/package.json +21 -21
  173. package/src/alignment-matrix-control/README.md +1 -1
  174. package/src/alignment-matrix-control/style.module.scss +1 -1
  175. package/src/angle-picker-control/style.module.scss +1 -0
  176. package/src/autocomplete/README.md +2 -2
  177. package/src/autocomplete/autocompleter-ui.native.js +166 -173
  178. package/src/autocomplete/autocompleter-ui.tsx +114 -116
  179. package/src/autocomplete/get-autocomplete-match.ts +115 -0
  180. package/src/autocomplete/index.tsx +129 -208
  181. package/src/autocomplete/test/get-autocomplete-match.ts +338 -0
  182. package/src/autocomplete/test/index.tsx +112 -4
  183. package/src/autocomplete/types.ts +17 -10
  184. package/src/box-control/index.tsx +1 -19
  185. package/src/box-control/utils.ts +1 -19
  186. package/src/button/README.md +1 -1
  187. package/src/button/stories/index.story.tsx +0 -1
  188. package/src/button/style.scss +1 -7
  189. package/src/calendar/style.scss +3 -3
  190. package/src/calendar/utils/use-localization-props.ts +3 -4
  191. package/src/checkbox-control/style.scss +17 -5
  192. package/src/checkbox-control/types.ts +4 -0
  193. package/src/circular-option-picker/style.scss +1 -1
  194. package/src/color-palette/style.scss +1 -1
  195. package/src/css.d.ts +1 -0
  196. package/src/custom-gradient-picker/index.tsx +1 -0
  197. package/src/custom-select-control/index.tsx +3 -3
  198. package/src/custom-select-control-v2/custom-select.tsx +4 -4
  199. package/src/custom-select-control-v2/index.tsx +2 -2
  200. package/src/custom-select-control-v2/types.ts +1 -1
  201. package/src/date-time/README.md +3 -3
  202. package/src/date-time/date-picker/README.md +65 -0
  203. package/src/date-time/date-time/index.tsx +2 -2
  204. package/src/date-time/index.ts +2 -2
  205. package/src/date-time/stories/date.story.tsx +1 -1
  206. package/src/date-time/stories/time.story.tsx +1 -1
  207. package/src/date-time/time-picker/README.md +119 -0
  208. package/src/date-time/{time → time-picker}/index.tsx +1 -1
  209. package/src/date-time/types.ts +1 -1
  210. package/src/divider/README.md +5 -6
  211. package/src/dropdown-menu/style.scss +1 -1
  212. package/src/flex/stories/index.story.tsx +1 -1
  213. package/src/form-file-upload/README.md +3 -3
  214. package/src/form-toggle/style.scss +35 -2
  215. package/src/form-token-field/style.scss +12 -3
  216. package/src/gradient-picker/README.md +2 -2
  217. package/src/h-stack/README.md +10 -15
  218. package/src/h-stack/stories/index.story.tsx +2 -2
  219. package/src/heading/stories/index.story.tsx +1 -1
  220. package/src/higher-order/with-focus-outside/index.native.js +21 -20
  221. package/src/icon/README.md +1 -1
  222. package/src/menu/README.md +2 -2
  223. package/src/mobile/utils/get-px-from-css-unit.native.js +1 -1
  224. package/src/modal/index.tsx +1 -0
  225. package/src/palette-edit/index.tsx +1 -0
  226. package/src/radio-control/index.tsx +2 -0
  227. package/src/radio-control/style.scss +21 -2
  228. package/src/radio-control/test/index.tsx +10 -0
  229. package/src/radio-control/types.ts +6 -0
  230. package/src/sandbox/index.native.js +2 -2
  231. package/src/sandbox/index.tsx +191 -11
  232. package/src/sandbox/test/index.tsx +65 -24
  233. package/src/sandbox/types.ts +11 -0
  234. package/src/snackbar/style.scss +2 -2
  235. package/src/tab-panel/style.scss +1 -1
  236. package/src/tabs/README.md +6 -6
  237. package/src/text/stories/index.story.tsx +1 -1
  238. package/src/textarea-control/stories/index.story.tsx +3 -0
  239. package/src/textarea-control/styles/textarea-control-styles.ts +6 -0
  240. package/src/toggle-control/style.scss +1 -1
  241. package/src/toggle-control/test/index.tsx +8 -2
  242. package/src/toolbar/toolbar-button/toolbar-button-container.native.js +3 -1
  243. package/src/tree-select/README.md +1 -1
  244. package/src/v-stack/README.md +10 -15
  245. package/src/v-stack/stories/index.story.tsx +2 -2
  246. package/src/validated-form-controls/control-with-error.tsx +17 -12
  247. package/src/validated-form-controls/test/control-with-error.tsx +28 -1
  248. package/src/view/README.md +2 -5
  249. package/build/date-time/time/index.cjs.map +0 -7
  250. package/build-module/date-time/time/index.mjs.map +0 -7
  251. package/build-types/date-time/date/index.d.ts.map +0 -1
  252. package/build-types/date-time/date/styles.d.ts.map +0 -1
  253. package/build-types/date-time/date/test/index.d.ts.map +0 -1
  254. package/build-types/date-time/date/test/use-lilius.d.ts.map +0 -1
  255. package/build-types/date-time/date/use-lilius/index.d.ts.map +0 -1
  256. package/build-types/date-time/time/index.d.ts.map +0 -1
  257. package/build-types/date-time/time/styles.d.ts.map +0 -1
  258. package/build-types/date-time/time/test/index.d.ts.map +0 -1
  259. package/build-types/date-time/time/time-input/index.d.ts.map +0 -1
  260. package/build-types/date-time/time/time-input/test/index.d.ts.map +0 -1
  261. package/build-types/date-time/time/timezone.d.ts.map +0 -1
  262. package/src/button/stories/style.css +0 -8
  263. /package/build-types/date-time/{date → date-picker}/index.d.ts +0 -0
  264. /package/build-types/date-time/{date → date-picker}/styles.d.ts +0 -0
  265. /package/build-types/date-time/{date → date-picker}/test/index.d.ts +0 -0
  266. /package/build-types/date-time/{date → date-picker}/test/use-lilius.d.ts +0 -0
  267. /package/build-types/date-time/{date → date-picker}/use-lilius/index.d.ts +0 -0
  268. /package/build-types/date-time/{time → time-picker}/styles.d.ts +0 -0
  269. /package/build-types/date-time/{time → time-picker}/test/index.d.ts +0 -0
  270. /package/build-types/date-time/{time → time-picker}/time-input/index.d.ts +0 -0
  271. /package/build-types/date-time/{time → time-picker}/time-input/test/index.d.ts +0 -0
  272. /package/build-types/date-time/{time → time-picker}/timezone.d.ts +0 -0
  273. /package/src/date-time/{date → date-picker}/index.tsx +0 -0
  274. /package/src/date-time/{date → date-picker}/styles.ts +0 -0
  275. /package/src/date-time/{date → date-picker}/test/index.tsx +0 -0
  276. /package/src/date-time/{date → date-picker}/test/use-lilius.ts +0 -0
  277. /package/src/date-time/{date → date-picker}/use-lilius/index.ts +0 -0
  278. /package/src/date-time/{time → time-picker}/styles.ts +0 -0
  279. /package/src/date-time/{time → time-picker}/test/index.tsx +0 -0
  280. /package/src/date-time/{time → time-picker}/time-input/index.tsx +0 -0
  281. /package/src/date-time/{time → time-picker}/time-input/test/index.tsx +0 -0
  282. /package/src/date-time/{time → time-picker}/timezone.tsx +0 -0
@@ -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, useId, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\n\nimport { ValidityIndicator } from './validity-indicator';\nimport { Fragment as _Fragment, jsxs as _jsxs, jsx as _jsx } from \"react/jsx-runtime\";\nfunction appendRequiredIndicator(label, required, markWhenOptional) {\n if (required && !markWhenOptional) {\n return /*#__PURE__*/_jsxs(_Fragment, {\n children: [label, \" \", `(${__('Required')})`]\n });\n }\n if (!required && markWhenOptional) {\n return /*#__PURE__*/_jsxs(_Fragment, {\n children: [label, \" \", `(${__('Optional')})`]\n });\n }\n return label;\n}\nconst VALIDITY_VISIBLE_ATTRIBUTE = 'data-validity-visible';\nconst className = 'components-validated-control';\n\n/**\n * HTML elements that support the Constraint Validation API.\n *\n * Here, we exclude HTMLButtonElement because although it does technically support the API,\n * normal buttons are actually exempted from any validation.\n * @see https://developer.mozilla.org/en-US/docs/Learn_web_development/Extensions/Forms/Form_validation\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLButtonElement/willValidate\n */\n\nfunction UnforwardedControlWithError({\n required,\n markWhenOptional,\n customValidity,\n getValidityTarget,\n children\n}, forwardedRef) {\n const [errorMessage, setErrorMessage] = useState();\n const [statusMessage, setStatusMessage] = useState();\n const [showMessage, setShowMessage] = useState(false);\n const [isTouched, setIsTouched] = useState(false);\n\n // Ensure that error messages are visible when an `invalid` event is triggered,\n // e.g. when a form is submitted or reportValidity() is called.\n useEffect(() => {\n const validityTarget = getValidityTarget();\n const handler = () => {\n setShowMessage(true);\n validityTarget?.setAttribute(VALIDITY_VISIBLE_ATTRIBUTE, '');\n };\n validityTarget?.addEventListener('invalid', handler);\n return () => validityTarget?.removeEventListener('invalid', handler);\n }, [getValidityTarget]);\n\n // Suppress the native error popover, while keeping the focus behavior intact.\n useEffect(() => {\n const validityTarget = getValidityTarget();\n const suppressNativePopover = event => {\n event.preventDefault();\n const target = event.target;\n const firstErrorInForm = Array.from(target.form?.elements ?? []).find(el => !el.validity.valid);\n if (!target.form || firstErrorInForm === target) {\n target.focus();\n }\n };\n\n // Radio inputs need special handling because all radio inputs with the\n // same `name` will be marked as invalid. Without this handling, the last radio option\n // will be focused with an unsuppressed native popover.\n const radioSibilings = validityTarget?.type === 'radio' && validityTarget?.name ? Array.from(validityTarget?.closest(`.${className}`)?.querySelectorAll(`input[type=\"radio\"][name=\"${validityTarget?.name}\"]`) ?? []).filter(sibling => sibling !== validityTarget) : [];\n validityTarget?.addEventListener('invalid', suppressNativePopover);\n radioSibilings.forEach(sibling => sibling.addEventListener('invalid', suppressNativePopover));\n return () => {\n validityTarget?.removeEventListener('invalid', suppressNativePopover);\n radioSibilings.forEach(sibling => sibling.removeEventListener('invalid', suppressNativePopover));\n };\n }, [getValidityTarget]);\n\n // Handle validity messages.\n useEffect(() => {\n const validityTarget = getValidityTarget();\n if (!customValidity?.type) {\n validityTarget?.setCustomValidity('');\n setErrorMessage(validityTarget?.validationMessage);\n setStatusMessage(undefined);\n return;\n }\n switch (customValidity.type) {\n case 'validating':\n {\n validityTarget?.setCustomValidity('');\n setErrorMessage(undefined);\n setStatusMessage({\n type: 'validating',\n message: customValidity.message\n });\n break;\n }\n case 'valid':\n {\n validityTarget?.setCustomValidity('');\n setErrorMessage(validityTarget?.validationMessage);\n setStatusMessage({\n type: 'valid',\n message: customValidity.message\n });\n break;\n }\n case 'invalid':\n {\n validityTarget?.setCustomValidity(customValidity.message ?? '');\n setErrorMessage(validityTarget?.validationMessage);\n setStatusMessage(undefined);\n break;\n }\n }\n }, [customValidity, getValidityTarget]);\n\n // Show messages if field has been touched (i.e. has blurred at least once),\n // or validation has been triggered by the consumer/user.\n useEffect(() => {\n if (!isTouched || showMessage) {\n return;\n }\n if (customValidity?.type === 'validating') {\n // Don't show validating indicators for quick calls that take less than 1 sec.\n const timer = setTimeout(() => {\n setShowMessage(true);\n }, 1000);\n return () => clearTimeout(timer);\n }\n setShowMessage(true);\n }, [isTouched, customValidity?.type, showMessage]);\n\n // Mark blurred fields as touched.\n const onBlur = event => {\n if (isTouched) {\n return;\n }\n\n // Only consider \"blurred from the component\" if focus has fully left the wrapping div.\n // This prevents unnecessary blurs from components with multiple focusable elements.\n if (!event.relatedTarget || !event.currentTarget.contains(event.relatedTarget)) {\n setIsTouched(true);\n getValidityTarget()?.setAttribute(VALIDITY_VISIBLE_ATTRIBUTE, '');\n }\n };\n const messageId = useId();\n const message = (() => {\n if (errorMessage) {\n return /*#__PURE__*/_jsx(ValidityIndicator, {\n id: messageId,\n type: \"invalid\",\n message: errorMessage\n });\n }\n if (statusMessage?.type) {\n return /*#__PURE__*/_jsx(ValidityIndicator, {\n id: messageId,\n type: statusMessage.type,\n message: statusMessage.message\n });\n }\n return null;\n })();\n const visibleMessage = showMessage ? message : null;\n\n // Imperatively manage `aria-describedby` on the validity target so we\n // merge with any value the child control sets internally (e.g. from a\n // `help` prop), rather than competing with it at the props level.\n useEffect(() => {\n const target = getValidityTarget();\n if (!target) {\n return;\n }\n function setDescribedBy(el, shouldAdd) {\n const ids = (el.getAttribute('aria-describedby') ?? '').split(' ').filter(id => id && id !== messageId);\n if (shouldAdd) {\n ids.push(messageId);\n }\n if (ids.length) {\n el.setAttribute('aria-describedby', ids.join(' '));\n } else {\n el.removeAttribute('aria-describedby');\n }\n }\n setDescribedBy(target, !!visibleMessage);\n return () => setDescribedBy(target, false);\n }, [visibleMessage, messageId, getValidityTarget]);\n return /*#__PURE__*/_jsxs(\"div\", {\n className: className,\n ref: forwardedRef,\n onBlur: onBlur,\n children: [cloneElement(children, {\n label: appendRequiredIndicator(children.props.label, required, markWhenOptional),\n required\n }), /*#__PURE__*/_jsx(\"div\", {\n \"aria-live\": \"polite\",\n children: visibleMessage\n })]\n });\n}\nexport const ControlWithError = forwardRef(UnforwardedControlWithError);\nControlWithError.displayName = 'ControlWithError';"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { cloneElement, forwardRef, useEffect, useId, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\n\nimport { ValidityIndicator } from './validity-indicator';\nimport { Fragment as _Fragment, jsxs as _jsxs, jsx as _jsx } from \"react/jsx-runtime\";\nfunction appendRequiredIndicator(label, required, markWhenOptional) {\n let suffix;\n if (required && !markWhenOptional) {\n suffix = `(${__('Required')})`;\n } else if (!required && markWhenOptional) {\n suffix = `(${__('Optional')})`;\n }\n if (!suffix) {\n return label;\n }\n if (typeof label === 'string') {\n return `${label} ${suffix}`;\n }\n return /*#__PURE__*/_jsxs(_Fragment, {\n children: [label, \" \", suffix]\n });\n}\nconst VALIDITY_VISIBLE_ATTRIBUTE = 'data-validity-visible';\nconst className = 'components-validated-control';\n\n/**\n * HTML elements that support the Constraint Validation API.\n *\n * Here, we exclude HTMLButtonElement because although it does technically support the API,\n * normal buttons are actually exempted from any validation.\n * @see https://developer.mozilla.org/en-US/docs/Learn_web_development/Extensions/Forms/Form_validation\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLButtonElement/willValidate\n */\n\nfunction UnforwardedControlWithError({\n required,\n markWhenOptional,\n customValidity,\n getValidityTarget,\n children\n}, forwardedRef) {\n const [errorMessage, setErrorMessage] = useState();\n const [statusMessage, setStatusMessage] = useState();\n const [showMessage, setShowMessage] = useState(false);\n const [isTouched, setIsTouched] = useState(false);\n\n // Ensure that error messages are visible when an `invalid` event is triggered,\n // e.g. when a form is submitted or reportValidity() is called.\n useEffect(() => {\n const validityTarget = getValidityTarget();\n const handler = () => {\n setShowMessage(true);\n validityTarget?.setAttribute(VALIDITY_VISIBLE_ATTRIBUTE, '');\n };\n validityTarget?.addEventListener('invalid', handler);\n return () => validityTarget?.removeEventListener('invalid', handler);\n }, [getValidityTarget]);\n\n // Suppress the native error popover, while keeping the focus behavior intact.\n useEffect(() => {\n const validityTarget = getValidityTarget();\n const suppressNativePopover = event => {\n event.preventDefault();\n const target = event.target;\n const firstErrorInForm = Array.from(target.form?.elements ?? []).find(el => !el.validity.valid);\n if (!target.form || firstErrorInForm === target) {\n target.focus();\n }\n };\n\n // Radio inputs need special handling because all radio inputs with the\n // same `name` will be marked as invalid. Without this handling, the last radio option\n // will be focused with an unsuppressed native popover.\n const radioSibilings = validityTarget?.type === 'radio' && validityTarget?.name ? Array.from(validityTarget?.closest(`.${className}`)?.querySelectorAll(`input[type=\"radio\"][name=\"${validityTarget?.name}\"]`) ?? []).filter(sibling => sibling !== validityTarget) : [];\n validityTarget?.addEventListener('invalid', suppressNativePopover);\n radioSibilings.forEach(sibling => sibling.addEventListener('invalid', suppressNativePopover));\n return () => {\n validityTarget?.removeEventListener('invalid', suppressNativePopover);\n radioSibilings.forEach(sibling => sibling.removeEventListener('invalid', suppressNativePopover));\n };\n }, [getValidityTarget]);\n\n // Handle validity messages.\n useEffect(() => {\n const validityTarget = getValidityTarget();\n if (!customValidity?.type) {\n validityTarget?.setCustomValidity('');\n setErrorMessage(validityTarget?.validationMessage);\n setStatusMessage(undefined);\n return;\n }\n switch (customValidity.type) {\n case 'validating':\n {\n validityTarget?.setCustomValidity('');\n setErrorMessage(undefined);\n setStatusMessage({\n type: 'validating',\n message: customValidity.message\n });\n break;\n }\n case 'valid':\n {\n validityTarget?.setCustomValidity('');\n setErrorMessage(validityTarget?.validationMessage);\n setStatusMessage({\n type: 'valid',\n message: customValidity.message\n });\n break;\n }\n case 'invalid':\n {\n validityTarget?.setCustomValidity(customValidity.message ?? '');\n setErrorMessage(validityTarget?.validationMessage);\n setStatusMessage(undefined);\n break;\n }\n }\n }, [customValidity, getValidityTarget]);\n\n // Show messages if field has been touched (i.e. has blurred at least once),\n // or validation has been triggered by the consumer/user.\n useEffect(() => {\n if (!isTouched || showMessage) {\n return;\n }\n if (customValidity?.type === 'validating') {\n // Don't show validating indicators for quick calls that take less than 1 sec.\n const timer = setTimeout(() => {\n setShowMessage(true);\n }, 1000);\n return () => clearTimeout(timer);\n }\n setShowMessage(true);\n }, [isTouched, customValidity?.type, showMessage]);\n\n // Mark blurred fields as touched.\n const onBlur = event => {\n if (isTouched) {\n return;\n }\n\n // Only consider \"blurred from the component\" if focus has fully left the wrapping div.\n // This prevents unnecessary blurs from components with multiple focusable elements.\n if (!event.relatedTarget || !event.currentTarget.contains(event.relatedTarget)) {\n setIsTouched(true);\n getValidityTarget()?.setAttribute(VALIDITY_VISIBLE_ATTRIBUTE, '');\n }\n };\n const messageId = useId();\n const message = (() => {\n if (errorMessage) {\n return /*#__PURE__*/_jsx(ValidityIndicator, {\n id: messageId,\n type: \"invalid\",\n message: errorMessage\n });\n }\n if (statusMessage?.type) {\n return /*#__PURE__*/_jsx(ValidityIndicator, {\n id: messageId,\n type: statusMessage.type,\n message: statusMessage.message\n });\n }\n return null;\n })();\n const visibleMessage = showMessage ? message : null;\n\n // Imperatively manage `aria-describedby` on the validity target so we\n // merge with any value the child control sets internally (e.g. from a\n // `help` prop), rather than competing with it at the props level.\n useEffect(() => {\n const target = getValidityTarget();\n if (!target) {\n return;\n }\n function setDescribedBy(el, shouldAdd) {\n const ids = (el.getAttribute('aria-describedby') ?? '').split(' ').filter(id => id && id !== messageId);\n if (shouldAdd) {\n ids.push(messageId);\n }\n if (ids.length) {\n el.setAttribute('aria-describedby', ids.join(' '));\n } else {\n el.removeAttribute('aria-describedby');\n }\n }\n setDescribedBy(target, !!visibleMessage);\n return () => setDescribedBy(target, false);\n }, [visibleMessage, messageId, getValidityTarget]);\n return /*#__PURE__*/_jsxs(\"div\", {\n className: className,\n ref: forwardedRef,\n onBlur: onBlur,\n children: [cloneElement(children, {\n label: appendRequiredIndicator(children.props.label, required, markWhenOptional),\n required\n }), /*#__PURE__*/_jsx(\"div\", {\n \"aria-live\": \"polite\",\n children: visibleMessage\n })]\n });\n}\nexport const ControlWithError = forwardRef(UnforwardedControlWithError);\nControlWithError.displayName = 'ControlWithError';"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -265,7 +265,7 @@
265
265
  font-weight: 499;
266
266
  margin: 0;
267
267
  border: 0;
268
- cursor: pointer;
268
+ cursor: var(--wpds-cursor-control, pointer);
269
269
  appearance: none;
270
270
  background: none;
271
271
  }
@@ -556,9 +556,6 @@ p + .components-button.is-tertiary {
556
556
  fill: CanvasText;
557
557
  }
558
558
  }
559
- .components-button .components-visually-hidden {
560
- height: auto;
561
- }
562
559
 
563
560
  @keyframes components-button__busy-animation {
564
561
  0% {
@@ -597,7 +594,7 @@ p + .components-button.is-tertiary {
597
594
  background: none;
598
595
  padding: 0;
599
596
  margin: 0;
600
- cursor: pointer;
597
+ cursor: var(--wpds-cursor-control, pointer);
601
598
  justify-content: center;
602
599
  align-items: center;
603
600
  display: flex;
@@ -655,7 +652,7 @@ p + .components-button.is-tertiary {
655
652
  background: none;
656
653
  padding: 0;
657
654
  margin: 0;
658
- cursor: pointer;
655
+ cursor: var(--wpds-cursor-control, pointer);
659
656
  appearance: none;
660
657
  display: inline-flex;
661
658
  align-items: center;
@@ -752,7 +749,7 @@ p + .components-button.is-tertiary {
752
749
  border: 1px solid transparent;
753
750
  }
754
751
  .components-calendar__day--selected:not(.components-calendar__range-middle) .components-calendar__day-button:disabled::before {
755
- background-color: var(--wp-components-color-gray-600, #949494);
752
+ background-color: var(--wp-components-color-gray-400, #ccc);
756
753
  }
757
754
  .components-calendar__day--selected:not(.components-calendar__range-middle) .components-calendar__day-button:hover:not(:disabled)::before {
758
755
  background-color: var(--wp-components-color-gray-800, #2f2f2f);
@@ -939,7 +936,9 @@ p + .components-button.is-tertiary {
939
936
 
940
937
  .components-checkbox-control__label {
941
938
  line-height: var(--checkbox-input-size);
942
- cursor: pointer;
939
+ }
940
+ .components-checkbox-control:not(:has(:disabled)) .components-checkbox-control__label {
941
+ cursor: var(--wpds-cursor-control, pointer);
943
942
  }
944
943
 
945
944
  .components-checkbox-control__input[type=checkbox] {
@@ -1026,7 +1025,6 @@ p + .components-button.is-tertiary {
1026
1025
  background: #fff;
1027
1026
  color: #1e1e1e;
1028
1027
  clear: none;
1029
- cursor: pointer;
1030
1028
  display: inline-block;
1031
1029
  line-height: 0;
1032
1030
  margin: 0 0 0 4px;
@@ -1048,10 +1046,13 @@ p + .components-button.is-tertiary {
1048
1046
  outline: 2px solid transparent;
1049
1047
  outline-offset: 2px;
1050
1048
  }
1051
- .components-checkbox-control__input[type=checkbox]:checked, .components-checkbox-control__input[type=checkbox]:indeterminate {
1049
+ .components-checkbox-control__input[type=checkbox]:not(:disabled):is(:checked, :indeterminate) {
1052
1050
  background: var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9));
1053
1051
  border-color: var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9));
1054
1052
  }
1053
+ .components-checkbox-control__input[type=checkbox]:not(:disabled) {
1054
+ cursor: var(--wpds-cursor-control, pointer);
1055
+ }
1055
1056
  .components-checkbox-control__input[type=checkbox]:checked::before {
1056
1057
  content: none;
1057
1058
  }
@@ -1071,7 +1072,7 @@ svg.components-checkbox-control__checked,
1071
1072
  svg.components-checkbox-control__indeterminate {
1072
1073
  --checkmark-size: var(--checkbox-input-size);
1073
1074
  fill: #fff;
1074
- cursor: pointer;
1075
+ cursor: var(--wpds-cursor-control, pointer);
1075
1076
  position: absolute;
1076
1077
  right: 50%;
1077
1078
  top: 50%;
@@ -1089,6 +1090,11 @@ svg.components-checkbox-control__indeterminate {
1089
1090
  }
1090
1091
  }
1091
1092
 
1093
+ .components-checkbox-control:has(:disabled) svg.components-checkbox-control__checked,
1094
+ .components-checkbox-control:has(:disabled) svg.components-checkbox-control__indeterminate {
1095
+ fill: var(--wp-components-color-gray-400, #ccc);
1096
+ }
1097
+
1092
1098
  .components-checkbox-control__help {
1093
1099
  display: inline-block;
1094
1100
  margin-inline-start: calc(var(--checkbox-input-size) + var(--checkbox-input-margin));
@@ -1166,7 +1172,7 @@ svg.components-checkbox-control__indeterminate {
1166
1172
  }
1167
1173
  }
1168
1174
  .components-circular-option-picker__option {
1169
- cursor: pointer;
1175
+ cursor: var(--wpds-cursor-control, pointer);
1170
1176
  }
1171
1177
  .components-circular-option-picker__option:hover {
1172
1178
  box-shadow: inset 0 0 0 14px !important;
@@ -1332,7 +1338,7 @@ input.components-combobox-control__input[type=text]:focus {
1332
1338
  height: 64px;
1333
1339
  width: 100%;
1334
1340
  box-sizing: border-box;
1335
- cursor: pointer;
1341
+ cursor: var(--wpds-cursor-control, pointer);
1336
1342
  outline: 1px solid transparent;
1337
1343
  border-radius: 4px 4px 0 0;
1338
1344
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2);
@@ -1588,7 +1594,7 @@ body.is-dragging-components-draggable {
1588
1594
  width: 100%;
1589
1595
  padding: 6px;
1590
1596
  outline: none;
1591
- cursor: pointer;
1597
+ cursor: var(--wpds-cursor-control, pointer);
1592
1598
  white-space: nowrap;
1593
1599
  font-weight: 400;
1594
1600
  }
@@ -1754,8 +1760,38 @@ body.is-dragging-components-draggable {
1754
1760
  border-width: 0;
1755
1761
  transform: translateX(-16px);
1756
1762
  }
1757
- .components-form-toggle.is-disabled, .components-disabled .components-form-toggle {
1758
- opacity: 0.3;
1763
+ .components-form-toggle.is-disabled .components-form-toggle__track, .components-disabled .components-form-toggle .components-form-toggle__track {
1764
+ background-color: var(--wp-components-color-gray-100, #f0f0f0);
1765
+ border-color: var(--wp-components-color-gray-300, #ddd);
1766
+ }
1767
+ @media (forced-colors: active) {
1768
+ .components-form-toggle.is-disabled .components-form-toggle__track, .components-disabled .components-form-toggle .components-form-toggle__track {
1769
+ border-color: GrayText;
1770
+ }
1771
+ }
1772
+ .components-form-toggle.is-disabled .components-form-toggle__thumb, .components-disabled .components-form-toggle .components-form-toggle__thumb {
1773
+ background-color: var(--wp-components-color-gray-400, #ccc);
1774
+ box-shadow: none;
1775
+ }
1776
+ @media (forced-colors: active) {
1777
+ .components-form-toggle.is-disabled .components-form-toggle__thumb, .components-disabled .components-form-toggle .components-form-toggle__thumb {
1778
+ border-color: GrayText;
1779
+ }
1780
+ }
1781
+ .components-form-toggle.is-disabled.is-checked .components-form-toggle__track, .components-disabled .components-form-toggle.is-checked .components-form-toggle__track {
1782
+ background-color: var(--wp-components-color-gray-400, #ccc);
1783
+ border-color: var(--wp-components-color-gray-400, #ccc);
1784
+ }
1785
+ @media (forced-colors: active) {
1786
+ .components-form-toggle.is-disabled.is-checked .components-form-toggle__track, .components-disabled .components-form-toggle.is-checked .components-form-toggle__track {
1787
+ border-color: GrayText;
1788
+ }
1789
+ .components-form-toggle.is-disabled.is-checked .components-form-toggle__track::after, .components-disabled .components-form-toggle.is-checked .components-form-toggle__track::after {
1790
+ border-top-color: GrayText;
1791
+ }
1792
+ }
1793
+ .components-form-toggle.is-disabled.is-checked .components-form-toggle__thumb, .components-disabled .components-form-toggle.is-checked .components-form-toggle__thumb {
1794
+ background-color: #fff;
1759
1795
  }
1760
1796
 
1761
1797
  .components-form-toggle input.components-form-toggle__input[type=checkbox] {
@@ -1777,7 +1813,7 @@ body.is-dragging-components-draggable {
1777
1813
  content: "";
1778
1814
  }
1779
1815
  .components-form-toggle input.components-form-toggle__input[type=checkbox]:not(:disabled, [aria-disabled=true]) {
1780
- cursor: pointer;
1816
+ cursor: var(--wpds-cursor-control, pointer);
1781
1817
  }
1782
1818
 
1783
1819
  .components-form-token-field__input-container {
@@ -1817,8 +1853,9 @@ body.is-dragging-components-draggable {
1817
1853
  cursor: text;
1818
1854
  }
1819
1855
  .components-form-token-field__input-container.is-disabled {
1820
- background: #ddd;
1821
- border-color: #ddd;
1856
+ background: var(--wp-components-color-gray-100, #f0f0f0);
1857
+ border-color: var(--wp-components-color-gray-400, #ccc);
1858
+ cursor: default;
1822
1859
  }
1823
1860
  .components-form-token-field__input-container.is-active {
1824
1861
  border-color: var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9));
@@ -1873,6 +1910,11 @@ body.is-dragging-components-draggable {
1873
1910
  .components-form-token-field__token.is-validating .components-form-token-field__remove-token {
1874
1911
  color: #757575;
1875
1912
  }
1913
+ .components-form-token-field__token.is-disabled .components-form-token-field__token-text,
1914
+ .components-form-token-field__token.is-disabled .components-form-token-field__remove-token.components-button {
1915
+ background: var(--wp-components-color-gray-100, #f0f0f0);
1916
+ color: var(--wp-components-color-gray-600, #949494);
1917
+ }
1876
1918
  .components-form-token-field__token.is-borderless {
1877
1919
  position: relative;
1878
1920
  padding: 0 0 0 24px;
@@ -1973,7 +2015,7 @@ body.is-dragging-components-draggable {
1973
2015
  background: color-mix(in srgb, var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9)) 4%, transparent);
1974
2016
  }
1975
2017
  .components-form-token-field__suggestion:not(.is-empty) {
1976
- cursor: pointer;
2018
+ cursor: var(--wpds-cursor-control, pointer);
1977
2019
  }
1978
2020
 
1979
2021
  @media (min-width: 600px) {
@@ -3072,7 +3114,9 @@ body.rtl .components-panel__body-toggle.components-button .dashicons-arrow-right
3072
3114
  margin: 0;
3073
3115
  padding: 0;
3074
3116
  appearance: none;
3075
- cursor: pointer;
3117
+ }
3118
+ .components-radio-control__input[type=radio]:not(:disabled) {
3119
+ cursor: var(--wpds-cursor-control, pointer);
3076
3120
  }
3077
3121
  .components-radio-control__input[type=radio]:focus {
3078
3122
  box-shadow: 0 0 0 var(--wp-admin-border-width-focus) #fff, 0 0 0 calc(2 * var(--wp-admin-border-width-focus)) var(--wp-admin-theme-color);
@@ -3087,11 +3131,24 @@ body.rtl .components-panel__body-toggle.components-button .dashicons-arrow-right
3087
3131
  content: "";
3088
3132
  border-radius: 50%;
3089
3133
  }
3134
+ .components-radio-control__input[type=radio]:disabled {
3135
+ background: var(--wp-components-color-gray-100, #f0f0f0);
3136
+ border: 1px solid var(--wp-components-color-gray-300, #ddd);
3137
+ opacity: 1;
3138
+ }
3139
+ .components-radio-control__input[type=radio]:disabled:checked::before {
3140
+ border-color: var(--wp-components-color-gray-400, #ccc);
3141
+ opacity: 1;
3142
+ }
3090
3143
 
3091
3144
  .components-radio-control__label {
3092
3145
  grid-column: 2;
3093
3146
  grid-row: 1;
3094
- cursor: pointer;
3147
+ }
3148
+ .components-radio-control:not(:disabled) .components-radio-control__label {
3149
+ cursor: var(--wpds-cursor-control, pointer);
3150
+ }
3151
+ .components-radio-control__label {
3095
3152
  line-height: 24px;
3096
3153
  }
3097
3154
  @media (min-width: 600px) {
@@ -3312,7 +3369,7 @@ body.lockscroll {
3312
3369
  width: 100%;
3313
3370
  max-width: var(--wpds-dimension-surface-width-lg, 560px);
3314
3371
  box-sizing: border-box;
3315
- cursor: pointer;
3372
+ cursor: var(--wpds-cursor-control, pointer);
3316
3373
  pointer-events: auto;
3317
3374
  }
3318
3375
  @media (min-width: 600px) {
@@ -3337,7 +3394,7 @@ body.lockscroll {
3337
3394
  }
3338
3395
  .components-snackbar .components-snackbar__dismiss-button {
3339
3396
  margin-right: 24px;
3340
- cursor: pointer;
3397
+ cursor: var(--wpds-cursor-control, pointer);
3341
3398
  }
3342
3399
 
3343
3400
  .components-snackbar__action.components-button,
@@ -3393,7 +3450,7 @@ body.lockscroll {
3393
3450
  background: transparent;
3394
3451
  border: none;
3395
3452
  box-shadow: none;
3396
- cursor: pointer;
3453
+ cursor: var(--wpds-cursor-control, pointer);
3397
3454
  padding: 3px 16px;
3398
3455
  margin-right: 0;
3399
3456
  font-weight: 400;
@@ -3630,7 +3687,7 @@ body.lockscroll {
3630
3687
  line-height: 16px;
3631
3688
  }
3632
3689
  .components-toggle-control__label:not(.is-disabled) {
3633
- cursor: pointer;
3690
+ cursor: var(--wpds-cursor-control, pointer);
3634
3691
  }
3635
3692
 
3636
3693
  .components-toggle-control__help {
@@ -265,7 +265,7 @@
265
265
  font-weight: 499;
266
266
  margin: 0;
267
267
  border: 0;
268
- cursor: pointer;
268
+ cursor: var(--wpds-cursor-control, pointer);
269
269
  appearance: none;
270
270
  background: none;
271
271
  }
@@ -556,9 +556,6 @@ p + .components-button.is-tertiary {
556
556
  fill: CanvasText;
557
557
  }
558
558
  }
559
- .components-button .components-visually-hidden {
560
- height: auto;
561
- }
562
559
 
563
560
  @keyframes components-button__busy-animation {
564
561
  0% {
@@ -597,7 +594,7 @@ p + .components-button.is-tertiary {
597
594
  background: none;
598
595
  padding: 0;
599
596
  margin: 0;
600
- cursor: pointer;
597
+ cursor: var(--wpds-cursor-control, pointer);
601
598
  justify-content: center;
602
599
  align-items: center;
603
600
  display: flex;
@@ -655,7 +652,7 @@ p + .components-button.is-tertiary {
655
652
  background: none;
656
653
  padding: 0;
657
654
  margin: 0;
658
- cursor: pointer;
655
+ cursor: var(--wpds-cursor-control, pointer);
659
656
  appearance: none;
660
657
  display: inline-flex;
661
658
  align-items: center;
@@ -752,7 +749,7 @@ p + .components-button.is-tertiary {
752
749
  border: 1px solid transparent;
753
750
  }
754
751
  .components-calendar__day--selected:not(.components-calendar__range-middle) .components-calendar__day-button:disabled::before {
755
- background-color: var(--wp-components-color-gray-600, #949494);
752
+ background-color: var(--wp-components-color-gray-400, #ccc);
756
753
  }
757
754
  .components-calendar__day--selected:not(.components-calendar__range-middle) .components-calendar__day-button:hover:not(:disabled)::before {
758
755
  background-color: var(--wp-components-color-gray-800, #2f2f2f);
@@ -939,7 +936,9 @@ p + .components-button.is-tertiary {
939
936
 
940
937
  .components-checkbox-control__label {
941
938
  line-height: var(--checkbox-input-size);
942
- cursor: pointer;
939
+ }
940
+ .components-checkbox-control:not(:has(:disabled)) .components-checkbox-control__label {
941
+ cursor: var(--wpds-cursor-control, pointer);
943
942
  }
944
943
 
945
944
  .components-checkbox-control__input[type=checkbox] {
@@ -1026,7 +1025,6 @@ p + .components-button.is-tertiary {
1026
1025
  background: #fff;
1027
1026
  color: #1e1e1e;
1028
1027
  clear: none;
1029
- cursor: pointer;
1030
1028
  display: inline-block;
1031
1029
  line-height: 0;
1032
1030
  margin: 0 4px 0 0;
@@ -1048,10 +1046,13 @@ p + .components-button.is-tertiary {
1048
1046
  outline: 2px solid transparent;
1049
1047
  outline-offset: 2px;
1050
1048
  }
1051
- .components-checkbox-control__input[type=checkbox]:checked, .components-checkbox-control__input[type=checkbox]:indeterminate {
1049
+ .components-checkbox-control__input[type=checkbox]:not(:disabled):is(:checked, :indeterminate) {
1052
1050
  background: var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9));
1053
1051
  border-color: var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9));
1054
1052
  }
1053
+ .components-checkbox-control__input[type=checkbox]:not(:disabled) {
1054
+ cursor: var(--wpds-cursor-control, pointer);
1055
+ }
1055
1056
  .components-checkbox-control__input[type=checkbox]:checked::before {
1056
1057
  content: none;
1057
1058
  }
@@ -1071,7 +1072,7 @@ svg.components-checkbox-control__checked,
1071
1072
  svg.components-checkbox-control__indeterminate {
1072
1073
  --checkmark-size: var(--checkbox-input-size);
1073
1074
  fill: #fff;
1074
- cursor: pointer;
1075
+ cursor: var(--wpds-cursor-control, pointer);
1075
1076
  position: absolute;
1076
1077
  left: 50%;
1077
1078
  top: 50%;
@@ -1089,6 +1090,11 @@ svg.components-checkbox-control__indeterminate {
1089
1090
  }
1090
1091
  }
1091
1092
 
1093
+ .components-checkbox-control:has(:disabled) svg.components-checkbox-control__checked,
1094
+ .components-checkbox-control:has(:disabled) svg.components-checkbox-control__indeterminate {
1095
+ fill: var(--wp-components-color-gray-400, #ccc);
1096
+ }
1097
+
1092
1098
  .components-checkbox-control__help {
1093
1099
  display: inline-block;
1094
1100
  margin-inline-start: calc(var(--checkbox-input-size) + var(--checkbox-input-margin));
@@ -1166,7 +1172,7 @@ svg.components-checkbox-control__indeterminate {
1166
1172
  }
1167
1173
  }
1168
1174
  .components-circular-option-picker__option {
1169
- cursor: pointer;
1175
+ cursor: var(--wpds-cursor-control, pointer);
1170
1176
  }
1171
1177
  .components-circular-option-picker__option:hover {
1172
1178
  box-shadow: inset 0 0 0 14px !important;
@@ -1332,7 +1338,7 @@ input.components-combobox-control__input[type=text]:focus {
1332
1338
  height: 64px;
1333
1339
  width: 100%;
1334
1340
  box-sizing: border-box;
1335
- cursor: pointer;
1341
+ cursor: var(--wpds-cursor-control, pointer);
1336
1342
  outline: 1px solid transparent;
1337
1343
  border-radius: 4px 4px 0 0;
1338
1344
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2);
@@ -1593,7 +1599,7 @@ body.is-dragging-components-draggable {
1593
1599
  width: 100%;
1594
1600
  padding: 6px;
1595
1601
  outline: none;
1596
- cursor: pointer;
1602
+ cursor: var(--wpds-cursor-control, pointer);
1597
1603
  white-space: nowrap;
1598
1604
  font-weight: 400;
1599
1605
  }
@@ -1759,8 +1765,38 @@ body.is-dragging-components-draggable {
1759
1765
  border-width: 0;
1760
1766
  transform: translateX(16px);
1761
1767
  }
1762
- .components-form-toggle.is-disabled, .components-disabled .components-form-toggle {
1763
- opacity: 0.3;
1768
+ .components-form-toggle.is-disabled .components-form-toggle__track, .components-disabled .components-form-toggle .components-form-toggle__track {
1769
+ background-color: var(--wp-components-color-gray-100, #f0f0f0);
1770
+ border-color: var(--wp-components-color-gray-300, #ddd);
1771
+ }
1772
+ @media (forced-colors: active) {
1773
+ .components-form-toggle.is-disabled .components-form-toggle__track, .components-disabled .components-form-toggle .components-form-toggle__track {
1774
+ border-color: GrayText;
1775
+ }
1776
+ }
1777
+ .components-form-toggle.is-disabled .components-form-toggle__thumb, .components-disabled .components-form-toggle .components-form-toggle__thumb {
1778
+ background-color: var(--wp-components-color-gray-400, #ccc);
1779
+ box-shadow: none;
1780
+ }
1781
+ @media (forced-colors: active) {
1782
+ .components-form-toggle.is-disabled .components-form-toggle__thumb, .components-disabled .components-form-toggle .components-form-toggle__thumb {
1783
+ border-color: GrayText;
1784
+ }
1785
+ }
1786
+ .components-form-toggle.is-disabled.is-checked .components-form-toggle__track, .components-disabled .components-form-toggle.is-checked .components-form-toggle__track {
1787
+ background-color: var(--wp-components-color-gray-400, #ccc);
1788
+ border-color: var(--wp-components-color-gray-400, #ccc);
1789
+ }
1790
+ @media (forced-colors: active) {
1791
+ .components-form-toggle.is-disabled.is-checked .components-form-toggle__track, .components-disabled .components-form-toggle.is-checked .components-form-toggle__track {
1792
+ border-color: GrayText;
1793
+ }
1794
+ .components-form-toggle.is-disabled.is-checked .components-form-toggle__track::after, .components-disabled .components-form-toggle.is-checked .components-form-toggle__track::after {
1795
+ border-top-color: GrayText;
1796
+ }
1797
+ }
1798
+ .components-form-toggle.is-disabled.is-checked .components-form-toggle__thumb, .components-disabled .components-form-toggle.is-checked .components-form-toggle__thumb {
1799
+ background-color: #fff;
1764
1800
  }
1765
1801
 
1766
1802
  .components-form-toggle input.components-form-toggle__input[type=checkbox] {
@@ -1782,7 +1818,7 @@ body.is-dragging-components-draggable {
1782
1818
  content: "";
1783
1819
  }
1784
1820
  .components-form-toggle input.components-form-toggle__input[type=checkbox]:not(:disabled, [aria-disabled=true]) {
1785
- cursor: pointer;
1821
+ cursor: var(--wpds-cursor-control, pointer);
1786
1822
  }
1787
1823
 
1788
1824
  .components-form-token-field__input-container {
@@ -1822,8 +1858,9 @@ body.is-dragging-components-draggable {
1822
1858
  cursor: text;
1823
1859
  }
1824
1860
  .components-form-token-field__input-container.is-disabled {
1825
- background: #ddd;
1826
- border-color: #ddd;
1861
+ background: var(--wp-components-color-gray-100, #f0f0f0);
1862
+ border-color: var(--wp-components-color-gray-400, #ccc);
1863
+ cursor: default;
1827
1864
  }
1828
1865
  .components-form-token-field__input-container.is-active {
1829
1866
  border-color: var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9));
@@ -1878,6 +1915,11 @@ body.is-dragging-components-draggable {
1878
1915
  .components-form-token-field__token.is-validating .components-form-token-field__remove-token {
1879
1916
  color: #757575;
1880
1917
  }
1918
+ .components-form-token-field__token.is-disabled .components-form-token-field__token-text,
1919
+ .components-form-token-field__token.is-disabled .components-form-token-field__remove-token.components-button {
1920
+ background: var(--wp-components-color-gray-100, #f0f0f0);
1921
+ color: var(--wp-components-color-gray-600, #949494);
1922
+ }
1881
1923
  .components-form-token-field__token.is-borderless {
1882
1924
  position: relative;
1883
1925
  padding: 0 24px 0 0;
@@ -1978,7 +2020,7 @@ body.is-dragging-components-draggable {
1978
2020
  background: color-mix(in srgb, var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9)) 4%, transparent);
1979
2021
  }
1980
2022
  .components-form-token-field__suggestion:not(.is-empty) {
1981
- cursor: pointer;
2023
+ cursor: var(--wpds-cursor-control, pointer);
1982
2024
  }
1983
2025
 
1984
2026
  @media (min-width: 600px) {
@@ -3081,7 +3123,9 @@ body.rtl .components-panel__body-toggle.components-button .dashicons-arrow-right
3081
3123
  margin: 0;
3082
3124
  padding: 0;
3083
3125
  appearance: none;
3084
- cursor: pointer;
3126
+ }
3127
+ .components-radio-control__input[type=radio]:not(:disabled) {
3128
+ cursor: var(--wpds-cursor-control, pointer);
3085
3129
  }
3086
3130
  .components-radio-control__input[type=radio]:focus {
3087
3131
  box-shadow: 0 0 0 var(--wp-admin-border-width-focus) #fff, 0 0 0 calc(2 * var(--wp-admin-border-width-focus)) var(--wp-admin-theme-color);
@@ -3096,11 +3140,24 @@ body.rtl .components-panel__body-toggle.components-button .dashicons-arrow-right
3096
3140
  content: "";
3097
3141
  border-radius: 50%;
3098
3142
  }
3143
+ .components-radio-control__input[type=radio]:disabled {
3144
+ background: var(--wp-components-color-gray-100, #f0f0f0);
3145
+ border: 1px solid var(--wp-components-color-gray-300, #ddd);
3146
+ opacity: 1;
3147
+ }
3148
+ .components-radio-control__input[type=radio]:disabled:checked::before {
3149
+ border-color: var(--wp-components-color-gray-400, #ccc);
3150
+ opacity: 1;
3151
+ }
3099
3152
 
3100
3153
  .components-radio-control__label {
3101
3154
  grid-column: 2;
3102
3155
  grid-row: 1;
3103
- cursor: pointer;
3156
+ }
3157
+ .components-radio-control:not(:disabled) .components-radio-control__label {
3158
+ cursor: var(--wpds-cursor-control, pointer);
3159
+ }
3160
+ .components-radio-control__label {
3104
3161
  line-height: 24px;
3105
3162
  }
3106
3163
  @media (min-width: 600px) {
@@ -3324,7 +3381,7 @@ body.lockscroll {
3324
3381
  width: 100%;
3325
3382
  max-width: var(--wpds-dimension-surface-width-lg, 560px);
3326
3383
  box-sizing: border-box;
3327
- cursor: pointer;
3384
+ cursor: var(--wpds-cursor-control, pointer);
3328
3385
  pointer-events: auto;
3329
3386
  }
3330
3387
  @media (min-width: 600px) {
@@ -3349,7 +3406,7 @@ body.lockscroll {
3349
3406
  }
3350
3407
  .components-snackbar .components-snackbar__dismiss-button {
3351
3408
  margin-left: 24px;
3352
- cursor: pointer;
3409
+ cursor: var(--wpds-cursor-control, pointer);
3353
3410
  }
3354
3411
 
3355
3412
  .components-snackbar__action.components-button,
@@ -3405,7 +3462,7 @@ body.lockscroll {
3405
3462
  background: transparent;
3406
3463
  border: none;
3407
3464
  box-shadow: none;
3408
- cursor: pointer;
3465
+ cursor: var(--wpds-cursor-control, pointer);
3409
3466
  padding: 3px 16px;
3410
3467
  margin-left: 0;
3411
3468
  font-weight: 400;
@@ -3643,7 +3700,7 @@ body.lockscroll {
3643
3700
  line-height: 16px;
3644
3701
  }
3645
3702
  .components-toggle-control__label:not(.is-disabled) {
3646
- cursor: pointer;
3703
+ cursor: var(--wpds-cursor-control, pointer);
3647
3704
  }
3648
3705
 
3649
3706
  .components-toggle-control__help {
@@ -1,3 +1,3 @@
1
- import type { AutocompleterUIProps, WPCompleter } from './types';
2
- export declare function getAutoCompleterUI(autocompleter: WPCompleter): ({ filterValue, instanceId, listBoxId, className, selectedIndex, onChangeOptions, onSelect, onReset, reset, contentRef, }: AutocompleterUIProps) => import("react").JSX.Element | null;
1
+ import type { AutocompleterUIProps } from './types';
2
+ export declare function AutocompleterUI({ autocompleter, filterValue, instanceId, listBoxId, className, selectedIndex, onChangeOptions, onSelect, reset, contentRef, }: AutocompleterUIProps): import("react").JSX.Element | null;
3
3
  //# sourceMappingURL=autocompleter-ui.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"autocompleter-ui.d.ts","sourceRoot":"","sources":["../../src/autocomplete/autocompleter-ui.tsx"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,oBAAoB,EAAe,WAAW,EAAE,MAAM,SAAS,CAAC;AAsD9E,wBAAgB,kBAAkB,CAAE,aAAa,EAAE,WAAW,8HAe1D,oBAAoB,wCAuHvB"}
1
+ {"version":3,"file":"autocompleter-ui.d.ts","sourceRoot":"","sources":["../../src/autocomplete/autocompleter-ui.tsx"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,oBAAoB,EAAe,MAAM,SAAS,CAAC;AAsDjE,wBAAgB,eAAe,CAAE,EAChC,aAAa,EACb,WAAW,EACX,UAAU,EACV,SAAS,EACT,SAAS,EACT,aAAa,EACb,eAAe,EACf,QAAQ,EACR,KAAK,EACL,UAAU,GACV,EAAE,oBAAoB,sCAyHtB"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Internal dependencies
3
+ */
4
+ import type { WPCompleter } from './types';
5
+ type AutocompleteMatch = {
6
+ completer: WPCompleter;
7
+ filterValue: string;
8
+ };
9
+ export declare function getAutocompleteMatch(textContent: string, completers: WPCompleter[], filteredOptionsLength: number, isBackspacing: boolean, getTextAfterSelection: () => string): AutocompleteMatch | null;
10
+ export {};
11
+ //# sourceMappingURL=get-autocomplete-match.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-autocomplete-match.d.ts","sourceRoot":"","sources":["../../src/autocomplete/get-autocomplete-match.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,KAAK,iBAAiB,GAAG;IACxB,SAAS,EAAE,WAAW,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,oBAAoB,CACnC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,WAAW,EAAE,EACzB,qBAAqB,EAAE,MAAM,EAC7B,aAAa,EAAE,OAAO,EACtB,qBAAqB,EAAE,MAAM,MAAM,GACjC,iBAAiB,GAAG,IAAI,CA6F1B"}
@@ -5,6 +5,14 @@ export declare function useAutocomplete({ record, onChange, onReplace, completer
5
5
  onKeyDown: (event: KeyboardEvent) => void;
6
6
  popover: false | import("react").JSX.Element;
7
7
  };
8
+ /**
9
+ * Tracks the last record whose value differed from the current one.
10
+ * Used to determine whether the user has actually typed something
11
+ */
12
+ export declare function useLastDifferentValue(value: UseAutocompleteProps['record']): import("@wordpress/rich-text").RichTextValue & {
13
+ start: NonNullable<import("@wordpress/rich-text").RichTextValue["start"]>;
14
+ end: NonNullable<import("@wordpress/rich-text").RichTextValue["end"]>;
15
+ };
8
16
  export declare function useAutocompleteProps(options: UseAutocompleteProps): {
9
17
  ref: import("react").RefCallback<HTMLElement>;
10
18
  children?: undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/autocomplete/index.tsx"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EACX,iBAAiB,EAMjB,oBAAoB,EAEpB,MAAM,SAAS,CAAC;AAQjB,wBAAgB,eAAe,CAAE,EAChC,MAAM,EACN,QAAQ,EACR,SAAS,EACT,UAAU,EACV,UAAU,GACV,EAAE,oBAAoB;;;;;EAkVtB;AAeD,wBAAgB,oBAAoB,CAAE,OAAO,EAAE,oBAAoB;;;;;;;;;;;;EAuClE;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAE,EACrC,QAAQ,EACR,UAAU,EACV,GAAG,OAAO,EACV,EAAE,iBAAiB,+BAQnB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/autocomplete/index.tsx"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAEX,iBAAiB,EAMjB,oBAAoB,EACpB,MAAM,SAAS,CAAC;AA6DjB,wBAAgB,eAAe,CAAE,EAChC,MAAM,EACN,QAAQ,EACR,SAAS,EACT,UAAU,EACV,UAAU,GACV,EAAE,oBAAoB;;;;;EA2LtB;AAaD;;;GAGG;AACH,wBAAgB,qBAAqB,CACpC,KAAK,EAAE,oBAAoB,CAAE,QAAQ,CAAE;;;EAmBvC;AAED,wBAAgB,oBAAoB,CAAE,OAAO,EAAE,oBAAoB;;;;;;;;;;;;EAuClE;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAE,EACrC,QAAQ,EACR,UAAU,EACV,GAAG,OAAO,EACV,EAAE,iBAAiB,+BAQnB"}