@wordpress/dataviews 9.1.1-next.f56bd8138.0 → 10.0.1-next.47f435fc9.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 (717) hide show
  1. package/CHANGELOG.md +41 -1
  2. package/README.md +43 -30
  3. package/build/components/dataform/index.js +42 -27
  4. package/build/components/dataform/index.js.map +7 -1
  5. package/build/components/dataform-context/index.js +33 -25
  6. package/build/components/dataform-context/index.js.map +7 -1
  7. package/build/components/dataviews/index.js +193 -156
  8. package/build/components/dataviews/index.js.map +7 -1
  9. package/build/components/dataviews-bulk-actions/index.js +264 -155
  10. package/build/components/dataviews-bulk-actions/index.js.map +7 -1
  11. package/build/components/dataviews-context/index.js +40 -36
  12. package/build/components/dataviews-context/index.js.map +7 -1
  13. package/build/components/dataviews-filters/add-filter.js +78 -73
  14. package/build/components/dataviews-filters/add-filter.js.map +7 -1
  15. package/build/components/dataviews-filters/filter.js +467 -262
  16. package/build/components/dataviews-filters/filter.js.map +7 -1
  17. package/build/components/dataviews-filters/filters-toggled.js +46 -0
  18. package/build/components/dataviews-filters/filters-toggled.js.map +7 -0
  19. package/build/components/dataviews-filters/filters.js +101 -0
  20. package/build/components/dataviews-filters/filters.js.map +7 -0
  21. package/build/components/dataviews-filters/index.js +46 -197
  22. package/build/components/dataviews-filters/index.js.map +7 -1
  23. package/build/components/dataviews-filters/input-widget.js +88 -89
  24. package/build/components/dataviews-filters/input-widget.js.map +7 -1
  25. package/build/components/dataviews-filters/reset-filters.js +50 -34
  26. package/build/components/dataviews-filters/reset-filters.js.map +7 -1
  27. package/build/components/dataviews-filters/search-widget.js +290 -205
  28. package/build/components/dataviews-filters/search-widget.js.map +7 -1
  29. package/build/components/dataviews-filters/toggle.js +124 -0
  30. package/build/components/dataviews-filters/toggle.js.map +7 -0
  31. package/build/components/dataviews-filters/use-filters.js +72 -0
  32. package/build/components/dataviews-filters/use-filters.js.map +7 -0
  33. package/build/components/dataviews-filters/utils.js +26 -10
  34. package/build/components/dataviews-filters/utils.js.map +7 -1
  35. package/build/components/dataviews-footer/index.js +54 -33
  36. package/build/components/dataviews-footer/index.js.map +7 -1
  37. package/build/components/dataviews-item-actions/index.js +187 -150
  38. package/build/components/dataviews-item-actions/index.js.map +7 -1
  39. package/build/components/dataviews-layout/index.js +64 -49
  40. package/build/components/dataviews-layout/index.js.map +7 -1
  41. package/build/components/dataviews-pagination/index.js +143 -99
  42. package/build/components/dataviews-pagination/index.js.map +7 -1
  43. package/build/components/dataviews-picker/footer.js +152 -101
  44. package/build/components/dataviews-picker/footer.js.map +7 -1
  45. package/build/components/dataviews-picker/index.js +173 -147
  46. package/build/components/dataviews-picker/index.js.map +7 -1
  47. package/build/components/dataviews-search/index.js +63 -46
  48. package/build/components/dataviews-search/index.js.map +7 -1
  49. package/build/components/dataviews-selection-checkbox/index.js +45 -35
  50. package/build/components/dataviews-selection-checkbox/index.js.map +7 -1
  51. package/build/components/dataviews-view-config/index.js +587 -512
  52. package/build/components/dataviews-view-config/index.js.map +7 -1
  53. package/build/components/dataviews-view-config/infinite-scroll-toggle.js +56 -39
  54. package/build/components/dataviews-view-config/infinite-scroll-toggle.js.map +7 -1
  55. package/build/constants.js +215 -108
  56. package/build/constants.js.map +7 -1
  57. package/build/dataform-controls/array.js +152 -141
  58. package/build/dataform-controls/array.js.map +7 -1
  59. package/build/dataform-controls/checkbox.js +79 -65
  60. package/build/dataform-controls/checkbox.js.map +7 -1
  61. package/build/dataform-controls/color.js +135 -118
  62. package/build/dataform-controls/color.js.map +7 -1
  63. package/build/dataform-controls/date.js +549 -350
  64. package/build/dataform-controls/date.js.map +7 -1
  65. package/build/dataform-controls/datetime.js +212 -146
  66. package/build/dataform-controls/datetime.js.map +7 -1
  67. package/build/dataform-controls/email.js +49 -31
  68. package/build/dataform-controls/email.js.map +7 -1
  69. package/build/dataform-controls/index.js +82 -63
  70. package/build/dataform-controls/index.js.map +7 -1
  71. package/build/dataform-controls/integer.js +36 -129
  72. package/build/dataform-controls/integer.js.map +7 -1
  73. package/build/dataform-controls/number.js +39 -0
  74. package/build/dataform-controls/number.js.map +7 -0
  75. package/build/dataform-controls/password.js +63 -37
  76. package/build/dataform-controls/password.js.map +7 -1
  77. package/build/dataform-controls/radio.js +82 -66
  78. package/build/dataform-controls/radio.js.map +7 -1
  79. package/build/dataform-controls/select.js +86 -87
  80. package/build/dataform-controls/select.js.map +7 -1
  81. package/build/dataform-controls/telephone.js +49 -31
  82. package/build/dataform-controls/telephone.js.map +7 -1
  83. package/build/dataform-controls/text.js +49 -29
  84. package/build/dataform-controls/text.js.map +7 -1
  85. package/build/dataform-controls/textarea.js +85 -70
  86. package/build/dataform-controls/textarea.js.map +7 -1
  87. package/build/dataform-controls/toggle-group.js +95 -70
  88. package/build/dataform-controls/toggle-group.js.map +7 -1
  89. package/build/dataform-controls/toggle.js +80 -66
  90. package/build/dataform-controls/toggle.js.map +7 -1
  91. package/build/dataform-controls/url.js +49 -31
  92. package/build/dataform-controls/url.js.map +7 -1
  93. package/build/dataform-controls/utils/relative-date-control.js +122 -0
  94. package/build/dataform-controls/utils/relative-date-control.js.map +7 -0
  95. package/build/dataform-controls/utils/validated-input.js +90 -70
  96. package/build/dataform-controls/utils/validated-input.js.map +7 -1
  97. package/build/dataform-controls/utils/validated-number.js +191 -0
  98. package/build/dataform-controls/utils/validated-number.js.map +7 -0
  99. package/build/dataform-layouts/card/index.js +214 -0
  100. package/build/dataform-layouts/card/index.js.map +7 -0
  101. package/build/dataform-layouts/data-form-layout.js +89 -0
  102. package/build/dataform-layouts/data-form-layout.js.map +7 -0
  103. package/build/dataform-layouts/get-summary-fields.js +45 -0
  104. package/build/dataform-layouts/get-summary-fields.js.map +7 -0
  105. package/build/dataform-layouts/index.js +99 -0
  106. package/build/dataform-layouts/index.js.map +7 -0
  107. package/build/dataform-layouts/is-combined-field.js +31 -0
  108. package/build/dataform-layouts/is-combined-field.js.map +7 -0
  109. package/build/dataform-layouts/normalize-form-fields.js +104 -0
  110. package/build/dataform-layouts/normalize-form-fields.js.map +7 -0
  111. package/build/dataform-layouts/panel/dropdown.js +147 -0
  112. package/build/dataform-layouts/panel/dropdown.js.map +7 -0
  113. package/build/dataform-layouts/panel/index.js +150 -0
  114. package/build/dataform-layouts/panel/index.js.map +7 -0
  115. package/build/dataform-layouts/panel/modal.js +166 -0
  116. package/build/dataform-layouts/panel/modal.js.map +7 -0
  117. package/build/dataform-layouts/panel/summary-button.js +93 -0
  118. package/build/dataform-layouts/panel/summary-button.js.map +7 -0
  119. package/build/dataform-layouts/regular/index.js +135 -0
  120. package/build/dataform-layouts/regular/index.js.map +7 -0
  121. package/build/dataform-layouts/row/index.js +116 -0
  122. package/build/dataform-layouts/row/index.js.map +7 -0
  123. package/build/dataviews-layouts/grid/index.js +337 -278
  124. package/build/dataviews-layouts/grid/index.js.map +7 -1
  125. package/build/dataviews-layouts/grid/preview-size-picker.js +94 -69
  126. package/build/dataviews-layouts/grid/preview-size-picker.js.map +7 -1
  127. package/build/dataviews-layouts/index.js +75 -48
  128. package/build/dataviews-layouts/index.js.map +7 -1
  129. package/build/dataviews-layouts/list/index.js +441 -354
  130. package/build/dataviews-layouts/list/index.js.map +7 -1
  131. package/build/dataviews-layouts/picker-grid/index.js +366 -297
  132. package/build/dataviews-layouts/picker-grid/index.js.map +7 -1
  133. package/build/dataviews-layouts/table/column-header-menu.js +144 -133
  134. package/build/dataviews-layouts/table/column-header-menu.js.map +7 -1
  135. package/build/dataviews-layouts/table/column-primary.js +86 -66
  136. package/build/dataviews-layouts/table/column-primary.js.map +7 -1
  137. package/build/dataviews-layouts/table/density-picker.js +86 -46
  138. package/build/dataviews-layouts/table/density-picker.js.map +7 -1
  139. package/build/dataviews-layouts/table/index.js +354 -319
  140. package/build/dataviews-layouts/table/index.js.map +7 -1
  141. package/build/dataviews-layouts/table/use-is-horizontal-scroll-end.js +55 -47
  142. package/build/dataviews-layouts/table/use-is-horizontal-scroll-end.js.map +7 -1
  143. package/build/dataviews-layouts/utils/get-data-by-group.js +24 -13
  144. package/build/dataviews-layouts/utils/get-data-by-group.js.map +7 -1
  145. package/build/dataviews-layouts/utils/grid-items.js +51 -34
  146. package/build/dataviews-layouts/utils/grid-items.js.map +7 -1
  147. package/build/dataviews-layouts/utils/item-click-wrapper.js +53 -31
  148. package/build/dataviews-layouts/utils/item-click-wrapper.js.map +7 -1
  149. package/build/dataviews-layouts/utils/preview-size-picker.js +94 -69
  150. package/build/dataviews-layouts/utils/preview-size-picker.js.map +7 -1
  151. package/build/field-types/array.js +46 -41
  152. package/build/field-types/array.js.map +7 -1
  153. package/build/field-types/boolean.js +50 -46
  154. package/build/field-types/boolean.js.map +7 -1
  155. package/build/field-types/color.js +78 -80
  156. package/build/field-types/color.js.map +7 -1
  157. package/build/field-types/date.js +67 -47
  158. package/build/field-types/date.js.map +7 -1
  159. package/build/field-types/datetime.js +61 -43
  160. package/build/field-types/datetime.js.map +7 -1
  161. package/build/field-types/email.js +57 -47
  162. package/build/field-types/email.js.map +7 -1
  163. package/build/field-types/index.js +83 -89
  164. package/build/field-types/index.js.map +7 -1
  165. package/build/field-types/integer.js +67 -45
  166. package/build/field-types/integer.js.map +7 -1
  167. package/build/field-types/media.js +25 -27
  168. package/build/field-types/media.js.map +7 -1
  169. package/build/field-types/number.js +86 -0
  170. package/build/field-types/number.js.map +7 -0
  171. package/build/field-types/password.js +39 -39
  172. package/build/field-types/password.js.map +7 -1
  173. package/build/field-types/telephone.js +54 -45
  174. package/build/field-types/telephone.js.map +7 -1
  175. package/build/field-types/text.js +54 -46
  176. package/build/field-types/text.js.map +7 -1
  177. package/build/field-types/url.js +54 -45
  178. package/build/field-types/url.js.map +7 -1
  179. package/build/field-types/utils/render-from-elements.js +31 -0
  180. package/build/field-types/utils/render-from-elements.js.map +7 -0
  181. package/build/index.js +50 -45
  182. package/build/index.js.map +7 -1
  183. package/build/lock-unlock.js +31 -14
  184. package/build/lock-unlock.js.map +7 -1
  185. package/build/types/dataform.js +17 -0
  186. package/build/types/dataform.js.map +7 -0
  187. package/build/types/dataviews.js +17 -0
  188. package/build/types/dataviews.js.map +7 -0
  189. package/build/types/field-api.js +17 -0
  190. package/build/types/field-api.js.map +7 -0
  191. package/build/types/index.js +17 -0
  192. package/build/types/index.js.map +7 -0
  193. package/build/types/private.js +17 -0
  194. package/build/types/private.js.map +7 -0
  195. package/build/utils/filter-sort-and-paginate.js +285 -0
  196. package/build/utils/filter-sort-and-paginate.js.map +7 -0
  197. package/build/utils/is-item-valid.js +75 -0
  198. package/build/utils/is-item-valid.js.map +7 -0
  199. package/build/utils/normalize-fields.js +158 -0
  200. package/build/utils/normalize-fields.js.map +7 -0
  201. package/build-module/components/dataform/index.js +15 -24
  202. package/build-module/components/dataform/index.js.map +7 -1
  203. package/build-module/components/dataform-context/index.js +11 -19
  204. package/build-module/components/dataform-context/index.js.map +7 -1
  205. package/build-module/components/dataviews/index.js +156 -131
  206. package/build-module/components/dataviews/index.js.map +7 -1
  207. package/build-module/components/dataviews-bulk-actions/index.js +227 -140
  208. package/build-module/components/dataviews-bulk-actions/index.js.map +7 -1
  209. package/build-module/components/dataviews-context/index.js +20 -30
  210. package/build-module/components/dataviews-context/index.js.map +7 -1
  211. package/build-module/components/dataviews-filters/add-filter.js +60 -68
  212. package/build-module/components/dataviews-filters/add-filter.js.map +7 -1
  213. package/build-module/components/dataviews-filters/filter.js +448 -231
  214. package/build-module/components/dataviews-filters/filter.js.map +7 -1
  215. package/build-module/components/dataviews-filters/filters-toggled.js +16 -0
  216. package/build-module/components/dataviews-filters/filters-toggled.js.map +7 -0
  217. package/build-module/components/dataviews-filters/filters.js +71 -0
  218. package/build-module/components/dataviews-filters/filters.js.map +7 -0
  219. package/build-module/components/dataviews-filters/index.js +11 -187
  220. package/build-module/components/dataviews-filters/index.js.map +7 -1
  221. package/build-module/components/dataviews-filters/input-widget.js +57 -81
  222. package/build-module/components/dataviews-filters/input-widget.js.map +7 -1
  223. package/build-module/components/dataviews-filters/reset-filters.js +33 -30
  224. package/build-module/components/dataviews-filters/reset-filters.js.map +7 -1
  225. package/build-module/components/dataviews-filters/search-widget.js +260 -195
  226. package/build-module/components/dataviews-filters/search-widget.js.map +7 -1
  227. package/build-module/components/dataviews-filters/toggle.js +94 -0
  228. package/build-module/components/dataviews-filters/toggle.js.map +7 -0
  229. package/build-module/components/dataviews-filters/use-filters.js +52 -0
  230. package/build-module/components/dataviews-filters/use-filters.js.map +7 -0
  231. package/build-module/components/dataviews-filters/utils.js +5 -6
  232. package/build-module/components/dataviews-filters/utils.js.map +7 -1
  233. package/build-module/components/dataviews-footer/index.js +28 -26
  234. package/build-module/components/dataviews-footer/index.js.map +7 -1
  235. package/build-module/components/dataviews-item-actions/index.js +170 -144
  236. package/build-module/components/dataviews-item-actions/index.js.map +7 -1
  237. package/build-module/components/dataviews-layout/index.js +35 -42
  238. package/build-module/components/dataviews-layout/index.js.map +7 -1
  239. package/build-module/components/dataviews-pagination/index.js +115 -92
  240. package/build-module/components/dataviews-pagination/index.js.map +7 -1
  241. package/build-module/components/dataviews-picker/footer.js +122 -93
  242. package/build-module/components/dataviews-picker/footer.js.map +7 -1
  243. package/build-module/components/dataviews-picker/index.js +139 -125
  244. package/build-module/components/dataviews-picker/index.js.map +7 -1
  245. package/build-module/components/dataviews-search/index.js +30 -35
  246. package/build-module/components/dataviews-search/index.js.map +7 -1
  247. package/build-module/components/dataviews-selection-checkbox/index.js +28 -31
  248. package/build-module/components/dataviews-selection-checkbox/index.js.map +7 -1
  249. package/build-module/components/dataviews-view-config/index.js +579 -504
  250. package/build-module/components/dataviews-view-config/index.js.map +7 -1
  251. package/build-module/components/dataviews-view-config/infinite-scroll-toggle.js +28 -33
  252. package/build-module/components/dataviews-view-config/infinite-scroll-toggle.js.map +7 -1
  253. package/build-module/constants.js +157 -101
  254. package/build-module/constants.js.map +7 -1
  255. package/build-module/dataform-controls/array.js +125 -137
  256. package/build-module/dataform-controls/array.js.map +7 -1
  257. package/build-module/dataform-controls/checkbox.js +51 -60
  258. package/build-module/dataform-controls/checkbox.js.map +7 -1
  259. package/build-module/dataform-controls/color.js +112 -114
  260. package/build-module/dataform-controls/color.js.map +7 -1
  261. package/build-module/dataform-controls/date.js +541 -337
  262. package/build-module/dataform-controls/date.js.map +7 -1
  263. package/build-module/dataform-controls/datetime.js +184 -136
  264. package/build-module/dataform-controls/datetime.js.map +7 -1
  265. package/build-module/dataform-controls/email.js +25 -27
  266. package/build-module/dataform-controls/email.js.map +7 -1
  267. package/build-module/dataform-controls/index.js +35 -43
  268. package/build-module/dataform-controls/index.js.map +7 -1
  269. package/build-module/dataform-controls/integer.js +8 -123
  270. package/build-module/dataform-controls/integer.js.map +7 -1
  271. package/build-module/dataform-controls/number.js +9 -0
  272. package/build-module/dataform-controls/number.js.map +7 -0
  273. package/build-module/dataform-controls/password.js +34 -29
  274. package/build-module/dataform-controls/password.js.map +7 -1
  275. package/build-module/dataform-controls/radio.js +55 -62
  276. package/build-module/dataform-controls/radio.js.map +7 -1
  277. package/build-module/dataform-controls/select.js +59 -83
  278. package/build-module/dataform-controls/select.js.map +7 -1
  279. package/build-module/dataform-controls/telephone.js +25 -27
  280. package/build-module/dataform-controls/telephone.js.map +7 -1
  281. package/build-module/dataform-controls/text.js +22 -25
  282. package/build-module/dataform-controls/text.js.map +7 -1
  283. package/build-module/dataform-controls/textarea.js +58 -66
  284. package/build-module/dataform-controls/textarea.js.map +7 -1
  285. package/build-module/dataform-controls/toggle-group.js +71 -66
  286. package/build-module/dataform-controls/toggle-group.js.map +7 -1
  287. package/build-module/dataform-controls/toggle.js +52 -61
  288. package/build-module/dataform-controls/toggle.js.map +7 -1
  289. package/build-module/dataform-controls/url.js +25 -27
  290. package/build-module/dataform-controls/url.js.map +7 -1
  291. package/build-module/dataform-controls/utils/relative-date-control.js +97 -0
  292. package/build-module/dataform-controls/utils/relative-date-control.js.map +7 -0
  293. package/build-module/dataform-controls/utils/validated-input.js +63 -66
  294. package/build-module/dataform-controls/utils/validated-input.js.map +7 -1
  295. package/build-module/dataform-controls/utils/validated-number.js +166 -0
  296. package/build-module/dataform-controls/utils/validated-number.js.map +7 -0
  297. package/build-module/dataform-layouts/card/index.js +180 -0
  298. package/build-module/dataform-layouts/card/index.js.map +7 -0
  299. package/build-module/dataform-layouts/data-form-layout.js +55 -0
  300. package/build-module/dataform-layouts/data-form-layout.js.map +7 -0
  301. package/build-module/dataform-layouts/get-summary-fields.js +21 -0
  302. package/build-module/dataform-layouts/get-summary-fields.js.map +7 -0
  303. package/build-module/dataform-layouts/index.js +68 -0
  304. package/build-module/dataform-layouts/index.js.map +7 -0
  305. package/build-module/dataform-layouts/is-combined-field.js +7 -0
  306. package/build-module/dataform-layouts/is-combined-field.js.map +7 -0
  307. package/build-module/dataform-layouts/normalize-form-fields.js +79 -0
  308. package/build-module/dataform-layouts/normalize-form-fields.js.map +7 -0
  309. package/build-module/dataform-layouts/panel/dropdown.js +124 -0
  310. package/build-module/dataform-layouts/panel/dropdown.js.map +7 -0
  311. package/build-module/dataform-layouts/panel/index.js +123 -0
  312. package/build-module/dataform-layouts/panel/index.js.map +7 -0
  313. package/build-module/dataform-layouts/panel/modal.js +141 -0
  314. package/build-module/dataform-layouts/panel/modal.js.map +7 -0
  315. package/build-module/dataform-layouts/panel/summary-button.js +73 -0
  316. package/build-module/dataform-layouts/panel/summary-button.js.map +7 -0
  317. package/build-module/dataform-layouts/regular/index.js +111 -0
  318. package/build-module/dataform-layouts/regular/index.js.map +7 -0
  319. package/build-module/dataform-layouts/row/index.js +91 -0
  320. package/build-module/dataform-layouts/row/index.js.map +7 -0
  321. package/build-module/dataviews-layouts/grid/index.js +316 -267
  322. package/build-module/dataviews-layouts/grid/index.js.map +7 -1
  323. package/build-module/dataviews-layouts/grid/preview-size-picker.js +66 -63
  324. package/build-module/dataviews-layouts/grid/preview-size-picker.js.map +7 -1
  325. package/build-module/dataviews-layouts/index.js +53 -42
  326. package/build-module/dataviews-layouts/index.js.map +7 -1
  327. package/build-module/dataviews-layouts/list/index.js +422 -339
  328. package/build-module/dataviews-layouts/list/index.js.map +7 -1
  329. package/build-module/dataviews-layouts/picker-grid/index.js +344 -288
  330. package/build-module/dataviews-layouts/picker-grid/index.js.map +7 -1
  331. package/build-module/dataviews-layouts/table/column-header-menu.js +129 -127
  332. package/build-module/dataviews-layouts/table/column-header-menu.js.map +7 -1
  333. package/build-module/dataviews-layouts/table/column-primary.js +71 -62
  334. package/build-module/dataviews-layouts/table/column-primary.js.map +7 -1
  335. package/build-module/dataviews-layouts/table/density-picker.js +61 -40
  336. package/build-module/dataviews-layouts/table/density-picker.js.map +7 -1
  337. package/build-module/dataviews-layouts/table/index.js +326 -302
  338. package/build-module/dataviews-layouts/table/index.js.map +7 -1
  339. package/build-module/dataviews-layouts/table/use-is-horizontal-scroll-end.js +31 -40
  340. package/build-module/dataviews-layouts/table/use-is-horizontal-scroll-end.js.map +7 -1
  341. package/build-module/dataviews-layouts/utils/get-data-by-group.js +7 -10
  342. package/build-module/dataviews-layouts/utils/get-data-by-group.js.map +7 -1
  343. package/build-module/dataviews-layouts/utils/grid-items.js +19 -28
  344. package/build-module/dataviews-layouts/utils/grid-items.js.map +7 -1
  345. package/build-module/dataviews-layouts/utils/item-click-wrapper.js +32 -28
  346. package/build-module/dataviews-layouts/utils/item-click-wrapper.js.map +7 -1
  347. package/build-module/dataviews-layouts/utils/preview-size-picker.js +66 -63
  348. package/build-module/dataviews-layouts/utils/preview-size-picker.js.map +7 -1
  349. package/build-module/field-types/array.js +32 -37
  350. package/build-module/field-types/array.js.map +7 -1
  351. package/build-module/field-types/boolean.js +20 -40
  352. package/build-module/field-types/boolean.js.map +7 -1
  353. package/build-module/field-types/color.js +50 -71
  354. package/build-module/field-types/color.js.map +7 -1
  355. package/build-module/field-types/date.js +49 -43
  356. package/build-module/field-types/date.js.map +7 -1
  357. package/build-module/field-types/datetime.js +42 -39
  358. package/build-module/field-types/datetime.js.map +7 -1
  359. package/build-module/field-types/email.js +38 -42
  360. package/build-module/field-types/email.js.map +7 -1
  361. package/build-module/field-types/index.js +42 -72
  362. package/build-module/field-types/index.js.map +7 -1
  363. package/build-module/field-types/integer.js +51 -41
  364. package/build-module/field-types/integer.js.map +7 -1
  365. package/build-module/field-types/media.js +7 -23
  366. package/build-module/field-types/media.js.map +7 -1
  367. package/build-module/field-types/number.js +78 -0
  368. package/build-module/field-types/number.js.map +7 -0
  369. package/build-module/field-types/password.js +11 -36
  370. package/build-module/field-types/password.js.map +7 -1
  371. package/build-module/field-types/telephone.js +35 -40
  372. package/build-module/field-types/telephone.js.map +7 -1
  373. package/build-module/field-types/text.js +35 -41
  374. package/build-module/field-types/text.js.map +7 -1
  375. package/build-module/field-types/url.js +35 -40
  376. package/build-module/field-types/url.js.map +7 -1
  377. package/build-module/field-types/utils/render-from-elements.js +11 -0
  378. package/build-module/field-types/utils/render-from-elements.js.map +7 -0
  379. package/build-module/index.js +15 -7
  380. package/build-module/index.js.map +7 -1
  381. package/build-module/lock-unlock.js +8 -7
  382. package/build-module/lock-unlock.js.map +7 -1
  383. package/build-module/types/dataform.js +1 -0
  384. package/build-module/types/dataform.js.map +7 -0
  385. package/build-module/types/dataviews.js +1 -0
  386. package/build-module/types/dataviews.js.map +7 -0
  387. package/build-module/types/field-api.js +1 -0
  388. package/build-module/types/field-api.js.map +7 -0
  389. package/build-module/types/index.js +1 -0
  390. package/build-module/types/index.js.map +7 -0
  391. package/build-module/types/private.js +1 -0
  392. package/build-module/types/private.js.map +7 -0
  393. package/build-module/utils/filter-sort-and-paginate.js +278 -0
  394. package/build-module/utils/filter-sort-and-paginate.js.map +7 -0
  395. package/build-module/utils/is-item-valid.js +45 -0
  396. package/build-module/utils/is-item-valid.js.map +7 -0
  397. package/build-module/utils/normalize-fields.js +132 -0
  398. package/build-module/utils/normalize-fields.js.map +7 -0
  399. package/build-style/style-rtl.css +73 -216
  400. package/build-style/style.css +73 -216
  401. package/build-types/components/dataviews/index.d.ts +3 -2
  402. package/build-types/components/dataviews/index.d.ts.map +1 -1
  403. package/build-types/components/dataviews-bulk-actions/index.d.ts +1 -1
  404. package/build-types/components/dataviews-bulk-actions/index.d.ts.map +1 -1
  405. package/build-types/components/dataviews-context/index.d.ts +1 -1
  406. package/build-types/components/dataviews-filters/filters-toggled.d.ts +5 -0
  407. package/build-types/components/dataviews-filters/filters-toggled.d.ts.map +1 -0
  408. package/build-types/components/dataviews-filters/filters.d.ts +6 -0
  409. package/build-types/components/dataviews-filters/filters.d.ts.map +1 -0
  410. package/build-types/components/dataviews-filters/index.d.ts +4 -8
  411. package/build-types/components/dataviews-filters/index.d.ts.map +1 -1
  412. package/build-types/components/dataviews-filters/toggle.d.ts +3 -0
  413. package/build-types/components/dataviews-filters/toggle.d.ts.map +1 -0
  414. package/build-types/components/dataviews-filters/use-filters.d.ts +4 -0
  415. package/build-types/components/dataviews-filters/use-filters.d.ts.map +1 -0
  416. package/build-types/components/dataviews-item-actions/index.d.ts.map +1 -1
  417. package/build-types/components/dataviews-picker/footer.d.ts.map +1 -1
  418. package/build-types/components/dataviews-picker/index.d.ts +3 -2
  419. package/build-types/components/dataviews-picker/index.d.ts.map +1 -1
  420. package/build-types/components/dataviews-selection-checkbox/index.d.ts +1 -1
  421. package/build-types/dataform-controls/date.d.ts.map +1 -1
  422. package/build-types/dataform-controls/datetime.d.ts.map +1 -1
  423. package/build-types/dataform-controls/index.d.ts.map +1 -1
  424. package/build-types/dataform-controls/integer.d.ts +4 -1
  425. package/build-types/dataform-controls/integer.d.ts.map +1 -1
  426. package/build-types/dataform-controls/number.d.ts +6 -0
  427. package/build-types/dataform-controls/number.d.ts.map +1 -0
  428. package/build-types/dataform-controls/select.d.ts.map +1 -1
  429. package/build-types/dataform-controls/utils/relative-date-control.d.ts +5 -0
  430. package/build-types/dataform-controls/utils/relative-date-control.d.ts.map +1 -0
  431. package/build-types/dataform-controls/utils/validated-number.d.ts +9 -0
  432. package/build-types/dataform-controls/utils/validated-number.d.ts.map +1 -0
  433. package/build-types/dataform-layouts/card/index.d.ts.map +1 -0
  434. package/build-types/dataform-layouts/data-form-layout.d.ts.map +1 -0
  435. package/build-types/dataform-layouts/get-summary-fields.d.ts +12 -0
  436. package/build-types/dataform-layouts/get-summary-fields.d.ts.map +1 -0
  437. package/build-types/{dataforms-layouts → dataform-layouts}/index.d.ts +0 -5
  438. package/build-types/dataform-layouts/index.d.ts.map +1 -0
  439. package/build-types/dataform-layouts/is-combined-field.d.ts.map +1 -0
  440. package/build-types/{normalize-form-fields.d.ts → dataform-layouts/normalize-form-fields.d.ts} +1 -1
  441. package/build-types/dataform-layouts/normalize-form-fields.d.ts.map +1 -0
  442. package/build-types/dataform-layouts/panel/dropdown.d.ts.map +1 -0
  443. package/build-types/dataform-layouts/panel/index.d.ts.map +1 -0
  444. package/build-types/dataform-layouts/panel/modal.d.ts.map +1 -0
  445. package/build-types/dataform-layouts/panel/summary-button.d.ts.map +1 -0
  446. package/build-types/dataform-layouts/regular/index.d.ts.map +1 -0
  447. package/build-types/dataform-layouts/row/index.d.ts.map +1 -0
  448. package/build-types/dataviews-layouts/list/index.d.ts.map +1 -1
  449. package/build-types/dataviews-layouts/picker-grid/index.d.ts.map +1 -1
  450. package/build-types/dataviews-layouts/utils/item-click-wrapper.d.ts +1 -1
  451. package/build-types/dataviews-layouts/utils/item-click-wrapper.d.ts.map +1 -1
  452. package/build-types/field-types/array.d.ts.map +1 -1
  453. package/build-types/field-types/boolean.d.ts +1 -0
  454. package/build-types/field-types/boolean.d.ts.map +1 -1
  455. package/build-types/field-types/color.d.ts +2 -1
  456. package/build-types/field-types/color.d.ts.map +1 -1
  457. package/build-types/field-types/date.d.ts +3 -2
  458. package/build-types/field-types/date.d.ts.map +1 -1
  459. package/build-types/field-types/datetime.d.ts +3 -2
  460. package/build-types/field-types/datetime.d.ts.map +1 -1
  461. package/build-types/field-types/email.d.ts +3 -2
  462. package/build-types/field-types/email.d.ts.map +1 -1
  463. package/build-types/field-types/index.d.ts.map +1 -1
  464. package/build-types/field-types/integer.d.ts +2 -1
  465. package/build-types/field-types/integer.d.ts.map +1 -1
  466. package/build-types/field-types/media.d.ts +2 -5
  467. package/build-types/field-types/media.d.ts.map +1 -1
  468. package/build-types/field-types/number.d.ts +21 -0
  469. package/build-types/field-types/number.d.ts.map +1 -0
  470. package/build-types/field-types/password.d.ts +3 -2
  471. package/build-types/field-types/password.d.ts.map +1 -1
  472. package/build-types/field-types/telephone.d.ts +4 -3
  473. package/build-types/field-types/telephone.d.ts.map +1 -1
  474. package/build-types/field-types/text.d.ts +4 -3
  475. package/build-types/field-types/text.d.ts.map +1 -1
  476. package/build-types/field-types/url.d.ts +4 -3
  477. package/build-types/field-types/url.d.ts.map +1 -1
  478. package/build-types/field-types/utils/render-from-elements.d.ts +6 -0
  479. package/build-types/field-types/utils/render-from-elements.d.ts.map +1 -0
  480. package/build-types/index.d.ts +2 -2
  481. package/build-types/index.d.ts.map +1 -1
  482. package/build-types/{components/dataform/stories/index.story.d.ts → stories/dataform.story.d.ts} +2 -2
  483. package/build-types/stories/dataform.story.d.ts.map +1 -0
  484. package/build-types/{components/dataviews-picker/stories/index.story.d.ts → stories/dataviews-picker.story.d.ts} +2 -2
  485. package/build-types/stories/dataviews-picker.story.d.ts.map +1 -0
  486. package/build-types/{components/dataviews/stories/fixtures.d.ts → stories/dataviews.fixtures.d.ts} +2 -2
  487. package/build-types/stories/dataviews.fixtures.d.ts.map +1 -0
  488. package/build-types/{components/dataviews/stories/index.story.d.ts → stories/dataviews.story.d.ts} +3 -3
  489. package/build-types/stories/dataviews.story.d.ts.map +1 -0
  490. package/build-types/stories/field-types.story.d.ts +134 -0
  491. package/build-types/stories/field-types.story.d.ts.map +1 -0
  492. package/build-types/types/dataform.d.ts +109 -0
  493. package/build-types/types/dataform.d.ts.map +1 -0
  494. package/build-types/types/dataviews.d.ts +333 -0
  495. package/build-types/types/dataviews.d.ts.map +1 -0
  496. package/build-types/types/field-api.d.ts +274 -0
  497. package/build-types/types/field-api.d.ts.map +1 -0
  498. package/build-types/types/index.d.ts +4 -0
  499. package/build-types/types/index.d.ts.map +1 -0
  500. package/build-types/{private-types.d.ts → types/private.d.ts} +1 -1
  501. package/build-types/types/private.d.ts.map +1 -0
  502. package/build-types/{filter-and-sort-data-view.d.ts → utils/filter-sort-and-paginate.d.ts} +3 -3
  503. package/build-types/utils/filter-sort-and-paginate.d.ts.map +1 -0
  504. package/build-types/{validation.d.ts → utils/is-item-valid.d.ts} +3 -3
  505. package/build-types/utils/is-item-valid.d.ts.map +1 -0
  506. package/build-types/utils/normalize-fields.d.ts +9 -0
  507. package/build-types/utils/normalize-fields.d.ts.map +1 -0
  508. package/build-wp/index.js +2471 -2212
  509. package/package.json +17 -19
  510. package/src/components/dataform/index.tsx +2 -2
  511. package/src/components/dataviews/index.tsx +10 -16
  512. package/src/components/dataviews/style.scss +4 -0
  513. package/src/components/dataviews-bulk-actions/index.tsx +1 -2
  514. package/src/components/dataviews-bulk-actions/style.scss +3 -0
  515. package/src/components/dataviews-context/index.ts +1 -1
  516. package/src/components/dataviews-filters/filters-toggled.tsx +20 -0
  517. package/src/components/dataviews-filters/filters.tsx +73 -0
  518. package/src/components/dataviews-filters/index.tsx +4 -246
  519. package/src/components/dataviews-filters/style.scss +13 -6
  520. package/src/components/dataviews-filters/toggle.tsx +118 -0
  521. package/src/components/dataviews-filters/use-filters.ts +73 -0
  522. package/src/components/dataviews-footer/style.scss +4 -0
  523. package/src/components/dataviews-item-actions/index.tsx +0 -1
  524. package/src/components/dataviews-item-actions/style.scss +3 -0
  525. package/src/components/dataviews-pagination/style.scss +3 -0
  526. package/src/components/dataviews-picker/footer.tsx +2 -4
  527. package/src/components/dataviews-picker/index.tsx +10 -16
  528. package/src/components/dataviews-picker/style.scss +2 -0
  529. package/src/components/dataviews-selection-checkbox/index.tsx +1 -1
  530. package/src/components/dataviews-selection-checkbox/style.scss +3 -0
  531. package/src/components/dataviews-view-config/style.scss +3 -0
  532. package/src/dataform-controls/date.tsx +372 -222
  533. package/src/dataform-controls/datetime.tsx +125 -59
  534. package/src/dataform-controls/index.tsx +2 -0
  535. package/src/dataform-controls/integer.tsx +3 -179
  536. package/src/dataform-controls/number.tsx +10 -0
  537. package/src/dataform-controls/select.tsx +1 -20
  538. package/src/dataform-controls/style.scss +2 -0
  539. package/src/dataform-controls/{relative-date-control.tsx → utils/relative-date-control.tsx} +37 -25
  540. package/src/dataform-controls/utils/validated-number.tsx +209 -0
  541. package/src/{dataforms-layouts → dataform-layouts}/card/index.tsx +103 -8
  542. package/src/dataform-layouts/card/style.scss +24 -0
  543. package/src/{dataforms-layouts → dataform-layouts}/data-form-layout.tsx +4 -2
  544. package/src/dataform-layouts/get-summary-fields.ts +42 -0
  545. package/src/{dataforms-layouts → dataform-layouts}/index.tsx +32 -2
  546. package/src/{normalize-form-fields.ts → dataform-layouts/normalize-form-fields.ts} +28 -1
  547. package/src/{dataforms-layouts → dataform-layouts}/panel/dropdown.tsx +1 -1
  548. package/src/{dataforms-layouts → dataform-layouts}/panel/index.tsx +79 -48
  549. package/src/{dataforms-layouts → dataform-layouts}/panel/modal.tsx +1 -1
  550. package/src/{dataforms-layouts → dataform-layouts}/panel/style.scss +3 -0
  551. package/src/{dataforms-layouts → dataform-layouts}/regular/index.tsx +1 -1
  552. package/src/{dataforms-layouts → dataform-layouts}/regular/style.scss +2 -0
  553. package/src/{dataforms-layouts → dataform-layouts}/row/index.tsx +2 -1
  554. package/src/dataform-layouts/style.scss +5 -0
  555. package/src/dataviews-layouts/grid/index.tsx +1 -1
  556. package/src/dataviews-layouts/grid/style.scss +8 -3
  557. package/src/dataviews-layouts/list/index.tsx +0 -2
  558. package/src/dataviews-layouts/list/style.scss +3 -0
  559. package/src/dataviews-layouts/picker-grid/index.tsx +16 -9
  560. package/src/dataviews-layouts/picker-grid/style.scss +8 -4
  561. package/src/dataviews-layouts/table/index.tsx +1 -1
  562. package/src/dataviews-layouts/table/style.scss +9 -0
  563. package/src/dataviews-layouts/utils/grid-items.scss +2 -0
  564. package/src/dataviews-layouts/utils/item-click-wrapper.tsx +40 -2
  565. package/src/field-types/array.tsx +1 -0
  566. package/src/field-types/boolean.tsx +2 -1
  567. package/src/field-types/color.tsx +2 -8
  568. package/src/field-types/{date.ts → date.tsx} +3 -14
  569. package/src/field-types/datetime.tsx +3 -18
  570. package/src/field-types/email.tsx +2 -8
  571. package/src/field-types/index.tsx +8 -20
  572. package/src/field-types/integer.tsx +2 -8
  573. package/src/field-types/media.tsx +3 -17
  574. package/src/field-types/number.tsx +96 -0
  575. package/src/field-types/password.tsx +3 -18
  576. package/src/field-types/telephone.tsx +3 -18
  577. package/src/field-types/text.tsx +3 -18
  578. package/src/field-types/url.tsx +3 -18
  579. package/src/{utils.ts → field-types/utils/render-from-elements.ts} +2 -2
  580. package/src/index.ts +2 -2
  581. package/src/{components/dataform/stories/index.story.tsx → stories/dataform.story.tsx} +217 -9
  582. package/src/{components/dataviews-picker/stories/index.story.tsx → stories/dataviews-picker.story.tsx} +5 -9
  583. package/src/{components/dataviews/stories/fixtures.tsx → stories/dataviews.fixtures.tsx} +27 -1
  584. package/src/{components/dataviews/stories/index.story.tsx → stories/dataviews.story.tsx} +8 -9
  585. package/src/{field-types/stories/index.story.tsx → stories/field-types.story.tsx} +86 -20
  586. package/src/style.scss +19 -18
  587. package/src/test/dataform.tsx +36 -0
  588. package/src/test/dataviews-picker.tsx +1 -1
  589. package/src/test/dataviews.tsx +1 -2
  590. package/src/test/{filter-and-sort-data-view.js → filter-sort-and-paginate.js} +63 -16
  591. package/src/test/normalize-fields.ts +23 -1
  592. package/src/test/normalize-form-fields.ts +54 -5
  593. package/src/test/validation.ts +235 -225
  594. package/src/types/dataform.ts +140 -0
  595. package/src/types/dataviews.ts +433 -0
  596. package/src/types/field-api.ts +350 -0
  597. package/src/types/index.ts +3 -0
  598. package/src/{filter-and-sort-data-view.ts → utils/filter-sort-and-paginate.ts} +4 -4
  599. package/src/{validation.ts → utils/is-item-valid.ts} +5 -3
  600. package/src/{normalize-fields.ts → utils/normalize-fields.ts} +6 -6
  601. package/tsconfig.tsbuildinfo +1 -1
  602. package/build/dataform-controls/relative-date-control.js +0 -105
  603. package/build/dataform-controls/relative-date-control.js.map +0 -1
  604. package/build/dataforms-layouts/card/index.js +0 -136
  605. package/build/dataforms-layouts/card/index.js.map +0 -1
  606. package/build/dataforms-layouts/data-form-layout.js +0 -71
  607. package/build/dataforms-layouts/data-form-layout.js.map +0 -1
  608. package/build/dataforms-layouts/index.js +0 -58
  609. package/build/dataforms-layouts/index.js.map +0 -1
  610. package/build/dataforms-layouts/is-combined-field.js +0 -14
  611. package/build/dataforms-layouts/is-combined-field.js.map +0 -1
  612. package/build/dataforms-layouts/panel/dropdown.js +0 -120
  613. package/build/dataforms-layouts/panel/dropdown.js.map +0 -1
  614. package/build/dataforms-layouts/panel/index.js +0 -126
  615. package/build/dataforms-layouts/panel/index.js.map +0 -1
  616. package/build/dataforms-layouts/panel/modal.js +0 -120
  617. package/build/dataforms-layouts/panel/modal.js.map +0 -1
  618. package/build/dataforms-layouts/panel/summary-button.js +0 -67
  619. package/build/dataforms-layouts/panel/summary-button.js.map +0 -1
  620. package/build/dataforms-layouts/regular/index.js +0 -116
  621. package/build/dataforms-layouts/regular/index.js.map +0 -1
  622. package/build/dataforms-layouts/row/index.js +0 -113
  623. package/build/dataforms-layouts/row/index.js.map +0 -1
  624. package/build/filter-and-sort-data-view.js +0 -313
  625. package/build/filter-and-sort-data-view.js.map +0 -1
  626. package/build/normalize-fields.js +0 -155
  627. package/build/normalize-fields.js.map +0 -1
  628. package/build/normalize-form-fields.js +0 -81
  629. package/build/normalize-form-fields.js.map +0 -1
  630. package/build/private-types.js +0 -6
  631. package/build/private-types.js.map +0 -1
  632. package/build/types.js +0 -6
  633. package/build/types.js.map +0 -1
  634. package/build/utils.js +0 -22
  635. package/build/utils.js.map +0 -1
  636. package/build/validation.js +0 -61
  637. package/build/validation.js.map +0 -1
  638. package/build-module/dataform-controls/relative-date-control.js +0 -96
  639. package/build-module/dataform-controls/relative-date-control.js.map +0 -1
  640. package/build-module/dataforms-layouts/card/index.js +0 -127
  641. package/build-module/dataforms-layouts/card/index.js.map +0 -1
  642. package/build-module/dataforms-layouts/data-form-layout.js +0 -62
  643. package/build-module/dataforms-layouts/data-form-layout.js.map +0 -1
  644. package/build-module/dataforms-layouts/index.js +0 -51
  645. package/build-module/dataforms-layouts/index.js.map +0 -1
  646. package/build-module/dataforms-layouts/is-combined-field.js +0 -8
  647. package/build-module/dataforms-layouts/is-combined-field.js.map +0 -1
  648. package/build-module/dataforms-layouts/panel/dropdown.js +0 -113
  649. package/build-module/dataforms-layouts/panel/dropdown.js.map +0 -1
  650. package/build-module/dataforms-layouts/panel/index.js +0 -119
  651. package/build-module/dataforms-layouts/panel/index.js.map +0 -1
  652. package/build-module/dataforms-layouts/panel/modal.js +0 -113
  653. package/build-module/dataforms-layouts/panel/modal.js.map +0 -1
  654. package/build-module/dataforms-layouts/panel/summary-button.js +0 -60
  655. package/build-module/dataforms-layouts/panel/summary-button.js.map +0 -1
  656. package/build-module/dataforms-layouts/regular/index.js +0 -109
  657. package/build-module/dataforms-layouts/regular/index.js.map +0 -1
  658. package/build-module/dataforms-layouts/row/index.js +0 -106
  659. package/build-module/dataforms-layouts/row/index.js.map +0 -1
  660. package/build-module/filter-and-sort-data-view.js +0 -305
  661. package/build-module/filter-and-sort-data-view.js.map +0 -1
  662. package/build-module/normalize-fields.js +0 -145
  663. package/build-module/normalize-fields.js.map +0 -1
  664. package/build-module/normalize-form-fields.js +0 -73
  665. package/build-module/normalize-form-fields.js.map +0 -1
  666. package/build-module/private-types.js +0 -2
  667. package/build-module/private-types.js.map +0 -1
  668. package/build-module/types.js +0 -2
  669. package/build-module/types.js.map +0 -1
  670. package/build-module/utils.js +0 -16
  671. package/build-module/utils.js.map +0 -1
  672. package/build-module/validation.js +0 -54
  673. package/build-module/validation.js.map +0 -1
  674. package/build-types/components/dataform/stories/index.story.d.ts.map +0 -1
  675. package/build-types/components/dataviews/stories/fixtures.d.ts.map +0 -1
  676. package/build-types/components/dataviews/stories/index.story.d.ts.map +0 -1
  677. package/build-types/components/dataviews-picker/stories/index.story.d.ts.map +0 -1
  678. package/build-types/dataform-controls/relative-date-control.d.ts +0 -47
  679. package/build-types/dataform-controls/relative-date-control.d.ts.map +0 -1
  680. package/build-types/dataforms-layouts/card/index.d.ts.map +0 -1
  681. package/build-types/dataforms-layouts/data-form-layout.d.ts.map +0 -1
  682. package/build-types/dataforms-layouts/index.d.ts.map +0 -1
  683. package/build-types/dataforms-layouts/is-combined-field.d.ts.map +0 -1
  684. package/build-types/dataforms-layouts/panel/dropdown.d.ts.map +0 -1
  685. package/build-types/dataforms-layouts/panel/index.d.ts.map +0 -1
  686. package/build-types/dataforms-layouts/panel/modal.d.ts.map +0 -1
  687. package/build-types/dataforms-layouts/panel/summary-button.d.ts.map +0 -1
  688. package/build-types/dataforms-layouts/regular/index.d.ts.map +0 -1
  689. package/build-types/dataforms-layouts/row/index.d.ts.map +0 -1
  690. package/build-types/field-types/stories/index.story.d.ts +0 -85
  691. package/build-types/field-types/stories/index.story.d.ts.map +0 -1
  692. package/build-types/filter-and-sort-data-view.d.ts.map +0 -1
  693. package/build-types/normalize-fields.d.ts +0 -12
  694. package/build-types/normalize-fields.d.ts.map +0 -1
  695. package/build-types/normalize-form-fields.d.ts.map +0 -1
  696. package/build-types/private-types.d.ts.map +0 -1
  697. package/build-types/types.d.ts +0 -688
  698. package/build-types/types.d.ts.map +0 -1
  699. package/build-types/utils.d.ts +0 -6
  700. package/build-types/utils.d.ts.map +0 -1
  701. package/build-types/validation.d.ts.map +0 -1
  702. package/src/dataforms-layouts/card/style.scss +0 -10
  703. package/src/types.ts +0 -891
  704. /package/build-types/{dataforms-layouts → dataform-layouts}/card/index.d.ts +0 -0
  705. /package/build-types/{dataforms-layouts → dataform-layouts}/data-form-layout.d.ts +0 -0
  706. /package/build-types/{dataforms-layouts → dataform-layouts}/is-combined-field.d.ts +0 -0
  707. /package/build-types/{dataforms-layouts → dataform-layouts}/panel/dropdown.d.ts +0 -0
  708. /package/build-types/{dataforms-layouts → dataform-layouts}/panel/index.d.ts +0 -0
  709. /package/build-types/{dataforms-layouts → dataform-layouts}/panel/modal.d.ts +0 -0
  710. /package/build-types/{dataforms-layouts → dataform-layouts}/panel/summary-button.d.ts +0 -0
  711. /package/build-types/{dataforms-layouts → dataform-layouts}/regular/index.d.ts +0 -0
  712. /package/build-types/{dataforms-layouts → dataform-layouts}/row/index.d.ts +0 -0
  713. /package/src/{dataforms-layouts → dataform-layouts}/is-combined-field.ts +0 -0
  714. /package/src/{dataforms-layouts → dataform-layouts}/panel/summary-button.tsx +0 -0
  715. /package/src/{dataforms-layouts → dataform-layouts}/row/style.scss +0 -0
  716. /package/src/{components/dataviews/stories/style.css → stories/dataviews.style.css} +0 -0
  717. /package/src/{private-types.tsx → types/private.ts} +0 -0
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Internal dependencies
3
3
  */
