@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
package/src/types.ts DELETED
@@ -1,891 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import type {
5
- ReactElement,
6
- ReactNode,
7
- ComponentType,
8
- ComponentProps,
9
- } from 'react';
10
-
11
- /**
12
- * Internal dependencies
13
- */
14
- import type { SetSelection } from './private-types';
15
-
16
- /**
17
- * WordPress dependencies
18
- */
19
- import type { useFocusOnMount } from '@wordpress/compose';
20
-
21
- /**
22
- * Utility type that makes all properties of T optional recursively.
23
- * Used by field setValue functions to allow partial item updates.
24
- */
25
- export type DeepPartial< T > = {
26
- [ P in keyof T ]?: T[ P ] extends object ? DeepPartial< T[ P ] > : T[ P ];
27
- };
28
-
29
- export type SortDirection = 'asc' | 'desc';
30
-
31
- /**
32
- * Generic option type.
33
- */
34
- export interface Option< Value extends any = any > {
35
- value: Value;
36
- label: string;
37
- description?: string;
38
- }
39
-
40
- export interface FilterByConfig {
41
- /**
42
- * The list of operators supported by the field.
43
- */
44
- operators?: Operator[];
45
-
46
- /**
47
- * Whether it is a primary filter.
48
- *
49
- * A primary filter is always visible and is not listed in the "Add filter" component,
50
- * except for the list layout where it behaves like a secondary filter.
51
- */
52
- isPrimary?: boolean;
53
- }
54
-
55
- export interface NormalizedFilterByConfig {
56
- /**
57
- * The list of operators supported by the field.
58
- */
59
- operators: Operator[];
60
-
61
- /**
62
- * Whether it is a primary filter.
63
- *
64
- * A primary filter is always visible and is not listed in the "Add filter" component,
65
- * except for the list layout where it behaves like a secondary filter.
66
- */
67
- isPrimary?: boolean;
68
- }
69
-
70
- interface FilterConfigForType {
71
- /**
72
- * What operators are used by default.
73
- */
74
- defaultOperators: Operator[];
75
-
76
- /**
77
- * What operators are supported by the field.
78
- */
79
- validOperators: Operator[];
80
- }
81
-
82
- export type Operator =
83
- | 'is'
84
- | 'isNot'
85
- | 'isAny'
86
- | 'isNone'
87
- | 'isAll'
88
- | 'isNotAll'
89
- | 'lessThan'
90
- | 'greaterThan'
91
- | 'lessThanOrEqual'
92
- | 'greaterThanOrEqual'
93
- | 'before'
94
- | 'after'
95
- | 'beforeInc'
96
- | 'afterInc'
97
- | 'contains'
98
- | 'notContains'
99
- | 'startsWith'
100
- | 'between'
101
- | 'on'
102
- | 'notOn'
103
- | 'inThePast'
104
- | 'over';
105
-
106
- export type FieldType =
107
- | 'text'
108
- | 'integer'
109
- | 'datetime'
110
- | 'date'
111
- | 'media'
112
- | 'boolean'
113
- | 'email'
114
- | 'password'
115
- | 'telephone'
116
- | 'color'
117
- | 'url'
118
- | 'array';
119
-
120
- /**
121
- * An abstract interface for Field based on the field type.
122
- */
123
- export type FieldTypeDefinition< Item > = {
124
- /**
125
- * Callback used to sort the field.
126
- */
127
- sort: ( a: Item, b: Item, direction: SortDirection ) => number;
128
-
129
- /**
130
- * Callback used to validate the field.
131
- */
132
- isValid: Rules< Item >;
133
-
134
- /**
135
- * Callback used to render an edit control for the field or control name.
136
- */
137
- Edit:
138
- | ComponentType< DataFormControlProps< Item > >
139
- | string
140
- | EditConfig
141
- | null;
142
-
143
- /**
144
- * Callback used to render the field.
145
- */
146
- render: ComponentType< DataViewRenderFieldProps< Item > >;
147
-
148
- /**
149
- * The filter config for the field.
150
- */
151
- filterBy: FilterConfigForType | false;
152
-
153
- /**
154
- * Whether the field is readOnly.
155
- * If `true`, the value will be rendered using the `render` callback.
156
- */
157
- readOnly?: boolean;
158
-
159
- /**
160
- * Whether the field is sortable.
161
- */
162
- enableSorting: boolean;
163
- };
164
-
165
- export type Rules< Item > = {
166
- required?: boolean;
167
- elements?: boolean;
168
- custom?: ( item: Item, field: NormalizedField< Item > ) => null | string;
169
- };
170
-
171
- /**
172
- * Edit configuration for textarea controls.
173
- */
174
- export type EditConfigTextarea = {
175
- control: 'textarea';
176
- /**
177
- * Number of rows for the textarea.
178
- */
179
- rows?: number;
180
- };
181
-
182
- /**
183
- * Edit configuration for text controls.
184
- */
185
- export type EditConfigText = {
186
- control: 'text';
187
- /**
188
- * Prefix component to display before the input.
189
- */
190
- prefix?: React.ComponentType;
191
- /**
192
- * Suffix component to display after the input.
193
- */
194
- suffix?: React.ComponentType;
195
- };
196
-
197
- /**
198
- * Edit configuration for other control types (excluding 'text' and 'textarea').
199
- */
200
- export type EditConfigGeneric = {
201
- control: Exclude< FieldType, 'text' | 'textarea' >;
202
- };
203
-
204
- /**
205
- * Edit configuration object with type-safe control options.
206
- * Each control type has its own specific configuration properties.
207
- */
208
- export type EditConfig =
209
- | EditConfigTextarea
210
- | EditConfigText
211
- | EditConfigGeneric;
212
-
213
- /**
214
- * A dataview field for a specific property of a data type.
215
- */
216
- export type Field< Item > = {
217
- /**
218
- * Type of the fields.
219
- */
220
- type?: FieldType;
221
-
222
- /**
223
- * The unique identifier of the field.
224
- */
225
- id: string;
226
-
227
- /**
228
- * The label of the field. Defaults to the id.
229
- */
230
- label?: string;
231
-
232
- /**
233
- * The header of the field. Defaults to the label.
234
- * It allows the usage of a React Element to render the field labels.
235
- */
236
- header?: string | ReactElement;
237
-
238
- /**
239
- * A description of the field.
240
- */
241
- description?: string;
242
-
243
- /**
244
- * Placeholder for the field.
245
- */
246
- placeholder?: string;
247
-
248
- /**
249
- * Callback used to render the field. Defaults to `field.getValue`.
250
- */
251
- render?: ComponentType< DataViewRenderFieldProps< Item > >;
252
-
253
- /**
254
- * Callback used to render an edit control for the field.
255
- */
256
- Edit?: ComponentType< DataFormControlProps< Item > > | string | EditConfig;
257
-
258
- /**
259
- * Callback used to sort the field.
260
- */
261
- sort?: ( a: Item, b: Item, direction: SortDirection ) => number;
262
-
263
- /**
264
- * Callback used to validate the field.
265
- */
266
- isValid?: Rules< Item >;
267
-
268
- /**
269
- * Callback used to decide if a field should be displayed.
270
- */
271
- isVisible?: ( item: Item ) => boolean;
272
-
273
- /**
274
- * Whether the field is sortable.
275
- */
276
- enableSorting?: boolean;
277
-
278
- /**
279
- * Whether the field is searchable.
280
- */
281
- enableGlobalSearch?: boolean;
282
-
283
- /**
284
- * Whether the field can be hidden in the UI.
285
- */
286
- enableHiding?: boolean;
287
-
288
- /**
289
- * The list of options to pick from when using the field as a filter.
290
- */
291
- elements?: Option[];
292
-
293
- /**
294
- * Filter config for the field.
295
- */
296
- filterBy?: FilterByConfig | false;
297
-
298
- /**
299
- * Whether the field is readOnly.
300
- * If `true`, the value will be rendered using the `render` callback.
301
- */
302
- readOnly?: boolean;
303
-
304
- /**
305
- * Callback used to retrieve the value of the field from the item.
306
- * Defaults to `item[ field.id ]`.
307
- */
308
- getValue?: ( args: { item: Item } ) => any;
309
-
310
- /**
311
- * Callback used to set the value of the field on the item.
312
- * Used for editing operations to update field values.
313
- */
314
- setValue?: ( args: { item: Item; value: any } ) => DeepPartial< Item >;
315
- };
316
-
317
- export type NormalizedField< Item > = Omit< Field< Item >, 'Edit' > & {
318
- label: string;
319
- header: string | ReactElement;
320
- getValue: ( args: { item: Item } ) => any;
321
- setValue: ( args: { item: Item; value: any } ) => DeepPartial< Item >;
322
- render: ComponentType< DataViewRenderFieldProps< Item > >;
323
- Edit: ComponentType< DataFormControlProps< Item > > | null;
324
- sort: ( a: Item, b: Item, direction: SortDirection ) => number;
325
- isValid: Rules< Item >;
326
- enableHiding: boolean;
327
- enableSorting: boolean;
328
- filterBy: NormalizedFilterByConfig | false;
329
- readOnly: boolean;
330
- };
331
-
332
- /**
333
- * A collection of dataview fields for a data type.
334
- */
335
- export type Fields< Item > = Field< Item >[];
336
-
337
- export type Data< Item > = Item[];
338
-
339
- export type DataFormControlProps< Item > = {
340
- data: Item;
341
- field: NormalizedField< Item >;
342
- onChange: ( value: DeepPartial< Item > ) => void;
343
- hideLabelFromVision?: boolean;
344
- /**
345
- * The currently selected filter operator for this field.
346
- *
347
- * Used by DataViews filters to determine which control to render based on the operator type.
348
- */
349
- operator?: Operator;
350
- /**
351
- * Configuration object for the control.
352
- */
353
- config?: {
354
- prefix?: React.ComponentType;
355
- suffix?: React.ComponentType;
356
- rows?: number;
357
- };
358
- };
359
-
360
- export type DataViewRenderFieldProps< Item > = {
361
- item: Item;
362
- field: NormalizedField< Item >;
363
- config?: {
364
- sizes: string;
365
- };
366
- };
367
-
368
- /**
369
- * The filters applied to the dataset.
370
- */
371
- export interface Filter {
372
- /**
373
- * The field to filter by.
374
- */
375
- field: string;
376
-
377
- /**
378
- * The operator to use.
379
- */
380
- operator: Operator;
381
-
382
- /**
383
- * The value to filter by.
384
- */
385
- value: any;
386
-
387
- /**
388
- * Whether the filter can be edited by the user.
389
- */
390
- isLocked?: boolean;
391
- }
392
-
393
- export interface NormalizedFilter {
394
- /**
395
- * The field to filter by.
396
- */
397
- field: string;
398
-
399
- /**
400
- * The field name.
401
- */
402
- name: string;
403
-
404
- /**
405
- * The list of options to pick from when using the field as a filter.
406
- */
407
- elements: Option[];
408
-
409
- /**
410
- * Is a single selection filter.
411
- */
412
- singleSelection: boolean;
413
-
414
- /**
415
- * The list of operators supported by the field.
416
- */
417
- operators: Operator[];
418
-
419
- /**
420
- * Whether the filter is visible.
421
- */
422
- isVisible: boolean;
423
-
424
- /**
425
- * Whether it is a primary filter.
426
- */
427
- isPrimary: boolean;
428
-
429
- /**
430
- * Whether the filter can be edited by the user.
431
- */
432
- isLocked: boolean;
433
- }
434
-
435
- interface ViewBase {
436
- /**
437
- * The layout of the view.
438
- */
439
- type: string;
440
-
441
- /**
442
- * The global search term.
443
- */
444
- search?: string;
445
-
446
- /**
447
- * The filters to apply.
448
- */
449
- filters?: Filter[];
450
-
451
- /**
452
- * The sorting configuration.
453
- */
454
- sort?: {
455
- /**
456
- * The field to sort by.
457
- */
458
- field: string;
459
-
460
- /**
461
- * The direction to sort by.
462
- */
463
- direction: SortDirection;
464
- };
465
-
466
- /**
467
- * The active page
468
- */
469
- page?: number;
470
-
471
- /**
472
- * The number of items per page
473
- */
474
- perPage?: number;
475
-
476
- /**
477
- * The fields to render
478
- */
479
- fields?: string[];
480
-
481
- /**
482
- * Title field
483
- */
484
- titleField?: string;
485
-
486
- /**
487
- * Media field
488
- */
489
- mediaField?: string;
490
-
491
- /**
492
- * Description field
493
- */
494
- descriptionField?: string;
495
-
496
- /**
497
- * Whether to show the title
498
- */
499
- showTitle?: boolean;
500
-
501
- /**
502
- * Whether to show the media
503
- */
504
- showMedia?: boolean;
505
-
506
- /**
507
- * Whether to show the description
508
- */
509
- showDescription?: boolean;
510
-
511
- /**
512
- * Whether to show the hierarchical levels.
513
- */
514
- showLevels?: boolean;
515
-
516
- /**
517
- * The field to group by.
518
- */
519
- groupByField?: string;
520
-
521
- /**
522
- * Whether infinite scroll is enabled.
523
- */
524
- infiniteScrollEnabled?: boolean;
525
- }
526
-
527
- export interface ColumnStyle {
528
- /**
529
- * The width of the field column.
530
- */
531
- width?: string | number;
532
-
533
- /**
534
- * The minimum width of the field column.
535
- */
536
- maxWidth?: string | number;
537
-
538
- /**
539
- * The maximum width of the field column.
540
- */
541
- minWidth?: string | number;
542
-
543
- /**
544
- * The alignment of the field column, defaults to left.
545
- */
546
- align?: 'start' | 'center' | 'end';
547
- }
548
-
549
- export type Density = 'compact' | 'balanced' | 'comfortable';
550
-
551
- export interface ViewTable extends ViewBase {
552
- type: 'table';
553
-
554
- layout?: {
555
- /**
556
- * The styles for the columns.
557
- */
558
- styles?: Record< string, ColumnStyle >;
559
-
560
- /**
561
- * The density of the view.
562
- */
563
- density?: Density;
564
-
565
- /**
566
- * Whether the view allows column moving.
567
- */
568
- enableMoving?: boolean;
569
- };
570
- }
571
-
572
- export interface ViewList extends ViewBase {
573
- type: 'list';
574
- }
575
-
576
- export interface ViewGrid extends ViewBase {
577
- type: 'grid';
578
-
579
- layout?: {
580
- /**
581
- * The fields to use as badge fields.
582
- */
583
- badgeFields?: string[];
584
-
585
- /**
586
- * The preview size of the grid.
587
- */
588
- previewSize?: number;
589
- };
590
- }
591
-
592
- export interface ViewPickerGrid extends ViewBase {
593
- type: 'pickerGrid';
594
-
595
- layout?: {
596
- /**
597
- * The fields to use as badge fields.
598
- */
599
- badgeFields?: string[];
600
-
601
- /**
602
- * The preview size of the grid.
603
- */
604
- previewSize?: number;
605
- };
606
- }
607
-
608
- export type View = ViewList | ViewGrid | ViewTable | ViewPickerGrid;
609
-
610
- interface ActionBase< Item > {
611
- /**
612
- * The unique identifier of the action.
613
- */
614
- id: string;
615
-
616
- /**
617
- * The label of the action.
618
- * In case we want to adjust the label based on the selected items,
619
- * a function can be provided.
620
- */
621
- label: string | ( ( items: Item[] ) => string );
622
-
623
- /**
624
- * The icon of the action. (Either a string or an SVG element)
625
- * This should be IconType from the components package
626
- * but that import is breaking typescript build for the moment.
627
- */
628
- icon?: any;
629
-
630
- /**
631
- * Whether the action is disabled.
632
- */
633
- disabled?: boolean;
634
-
635
- /**
636
- * Whether the action is destructive.
637
- */
638
- isDestructive?: boolean;
639
-
640
- /**
641
- * Whether the action is a primary action.
642
- */
643
- isPrimary?: boolean;
644
-
645
- /**
646
- * Whether the item passed as an argument supports the current action.
647
- */
648
- isEligible?: ( item: Item ) => boolean;
649
-
650
- /**
651
- * Whether the action can be used as a bulk action.
652
- */
653
- supportsBulk?: boolean;
654
-
655
- /**
656
- * The context in which the action is visible.
657
- * This is only a "meta" information for now.
658
- */
659
- context?: 'list' | 'single';
660
- }
661
-
662
- export interface RenderModalProps< Item > {
663
- items: Item[];
664
- closeModal?: () => void;
665
- onActionPerformed?: ( items: Item[] ) => void;
666
- }
667
-
668
- export interface ActionModal< Item > extends ActionBase< Item > {
669
- /**
670
- * Modal to render when the action is triggered.
671
- */
672
- RenderModal: ( {
673
- items,
674
- closeModal,
675
- onActionPerformed,
676
- }: RenderModalProps< Item > ) => ReactElement;
677
-
678
- /**
679
- * Whether to hide the modal header.
680
- */
681
- hideModalHeader?: boolean;
682
-
683
- /**
684
- * The header of the modal.
685
- */
686
- modalHeader?: string;
687
-
688
- /**
689
- * The size of the modal.
690
- *
691
- * @default 'medium'
692
- */
693
- modalSize?: 'small' | 'medium' | 'large' | 'fill';
694
-
695
- /**
696
- * The focus on mount property of the modal.
697
- */
698
- modalFocusOnMount?:
699
- | Parameters< typeof useFocusOnMount >[ 0 ]
700
- | 'firstContentElement';
701
- }
702
-
703
- export interface ActionButton< Item > extends ActionBase< Item > {
704
- /**
705
- * The callback to execute when the action is triggered.
706
- */
707
- callback: (
708
- items: Item[],
709
- context: {
710
- registry: any;
711
- onActionPerformed?: ( items: Item[] ) => void;
712
- }
713
- ) => void;
714
- }
715
-
716
- export type Action< Item > = ActionModal< Item > | ActionButton< Item >;
717
-
718
- export interface ViewBaseProps< Item > {
719
- className?: string;
720
- actions: Action< Item >[];
721
- data: Item[];
722
- fields: NormalizedField< Item >[];
723
- getItemId: ( item: Item ) => string;
724
- getItemLevel?: ( item: Item ) => number;
725
- isLoading?: boolean;
726
- onChangeView: ( view: View ) => void;
727
- onChangeSelection: SetSelection;
728
- selection: string[];
729
- setOpenedFilter: ( fieldId: string ) => void;
730
- onClickItem?: ( item: Item ) => void;
731
- renderItemLink?: (
732
- props: {
733
- item: Item;
734
- } & ComponentProps< 'a' >
735
- ) => ReactElement;
736
- isItemClickable: ( item: Item ) => boolean;
737
- view: View;
738
- empty: ReactNode;
739
- }
740
-
741
- export type ViewPickerBaseProps< Item > = Omit<
742
- ViewBaseProps< Item >,
743
- | 'view'
744
- | 'onChangeView'
745
- // The following props are not supported for pickers.
746
- | 'isItemClickable'
747
- | 'onClickItem'
748
- | 'renderItemLink'
749
- | 'getItemLevel'
750
- > & {
751
- view: View;
752
- onChangeView: ( view: View ) => void;
753
- };
754
-
755
- export interface ViewTableProps< Item > extends ViewBaseProps< Item > {
756
- view: ViewTable;
757
- }
758
-
759
- export interface ViewListProps< Item > extends ViewBaseProps< Item > {
760
- view: ViewList;
761
- }
762
-
763
- export interface ViewGridProps< Item > extends ViewBaseProps< Item > {
764
- view: ViewGrid;
765
- }
766
-
767
- export interface ViewPickerGridProps< Item >
768
- extends Omit< ViewPickerBaseProps< Item >, 'view' > {
769
- view: ViewPickerGrid;
770
- }
771
-
772
- export type ViewProps< Item > =
773
- | ViewTableProps< Item >
774
- | ViewGridProps< Item >
775
- | ViewListProps< Item >;
776
-
777
- export type ViewPickerProps< Item > = ViewPickerGridProps< Item >;
778
-
779
- export interface SupportedLayouts {
780
- list?: Omit< ViewList, 'type' >;
781
- grid?: Omit< ViewGrid, 'type' >;
782
- table?: Omit< ViewTable, 'type' >;
783
- pickerGrid?: Omit< ViewPickerGrid, 'type' >;
784
- }
785
-
786
- /**
787
- * DataForm layouts.
788
- */
789
- export type LayoutType = 'regular' | 'panel' | 'card' | 'row';
790
- export type LabelPosition = 'top' | 'side' | 'none';
791
-
792
- export type RegularLayout = {
793
- type: 'regular';
794
- labelPosition?: LabelPosition;
795
- };
796
- export type NormalizedRegularLayout = {
797
- type: 'regular';
798
- labelPosition: LabelPosition;
799
- };
800
-
801
- export type PanelLayout = {
802
- type: 'panel';
803
- labelPosition?: LabelPosition;
804
- openAs?: 'dropdown' | 'modal';
805
- };
806
- export type NormalizedPanelLayout = {
807
- type: 'panel';
808
- labelPosition: LabelPosition;
809
- openAs: 'dropdown' | 'modal';
810
- };
811
-
812
- export type CardLayout =
813
- | {
814
- type: 'card';
815
- withHeader: false;
816
- // isOpened cannot be false if withHeader is false as well.
817
- // Otherwise, the card would not be visible.
818
- isOpened?: true;
819
- }
820
- | {
821
- type: 'card';
822
- withHeader?: true | undefined;
823
- isOpened?: boolean;
824
- };
825
- export type NormalizedCardLayout =
826
- | {
827
- type: 'card';
828
- withHeader: false;
829
- // isOpened cannot be false if withHeader is false as well.
830
- // Otherwise, the card would not be visible.
831
- isOpened: true;
832
- }
833
- | {
834
- type: 'card';
835
- withHeader: true;
836
- isOpened: boolean;
837
- };
838
-
839
- export type RowLayout = {
840
- type: 'row';
841
- alignment?: 'start' | 'center' | 'end';
842
- };
843
- export type NormalizedRowLayout = {
844
- type: 'row';
845
- alignment: 'start' | 'center' | 'end';
846
- };
847
-
848
- export type Layout = RegularLayout | PanelLayout | CardLayout | RowLayout;
849
- export type NormalizedLayout =
850
- | NormalizedRegularLayout
851
- | NormalizedPanelLayout
852
- | NormalizedCardLayout
853
- | NormalizedRowLayout;
854
-
855
- export type SimpleFormField = {
856
- id: string;
857
- layout?: Layout;
858
- };
859
-
860
- export type CombinedFormField = {
861
- id: string;
862
- label?: string;
863
- description?: string;
864
- layout?: Layout;
865
- children: Array< FormField | string >;
866
- summary?: string | string[];
867
- };
868
-
869
- export type FormField = SimpleFormField | CombinedFormField;
870
-
871
- /**
872
- * The form configuration.
873
- */
874
- export type Form = {
875
- layout?: Layout;
876
- fields?: Array< FormField | string >;
877
- };
878
-
879
- export interface DataFormProps< Item > {
880
- data: Item;
881
- fields: Field< Item >[];
882
- form: Form;
883
- onChange: ( value: Record< string, any > ) => void;
884
- }
885
-
886
- export interface FieldLayoutProps< Item > {
887
- data: Item;
888
- field: FormField;
889
- onChange: ( value: any ) => void;
890
- hideLabelFromVision?: boolean;
891
- }