@wordpress/dataviews 11.0.0 → 11.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (303) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +140 -93
  3. package/build/components/dataviews-filters/filter.js +25 -267
  4. package/build/components/dataviews-filters/filter.js.map +2 -2
  5. package/build/components/dataviews-filters/input-widget.js +1 -4
  6. package/build/components/dataviews-filters/input-widget.js.map +2 -2
  7. package/build/components/dataviews-filters/use-filters.js +3 -3
  8. package/build/components/dataviews-filters/use-filters.js.map +2 -2
  9. package/build/constants.js +5 -142
  10. package/build/constants.js.map +2 -2
  11. package/build/dataform-controls/number.js +2 -1
  12. package/build/dataform-controls/number.js.map +2 -2
  13. package/build/dataform-controls/textarea.js +3 -1
  14. package/build/dataform-controls/textarea.js.map +2 -2
  15. package/build/dataform-controls/utils/get-custom-validity.js +8 -0
  16. package/build/dataform-controls/utils/get-custom-validity.js.map +2 -2
  17. package/build/dataform-controls/utils/validated-input.js +4 -2
  18. package/build/dataform-controls/utils/validated-input.js.map +2 -2
  19. package/build/dataform-controls/utils/validated-number.js +4 -2
  20. package/build/dataform-controls/utils/validated-number.js.map +2 -2
  21. package/build/dataform-layouts/panel/modal.js +14 -5
  22. package/build/dataform-layouts/panel/modal.js.map +2 -2
  23. package/build/dataviews-layouts/grid/composite-grid.js +39 -37
  24. package/build/dataviews-layouts/grid/composite-grid.js.map +3 -3
  25. package/build/dataviews-layouts/table/index.js +8 -3
  26. package/build/dataviews-layouts/table/index.js.map +2 -2
  27. package/build/field-types/array.js +27 -14
  28. package/build/field-types/array.js.map +3 -3
  29. package/build/field-types/boolean.js +13 -10
  30. package/build/field-types/boolean.js.map +3 -3
  31. package/build/field-types/color.js +14 -11
  32. package/build/field-types/color.js.map +3 -3
  33. package/build/field-types/date.js +11 -8
  34. package/build/field-types/date.js.map +3 -3
  35. package/build/field-types/datetime.js +7 -5
  36. package/build/field-types/datetime.js.map +3 -3
  37. package/build/field-types/email.js +20 -11
  38. package/build/field-types/email.js.map +3 -3
  39. package/build/field-types/index.js +12 -14
  40. package/build/field-types/index.js.map +3 -3
  41. package/build/field-types/integer.js +63 -14
  42. package/build/field-types/integer.js.map +3 -3
  43. package/build/field-types/media.js +5 -5
  44. package/build/field-types/media.js.map +2 -2
  45. package/build/field-types/no-type.js +9 -6
  46. package/build/field-types/no-type.js.map +3 -3
  47. package/build/field-types/number.js +51 -15
  48. package/build/field-types/number.js.map +3 -3
  49. package/build/field-types/password.js +13 -5
  50. package/build/field-types/password.js.map +3 -3
  51. package/build/field-types/telephone.js +13 -5
  52. package/build/field-types/telephone.js.map +3 -3
  53. package/build/field-types/text.js +13 -5
  54. package/build/field-types/text.js.map +3 -3
  55. package/build/field-types/url.js +13 -5
  56. package/build/field-types/url.js.map +3 -3
  57. package/build/field-types/utils/get-is-valid.js +89 -0
  58. package/build/field-types/utils/get-is-valid.js.map +7 -0
  59. package/build/field-types/utils/is-valid-elements.js +35 -0
  60. package/build/field-types/utils/is-valid-elements.js.map +7 -0
  61. package/build/field-types/utils/is-valid-max-length.js +36 -0
  62. package/build/field-types/utils/is-valid-max-length.js.map +7 -0
  63. package/build/field-types/utils/is-valid-max.js +36 -0
  64. package/build/field-types/utils/is-valid-max.js.map +7 -0
  65. package/build/field-types/utils/is-valid-min-length.js +36 -0
  66. package/build/field-types/utils/is-valid-min-length.js.map +7 -0
  67. package/build/field-types/utils/is-valid-min.js +36 -0
  68. package/build/field-types/utils/is-valid-min.js.map +7 -0
  69. package/build/field-types/utils/is-valid-pattern.js +41 -0
  70. package/build/field-types/utils/is-valid-pattern.js.map +7 -0
  71. package/build/field-types/utils/is-valid-required-for-array.js +32 -0
  72. package/build/field-types/utils/is-valid-required-for-array.js.map +7 -0
  73. package/build/field-types/utils/is-valid-required-for-bool.js +30 -0
  74. package/build/field-types/utils/is-valid-required-for-bool.js.map +7 -0
  75. package/build/field-types/utils/is-valid-required.js +30 -0
  76. package/build/field-types/utils/is-valid-required.js.map +7 -0
  77. package/build/hooks/use-form-validity.js +52 -102
  78. package/build/hooks/use-form-validity.js.map +2 -2
  79. package/build/types/field-api.js.map +1 -1
  80. package/build/types/private.js.map +1 -1
  81. package/build/utils/filter-sort-and-paginate.js +5 -0
  82. package/build/utils/filter-sort-and-paginate.js.map +3 -3
  83. package/build/utils/operators.js +399 -0
  84. package/build/utils/operators.js.map +7 -0
  85. package/build-module/components/dataviews-filters/filter.js +26 -292
  86. package/build-module/components/dataviews-filters/filter.js.map +2 -2
  87. package/build-module/components/dataviews-filters/input-widget.js +1 -4
  88. package/build-module/components/dataviews-filters/input-widget.js.map +2 -2
  89. package/build-module/components/dataviews-filters/use-filters.js +6 -3
  90. package/build-module/components/dataviews-filters/use-filters.js.map +2 -2
  91. package/build-module/constants.js +5 -139
  92. package/build-module/constants.js.map +2 -2
  93. package/build-module/dataform-controls/number.js +2 -1
  94. package/build-module/dataform-controls/number.js.map +2 -2
  95. package/build-module/dataform-controls/textarea.js +3 -1
  96. package/build-module/dataform-controls/textarea.js.map +2 -2
  97. package/build-module/dataform-controls/utils/get-custom-validity.js +8 -0
  98. package/build-module/dataform-controls/utils/get-custom-validity.js.map +2 -2
  99. package/build-module/dataform-controls/utils/validated-input.js +4 -2
  100. package/build-module/dataform-controls/utils/validated-input.js.map +2 -2
  101. package/build-module/dataform-controls/utils/validated-number.js +4 -2
  102. package/build-module/dataform-controls/utils/validated-number.js.map +2 -2
  103. package/build-module/dataform-layouts/panel/modal.js +14 -5
  104. package/build-module/dataform-layouts/panel/modal.js.map +2 -2
  105. package/build-module/dataviews-layouts/grid/composite-grid.js +40 -38
  106. package/build-module/dataviews-layouts/grid/composite-grid.js.map +3 -3
  107. package/build-module/dataviews-layouts/table/index.js +8 -3
  108. package/build-module/dataviews-layouts/table/index.js.map +2 -2
  109. package/build-module/field-types/array.js +17 -14
  110. package/build-module/field-types/array.js.map +2 -2
  111. package/build-module/field-types/boolean.js +13 -10
  112. package/build-module/field-types/boolean.js.map +2 -2
  113. package/build-module/field-types/color.js +14 -11
  114. package/build-module/field-types/color.js.map +2 -2
  115. package/build-module/field-types/date.js +11 -8
  116. package/build-module/field-types/date.js.map +2 -2
  117. package/build-module/field-types/datetime.js +7 -5
  118. package/build-module/field-types/datetime.js.map +2 -2
  119. package/build-module/field-types/email.js +20 -11
  120. package/build-module/field-types/email.js.map +2 -2
  121. package/build-module/field-types/index.js +12 -14
  122. package/build-module/field-types/index.js.map +2 -2
  123. package/build-module/field-types/integer.js +58 -13
  124. package/build-module/field-types/integer.js.map +2 -2
  125. package/build-module/field-types/media.js +5 -5
  126. package/build-module/field-types/media.js.map +2 -2
  127. package/build-module/field-types/no-type.js +10 -7
  128. package/build-module/field-types/no-type.js.map +2 -2
  129. package/build-module/field-types/number.js +47 -15
  130. package/build-module/field-types/number.js.map +2 -2
  131. package/build-module/field-types/password.js +13 -5
  132. package/build-module/field-types/password.js.map +2 -2
  133. package/build-module/field-types/telephone.js +13 -5
  134. package/build-module/field-types/telephone.js.map +2 -2
  135. package/build-module/field-types/text.js +13 -5
  136. package/build-module/field-types/text.js.map +2 -2
  137. package/build-module/field-types/url.js +13 -5
  138. package/build-module/field-types/url.js.map +2 -2
  139. package/build-module/field-types/utils/get-is-valid.js +68 -0
  140. package/build-module/field-types/utils/get-is-valid.js.map +7 -0
  141. package/build-module/field-types/utils/is-valid-elements.js +14 -0
  142. package/build-module/field-types/utils/is-valid-elements.js.map +7 -0
  143. package/build-module/field-types/utils/is-valid-max-length.js +15 -0
  144. package/build-module/field-types/utils/is-valid-max-length.js.map +7 -0
  145. package/build-module/field-types/utils/is-valid-max.js +15 -0
  146. package/build-module/field-types/utils/is-valid-max.js.map +7 -0
  147. package/build-module/field-types/utils/is-valid-min-length.js +15 -0
  148. package/build-module/field-types/utils/is-valid-min-length.js.map +7 -0
  149. package/build-module/field-types/utils/is-valid-min.js +15 -0
  150. package/build-module/field-types/utils/is-valid-min.js.map +7 -0
  151. package/build-module/field-types/utils/is-valid-pattern.js +20 -0
  152. package/build-module/field-types/utils/is-valid-pattern.js.map +7 -0
  153. package/build-module/field-types/utils/is-valid-required-for-array.js +11 -0
  154. package/build-module/field-types/utils/is-valid-required-for-array.js.map +7 -0
  155. package/build-module/field-types/utils/is-valid-required-for-bool.js +9 -0
  156. package/build-module/field-types/utils/is-valid-required-for-bool.js.map +7 -0
  157. package/build-module/field-types/utils/is-valid-required.js +9 -0
  158. package/build-module/field-types/utils/is-valid-required.js.map +7 -0
  159. package/build-module/hooks/use-form-validity.js +52 -102
  160. package/build-module/hooks/use-form-validity.js.map +2 -2
  161. package/build-module/utils/filter-sort-and-paginate.js +5 -0
  162. package/build-module/utils/filter-sort-and-paginate.js.map +2 -2
  163. package/build-module/utils/operators.js +394 -0
  164. package/build-module/utils/operators.js.map +7 -0
  165. package/build-style/style-rtl.css +13 -80
  166. package/build-style/style.css +13 -80
  167. package/build-types/components/dataviews-filters/filter.d.ts.map +1 -1
  168. package/build-types/components/dataviews-filters/input-widget.d.ts.map +1 -1
  169. package/build-types/components/dataviews-filters/use-filters.d.ts.map +1 -1
  170. package/build-types/constants.d.ts +6 -12
  171. package/build-types/constants.d.ts.map +1 -1
  172. package/build-types/dataform-controls/number.d.ts.map +1 -1
  173. package/build-types/dataform-controls/textarea.d.ts.map +1 -1
  174. package/build-types/dataform-controls/utils/get-custom-validity.d.ts +2 -2
  175. package/build-types/dataform-controls/utils/get-custom-validity.d.ts.map +1 -1
  176. package/build-types/dataform-controls/utils/validated-input.d.ts.map +1 -1
  177. package/build-types/dataform-controls/utils/validated-number.d.ts.map +1 -1
  178. package/build-types/dataform-layouts/panel/modal.d.ts.map +1 -1
  179. package/build-types/dataviews-layouts/grid/composite-grid.d.ts.map +1 -1
  180. package/build-types/dataviews-layouts/table/index.d.ts.map +1 -1
  181. package/build-types/field-types/array.d.ts +9 -2
  182. package/build-types/field-types/array.d.ts.map +1 -1
  183. package/build-types/field-types/boolean.d.ts +9 -2
  184. package/build-types/field-types/boolean.d.ts.map +1 -1
  185. package/build-types/field-types/color.d.ts +9 -2
  186. package/build-types/field-types/color.d.ts.map +1 -1
  187. package/build-types/field-types/date.d.ts +6 -4
  188. package/build-types/field-types/date.d.ts.map +1 -1
  189. package/build-types/field-types/datetime.d.ts +6 -4
  190. package/build-types/field-types/datetime.d.ts.map +1 -1
  191. package/build-types/field-types/email.d.ts +15 -2
  192. package/build-types/field-types/email.d.ts.map +1 -1
  193. package/build-types/field-types/index.d.ts.map +1 -1
  194. package/build-types/field-types/integer.d.ts +17 -4
  195. package/build-types/field-types/integer.d.ts.map +1 -1
  196. package/build-types/field-types/media.d.ts +1 -4
  197. package/build-types/field-types/media.d.ts.map +1 -1
  198. package/build-types/field-types/no-type.d.ts +6 -4
  199. package/build-types/field-types/no-type.d.ts.map +1 -1
  200. package/build-types/field-types/number.d.ts +17 -4
  201. package/build-types/field-types/number.d.ts.map +1 -1
  202. package/build-types/field-types/password.d.ts +12 -4
  203. package/build-types/field-types/password.d.ts.map +1 -1
  204. package/build-types/field-types/telephone.d.ts +12 -4
  205. package/build-types/field-types/telephone.d.ts.map +1 -1
  206. package/build-types/field-types/text.d.ts +12 -4
  207. package/build-types/field-types/text.d.ts.map +1 -1
  208. package/build-types/field-types/url.d.ts +12 -4
  209. package/build-types/field-types/url.d.ts.map +1 -1
  210. package/build-types/field-types/utils/get-is-valid.d.ts +7 -0
  211. package/build-types/field-types/utils/get-is-valid.d.ts.map +1 -0
  212. package/build-types/field-types/utils/is-valid-elements.d.ts +6 -0
  213. package/build-types/field-types/utils/is-valid-elements.d.ts.map +1 -0
  214. package/build-types/field-types/utils/is-valid-max-length.d.ts +6 -0
  215. package/build-types/field-types/utils/is-valid-max-length.d.ts.map +1 -0
  216. package/build-types/field-types/utils/is-valid-max.d.ts +6 -0
  217. package/build-types/field-types/utils/is-valid-max.d.ts.map +1 -0
  218. package/build-types/field-types/utils/is-valid-min-length.d.ts +6 -0
  219. package/build-types/field-types/utils/is-valid-min-length.d.ts.map +1 -0
  220. package/build-types/field-types/utils/is-valid-min.d.ts +6 -0
  221. package/build-types/field-types/utils/is-valid-min.d.ts.map +1 -0
  222. package/build-types/field-types/utils/is-valid-pattern.d.ts +6 -0
  223. package/build-types/field-types/utils/is-valid-pattern.d.ts.map +1 -0
  224. package/build-types/field-types/utils/is-valid-required-for-array.d.ts +6 -0
  225. package/build-types/field-types/utils/is-valid-required-for-array.d.ts.map +1 -0
  226. package/build-types/field-types/utils/is-valid-required-for-bool.d.ts +6 -0
  227. package/build-types/field-types/utils/is-valid-required-for-bool.d.ts.map +1 -0
  228. package/build-types/field-types/utils/is-valid-required.d.ts +6 -0
  229. package/build-types/field-types/utils/is-valid-required.d.ts.map +1 -0
  230. package/build-types/hooks/use-form-validity.d.ts.map +1 -1
  231. package/build-types/stories/dataform.story.d.ts +9 -1
  232. package/build-types/stories/dataform.story.d.ts.map +1 -1
  233. package/build-types/stories/dataviews-picker.story.d.ts.map +1 -1
  234. package/build-types/stories/dataviews.story.d.ts +27 -2
  235. package/build-types/stories/dataviews.story.d.ts.map +1 -1
  236. package/build-types/stories/field-types.story.d.ts +39 -2
  237. package/build-types/stories/field-types.story.d.ts.map +1 -1
  238. package/build-types/types/field-api.d.ts +72 -4
  239. package/build-types/types/field-api.d.ts.map +1 -1
  240. package/build-types/types/private.d.ts +13 -3
  241. package/build-types/types/private.d.ts.map +1 -1
  242. package/build-types/utils/filter-sort-and-paginate.d.ts.map +1 -1
  243. package/build-types/utils/operators.d.ts +16 -0
  244. package/build-types/utils/operators.d.ts.map +1 -0
  245. package/build-wp/index.js +1548 -1452
  246. package/package.json +17 -16
  247. package/src/components/dataviews/style.scss +3 -28
  248. package/src/components/dataviews-filters/filter.tsx +34 -321
  249. package/src/components/dataviews-filters/input-widget.tsx +7 -5
  250. package/src/components/dataviews-filters/use-filters.ts +6 -3
  251. package/src/components/dataviews-footer/style.scss +1 -7
  252. package/src/constants.ts +6 -140
  253. package/src/dataform-controls/number.tsx +3 -3
  254. package/src/dataform-controls/textarea.tsx +7 -1
  255. package/src/dataform-controls/utils/get-custom-validity.ts +10 -2
  256. package/src/dataform-controls/utils/validated-input.tsx +8 -2
  257. package/src/dataform-controls/utils/validated-number.tsx +3 -1
  258. package/src/dataform-layouts/panel/modal.tsx +14 -5
  259. package/src/dataviews-layouts/activity/style.scss +1 -1
  260. package/src/dataviews-layouts/grid/composite-grid.tsx +64 -57
  261. package/src/dataviews-layouts/grid/style.scss +3 -12
  262. package/src/dataviews-layouts/table/index.tsx +9 -3
  263. package/src/dataviews-layouts/table/style.scss +4 -15
  264. package/src/dataviews-layouts/utils/grid-items.scss +1 -9
  265. package/src/field-types/array.tsx +26 -19
  266. package/src/field-types/boolean.tsx +22 -15
  267. package/src/field-types/color.tsx +22 -15
  268. package/src/field-types/date.tsx +14 -11
  269. package/src/field-types/datetime.tsx +6 -4
  270. package/src/field-types/email.tsx +24 -15
  271. package/src/field-types/index.tsx +12 -14
  272. package/src/field-types/integer.tsx +83 -17
  273. package/src/field-types/media.tsx +4 -4
  274. package/src/field-types/no-type.tsx +9 -6
  275. package/src/field-types/number.tsx +82 -16
  276. package/src/field-types/password.tsx +12 -4
  277. package/src/field-types/telephone.tsx +12 -4
  278. package/src/field-types/text.tsx +12 -4
  279. package/src/field-types/url.tsx +12 -4
  280. package/src/field-types/utils/get-is-valid.ts +103 -0
  281. package/src/field-types/utils/is-valid-elements.ts +20 -0
  282. package/src/field-types/utils/is-valid-max-length.ts +23 -0
  283. package/src/field-types/utils/is-valid-max.ts +23 -0
  284. package/src/field-types/utils/is-valid-min-length.ts +23 -0
  285. package/src/field-types/utils/is-valid-min.ts +23 -0
  286. package/src/field-types/utils/is-valid-pattern.ts +29 -0
  287. package/src/field-types/utils/is-valid-required-for-array.ts +18 -0
  288. package/src/field-types/utils/is-valid-required-for-bool.ts +13 -0
  289. package/src/field-types/utils/is-valid-required.ts +13 -0
  290. package/src/hooks/use-form-validity.ts +78 -156
  291. package/src/stories/dataform.story.tsx +126 -30
  292. package/src/stories/dataviews-picker.story.tsx +27 -17
  293. package/src/stories/dataviews.story.tsx +79 -30
  294. package/src/stories/field-types.story.tsx +86 -4
  295. package/src/test/filter-sort-and-paginate.js +2 -1
  296. package/src/test/normalize-fields.ts +87 -11
  297. package/src/test/use-form-validity.ts +796 -31
  298. package/src/types/field-api.ts +90 -4
  299. package/src/types/private.ts +26 -8
  300. package/src/utils/filter-sort-and-paginate.ts +5 -0
  301. package/src/utils/operators.tsx +448 -0
  302. package/tsconfig.json +1 -0
  303. package/tsconfig.tsbuildinfo +1 -1