4
- import normalizeFormFields from '../normalize-form-fields';
4
+ import normalizeFormFields from '../dataform-layouts/normalize-form-fields';
5
5
  import type { Form } from '../types';
6
6
 
7
7
  describe( 'normalizeFormFields', () => {
@@ -104,6 +104,7 @@ describe( 'normalizeFormFields', () => {
104
104
  type: 'panel',
105
105
  labelPosition: 'side',
106
106
  openAs: 'dropdown',
107
+ summary: [],
107
108
  },
108
109
  },
109
110
  ] );
@@ -122,6 +123,7 @@ describe( 'normalizeFormFields', () => {
122
123
  type: 'panel',
123
124
  labelPosition: 'top',
124
125
  openAs: 'dropdown',
126
+ summary: [],
125
127
  },
126
128
  },
127
129
  ] );
@@ -140,15 +142,22 @@ describe( 'normalizeFormFields', () => {
140
142
  type: 'card',
141
143
  withHeader: true,
142
144
  isOpened: true,
145
+ summary: [],
143
146
  },
144
147
  },
145
148
  ] );
146
149
  } );
147
150
 
148
- it( 'card: enforces isOpened=true when withHeader=false', () => {
151
+ it( 'card: enforces isOpened=true and summary=[] when withHeader=false', () => {
149
152
  const form: Form = {
150
153
  // @ts-ignore - Test intentionally uses invalid type to verify runtime behavior.
151
- layout: { type: 'card', withHeader: false, isOpened: false },
154
+ layout: {
155
+ type: 'card',
156
+ withHeader: false,
157
+ // @ts-ignore - Test intentionally uses invalid type to verify runtime behavior.
158
+ isOpened: false,
159
+ summary: [ { id: 'field1', visibility: 'always' } ],
160
+ },
152
161
  fields: [ 'field1' ],
153
162
  };
154
163
  const result = normalizeFormFields( form );
@@ -159,14 +168,47 @@ describe( 'normalizeFormFields', () => {
159
168
  type: 'card',
160
169
  withHeader: false,
161
170
  isOpened: true,
171
+ summary: [],
162
172
  },
163
173
  },
164
174
  ] );
165
175
  } );
