@wordpress/components 29.12.0 → 30.0.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 (337) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/build/autocomplete/index.js +4 -0
  3. package/build/autocomplete/index.js.map +1 -1
  4. package/build/box-control/input-control.js +2 -2
  5. package/build/box-control/input-control.js.map +1 -1
  6. package/build/calendar/date-calendar/index.js +69 -0
  7. package/build/calendar/date-calendar/index.js.map +1 -0
  8. package/build/calendar/date-range-calendar/index.js +172 -0
  9. package/build/calendar/date-range-calendar/index.js.map +1 -0
  10. package/build/calendar/index.js +27 -0
  11. package/build/calendar/index.js.map +1 -0
  12. package/build/calendar/types.js +6 -0
  13. package/build/calendar/types.js.map +1 -0
  14. package/build/calendar/utils/constants.js +68 -0
  15. package/build/calendar/utils/constants.js.map +1 -0
  16. package/build/calendar/utils/day-cell.js +137 -0
  17. package/build/calendar/utils/day-cell.js.map +1 -0
  18. package/build/calendar/utils/misc.js +10 -0
  19. package/build/calendar/utils/misc.js.map +1 -0
  20. package/build/calendar/utils/use-localization-props.js +162 -0
  21. package/build/calendar/utils/use-localization-props.js.map +1 -0
  22. package/build/custom-gradient-picker/gradient-bar/control-points.js +1 -1
  23. package/build/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  24. package/build/custom-select-control-v2/custom-select.js +3 -3
  25. package/build/custom-select-control-v2/custom-select.js.map +1 -1
  26. package/build/date-time/date/index.js +1 -1
  27. package/build/date-time/date/index.js.map +1 -1
  28. package/build/form-token-field/index.js +11 -1
  29. package/build/form-token-field/index.js.map +1 -1
  30. package/build/form-token-field/token.js +1 -1
  31. package/build/form-token-field/token.js.map +1 -1
  32. package/build/icon/index.js +2 -0
  33. package/build/icon/index.js.map +1 -1
  34. package/build/mobile/bottom-sheet/cell.native.js +2 -2
  35. package/build/mobile/bottom-sheet/cell.native.js.map +1 -1
  36. package/build/mobile/link-picker/index.native.js +1 -1
  37. package/build/mobile/link-picker/index.native.js.map +1 -1
  38. package/build/navigation/menu/menu-title-search.js +1 -1
  39. package/build/navigation/menu/menu-title-search.js.map +1 -1
  40. package/build/palette-edit/index.js +4 -4
  41. package/build/palette-edit/index.js.map +1 -1
  42. package/build/private-apis.js +5 -1
  43. package/build/private-apis.js.map +1 -1
  44. package/build/select-control/index.js +1 -1
  45. package/build/select-control/index.js.map +1 -1
  46. package/build/toggle-group-control/toggle-group-control/as-button-group.js.map +1 -1
  47. package/build/utils/hooks/use-controlled-value.js +8 -4
  48. package/build/utils/hooks/use-controlled-value.js.map +1 -1
  49. package/build/validated-form-controls/components/checkbox-control.js +52 -0
  50. package/build/validated-form-controls/components/checkbox-control.js.map +1 -0
  51. package/build/validated-form-controls/components/combobox-control.js +64 -0
  52. package/build/validated-form-controls/components/combobox-control.js.map +1 -0
  53. package/build/validated-form-controls/components/custom-select-control.js +71 -0
  54. package/build/validated-form-controls/components/custom-select-control.js.map +1 -0
  55. package/build/validated-form-controls/components/index.js +138 -0
  56. package/build/validated-form-controls/components/index.js.map +1 -0
  57. package/build/validated-form-controls/components/input-control.js +50 -0
  58. package/build/validated-form-controls/components/input-control.js.map +1 -0
  59. package/build/validated-form-controls/components/number-control.js +53 -0
  60. package/build/validated-form-controls/components/number-control.js.map +1 -0
  61. package/build/validated-form-controls/components/radio-control.js +51 -0
  62. package/build/validated-form-controls/components/radio-control.js.map +1 -0
  63. package/build/validated-form-controls/components/range-control.js +51 -0
  64. package/build/validated-form-controls/components/range-control.js.map +1 -0
  65. package/build/validated-form-controls/components/select-control.js +53 -0
  66. package/build/validated-form-controls/components/select-control.js.map +1 -0
  67. package/build/validated-form-controls/components/text-control.js +51 -0
  68. package/build/validated-form-controls/components/text-control.js.map +1 -0
  69. package/build/validated-form-controls/components/textarea-control.js +50 -0
  70. package/build/validated-form-controls/components/textarea-control.js.map +1 -0
  71. package/build/validated-form-controls/components/toggle-control.js +60 -0
  72. package/build/validated-form-controls/components/toggle-control.js.map +1 -0
  73. package/build/validated-form-controls/components/toggle-group-control.js +69 -0
  74. package/build/validated-form-controls/components/toggle-group-control.js.map +1 -0
  75. package/build/validated-form-controls/components/types.js +6 -0
  76. package/build/validated-form-controls/components/types.js.map +1 -0
  77. package/build/validated-form-controls/control-with-error.js +137 -0
  78. package/build/validated-form-controls/control-with-error.js.map +1 -0
  79. package/build/validated-form-controls/index.js +28 -0
  80. package/build/validated-form-controls/index.js.map +1 -0
  81. package/build-module/autocomplete/index.js +4 -0
  82. package/build-module/autocomplete/index.js.map +1 -1
  83. package/build-module/box-control/input-control.js +2 -2
  84. package/build-module/box-control/input-control.js.map +1 -1
  85. package/build-module/calendar/date-calendar/index.js +59 -0
  86. package/build-module/calendar/date-calendar/index.js.map +1 -0
  87. package/build-module/calendar/date-range-calendar/index.js +161 -0
  88. package/build-module/calendar/date-range-calendar/index.js.map +1 -0
  89. package/build-module/calendar/index.js +4 -0
  90. package/build-module/calendar/index.js.map +1 -0
  91. package/build-module/calendar/types.js +2 -0
  92. package/build-module/calendar/types.js.map +1 -0
  93. package/build-module/calendar/utils/constants.js +61 -0
  94. package/build-module/calendar/utils/constants.js.map +1 -0
  95. package/build-module/calendar/utils/day-cell.js +131 -0
  96. package/build-module/calendar/utils/day-cell.js.map +1 -0
  97. package/build-module/calendar/utils/misc.js +4 -0
  98. package/build-module/calendar/utils/misc.js.map +1 -0
  99. package/build-module/calendar/utils/use-localization-props.js +154 -0
  100. package/build-module/calendar/utils/use-localization-props.js.map +1 -0
  101. package/build-module/custom-gradient-picker/gradient-bar/control-points.js +1 -1
  102. package/build-module/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  103. package/build-module/custom-select-control-v2/custom-select.js +4 -4
  104. package/build-module/custom-select-control-v2/custom-select.js.map +1 -1
  105. package/build-module/date-time/date/index.js +1 -1
  106. package/build-module/date-time/date/index.js.map +1 -1
  107. package/build-module/form-token-field/index.js +11 -1
  108. package/build-module/form-token-field/index.js.map +1 -1
  109. package/build-module/form-token-field/token.js +1 -1
  110. package/build-module/form-token-field/token.js.map +1 -1
  111. package/build-module/icon/index.js +2 -0
  112. package/build-module/icon/index.js.map +1 -1
  113. package/build-module/mobile/bottom-sheet/cell.native.js +2 -2
  114. package/build-module/mobile/bottom-sheet/cell.native.js.map +1 -1
  115. package/build-module/mobile/link-picker/index.native.js +1 -1
  116. package/build-module/mobile/link-picker/index.native.js.map +1 -1
  117. package/build-module/navigation/menu/menu-title-search.js +1 -1
  118. package/build-module/navigation/menu/menu-title-search.js.map +1 -1
  119. package/build-module/palette-edit/index.js +4 -4
  120. package/build-module/palette-edit/index.js.map +1 -1
  121. package/build-module/private-apis.js +5 -1
  122. package/build-module/private-apis.js.map +1 -1
  123. package/build-module/select-control/index.js +1 -1
  124. package/build-module/select-control/index.js.map +1 -1
  125. package/build-module/toggle-group-control/toggle-group-control/as-button-group.js.map +1 -1
  126. package/build-module/utils/hooks/use-controlled-value.js +9 -5
  127. package/build-module/utils/hooks/use-controlled-value.js.map +1 -1
  128. package/build-module/validated-form-controls/components/checkbox-control.js +44 -0
  129. package/build-module/validated-form-controls/components/checkbox-control.js.map +1 -0
  130. package/build-module/validated-form-controls/components/combobox-control.js +56 -0
  131. package/build-module/validated-form-controls/components/combobox-control.js.map +1 -0
  132. package/build-module/validated-form-controls/components/custom-select-control.js +63 -0
  133. package/build-module/validated-form-controls/components/custom-select-control.js.map +1 -0
  134. package/build-module/validated-form-controls/components/index.js +13 -0
  135. package/build-module/validated-form-controls/components/index.js.map +1 -0
  136. package/build-module/validated-form-controls/components/input-control.js +42 -0
  137. package/build-module/validated-form-controls/components/input-control.js.map +1 -0
  138. package/build-module/validated-form-controls/components/number-control.js +45 -0
  139. package/build-module/validated-form-controls/components/number-control.js.map +1 -0
  140. package/build-module/validated-form-controls/components/radio-control.js +43 -0
  141. package/build-module/validated-form-controls/components/radio-control.js.map +1 -0
  142. package/build-module/validated-form-controls/components/range-control.js +43 -0
  143. package/build-module/validated-form-controls/components/range-control.js.map +1 -0
  144. package/build-module/validated-form-controls/components/select-control.js +45 -0
  145. package/build-module/validated-form-controls/components/select-control.js.map +1 -0
  146. package/build-module/validated-form-controls/components/text-control.js +43 -0
  147. package/build-module/validated-form-controls/components/text-control.js.map +1 -0
  148. package/build-module/validated-form-controls/components/textarea-control.js +42 -0
  149. package/build-module/validated-form-controls/components/textarea-control.js.map +1 -0
  150. package/build-module/validated-form-controls/components/toggle-control.js +52 -0
  151. package/build-module/validated-form-controls/components/toggle-control.js.map +1 -0
  152. package/build-module/validated-form-controls/components/toggle-group-control.js +62 -0
  153. package/build-module/validated-form-controls/components/toggle-group-control.js.map +1 -0
  154. package/build-module/validated-form-controls/components/types.js +2 -0
  155. package/build-module/validated-form-controls/components/types.js.map +1 -0
  156. package/build-module/validated-form-controls/control-with-error.js +129 -0
  157. package/build-module/validated-form-controls/control-with-error.js.map +1 -0
  158. package/build-module/validated-form-controls/index.js +3 -0
  159. package/build-module/validated-form-controls/index.js.map +1 -0
  160. package/build-style/style-rtl.css +418 -22
  161. package/build-style/style.css +418 -22
  162. package/build-types/autocomplete/index.d.ts.map +1 -1
  163. package/build-types/box-control/input-control.d.ts.map +1 -1
  164. package/build-types/box-control/utils.d.ts +7 -7
  165. package/build-types/calendar/date-calendar/index.d.ts +11 -0
  166. package/build-types/calendar/date-calendar/index.d.ts.map +1 -0
  167. package/build-types/calendar/date-range-calendar/index.d.ts +14 -0
  168. package/build-types/calendar/date-range-calendar/index.d.ts.map +1 -0
  169. package/build-types/calendar/index.d.ts +4 -0
  170. package/build-types/calendar/index.d.ts.map +1 -0
  171. package/build-types/calendar/stories/date-calendar.story.d.ts +16 -0
  172. package/build-types/calendar/stories/date-calendar.story.d.ts.map +1 -0
  173. package/build-types/calendar/stories/date-range-calendar.story.d.ts +16 -0
  174. package/build-types/calendar/stories/date-range-calendar.story.d.ts.map +1 -0
  175. package/build-types/calendar/test/__utils__/index.d.ts +10 -0
  176. package/build-types/calendar/test/__utils__/index.d.ts.map +1 -0
  177. package/build-types/calendar/test/date-calendar.d.ts +2 -0
  178. package/build-types/calendar/test/date-calendar.d.ts.map +1 -0
  179. package/build-types/calendar/test/date-range-calendar.d.ts +2 -0
  180. package/build-types/calendar/test/date-range-calendar.d.ts.map +1 -0
  181. package/build-types/calendar/types.d.ts +317 -0
  182. package/build-types/calendar/types.d.ts.map +1 -0
  183. package/build-types/calendar/utils/constants.d.ts +52 -0
  184. package/build-types/calendar/utils/constants.d.ts.map +1 -0
  185. package/build-types/calendar/utils/day-cell.d.ts +21 -0
  186. package/build-types/calendar/utils/day-cell.d.ts.map +1 -0
  187. package/build-types/calendar/utils/misc.d.ts +2 -0
  188. package/build-types/calendar/utils/misc.d.ts.map +1 -0
  189. package/build-types/calendar/utils/use-localization-props.d.ts +64 -0
  190. package/build-types/calendar/utils/use-localization-props.d.ts.map +1 -0
  191. package/build-types/color-picker/styles.d.ts.map +1 -1
  192. package/build-types/custom-gradient-picker/constants.d.ts +6 -3
  193. package/build-types/custom-gradient-picker/constants.d.ts.map +1 -1
  194. package/build-types/custom-select-control-v2/custom-select.d.ts.map +1 -1
  195. package/build-types/dimension-control/sizes.d.ts +15 -3
  196. package/build-types/dimension-control/sizes.d.ts.map +1 -1
  197. package/build-types/font-size-picker/constants.d.ts +2 -2
  198. package/build-types/font-size-picker/constants.d.ts.map +1 -1
  199. package/build-types/form-token-field/index.d.ts.map +1 -1
  200. package/build-types/icon/index.d.ts.map +1 -1
  201. package/build-types/popover/overlay-middlewares.d.ts +6 -1
  202. package/build-types/popover/overlay-middlewares.d.ts.map +1 -1
  203. package/build-types/private-apis.d.ts.map +1 -1
  204. package/build-types/select-control/stories/index.story.d.ts.map +1 -1
  205. package/build-types/toggle-group-control/toggle-group-control/as-button-group.d.ts.map +1 -1
  206. package/build-types/utils/hooks/use-controlled-value.d.ts +2 -2
  207. package/build-types/utils/hooks/use-controlled-value.d.ts.map +1 -1
  208. package/build-types/validated-form-controls/components/checkbox-control.d.ts +9 -0
  209. package/build-types/validated-form-controls/components/checkbox-control.d.ts.map +1 -0
  210. package/build-types/validated-form-controls/components/combobox-control.d.ts +21 -0
  211. package/build-types/validated-form-controls/components/combobox-control.d.ts.map +1 -0
  212. package/build-types/validated-form-controls/components/custom-select-control.d.ts +4 -0
  213. package/build-types/validated-form-controls/components/custom-select-control.d.ts.map +1 -0
  214. package/build-types/validated-form-controls/components/index.d.ts +13 -0
  215. package/build-types/validated-form-controls/components/index.d.ts.map +1 -0
  216. package/build-types/validated-form-controls/components/input-control.d.ts +4 -0
  217. package/build-types/validated-form-controls/components/input-control.d.ts.map +1 -0
  218. package/build-types/validated-form-controls/components/number-control.d.ts +17 -0
  219. package/build-types/validated-form-controls/components/number-control.d.ts.map +1 -0
  220. package/build-types/validated-form-controls/components/radio-control.d.ts +11 -0
  221. package/build-types/validated-form-controls/components/radio-control.d.ts.map +1 -0
  222. package/build-types/validated-form-controls/components/range-control.d.ts +36 -0
  223. package/build-types/validated-form-controls/components/range-control.d.ts.map +1 -0
  224. package/build-types/validated-form-controls/components/select-control.d.ts +9 -0
  225. package/build-types/validated-form-controls/components/select-control.d.ts.map +1 -0
  226. package/build-types/validated-form-controls/components/stories/checkbox-control.story.d.ts +12 -0
  227. package/build-types/validated-form-controls/components/stories/checkbox-control.story.d.ts.map +1 -0
  228. package/build-types/validated-form-controls/components/stories/combobox-control.story.d.ts +12 -0
  229. package/build-types/validated-form-controls/components/stories/combobox-control.story.d.ts.map +1 -0
  230. package/build-types/validated-form-controls/components/stories/custom-select-control.story.d.ts +12 -0
  231. package/build-types/validated-form-controls/components/stories/custom-select-control.story.d.ts.map +1 -0
  232. package/build-types/validated-form-controls/components/stories/input-control.story.d.ts +18 -0
  233. package/build-types/validated-form-controls/components/stories/input-control.story.d.ts.map +1 -0
  234. package/build-types/validated-form-controls/components/stories/number-control.story.d.ts +12 -0
  235. package/build-types/validated-form-controls/components/stories/number-control.story.d.ts.map +1 -0
  236. package/build-types/validated-form-controls/components/stories/overview.story.d.ts +19 -0
  237. package/build-types/validated-form-controls/components/stories/overview.story.d.ts.map +1 -0
  238. package/build-types/validated-form-controls/components/stories/radio-control.story.d.ts +12 -0
  239. package/build-types/validated-form-controls/components/stories/radio-control.story.d.ts.map +1 -0
  240. package/build-types/validated-form-controls/components/stories/range-control.story.d.ts +9 -0
  241. package/build-types/validated-form-controls/components/stories/range-control.story.d.ts.map +1 -0
  242. package/build-types/validated-form-controls/components/stories/select-control.story.d.ts +12 -0
  243. package/build-types/validated-form-controls/components/stories/select-control.story.d.ts.map +1 -0
  244. package/build-types/validated-form-controls/components/stories/story-utils.d.ts +9 -0
  245. package/build-types/validated-form-controls/components/stories/story-utils.d.ts.map +1 -0
  246. package/build-types/validated-form-controls/components/stories/text-control.story.d.ts +9 -0
  247. package/build-types/validated-form-controls/components/stories/text-control.story.d.ts.map +1 -0
  248. package/build-types/validated-form-controls/components/stories/textarea-control.story.d.ts +9 -0
  249. package/build-types/validated-form-controls/components/stories/textarea-control.story.d.ts.map +1 -0
  250. package/build-types/validated-form-controls/components/stories/toggle-control.story.d.ts +9 -0
  251. package/build-types/validated-form-controls/components/stories/toggle-control.story.d.ts.map +1 -0
  252. package/build-types/validated-form-controls/components/stories/toggle-group-control.story.d.ts +9 -0
  253. package/build-types/validated-form-controls/components/stories/toggle-group-control.story.d.ts.map +1 -0
  254. package/build-types/validated-form-controls/components/text-control.d.ts +8 -0
  255. package/build-types/validated-form-controls/components/text-control.d.ts.map +1 -0
  256. package/build-types/validated-form-controls/components/textarea-control.d.ts +7 -0
  257. package/build-types/validated-form-controls/components/textarea-control.d.ts.map +1 -0
  258. package/build-types/validated-form-controls/components/toggle-control.d.ts +7 -0
  259. package/build-types/validated-form-controls/components/toggle-control.d.ts.map +1 -0
  260. package/build-types/validated-form-controls/components/toggle-group-control.d.ts +15 -0
  261. package/build-types/validated-form-controls/components/toggle-group-control.d.ts.map +1 -0
  262. package/build-types/validated-form-controls/components/types.d.ts +27 -0
  263. package/build-types/validated-form-controls/components/types.d.ts.map +1 -0
  264. package/build-types/validated-form-controls/control-with-error.d.ts +36 -0
  265. package/build-types/validated-form-controls/control-with-error.d.ts.map +1 -0
  266. package/build-types/validated-form-controls/index.d.ts +3 -0
  267. package/build-types/validated-form-controls/index.d.ts.map +1 -0
  268. package/package.json +21 -20
  269. package/src/autocomplete/index.tsx +4 -0
  270. package/src/box-control/input-control.tsx +14 -5
  271. package/src/calendar/date-calendar/README.md +261 -0
  272. package/src/calendar/date-calendar/index.tsx +69 -0
  273. package/src/calendar/date-range-calendar/README.md +298 -0
  274. package/src/calendar/date-range-calendar/index.tsx +215 -0
  275. package/src/calendar/index.tsx +3 -0
  276. package/src/calendar/stories/date-calendar.story.tsx +221 -0
  277. package/src/calendar/stories/date-range-calendar.story.tsx +230 -0
  278. package/src/calendar/style.scss +431 -0
  279. package/src/calendar/test/__utils__/index.ts +56 -0
  280. package/src/calendar/test/date-calendar.tsx +975 -0
  281. package/src/calendar/test/date-range-calendar.tsx +1701 -0
  282. package/src/calendar/types.ts +342 -0
  283. package/src/calendar/utils/constants.ts +62 -0
  284. package/src/calendar/utils/day-cell.tsx +133 -0
  285. package/src/calendar/utils/misc.ts +3 -0
  286. package/src/calendar/utils/use-localization-props.ts +169 -0
  287. package/src/custom-gradient-picker/gradient-bar/control-points.tsx +1 -1
  288. package/src/custom-select-control-v2/custom-select.tsx +6 -3
  289. package/src/date-time/date/index.tsx +1 -1
  290. package/src/dimension-control/test/__snapshots__/index.test.js.snap +8 -8
  291. package/src/form-token-field/index.tsx +12 -1
  292. package/src/form-token-field/token.tsx +1 -1
  293. package/src/icon/index.tsx +2 -0
  294. package/src/mobile/bottom-sheet/cell.native.js +2 -2
  295. package/src/mobile/link-picker/index.native.js +1 -1
  296. package/src/navigation/menu/menu-title-search.tsx +1 -1
  297. package/src/palette-edit/index.tsx +4 -4
  298. package/src/private-apis.ts +5 -0
  299. package/src/select-control/index.tsx +1 -1
  300. package/src/select-control/style.scss +0 -6
  301. package/src/style.scss +3 -2
  302. package/src/toggle-group-control/toggle-group-control/as-button-group.tsx +3 -1
  303. package/src/utils/hooks/use-controlled-value.ts +16 -8
  304. package/src/validated-form-controls/components/checkbox-control.tsx +64 -0
  305. package/src/validated-form-controls/components/combobox-control.tsx +77 -0
  306. package/src/validated-form-controls/components/custom-select-control.tsx +86 -0
  307. package/src/validated-form-controls/components/index.ts +12 -0
  308. package/src/validated-form-controls/components/input-control.tsx +59 -0
  309. package/src/validated-form-controls/components/number-control.tsx +61 -0
  310. package/src/validated-form-controls/components/radio-control.tsx +60 -0
  311. package/src/validated-form-controls/components/range-control.tsx +60 -0
  312. package/src/validated-form-controls/components/select-control.tsx +75 -0
  313. package/src/validated-form-controls/components/stories/checkbox-control.story.tsx +57 -0
  314. package/src/validated-form-controls/components/stories/combobox-control.story.tsx +64 -0
  315. package/src/validated-form-controls/components/stories/custom-select-control.story.tsx +64 -0
  316. package/src/validated-form-controls/components/stories/input-control.story.tsx +132 -0
  317. package/src/validated-form-controls/components/stories/number-control.story.tsx +62 -0
  318. package/src/validated-form-controls/components/stories/overview.mdx +52 -0
  319. package/src/validated-form-controls/components/stories/overview.story.tsx +100 -0
  320. package/src/validated-form-controls/components/stories/radio-control.story.tsx +64 -0
  321. package/src/validated-form-controls/components/stories/range-control.story.tsx +60 -0
  322. package/src/validated-form-controls/components/stories/select-control.story.tsx +60 -0
  323. package/src/validated-form-controls/components/stories/story-utils.tsx +46 -0
  324. package/src/validated-form-controls/components/stories/text-control.story.tsx +55 -0
  325. package/src/validated-form-controls/components/stories/textarea-control.story.tsx +52 -0
  326. package/src/validated-form-controls/components/stories/toggle-control.story.tsx +55 -0
  327. package/src/validated-form-controls/components/stories/toggle-group-control.story.tsx +66 -0
  328. package/src/validated-form-controls/components/text-control.tsx +60 -0
  329. package/src/validated-form-controls/components/textarea-control.tsx +59 -0
  330. package/src/validated-form-controls/components/toggle-control.tsx +69 -0
  331. package/src/validated-form-controls/components/toggle-group-control.tsx +82 -0
  332. package/src/validated-form-controls/components/types.ts +28 -0
  333. package/src/validated-form-controls/control-with-error.tsx +198 -0
  334. package/src/validated-form-controls/index.ts +2 -0
  335. package/src/validated-form-controls/style.scss +75 -0
  336. package/tsconfig.tsbuildinfo +1 -1
  337. package/src/dimension-control/style.scss +0 -22