@@ -37,8 +37,28 @@ export type Rules<Item> = {
37
37
  required?: boolean;
38
38
  elements?: boolean;
39
39
  pattern?: string;
40
+ minLength?: number;
41
+ maxLength?: number;
42
+ min?: number;
43
+ max?: number;
40
44
  custom?: ((item: Item, field: NormalizedField<Item>) => null | string) | ((item: Item, field: NormalizedField<Item>) => Promise<null | string>);
41
45
  };
46
+ export type Validator<Item> = (item: Item, field: NormalizedField<Item>) => boolean;
47
+ export type CustomValidator<Item> = ((item: Item, field: NormalizedField<Item>) => null | string) | ((item: Item, field: NormalizedField<Item>) => Promise<null | string>);
48
+ type NormalizedRule<Item, ConstraintType> = {
49
+ constraint: ConstraintType;
50
+ validate: Validator<Item>;
51
+ };
52
+ export type NormalizedRules<Item> = {
53
+ required?: NormalizedRule<Item, boolean>;
54
+ elements?: NormalizedRule<Item, boolean>;
55
+ pattern?: NormalizedRule<Item, string>;
56
+ minLength?: NormalizedRule<Item, number>;
57
+ maxLength?: NormalizedRule<Item, number>;
58
+ min?: NormalizedRule<Item, number>;
59
+ max?: NormalizedRule<Item, number>;
60
+ custom?: CustomValidator<Item>;
61
+ };
42
62
  /**
43
63
  * Edit configuration for textarea controls.
44
64
  */