166
176
 
167
- it( 'card: respects isOpened when withHeader=true', () => {
177
+ it( 'card: respects isOpened and summary when withHeader=true', () => {
168
178
  const form: Form = {
169
- layout: { type: 'card', withHeader: true, isOpened: false },
179
+ layout: {
180
+ type: 'card',
181
+ withHeader: true,
182
+ isOpened: false,
183
+ summary: [ { id: 'field1', visibility: 'always' } ],
184
+ },
185
+ fields: [ 'field1' ],
186
+ };
187
+ const result = normalizeFormFields( form );
188
+ expect( result ).toEqual( [
189
+ {
190
+ id: 'field1',
191
+ layout: {
192
+ type: 'card',
193
+ withHeader: true,
194
+ isOpened: false,
195
+ summary: [ { id: 'field1', visibility: 'always' } ],
196
+ },
197
+ },
198
+ ] );
199
+ } );
200
+
201
+ it( 'card: normalizes summary to array of objects when it is a string', () => {
202
+ const form: Form = {
203
+ layout: {
204
+ type: 'card',
205
+ withHeader: true,
206
+ isOpened: false,
207
+ summary: [
208
+ 'field2',
209
+ { id: 'field1', visibility: 'always' },
210
+ ],
211
+ },
170
212
  fields: [ 'field1' ],
171
213
  };
172
214
  const result = normalizeFormFields( form );
@@ -177,6 +219,10 @@ describe( 'normalizeFormFields', () => {
177
219
  type: 'card',
178
220
  withHeader: true,
179
221
  isOpened: false,
222
+ summary: [
223
+ { id: 'field2', visibility: 'when-collapsed' },
224
+ { id: 'field1', visibility: 'always' },
225
+ ],
180
226
  },
181
227
  },
182
228
  ] );
@@ -207,6 +253,7 @@ describe( 'normalizeFormFields', () => {
207
253
  type: 'panel',
208
254
  labelPosition: 'side',
209
255
  openAs: 'dropdown',
256
+ summary: [],
210
257
  },
211
258
  },
212
259
  ] );