@@ -0,0 +1,9 @@
1
+ import type { ValidatedControlProps } from './types';
2
+ export declare const ValidatedCheckboxControl: import("react").ForwardRefExoticComponent<Omit<Pick<import("../../base-control/types").BaseControlProps, "help" | "__nextHasNoMarginBottom"> & {
3
+ onChange: (value: boolean) => void;
4
+ label?: string;
5
+ checked?: boolean;
6
+ indeterminate?: boolean;
7
+ heading?: import("react").ReactNode;
8
+ } & Omit<Omit<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref">, "help" | "label" | "children" | "onChange" | "checked" | "as" | "heading" | "__nextHasNoMarginBottom" | "indeterminate">, "__nextHasNoMarginBottom"> & ValidatedControlProps<boolean | undefined> & import("react").RefAttributes<HTMLInputElement>>;
9
+ //# sourceMappingURL=checkbox-control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox-control.d.ts","sourceRoot":"","sources":["../../../src/validated-form-controls/components/checkbox-control.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAmDrD,eAAO,MAAM,wBAAwB;;;;;;sXAEpC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { ValidatedControlProps } from './types';
2
+ import type { ComboboxControlProps } from '../../combobox-control/types';
3
+ export declare const ValidatedComboboxControl: import("react").ForwardRefExoticComponent<Omit<Pick<import("../../base-control/types").BaseControlProps, "help" | "label" | "className" | "hideLabelFromVision" | "__nextHasNoMarginBottom"> & {
4
+ __experimentalRenderItem?: (args: {
5
+ item: import("../../combobox-control/types").ComboboxControlOption;
6
+ }) => React.ReactNode;
7
+ __next36pxDefaultSize?: boolean;
8
+ __next40pxDefaultSize?: boolean;
9
+ allowReset?: boolean;
10
+ expandOnFocus?: boolean;
11
+ messages?: {
12
+ selected: string;
13
+ };
14
+ onChange?: (value: ComboboxControlProps["value"]) => void;
15
+ onFilterValueChange?: (value: string) => void;
16
+ options: import("../../combobox-control/types").ComboboxControlOption[];
17
+ value?: string | null;
18
+ placeholder?: string;
19
+ isLoading?: boolean;
20
+ }, "__next40pxDefaultSize" | "__nextHasNoMarginBottom"> & ValidatedControlProps<string | null | undefined> & import("react").RefAttributes<HTMLInputElement>>;
21
+ //# sourceMappingURL=combobox-control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combobox-control.d.ts","sourceRoot":"","sources":["../../../src/validated-form-controls/components/combobox-control.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAErD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AA8DzE,eAAO,MAAM,wBAAwB;;;UAjDQ,MAAO,SAElD;;;;;;;;;;;;;;6JAiDD,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { ValidatedControlProps } from './types';
2
+ import type { CustomSelectOption, CustomSelectProps } from '../../custom-select-control/types';
3
+ export declare const ValidatedCustomSelectControl: import("react").ForwardRefExoticComponent<Omit<CustomSelectProps<CustomSelectOption>, "__next40pxDefaultSize"> & ValidatedControlProps<NoInfer<CustomSelectOption> | undefined> & import("react").RefAttributes<HTMLDivElement>>;
4
+ //# sourceMappingURL=custom-select-control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-select-control.d.ts","sourceRoot":"","sources":["../../../src/validated-form-controls/components/custom-select-control.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAErD,OAAO,KAAK,EACX,kBAAkB,EAClB,iBAAiB,EACjB,MAAM,mCAAmC,CAAC;AAqE3C,eAAO,MAAM,4BAA4B,kOAExC,CAAC"}
@@ -0,0 +1,13 @@
1
+ export * from './checkbox-control';
2
+ export * from './combobox-control';
3
+ export * from './custom-select-control';
4
+ export * from './input-control';
5
+ export * from './number-control';
6
+ export * from './radio-control';
7
+ export * from './range-control';
8
+ export * from './select-control';
9
+ export * from './text-control';
10
+ export * from './textarea-control';
11
+ export * from './toggle-control';
12
+ export * from './toggle-group-control';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/validated-form-controls/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { ValidatedControlProps } from './types';
2
+ import type { InputControlProps } from '../../input-control/types';
3
+ export declare const ValidatedInputControl: import("react").ForwardRefExoticComponent<Omit<Omit<InputControlProps & import("react").RefAttributes<HTMLInputElement>, "__next40pxDefaultSize"> & ValidatedControlProps<string | undefined>, "ref"> & import("react").RefAttributes<HTMLInputElement>>;
4
+ //# sourceMappingURL=input-control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-control.d.ts","sourceRoot":"","sources":["../../../src/validated-form-controls/components/input-control.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAErD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AA4CnE,eAAO,MAAM,qBAAqB,0PAEjC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { ValidatedControlProps } from './types';
2
+ export declare const ValidatedNumberControl: import("react").ForwardRefExoticComponent<Omit<Omit<Omit<import("../../input-control/types").InputControlProps, "max" | "min" | "type" | "value" | "required" | "step" | "isDragEnabled"> & {
3
+ hideHTMLArrows?: boolean;
4
+ spinControls?: "none" | "native" | "custom";
5
+ isDragEnabled?: import("../../input-control/types").InputControlProps["isDragEnabled"];
6
+ isShiftStepEnabled?: boolean;
7
+ max?: number;
8
+ min?: number;
9
+ required?: import("../../input-control/types").InputControlProps["required"];
10
+ shiftStep?: number;
11
+ step?: import("../../input-control/types").InputControlProps["step"];
12
+ spinFactor?: number;
13
+ type?: import("../../input-control/types").InputControlProps["type"];
14
+ value?: number | string;
15
+ __shouldNotWarnDeprecated36pxSize?: boolean;
16
+ } & Omit<Omit<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref">, "hidden" | "color" | "content" | "size" | "style" | "help" | "height" | "translate" | "width" | "multiple" | "disabled" | "form" | "label" | "slot" | "title" | "pattern" | "suppressHydrationWarning" | "className" | "id" | "lang" | "max" | "min" | "name" | "type" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onResize" | "onResizeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "accessKey" | "autoFocus" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "nonce" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "value" | "autoComplete" | "maxLength" | "minLength" | "placeholder" | "readOnly" | "required" | "src" | "alt" | "accept" | "capture" | "checked" | "enterKeyHint" | "list" | "step" | "as" | "onValidate" | "__next36pxDefaultSize" | "__next40pxDefaultSize" | "__shouldNotWarnDeprecated36pxSize" | "__unstableInputWidth" | "hideLabelFromVision" | "labelPosition" | "dragDirection" | "dragThreshold" | "isDragEnabled" | "isPressEnterToChange" | "suffix" | "__unstableStateReducer" | "hideHTMLArrows" | "spinControls" | "isShiftStepEnabled" | "shiftStep" | "spinFactor"> & import("react").RefAttributes<any>, "__next40pxDefaultSize"> & ValidatedControlProps<string | number | undefined>, "ref"> & import("react").RefAttributes<HTMLInputElement>>;
17
+ //# sourceMappingURL=number-control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number-control.d.ts","sourceRoot":"","sources":["../../../src/validated-form-controls/components/number-control.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AA+CrD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;urLAElC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { ValidatedControlProps } from './types';
2
+ export declare const ValidatedRadioControl: import("react").ForwardRefExoticComponent<Pick<import("../../base-control/types").BaseControlProps, "help" | "label" | "hideLabelFromVision"> & {
3
+ onChange: (value: string) => void;
4
+ options?: {
5
+ label: string;
6
+ value: string;
7
+ description?: string;
8
+ }[];
9
+ selected?: string;
10
+ } & Omit<Omit<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref">, "help" | "label" | "children" | "onChange" | "as" | "selected" | "options" | "hideLabelFromVision"> & ValidatedControlProps<string | undefined> & import("react").RefAttributes<HTMLDivElement>>;
11
+ //# sourceMappingURL=radio-control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio-control.d.ts","sourceRoot":"","sources":["../../../src/validated-form-controls/components/radio-control.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AA+CrD,eAAO,MAAM,qBAAqB;;;;;mBAhCJ,CAAC;;;kUAkC9B,CAAC"}
@@ -0,0 +1,36 @@
1
+ import type { ValidatedControlProps } from './types';
2
+ export declare const ValidatedRangeControl: import("react").ForwardRefExoticComponent<Omit<Omit<Pick<import("../../base-control/types").BaseControlProps, "help" | "hideLabelFromVision" | "__nextHasNoMarginBottom"> & import("../../range-control/types").NumericProps & {
3
+ disabled?: boolean;
4
+ marks?: boolean | {
5
+ value: number;
6
+ label?: string;
7
+ }[];
8
+ step?: number | "any";
9
+ } & {
10
+ afterIcon?: import("../..").IconType;
11
+ allowReset?: boolean;
12
+ beforeIcon?: import("../..").IconType;
13
+ color?: import("react").CSSProperties["color"];
14
+ currentInput?: number;
15
+ icon?: string;
16
+ initialPosition?: number;
17
+ isShiftStepEnabled?: boolean;
18
+ label?: string;
19
+ onBlur?: import("react").FocusEventHandler<HTMLInputElement>;
20
+ onChange?: (value?: number) => void;
21
+ onFocus?: import("react").FocusEventHandler<HTMLInputElement>;
22
+ onMouseLeave?: import("react").MouseEventHandler<HTMLInputElement>;
23
+ onMouseMove?: import("react").MouseEventHandler<HTMLInputElement>;
24
+ railColor?: import("react").CSSProperties["color"];
25
+ renderTooltipContent?: (value?: import("../../range-control/types").ControlledRangeValue) => string | number | null | undefined;
26
+ resetFallbackValue?: number;
27
+ separatorType?: "none" | "fullWidth" | "topFullWidth";
28
+ shiftStep?: number;
29
+ __next40pxDefaultSize?: boolean;
30
+ showTooltip?: boolean;
31
+ trackColor?: import("react").CSSProperties["color"];
32
+ type?: "stepper";
33
+ withInputField?: boolean;
34
+ __shouldNotWarnDeprecated36pxSize?: boolean;
35
+ } & Omit<Omit<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref">, "color" | "help" | "icon" | "disabled" | "label" | "type" | "children" | "onFocus" | "onBlur" | "onChange" | "onMouseLeave" | "onMouseMove" | "step" | "as" | "__next40pxDefaultSize" | "__shouldNotWarnDeprecated36pxSize" | "hideLabelFromVision" | "__nextHasNoMarginBottom" | "showTooltip" | "isShiftStepEnabled" | "shiftStep" | keyof import("../../range-control/types").NumericProps | "marks" | "afterIcon" | "allowReset" | "beforeIcon" | "currentInput" | "initialPosition" | "railColor" | "renderTooltipContent" | "resetFallbackValue" | "separatorType" | "trackColor" | "withInputField"> & import("react").RefAttributes<HTMLInputElement>, "__next40pxDefaultSize" | "__nextHasNoMarginBottom"> & ValidatedControlProps<number | undefined>, "ref"> & import("react").RefAttributes<HTMLInputElement>>;
36
+ //# sourceMappingURL=range-control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"range-control.d.ts","sourceRoot":"","sources":["../../../src/validated-form-controls/components/range-control.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AA+CrD,eAAO,MAAM,qBAAqB;;;;aAnBZ,CAAC;;;;;;;;;;;;;;qBAsBq9E,CAAC;;;;;iCAAmuB,CAAC;;;;;;;;;;45BADhtG,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { ValidatedControlProps } from './types';
2
+ import type { SelectControlProps as _SelectControlProps } from '../../select-control/types';
3
+ export declare const ValidatedSelectControl: import("react").ForwardRefExoticComponent<Omit<Omit<import("../../context").WordPressComponentProps<_SelectControlProps<string>, "select", false> & {
4
+ ref?: React.Ref<HTMLSelectElement>;
5
+ }, "multiple" | "onChange" | "value" | "__next40pxDefaultSize" | "__nextHasNoMarginBottom"> & {
6
+ value?: string;
7
+ onChange: (value: string) => void;
8
+ } & ValidatedControlProps<string | undefined>, "ref"> & import("react").RefAttributes<HTMLSelectElement>>;
9
+ //# sourceMappingURL=select-control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-control.d.ts","sourceRoot":"","sources":["../../../src/validated-form-controls/components/select-control.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,IAAI,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AA4D5F,eAAO,MAAM,sBAAsB;UAGkxF,MAAO,GAAG;;YAnCrzF,MAAM;cACJ,CAAE,KAAK,EAAE,MAAM,KAAM,IAAI;yGAiCpC,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import type { StoryObj, Meta } from '@storybook/react';
5
+ /**
6
+ * Internal dependencies
7
+ */
8
+ import { ValidatedCheckboxControl } from '../checkbox-control';
9
+ declare const meta: Meta<typeof ValidatedCheckboxControl>;
10
+ export default meta;
11
+ export declare const Default: StoryObj<typeof ValidatedCheckboxControl>;
12
+ //# sourceMappingURL=checkbox-control.story.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox-control.story.d.ts","sourceRoot":"","sources":["../../../../src/validated-form-controls/components/stories/checkbox-control.story.tsx"],"names":[],"mappings":"AAKA;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;GAEG;AACH,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAG/D,QAAA,MAAM,IAAI,EAAE,IAAI,CAAE,OAAO,wBAAwB,CAWhD,CAAC;AACF,eAAe,IAAI,CAAC;AAEpB,eAAO,MAAM,OAAO,EAAE,QAAQ,CAAE,OAAO,wBAAwB,CAe9D,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import type { StoryObj, Meta } from '@storybook/react';
5
+ /**
6
+ * Internal dependencies
7
+ */
8
+ import { ValidatedComboboxControl } from '../combobox-control';
9
+ declare const meta: Meta<typeof ValidatedComboboxControl>;
10
+ export default meta;
11
+ export declare const Default: StoryObj<typeof ValidatedComboboxControl>;
12
+ //# sourceMappingURL=combobox-control.story.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combobox-control.story.d.ts","sourceRoot":"","sources":["../../../../src/validated-form-controls/components/stories/combobox-control.story.tsx"],"names":[],"mappings":"AAKA;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;GAEG;AACH,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAG/D,QAAA,MAAM,IAAI,EAAE,IAAI,CAAE,OAAO,wBAAwB,CAShD,CAAC;AACF,eAAe,IAAI,CAAC;AAEpB,eAAO,MAAM,OAAO,EAAE,QAAQ,CAAE,OAAO,wBAAwB,CAoB9D,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import type { StoryObj, Meta } from '@storybook/react';
5
+ /**
6
+ * Internal dependencies
7
+ */
8
+ import { ValidatedCustomSelectControl } from '../custom-select-control';
9
+ declare const meta: Meta<typeof ValidatedCustomSelectControl>;
10
+ export default meta;
11
+ export declare const Default: StoryObj<typeof ValidatedCustomSelectControl>;
12
+ //# sourceMappingURL=custom-select-control.story.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-select-control.story.d.ts","sourceRoot":"","sources":["../../../../src/validated-form-controls/components/stories/custom-select-control.story.tsx"],"names":[],"mappings":"AAKA;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;GAEG;AACH,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAGxE,QAAA,MAAM,IAAI,EAAE,IAAI,CAAE,OAAO,4BAA4B,CASpD,CAAC;AACF,eAAe,IAAI,CAAC;AAEpB,eAAO,MAAM,OAAO,EAAE,QAAQ,CAAE,OAAO,4BAA4B,CAoBlE,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import type { StoryObj, Meta } from '@storybook/react';
5
+ /**
6
+ * Internal dependencies
7
+ */
8
+ import { ValidatedInputControl } from '../input-control';
9
+ declare const meta: Meta<typeof ValidatedInputControl>;
10
+ export default meta;
11
+ export declare const Default: StoryObj<typeof ValidatedInputControl>;
12
+ /**
13
+ * This demonstrates how password validation would work with the standard implementation.
14
+ *
15
+ * We are planning to move to a custom implementation more tailored to the password use case.
16
+ */
17
+ export declare const Password: StoryObj<typeof ValidatedInputControl>;
18
+ //# sourceMappingURL=input-control.story.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-control.story.d.ts","sourceRoot":"","sources":["../../../../src/validated-form-controls/components/stories/input-control.story.tsx"],"names":[],"mappings":"AAKA;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAOvD;;GAEG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAKzD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAE,OAAO,qBAAqB,CAe7C,CAAC;AACF,eAAe,IAAI,CAAC;AAEpB,eAAO,MAAM,OAAO,EAAE,QAAQ,CAAE,OAAO,qBAAqB,CAkB3D,CAAC;AAaF;;;;GAIG;AACH,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAE,OAAO,qBAAqB,CAgC5D,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import type { StoryObj, Meta } from '@storybook/react';
5
+ /**
6
+ * Internal dependencies
7
+ */
8
+ import { ValidatedNumberControl } from '../number-control';
9
+ declare const meta: Meta<typeof ValidatedNumberControl>;
10
+ export default meta;
11
+ export declare const Default: StoryObj<typeof ValidatedNumberControl>;
12
+ //# sourceMappingURL=number-control.story.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number-control.story.d.ts","sourceRoot":"","sources":["../../../../src/validated-form-controls/components/stories/number-control.story.tsx"],"names":[],"mappings":"AAKA;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;GAEG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAG3D,QAAA,MAAM,IAAI,EAAE,IAAI,CAAE,OAAO,sBAAsB,CAa9C,CAAC;AACF,eAAe,IAAI,CAAC;AAEpB,eAAO,MAAM,OAAO,EAAE,QAAQ,CAAE,OAAO,sBAAsB,CAkB5D,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import type { Meta, StoryObj } from '@storybook/react';
5
+ import type { ControlWithError } from '../../control-with-error';
6
+ declare const meta: Meta<typeof ControlWithError>;
7
+ export default meta;
8
+ type Story = StoryObj<typeof ControlWithError>;
9
+ /**
10
+ * When there are multiple controls with errors, attempting to submit will
11
+ * move focus to the first control with an error.
12
+ */
13
+ export declare const WithMultipleControls: Story;
14
+ /**
15
+ * Help text can be configured to be hidden when a custom error is reported. Whether to opt for this approach
16
+ * will depend on context.
17
+ */
18
+ export declare const WithHelpTextReplacement: Story;
19
+ //# sourceMappingURL=overview.story.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overview.story.d.ts","sourceRoot":"","sources":["../../../../src/validated-form-controls/components/stories/overview.story.tsx"],"names":[],"mappings":"AAKA;;GAEG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAOvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,QAAA,MAAM,IAAI,EAAE,IAAI,CAAE,OAAO,gBAAgB,CAIxC,CAAC;AACF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAE,OAAO,gBAAgB,CAAE,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAoClC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,KA2BrC,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import type { StoryObj, Meta } from '@storybook/react';
5
+ /**
6
+ * Internal dependencies
7
+ */
8
+ import { ValidatedRadioControl } from '../radio-control';
9
+ declare const meta: Meta<typeof ValidatedRadioControl>;
10
+ export default meta;
11
+ export declare const Default: StoryObj<typeof ValidatedRadioControl>;
12
+ //# sourceMappingURL=radio-control.story.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio-control.story.d.ts","sourceRoot":"","sources":["../../../../src/validated-form-controls/components/stories/radio-control.story.tsx"],"names":[],"mappings":"AAKA;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;GAEG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAE,OAAO,qBAAqB,CAS7C,CAAC;AACF,eAAe,IAAI,CAAC;AAEpB,eAAO,MAAM,OAAO,EAAE,QAAQ,CAAE,OAAO,qBAAqB,CAoB3D,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import type { StoryObj, Meta } from '@storybook/react';
5
+ import { ValidatedRangeControl } from '../range-control';
6
+ declare const meta: Meta<typeof ValidatedRangeControl>;
7
+ export default meta;
8
+ export declare const Default: StoryObj<typeof ValidatedRangeControl>;
9
+ //# sourceMappingURL=range-control.story.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"range-control.story.d.ts","sourceRoot":"","sources":["../../../../src/validated-form-controls/components/stories/range-control.story.tsx"],"names":[],"mappings":"AAKA;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAMvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAE,OAAO,qBAAqB,CAS7C,CAAC;AACF,eAAe,IAAI,CAAC;AAEpB,eAAO,MAAM,OAAO,EAAE,QAAQ,CAAE,OAAO,qBAAqB,CAkB3D,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import type { StoryObj, Meta } from '@storybook/react';
5
+ /**
6
+ * Internal dependencies
7
+ */
8
+ import { ValidatedSelectControl } from '../select-control';
9
+ declare const meta: Meta<typeof ValidatedSelectControl>;
10
+ export default meta;
11
+ export declare const Default: StoryObj<typeof ValidatedSelectControl>;
12
+ //# sourceMappingURL=select-control.story.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-control.story.d.ts","sourceRoot":"","sources":["../../../../src/validated-form-controls/components/stories/select-control.story.tsx"],"names":[],"mappings":"AAKA;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;GAEG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAG3D,QAAA,MAAM,IAAI,EAAE,IAAI,CAAE,OAAO,sBAAsB,CAS9C,CAAC;AACF,eAAe,IAAI,CAAC;AAEpB,eAAO,MAAM,OAAO,EAAE,QAAQ,CAAE,OAAO,sBAAsB,CAe5D,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ /**
5
+ * External dependencies
6
+ */
7
+ import type { Meta } from '@storybook/react';
8
+ export declare const formDecorator: Meta['decorators'];
9
+ //# sourceMappingURL=story-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"story-utils.d.ts","sourceRoot":"","sources":["../../../../src/validated-form-controls/components/stories/story-utils.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAO7C,eAAO,MAAM,aAAa,EAAE,IAAI,CAAE,YAAY,CA+B7C,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import type { StoryObj, Meta } from '@storybook/react';
5
+ import { ValidatedTextControl } from '../text-control';
6
+ declare const meta: Meta<typeof ValidatedTextControl>;
7
+ export default meta;
8
+ export declare const Default: StoryObj<typeof ValidatedTextControl>;
9
+ //# sourceMappingURL=text-control.story.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-control.story.d.ts","sourceRoot":"","sources":["../../../../src/validated-form-controls/components/stories/text-control.story.tsx"],"names":[],"mappings":"AAKA;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAMvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAE,OAAO,oBAAoB,CAS5C,CAAC;AACF,eAAe,IAAI,CAAC;AAEpB,eAAO,MAAM,OAAO,EAAE,QAAQ,CAAE,OAAO,oBAAoB,CAe1D,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import type { StoryObj, Meta } from '@storybook/react';
5
+ import { ValidatedTextareaControl } from '../textarea-control';
6
+ declare const meta: Meta<typeof ValidatedTextareaControl>;
7
+ export default meta;
8
+ export declare const Default: StoryObj<typeof ValidatedTextareaControl>;
9
+ //# sourceMappingURL=textarea-control.story.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textarea-control.story.d.ts","sourceRoot":"","sources":["../../../../src/validated-form-controls/components/stories/textarea-control.story.tsx"],"names":[],"mappings":"AAKA;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAKvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,QAAA,MAAM,IAAI,EAAE,IAAI,CAAE,OAAO,wBAAwB,CAOhD,CAAC;AACF,eAAe,IAAI,CAAC;AAEpB,eAAO,MAAM,OAAO,EAAE,QAAQ,CAAE,OAAO,wBAAwB,CAe9D,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import type { StoryObj, Meta } from '@storybook/react';
5
+ import { ValidatedToggleControl } from '../toggle-control';
6
+ declare const meta: Meta<typeof ValidatedToggleControl>;
7
+ export default meta;
8
+ export declare const Default: StoryObj<typeof ValidatedToggleControl>;
9
+ //# sourceMappingURL=toggle-control.story.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle-control.story.d.ts","sourceRoot":"","sources":["../../../../src/validated-form-controls/components/stories/toggle-control.story.tsx"],"names":[],"mappings":"AAKA;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAMvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,QAAA,MAAM,IAAI,EAAE,IAAI,CAAE,OAAO,sBAAsB,CAS9C,CAAC;AACF,eAAe,IAAI,CAAC;AAEpB,eAAO,MAAM,OAAO,EAAE,QAAQ,CAAE,OAAO,sBAAsB,CAe5D,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import type { StoryObj, Meta } from '@storybook/react';
5
+ import { ValidatedToggleGroupControl } from '../toggle-group-control';
6
+ declare const meta: Meta<typeof ValidatedToggleGroupControl>;
7
+ export default meta;
8
+ export declare const Default: StoryObj<typeof ValidatedToggleGroupControl>;
9
+ //# sourceMappingURL=toggle-group-control.story.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle-group-control.story.d.ts","sourceRoot":"","sources":["../../../../src/validated-form-controls/components/stories/toggle-group-control.story.tsx"],"names":[],"mappings":"AAKA;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAMvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAGtE,QAAA,MAAM,IAAI,EAAE,IAAI,CAAE,OAAO,2BAA2B,CASnD,CAAC;AACF,eAAe,IAAI,CAAC;AAEpB,eAAO,MAAM,OAAO,EAAE,QAAQ,CAAE,OAAO,2BAA2B,CAoBjE,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { ValidatedControlProps } from './types';
2
+ export declare const ValidatedTextControl: import("react").ForwardRefExoticComponent<Omit<Omit<Pick<import("../../base-control/types").BaseControlProps, "help" | "label" | "className" | "hideLabelFromVision" | "__nextHasNoMarginBottom"> & {
3
+ onChange: (value: string) => void;
4
+ value: string | number;
5
+ type?: "date" | "datetime-local" | "email" | "number" | "password" | "tel" | "text" | "time" | "search" | "url";
6
+ __next40pxDefaultSize?: boolean;
7
+ } & Omit<Omit<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref">, "help" | "label" | "className" | "type" | "children" | "onChange" | "value" | "as" | "__next40pxDefaultSize" | "hideLabelFromVision" | "__nextHasNoMarginBottom"> & import("react").RefAttributes<HTMLInputElement>, "__next40pxDefaultSize" | "__nextHasNoMarginBottom"> & ValidatedControlProps<string | number>, "ref"> & import("react").RefAttributes<HTMLInputElement>>;
8
+ //# sourceMappingURL=text-control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-control.d.ts","sourceRoot":"","sources":["../../../src/validated-form-controls/components/text-control.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AA+CrD,eAAO,MAAM,oBAAoB;;;;;+eAEhC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { ValidatedControlProps } from './types';
2
+ export declare const ValidatedTextareaControl: import("react").ForwardRefExoticComponent<Omit<Omit<Pick<import("../../base-control/types").BaseControlProps, "help" | "label" | "hideLabelFromVision" | "__nextHasNoMarginBottom"> & {
3
+ onChange: (value: string) => void;
4
+ value: string;
5
+ rows?: import("react").TextareaHTMLAttributes<HTMLTextAreaElement>["rows"];
6
+ } & Omit<Omit<import("react").DetailedHTMLProps<import("react").TextareaHTMLAttributes<HTMLTextAreaElement>, HTMLTextAreaElement>, "ref">, "help" | "label" | "children" | "onChange" | "value" | "rows" | "as" | "hideLabelFromVision" | "__nextHasNoMarginBottom"> & import("react").RefAttributes<HTMLTextAreaElement>, "__nextHasNoMarginBottom"> & ValidatedControlProps<string>, "ref"> & import("react").RefAttributes<HTMLTextAreaElement>>;
7
+ //# sourceMappingURL=textarea-control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textarea-control.d.ts","sourceRoot":"","sources":["../../../src/validated-form-controls/components/textarea-control.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AA8CrD,eAAO,MAAM,wBAAwB;;;;mbAEpC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { ValidatedControlProps } from './types';
2
+ export declare const ValidatedToggleControl: import("react").ForwardRefExoticComponent<Omit<Omit<Pick<import("../../form-toggle/types").FormToggleProps, "disabled" | "checked"> & Pick<import("../../base-control/types").BaseControlProps, "className" | "__nextHasNoMarginBottom"> & {
3
+ help?: import("react").ReactNode | ((checked: boolean) => import("react").ReactNode);
4
+ label: import("react").ReactNode;
5
+ onChange: (value: boolean) => void;
6
+ } & Omit<Omit<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref">, "help" | "disabled" | "label" | "className" | "children" | "onChange" | "checked" | "as" | "__nextHasNoMarginBottom"> & import("react").RefAttributes<HTMLInputElement>, "__nextHasNoMarginBottom"> & ValidatedControlProps<boolean | undefined>, "ref"> & import("react").RefAttributes<HTMLInputElement>>;
7
+ //# sourceMappingURL=toggle-control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle-control.d.ts","sourceRoot":"","sources":["../../../src/validated-form-controls/components/toggle-control.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAwDrD,eAAO,MAAM,sBAAsB;;;;6aAElC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { ValidatedControlProps } from './types';
2
+ export declare const ValidatedToggleGroupControl: import("react").ForwardRefExoticComponent<Omit<Omit<Pick<import("../../base-control/types").BaseControlProps, "help" | "__nextHasNoMarginBottom"> & {
3
+ label: string;
4
+ hideLabelFromVision?: boolean;
5
+ isAdaptiveWidth?: boolean;
6
+ isBlock?: boolean;
7
+ isDeselectable?: boolean;
8
+ onChange?: (value: string | number | undefined) => void;
9
+ value?: string | number;
10
+ children: import("react").ReactNode;
11
+ size?: "default" | "__unstable-large";
12
+ __next40pxDefaultSize?: boolean;
13
+ __shouldNotWarnDeprecated36pxSize?: boolean;
14
+ } & import("react").RefAttributes<any> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "size" | "help" | "label" | "children" | "onChange" | "value" | "as" | keyof import("react").RefAttributes<any> | "isBlock" | "__next40pxDefaultSize" | "__shouldNotWarnDeprecated36pxSize" | "hideLabelFromVision" | "__nextHasNoMarginBottom" | "isAdaptiveWidth" | "isDeselectable">, "__next40pxDefaultSize" | "__nextHasNoMarginBottom"> & ValidatedControlProps<string | number | undefined>, "ref"> & import("react").RefAttributes<HTMLInputElement>>;
15
+ //# sourceMappingURL=toggle-group-control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle-group-control.d.ts","sourceRoot":"","sources":["../../../src/validated-form-controls/components/toggle-group-control.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAsErD,eAAO,MAAM,2BAA2B;;;;;;;;;;;;2lBAEvC,CAAC"}
@@ -0,0 +1,27 @@
1
+ export type ValidatedControlProps<V> = {
2
+ /**
3
+ * Whether the control is required.
4
+ * @default false
5
+ */
6
+ required?: boolean;
7
+ /**
8
+ * Label the control as "optional" when _not_ `required`, instead of the inverse.
9
+ * @default false
10
+ */
11
+ markWhenOptional?: boolean;
12
+ /**
13
+ * A function that returns a custom validity message when applicable. This error message will be applied to the
14
+ * underlying element using the native [`setCustomValidity()` method](https://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement/setCustomValidity).
15
+ * This means the custom validator will be run _in addition_ to any other HTML attribute-based validation, and
16
+ * will be prioritized over any existing validity messages dictated by the HTML attributes.
17
+ * An empty string or `undefined` return value will clear any existing custom validity message.
18
+ *
19
+ * Make sure you don't programatically pass a value (such as an initial value) to the control component
20
+ * that fails this validator, because the validator will only run for user-initiated changes.
21
+ *
22
+ * Always prefer using standard HTML attributes like `required` and `min`/`max` over custom validators
23
+ * when possible, as they are simpler and have localized error messages built in.
24
+ */
25
+ customValidator?: (currentValue: V) => string | void;
26
+ };
27
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/validated-form-controls/components/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,CAAE,CAAC,IAAK;IACxC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;;;;;;;;OAYG;IAGH,eAAe,CAAC,EAAE,CAAE,YAAY,EAAE,CAAC,KAAM,MAAM,GAAG,IAAI,CAAC;CACvD,CAAC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * HTML elements that support the Constraint Validation API.
3
+ *
4
+ * Here, we exclude HTMLButtonElement because although it does technically support the API,
5
+ * normal buttons are actually exempted from any validation.
6
+ * @see https://developer.mozilla.org/en-US/docs/Learn_web_development/Extensions/Forms/Form_validation
7
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLButtonElement/willValidate
8
+ */
9
+ type ValidityTarget = HTMLFieldSetElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;
10
+ export declare const ControlWithError: import("react").ForwardRefExoticComponent<{
11
+ /**
12
+ * Whether the control is required.
13
+ */
14
+ required?: boolean;
15
+ /**
16
+ * Label the control as "optional" when _not_ `required`, instead of the inverse.
17
+ */
18
+ markWhenOptional?: boolean;
19
+ /**
20
+ * A function that returns a custom validity message when applicable.
21
+ *
22
+ * This message will be applied to the element returned by `getValidityTarget`.
23
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement/setCustomValidity
24
+ */
25
+ customValidator?: () => string | void;
26
+ /**
27
+ * A function that returns the actual element on which the validity data should be applied.
28
+ */
29
+ getValidityTarget: () => ValidityTarget | null | undefined;
30
+ /**
31
+ * The control component to apply validation to.
32
+ */
33
+ children: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
34
+ } & import("react").RefAttributes<HTMLDivElement>>;
35
+ export {};
36
+ //# sourceMappingURL=control-with-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control-with-error.d.ts","sourceRoot":"","sources":["../../src/validated-form-controls/control-with-error.tsx"],"names":[],"mappings":"AA6CA;;;;;;;GAOG;AACH,KAAK,cAAc,GAChB,mBAAmB,GACnB,gBAAgB,GAChB,iBAAiB,GACjB,mBAAmB,CAAC;AA4IvB,eAAO,MAAM,gBAAgB;IAlI3B;;OAEG;eACQ,OAAO;IAClB;;OAEG;uBACgB,OAAO;IAC1B;;;;;OAKG;sBACe,MAAM,MAAM,GAAG,IAAI;IACrC;;OAEG;uBACgB,MAAM,cAAc,GAAG,IAAI,GAAG,SAAS;IAC1D;;OAEG;;kDA6GoE,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './components';
2
+ export * from './control-with-error';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validated-form-controls/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC"}