@@ -170,7 +190,7 @@ export type Field<Item> = {
170
190
  /**
171
191
  * Display format configuration for fields.
172
192
  */
173
- format?: FormatDate;
193
+ format?: FormatDate | FormatNumber | FormatInteger;
174
194
  };
175
195
  /**
176
196
  * Format for date fields:
@@ -185,7 +205,31 @@ export type FormatDate = {
185
205
  weekStartsOn?: DayNumber;
186
206
  };
187
207
  export type DayNumber = 0 | 1 | 2 | 3 | 4 | 5 | 6;
188
- type NormalizedFieldBase<Item> = Omit<Field<Item>, 'Edit'> & {
208
+ /**
209
+ * Format for number fields:
210
+ *
211
+ * - separatorThousand: character to use for thousand separators (e.g., ',')
212
+ * - separatorDecimal: character to use for decimal point (e.g., '.')
213
+ * - decimals: number of decimal places to display (e.g., 2)
214
+ *
215
+ * If not provided, defaults to ',' for thousands, '.' for decimal, 2 decimals.
216
+ */
217
+ export type FormatNumber = {
218
+ separatorThousand?: string;
219
+ separatorDecimal?: string;
220
+ decimals?: number;
221
+ };
222
+ /**
223
+ * Format for integer fields:
224
+ *
225
+ * - separatorThousand: character to use for thousand separators (e.g., ',')
226
+ *
227
+ * If not provided, defaults to ',' for thousands.
228
+ */
229
+ export type FormatInteger = {
230
+ separatorThousand?: string;
231
+ };
232
+ type NormalizedFieldBase<Item> = Omit<Field<Item>, 'Edit' | 'isValid'> & {
189
233
  label: string;
190
234
  header: string | ReactElement;
191
235
  getValue: (args: {
@@ -199,7 +243,7 @@ type NormalizedFieldBase<Item> = Omit<Field<Item>, 'Edit'> & {
199
243
  Edit: ComponentType<DataFormControlProps<Item>> | null;
200
244
  hasElements: boolean;
201
245
  sort: (a: Item, b: Item, direction: SortDirection) => number;
202
- isValid: Rules<Item>;
246
+ isValid: NormalizedRules<Item>;
203
247
  enableHiding: boolean;
204
248
  enableSorting: boolean;
205
249
  filterBy: Required<FilterByConfig> | false;
@@ -210,7 +254,15 @@ export type NormalizedFieldDate<Item> = NormalizedFieldBase<Item> & {
210
254
  type: 'date';
211
255
  format: Required<FormatDate>;
212
256
  };
213
- export type NormalizedField<Item> = NormalizedFieldBase<Item> | NormalizedFieldDate<Item>;
257
+ export type NormalizedFieldNumber<Item> = NormalizedFieldBase<Item> & {
258
+ type: 'number';
259
+ format: Required<FormatNumber>;
260
+ };
261
+ export type NormalizedFieldInteger<Item> = NormalizedFieldBase<Item> & {
262
+ type: 'integer';
263
+ format: Required<FormatInteger>;
264
+ };
265
+ export type NormalizedField<Item> = NormalizedFieldBase<Item> | NormalizedFieldDate<Item> | NormalizedFieldNumber<Item> | NormalizedFieldInteger<Item>;
214
266
  /**
215
267
  * A collection of dataview fields for a data type.
216
268
  */
@@ -224,6 +276,22 @@ export type FieldValidity = {
224
276
  type: 'valid' | 'invalid' | 'validating';
225
277
  message: string;
226
278
  };
279
+ min?: {
280
+ type: 'valid' | 'invalid' | 'validating';
281
+ message: string;
282
+ };
283
+ max?: {
284
+ type: 'valid' | 'invalid' | 'validating';
285
+ message: string;
286
+ };
287
+ minLength?: {
288
+ type: 'valid' | 'invalid' | 'validating';
289
+ message: string;
290
+ };
291
+ maxLength?: {
292
+ type: 'valid' | 'invalid' | 'validating';
293
+ message: string;
294
+ };
227
295
  elements?: {
228
296
  type: 'valid' | 'invalid' | 'validating';
229
297
  message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"field-api.d.ts","sourceRoot":"","sources":["../../src/types/field-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"field-api.d.ts","sourceRoot":"","sources":["../../src/types/field-api.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,23 @@
1
1
  /**
2
2
  * Internal dependencies
3
3
  */
4
- import type { Field, FormatDate, NormalizedField, Operator } from './field-api';
4
+ import type { CustomValidator, Field, FormatDate, FormatInteger, FormatNumber, NormalizedField, Operator, Validator } from './field-api';
5
5
  export type SelectionOrUpdater = string[] | ((prev: string[]) => string[]);
6
6
  export type SetSelection = (selection: SelectionOrUpdater) => void;
7
- export type FieldType<Item> = Pick<NormalizedField<Item>, 'type' | 'render' | 'sort' | 'isValid' | 'enableSorting' | 'enableGlobalSearch'> & {
7
+ export type FieldType<Item> = Pick<NormalizedField<Item>, 'type' | 'render' | 'sort' | 'enableSorting' | 'enableGlobalSearch'> & {
8
8
  Edit: string | null;
9
9
  validOperators: Operator[];
10
10
  defaultOperators: Operator[];
11
- getFormat: (field: Field<Item>) => Record<string, any> | Required<FormatDate>;
11
+ getFormat: (field: Field<Item>) => Record<string, any> | Required<FormatDate> | Required<FormatNumber> | Required<FormatInteger>;
12
+ validate: {
13
+ required?: Validator<Item>;
14
+ elements?: Validator<Item>;
15
+ pattern?: Validator<Item>;
16
+ minLength?: Validator<Item>;
17
+ maxLength?: Validator<Item>;
18
+ min?: Validator<Item>;
19
+ max?: Validator<Item>;
20
+ custom?: CustomValidator<Item>;
21
+ };
12
22
  };
13
23
  //# sourceMappingURL=private.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"private.d.ts","sourceRoot":"","sources":["../../src/types/private.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEhF,MAAM,MAAM,kBAAkB,GAAG,MAAM,EAAE,GAAG,CAAE,CAAE,IAAI,EAAE,MAAM,EAAE,KAAM,MAAM,EAAE,CAAE,CAAC;AAC/E,MAAM,MAAM,YAAY,GAAG,CAAE,SAAS,EAAE,kBAAkB,KAAM,IAAI,CAAC;AACrE,MAAM,MAAM,SAAS,CAAE,IAAI,IAAK,IAAI,CACnC,eAAe,CAAE,IAAI,CAAE,EACrB,MAAM,GACN,QAAQ,GACR,MAAM,GACN,SAAS,GACT,eAAe,GACf,oBAAoB,CACtB,GAAG;IACH,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,cAAc,EAAE,QAAQ,EAAE,CAAC;IAC3B,gBAAgB,EAAE,QAAQ,EAAE,CAAC;IAC7B,SAAS,EAAE,CACV,KAAK,EAAE,KAAK,CAAE,IAAI,CAAE,KAChB,MAAM,CAAE,MAAM,EAAE,GAAG,CAAE,GAAG,QAAQ,CAAE,UAAU,CAAE,CAAC;CACpD,CAAC"}
1
+ {"version":3,"file":"private.d.ts","sourceRoot":"","sources":["../../src/types/private.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EACX,eAAe,EACf,KAAK,EACL,UAAU,EACV,aAAa,EACb,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,SAAS,EACT,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,kBAAkB,GAAG,MAAM,EAAE,GAAG,CAAE,CAAE,IAAI,EAAE,MAAM,EAAE,KAAM,MAAM,EAAE,CAAE,CAAC;AAC/E,MAAM,MAAM,YAAY,GAAG,CAAE,SAAS,EAAE,kBAAkB,KAAM,IAAI,CAAC;AACrE,MAAM,MAAM,SAAS,CAAE,IAAI,IAAK,IAAI,CACnC,eAAe,CAAE,IAAI,CAAE,EACvB,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,eAAe,GAAG,oBAAoB,CACnE,GAAG;IACH,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,cAAc,EAAE,QAAQ,EAAE,CAAC;IAC3B,gBAAgB,EAAE,QAAQ,EAAE,CAAC;IAC7B,SAAS,EAAE,CACV,KAAK,EAAE,KAAK,CAAE,IAAI,CAAE,KAElB,MAAM,CAAE,MAAM,EAAE,GAAG,CAAE,GACrB,QAAQ,CAAE,UAAU,CAAE,GACtB,QAAQ,CAAE,YAAY,CAAE,GACxB,QAAQ,CAAE,aAAa,CAAE,CAAC;IAC7B,QAAQ,EAAE;QACT,QAAQ,CAAC,EAAE,SAAS,CAAE,IAAI,CAAE,CAAC;QAC7B,QAAQ,CAAC,EAAE,SAAS,CAAE,IAAI,CAAE,CAAC;QAC7B,OAAO,CAAC,EAAE,SAAS,CAAE,IAAI,CAAE,CAAC;QAC5B,SAAS,CAAC,EAAE,SAAS,CAAE,IAAI,CAAE,CAAC;QAC9B,SAAS,CAAC,EAAE,SAAS,CAAE,IAAI,CAAE,CAAC;QAC9B,GAAG,CAAC,EAAE,SAAS,CAAE,IAAI,CAAE,CAAC;QACxB,GAAG,CAAC,EAAE,SAAS,CAAE,IAAI,CAAE,CAAC;QACxB,MAAM,CAAC,EAAE,eAAe,CAAE,IAAI,CAAE,CAAC;KACjC,CAAC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"filter-sort-and-paginate.d.ts","sourceRoot":"","sources":["../../src/utils/filter-sort-and-paginate.ts"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AA8B5C;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAE,IAAI,EAClD,IAAI,EAAE,IAAI,EAAE,EACZ,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,KAAK,CAAE,IAAI,CAAE,EAAE,GACrB;IACF,IAAI,EAAE,IAAI,EAAE,CAAC;IACb,cAAc,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3D,CA8VA"}
1
+ {"version":3,"file":"filter-sort-and-paginate.d.ts","sourceRoot":"","sources":["../../src/utils/filter-sort-and-paginate.ts"],"names":[],"mappings":"AAwCA,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AA8B5C;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAE,IAAI,EAClD,IAAI,EAAE,IAAI,EAAE,EACZ,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,KAAK,CAAE,IAAI,CAAE,EAAE,GACrB;IACF,IAAI,EAAE,IAAI,EAAE,CAAC;IACb,cAAc,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3D,CAkWA"}
@@ -0,0 +1,16 @@
1
+ import type { ReactElement } from 'react';
2
+ /**
3
+ * Internal dependencies
4
+ */
5
+ import type { NormalizedFilter, Operator, Option } from '../types';
6
+ declare const getOperatorByName: (name: string | undefined) => {
7
+ name: Operator;
8
+ label: string;
9
+ filterText: (filter: NormalizedFilter, activeElements: Option[]) => ReactElement;
10
+ selection: "single" | "multi" | "custom";
11
+ } | undefined;
12
+ declare const getAllOperatorNames: () => Operator[];
13
+ declare const isSingleSelectionOperator: (name: string) => boolean;
14
+ declare const isRegisteredOperator: (name: string) => boolean;
15
+ export { getOperatorByName, getAllOperatorNames, isSingleSelectionOperator, isRegisteredOperator, };
16
+ //# sourceMappingURL=operators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operators.d.ts","sourceRoot":"","sources":["../../src/utils/operators.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C;;GAEG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAmanE,QAAA,MAAM,iBAAiB,GAAK,MAAM,MAAM,GAAG,SAAS;UAnY7C,QAAQ;WACP,MAAM;gBACD,CACX,MAAM,EAAE,gBAAgB,EACxB,cAAc,EAAE,MAAM,EAAE,KACpB,YAAY;eACN,QAAQ,GAAG,OAAO,GAAG,QAAQ;aA8XI,CAAC;AAE9C,QAAA,MAAM,mBAAmB,kBAA2C,CAAC;AAErE,QAAA,MAAM,yBAAyB,GAAK,MAAM,MAAM,YAG9C,CAAC;AAEH,QAAA,MAAM,oBAAoB,GAAK,MAAM,MAAM,YACE,CAAC;AAE9C,OAAO,EACN,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,GACpB,CAAC"}