@@ -231,6 +278,7 @@ describe( 'normalizeFormFields', () => {
231
278
  type: 'card',
232
279
  withHeader: false,
233
280
  isOpened: true,
281
+ summary: [],
234
282
  },
235
283
  },
236
284
  {
@@ -239,6 +287,7 @@ describe( 'normalizeFormFields', () => {
239
287
  type: 'card',
240
288
  withHeader: true,
241
289
  isOpened: false,
290
+ summary: [],
242
291
  },
243
292
  },
244
293
  ] );
@@ -1,11 +1,11 @@
1
1
  /**
2
2
  * Internal dependencies
3
3
  */
4
- import { isItemValid } from '../validation';
4
+ import isItemValid from '../utils/is-item-valid';
5
5
  import type { Field } from '../types';
6
6
 
7
7
  describe( 'validation', () => {
8
- it( 'fields not visible in form are not validated', () => {
8
+ it( 'operates on form fields', () => {
9
9
  const item = { id: 1, valid_order: 2, invalid_order: 'd' };
10
10
  const fields: Field< {} >[] = [
11
11
  {
@@ -22,83 +22,7 @@ describe( 'validation', () => {
22
22
  expect( result ).toBe( true );
23
23
  } );
24
24
 
25
- it( 'integer field is valid if value is integer', () => {
26
- const item = { id: 1, order: 2, title: 'hi' };
27
- const fields: Field< {} >[] = [
28
- {
29
- type: 'integer',
30
- id: 'order',
31
- },
32
- ];
33
- const form = { fields: [ 'order' ] };
34
- const result = isItemValid( item, fields, form );
35
- expect( result ).toBe( true );
36
- } );
37
-
38
- it( 'integer field is invalid if value is not integer when not empty', () => {
39
- const item = { id: 1, order: 'd' };
40
- const fields: Field< {} >[] = [
41
- {
42
- id: 'order',
43
- type: 'integer',
44
- },
45
- ];
46
- const form = { fields: [ 'order' ] };
47
- const result = isItemValid( item, fields, form );
48
- expect( result ).toBe( false );
49
- } );
50
-
51
- it( 'integer field is invalid if value is not one of the elements', () => {
52
- const item = { id: 1, author: 3 };
53
- const fields: Field< {} >[] = [
54
- {
55
- id: 'author',
56
- type: 'integer',
57
- elements: [
58
- { value: 1, label: 'Jane' },
59
- { value: 2, label: 'John' },
60
- ],
61
- },
62
- ];
63
- const form = { fields: [ 'author' ] };
64
- const result = isItemValid( item, fields, form );
65
- expect( result ).toBe( false );
66
- } );
67
-
68
- it( 'text field is invalid if value is not one of the elements', () => {
69
- const item = { id: 1, author: 'not-in-elements' };
70
- const fields: Field< {} >[] = [
71
- {
72
- id: 'author',
73
- type: 'text',
74
- elements: [
75
- { value: 'jane', label: 'Jane' },
76
- { value: 'john', label: 'John' },
77
- ],
78
- },
79
- ];
80
- const form = { fields: [ 'author' ] };
81
- const result = isItemValid( item, fields, form );
82
- expect( result ).toBe( false );
83
- } );
84
-
85
- it( 'untyped field is invalid if value is not one of the elements', () => {
86
- const item = { id: 1, author: 'not-in-elements' };
87
- const fields: Field< {} >[] = [
88
- {
89
- id: 'author',
90
- elements: [
91
- { value: 'jane', label: 'Jane' },
92
- { value: 'john', label: 'John' },
93
- ],
94
- },
95
- ];
96
- const form = { fields: [ 'author' ] };
97
- const result = isItemValid( item, fields, form );
98
- expect( result ).toBe( false );
99
- } );
100
-
101
- it( 'fields can provide its own isValid function', () => {
25
+ it( 'fields can override the defaults', () => {
102
26
  const item = { id: 1, order: 'd' };
103
27
  const fields: Field< {} >[] = [
104
28
  {
@@ -109,6 +33,7 @@ describe( 'validation', () => {
109
33
  { value: 'b', label: 'B' },
110
34
  ],
111
35
  isValid: {
36
+ elements: false,
112
37
  custom: () => null, // Overrides the validation provided for integer types.
113
38
  },
114
39
  },
@@ -118,194 +43,279 @@ describe( 'validation', () => {
118
43
  expect( result ).toBe( true );
119
44
  } );
120
45
 
121
- it( 'array field is invalid when required but empty', () => {
122
- const item = { id: 1, tags: [] };
123
- const fields: Field< {} >[] = [
124
- {
125
- id: 'tags',
126
- type: 'array',
127
- isValid: {
128
- required: true,
46
+ describe( 'isValid.required', () => {
47
+ it( 'array is invalid when required but empty', () => {
48
+ const item = { id: 1, tags: [] };
49
+ const fields: Field< {} >[] = [
50
+ {
51
+ id: 'tags',
52
+ type: 'array',
53
+ isValid: {
54
+ required: true,
55
+ },
129
56
  },
130
- },
131
- ];
132
- const form = { fields: [ 'tags' ] };
133
- const result = isItemValid( item, fields, form );
134
- expect( result ).toBe( false );
135
- } );
57
+ ];
58
+ const form = { fields: [ 'tags' ] };
59
+ const result = isItemValid( item, fields, form );
60
+ expect( result ).toBe( false );
61
+ } );
136
62
 
137
- it( 'array field is invalid when required but not an array', () => {
138
- const item = { id: 1, tags: null };
139
- const fields: Field< {} >[] = [
140
- {
141
- id: 'tags',
142
- type: 'array',
143
- isValid: {
144
- required: true,
63
+ it( 'array is invalid when required but not an array', () => {
64
+ const item = { id: 1, tags: null };
65
+ const fields: Field< {} >[] = [
66
+ {
67
+ id: 'tags',
68
+ type: 'array',
69
+ isValid: {
70
+ required: true,
71
+ },
145
72
  },
146
- },
147
- ];
148
- const form = { fields: [ 'tags' ] };
149
- const result = isItemValid( item, fields, form );
150
- expect( result ).toBe( false );
151
- } );
73
+ ];
74
+ const form = { fields: [ 'tags' ] };
75
+ const result = isItemValid( item, fields, form );
76
+ expect( result ).toBe( false );
77
+ } );
152
78
 
153
- it( 'array field is valid when required and has values', () => {
154
- const item = { id: 1, tags: [ 'tag1', 'tag2' ] };
155
- const fields: Field< {} >[] = [
156
- {
157
- id: 'tags',
158
- type: 'array',
159
- isValid: {
160
- required: true,
79
+ it( 'array is valid when required and has values', () => {
80
+ const item = { id: 1, tags: [ 'tag1', 'tag2' ] };
81
+ const fields: Field< {} >[] = [
82
+ {
83
+ id: 'tags',
84
+ type: 'array',
85
+ isValid: {
86
+ required: true,
87
+ },
161
88
  },
162
- },
163
- ];
164
- const form = { fields: [ 'tags' ] };
165
- const result = isItemValid( item, fields, form );
166
- expect( result ).toBe( true );
89
+ ];
90
+ const form = { fields: [ 'tags' ] };
91
+ const result = isItemValid( item, fields, form );
92
+ expect( result ).toBe( true );
93
+ } );
167
94
  } );
168
95
 
169
- it( 'text field with isValid.elements validates against elements', () => {
170
- const item = { id: 1, status: 'published' };
171
- const fields: Field< {} >[] = [
172
- {
173
- id: 'status',
174
- type: 'text',
175
- elements: [
176
- { value: 'draft', label: 'Draft' },
177
- { value: 'published', label: 'Published' },
178
- ],
179
- isValid: {
180
- elements: true,
96
+ describe( 'isValid.elements', () => {
97
+ it( 'untyped is invalid if value is not one of the elements', () => {
98
+ const item = { id: 1, author: 'not-in-elements' };
99
+ const fields: Field< {} >[] = [
100
+ {
101
+ id: 'author',
102
+ elements: [
103
+ { value: 'jane', label: 'Jane' },
104
+ { value: 'john', label: 'John' },
105
+ ],
181
106
  },
182
- },
183
- ];
184
- const form = { fields: [ 'status' ] };
185
- const result = isItemValid( item, fields, form );
186
- expect( result ).toBe( true );
187
- } );
107
+ ];
108
+ const form = { fields: [ 'author' ] };
109
+ const result = isItemValid( item, fields, form );
110
+ expect( result ).toBe( false );
111
+ } );
188
112
 
189
- it( 'text field with isValid.elements rejects invalid values', () => {
190
- const item = { id: 1, status: 'invalid-status' };
191
- const fields: Field< {} >[] = [
192
- {
193
- id: 'status',
194
- type: 'text',
195
- elements: [
196
- { value: 'draft', label: 'Draft' },
197
- { value: 'published', label: 'Published' },
198
- ],
199
- isValid: {
200
- elements: true,
113
+ it( 'text is valid when value is one of the elements', () => {
114
+ const item = { id: 1, status: 'published' };
115
+ const fields: Field< {} >[] = [
116
+ {
117
+ id: 'status',
118
+ type: 'text',
119
+ elements: [
120
+ { value: 'draft', label: 'Draft' },
121
+ { value: 'published', label: 'Published' },
122
+ ],
123
+ isValid: {
124
+ elements: true,
125
+ },
201
126
  },
202
- },
203
- ];
204
- const form = { fields: [ 'status' ] };
205
- const result = isItemValid( item, fields, form );
206
- expect( result ).toBe( false );
127
+ ];
128
+ const form = { fields: [ 'status' ] };
129
+ const result = isItemValid( item, fields, form );
130
+ expect( result ).toBe( true );
131
+ } );
132
+
133
+ it( 'text is invalid when value is not one of the elements', () => {
134
+ const item = { id: 1, status: 'invalid-status' };
135
+ const fields: Field< {} >[] = [
136
+ {
137
+ id: 'status',
138
+ type: 'text',
139
+ elements: [
140
+ { value: 'draft', label: 'Draft' },
141
+ { value: 'published', label: 'Published' },
142
+ ],
143
+ isValid: {
144
+ elements: true,
145
+ },
146
+ },
147
+ ];
148
+ const form = { fields: [ 'status' ] };
149
+ const result = isItemValid( item, fields, form );
150
+ expect( result ).toBe( false );
151
+ } );
152
+
153
+ it( 'integer is valid when value is one of the elements', () => {
154
+ const item = { id: 1, priority: 2 };
155
+ const fields: Field< {} >[] = [
156
+ {
157
+ id: 'priority',
158
+ type: 'integer',
159
+ elements: [
160
+ { value: 1, label: 'Low' },
161
+ { value: 2, label: 'Medium' },
162
+ { value: 3, label: 'High' },
163
+ ],
164
+ isValid: {
165
+ elements: true,
166
+ },
167
+ },
168
+ ];
169
+ const form = { fields: [ 'priority' ] };
170
+ const result = isItemValid( item, fields, form );
171
+ expect( result ).toBe( true );
172
+ } );
173
+
174
+ it( 'integer is invalid when value is not one of the elements', () => {
175
+ const item = { id: 1, priority: 5 };
176
+ const fields: Field< {} >[] = [
177
+ {
178
+ id: 'priority',
179
+ type: 'integer',
180
+ elements: [
181
+ { value: 1, label: 'Low' },
182
+ { value: 2, label: 'Medium' },
183
+ { value: 3, label: 'High' },
184
+ ],
185
+ isValid: {
186
+ elements: true,
187
+ },
188
+ },
189
+ ];
190
+ const form = { fields: [ 'priority' ] };
191
+ const result = isItemValid( item, fields, form );
192
+ expect( result ).toBe( false );
193
+ } );
194
+
195
+ it( 'number is invalid if value is not one of the elements', () => {
196
+ const item = { id: 1, price: 4.5 };
197
+ const fields: Field< {} >[] = [
198
+ {
199
+ id: 'price',
200
+ type: 'number',
201
+ elements: [
202
+ { value: 1.5, label: 'Bronze' },
203
+ { value: 2.5, label: 'Silver' },
204
+ ],
205
+ },
206
+ ];
207
+ const form = { fields: [ 'price' ] };
208
+ const result = isItemValid( item, fields, form );
209
+ expect( result ).toBe( false );
210
+ } );
211
+
212
+ it( 'array is valid if all items are part of the elements', () => {
213
+ const item = { id: 1, tags: [ 'red', 'blue' ] };
214
+ const fields: Field< {} >[] = [
215
+ {
216
+ id: 'tags',
217
+ type: 'array',
218
+ elements: [
219
+ { value: 'red', label: 'Red' },
220
+ { value: 'blue', label: 'Blue' },
221
+ { value: 'green', label: 'Green' },
222
+ ],
223
+ },
224
+ ];
225
+ const form = { fields: [ 'tags' ] };
226
+ const result = isItemValid( item, fields, form );
227
+ expect( result ).toBe( true );
228
+ } );
229
+
230
+ it( 'array is invalid when not all items are part of the elements', () => {
231
+ const item = { id: 1, tags: [ 'red', 'yellow' ] };
232
+ const fields: Field< {} >[] = [
233
+ {
234
+ id: 'tags',
235
+ type: 'array',
236
+ elements: [
237
+ { value: 'red', label: 'Red' },
238
+ { value: 'blue', label: 'Blue' },
239
+ { value: 'green', label: 'Green' },
240
+ ],
241
+ },
242
+ ];
243
+ const form = { fields: [ 'tags' ] };
244
+ const result = isItemValid( item, fields, form );
245
+ expect( result ).toBe( false );
246
+ } );
247
+
248
+ it( 'array is invalid when value is not an array', () => {
249
+ const item = { id: 1, tags: 'not-an-array' };
250
+ const fields: Field< {} >[] = [
251
+ {
252
+ id: 'tags',
253
+ type: 'array',
254
+ elements: [
255
+ { value: 'red', label: 'Red' },
256
+ { value: 'blue', label: 'Blue' },
257
+ ],
258
+ isValid: {
259
+ custom: () => null, // Disable to make sure the only validation triggered is elements
260
+ },
261
+ },
262
+ ];
263
+ const form = { fields: [ 'tags' ] };
264
+ const result = isItemValid( item, fields, form );
265
+ expect( result ).toBe( false );
266
+ } );
207
267
  } );
268
+ } );
208
269
 
209
- it( 'integer field with isValid.elements validates against elements', () => {
210
- const item = { id: 1, priority: 2 };
270
+ describe( 'isValid.custom', () => {
271
+ it( 'integer is valid if value is integer', () => {
272
+ const item = { id: 1, order: 2, title: 'hi' };
211
273
  const fields: Field< {} >[] = [
212
274
  {
213
- id: 'priority',
214
275
  type: 'integer',
215
- elements: [
216
- { value: 1, label: 'Low' },
217
- { value: 2, label: 'Medium' },
218
- { value: 3, label: 'High' },
219
- ],
220
- isValid: {
221
- elements: true,
222
- },
276
+ id: 'order',
223
277
  },
224
278
  ];
225
- const form = { fields: [ 'priority' ] };
279
+ const form = { fields: [ 'order' ] };
226
280
  const result = isItemValid( item, fields, form );
227
281
  expect( result ).toBe( true );
228
282
  } );
229
283
 
230
- it( 'integer field with isValid.elements rejects invalid values', () => {
231
- const item = { id: 1, priority: 5 };
284
+ it( 'integer is invalid if value is not integer when not empty', () => {
285
+ const item = { id: 1, order: 'd' };
232
286
  const fields: Field< {} >[] = [
233
287
  {
234
- id: 'priority',
288
+ id: 'order',
235
289
  type: 'integer',
236
- elements: [
237
- { value: 1, label: 'Low' },
238
- { value: 2, label: 'Medium' },
239
- { value: 3, label: 'High' },
240
- ],
241
- isValid: {
242
- elements: true,
243
- },
244
290
  },
245
291
  ];
246
- const form = { fields: [ 'priority' ] };
292
+ const form = { fields: [ 'order' ] };
247
293
  const result = isItemValid( item, fields, form );
248
294
  expect( result ).toBe( false );
249
295
  } );
250
296
 
251
- it( 'array field with isValid.elements validates all items against elements', () => {
252
- const item = { id: 1, tags: [ 'red', 'blue' ] };
297
+ it( 'number is valid if value is finite', () => {
298
+ const item = { id: 1, price: 2.5 };
253
299
  const fields: Field< {} >[] = [
254
300
  {
255
- id: 'tags',
256
- type: 'array',
257
- elements: [
258
- { value: 'red', label: 'Red' },
259
- { value: 'blue', label: 'Blue' },
260
- { value: 'green', label: 'Green' },
261
- ],
262
- isValid: {
263
- elements: true,
264
- },
301
+ id: 'price',
302
+ type: 'number',
265
303
  },
266
304
  ];
267
- const form = { fields: [ 'tags' ] };
305
+ const form = { fields: [ 'price' ] };
268
306
  const result = isItemValid( item, fields, form );
269
307
  expect( result ).toBe( true );
270
308
  } );
271
309
 
272
- it( 'array field with isValid.elements rejects arrays with invalid items', () => {
273
- const item = { id: 1, tags: [ 'red', 'yellow' ] };
274
- const fields: Field< {} >[] = [
275
- {
276
- id: 'tags',
277
- type: 'array',
278
- elements: [
279
- { value: 'red', label: 'Red' },
280
- { value: 'blue', label: 'Blue' },
281
- { value: 'green', label: 'Green' },
282
- ],
283
- isValid: {
284
- elements: true,
285
- },
286
- },
287
- ];
288
- const form = { fields: [ 'tags' ] };
289
- const result = isItemValid( item, fields, form );
290
- expect( result ).toBe( false );
291
- } );
292
-
293
- it( 'array field with isValid.elements handles non-array values', () => {
294
- const item = { id: 1, tags: 'not-an-array' };
310
+ it( 'number is invalid if value is not finite when not empty', () => {
311
+ const item = { id: 1, price: Number.NaN };
295
312
  const fields: Field< {} >[] = [
296
313
  {
297
- id: 'tags',
298
- type: 'array',
299
- elements: [
300
- { value: 'red', label: 'Red' },
301
- { value: 'blue', label: 'Blue' },
302
- ],
303
- isValid: {
304
- elements: true,
305
- },
314
+ id: 'price',
315
+ type: 'number',
306
316
  },
307
317
  ];
308
- const form = { fields: [ 'tags' ] };
318
+ const form = { fields: [ 'price' ] };
309
319
  const result = isItemValid( item, fields, form );
310
320
  expect( result ).toBe( false );
311
321
  } );